Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RFC: Add HEVC Rext decode support for d3d11va/dxva2 on Intel #602

Closed
wants to merge 5 commits into from

Conversation

nyanmisaka
Copy link
Contributor

@nyanmisaka nyanmisaka commented Nov 21, 2022

Since the HEVC Rext has been commonly supported on Intel IceLake and newer platforms and 4:2:2 has been used in many advanced video recorders, as well as the recently released Chromium has supported Rext on Intel too, I think it is worth to add this in d3d11va/dxva2 to accelerate their playback in third-party players with the help of LavFilters.

The essential patch 3/5 is taken from the VLC player and it works fine for years but it seems that the ffmpeg dev preferred to have Microsoft to release a new header for HEVC Rext.

I have verified this patch locally, including its interop with QSV VPP.

I wonder if you guys can push this series into ffmpeg or work with Microsoft to release a new header for HEVC Rext?

tong1wu and others added 5 commits November 22, 2022 08:42
Add support for VUYX, YUYV422, Y210, XV30, P012, Y212, XV36.

The added formats work with qsv acceleration and will not have
impact on d3d11va acceleration(-hwaccel d3d11va) since so far
these formats are still not supported by using d3d11va acceleration.

Signed-off-by: Tong Wu <tong1.wu@intel.com>
Add support for VUYX, YUYV422, Y210, XV30, P012, Y212, XV36.
The added formats work with qsv acceleration and will not have
impact on dxva2 acceleration(-hwaccel dxva2) since so far
these formats are still not supported by using dxva2 acceleration.

Signed-off-by: Tong Wu <tong1.wu@intel.com>
Picture Parameters DXVA buffer struct for Rext is not specified in DXVA
spec. The below structures come from Intel platform DDI definition, so they
are currently Intel specific.

For Nvidia and AMD platforms supporting HEVC Rext, it is expected
the picture param information included in below structures is sufficient
for underlying drivers supporting range extension.

Signed-off-by: Steve Lhomme <robux4@ycbcr.xyz>
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
…with DXVA2/D3D11VA

Signed-off-by: nyanmisaka <nst799610810@gmail.com>
@tong1wu
Copy link
Collaborator

tong1wu commented Dec 23, 2022

Currently HEVC Rext related GUIDs need support from Microsoft SDK headers. It looks like it's a better idea for us to connect with Microsoft for a new released header with those GUIDs defined. We will push this process, thanks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants