[FFmpeg-devel] [PATCH 3/8] libavutil/hwcontext_qsv: enabling d3d11va usage by default, add usage child_device_type argument

Soft Works softworkz at hotmail.com
Thu Jul 22 19:45:37 EEST 2021



> -----Original Message-----
> From: ffmpeg-devel <ffmpeg-devel-bounces at ffmpeg.org> On Behalf Of
> Artem Galin
> Sent: Thursday, 22 July 2021 12:57
> To: ffmpeg-devel at ffmpeg.org; ffmpeg-devep at ffmpeg.org
> Cc: Artem Galin <artem.galin at intel.com>
> Subject: [FFmpeg-devel] [PATCH 3/8] libavutil/hwcontext_qsv: enabling
> d3d11va usage by default, add usage child_device_type argument
> 
> From: Artem Galin <artem.galin at intel.com>
> 
> Rebase of last patch set over current master.
> Makes selection of d3d11va/DX11 device type by default and over dxva/DX9,
> helps to cover more HW configurations without explicit parameters need.
> 
> Fixes TGL / AV1 decode as requires DX11 with default parameters Add
> headless/multi adapter support and fixes:
>     https://trac.ffmpeg.org/ticket/7511
>     https://trac.ffmpeg.org/ticket/6827
>     http://ffmpeg.org/pipermail/ffmpeg-trac/2017-November/041901.html
>     https://trac.ffmpeg.org/ticket/7933
> 
> https://github.com/InitialForce/FFmpeg/commit/338fbcd5bba1de0e1b3e3b
> ad8985eee2fdfbeca1
>     https://github.com/jellyfin/jellyfin/issues/2626#issuecomment-602153952
> 
> Any other fixes are welcome including OpenCL interop patch since I don't
> have proper setup to validate this use case
> 
> Decoding, encoding, transcoding have been validated.
> 
> Requires apply the following patch
> https://patchwork.ffmpeg.org/project/ffmpeg/patch/20210623030346.20259
> 33-1-haihao.xiang at intel.com/ to make command lines work as below.
> 
> child_device_type option is responsible for d3d11va/dxva2 device selection
> 
> Usage examples:
> 
> DirectX 11:
>     -init_hw_device qsv:hw,child_device_type=d3d11va
>     -init_hw_device qsv:hw,child_device_type=d3d11va,child_device=0
> OR
>     -init_hw_device d3d11va=dx -init_hw_device qsv at dx
> 
> DirectX 9 is still supported but requires explicit selection:
>     -init_hw_device qsv:hw,child_device_type=dxva2 OR
>     -init_hw_device dxva2=dx -init_hw_device qsv at dx


Still the same concern: this breaks existing command lines. 

D3D9 should remain the default for existing command lines.

softworkz


More information about the ffmpeg-devel mailing list