1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2025-01-29 22:00:58 +02:00
FFmpeg/libavutil
Artem Galin f1cd1dc6ce libavutil/hwcontext_qsv: add usage child_device_type argument to explicitly select d3d11va/DX11 device type
UPD: Rebase of last patch set over current master and use DX9 as default device type.

Makes selection of dxva2/DX9 device type by default as before with explicit d3d11va/DX11 usage to cover more HW configurations.
Added warning message to expect changing default device type in the future.

Fixes TGL / AV1 decode as requires DX11 with explicit DX11 type
selection.

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
    338fbcd5bb
    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.

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@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@dx

Signed-off-by: Artem Galin <artem.galin@intel.com>
2021-09-08 17:42:53 -03:00
..
2021-04-27 10:43:13 -03:00
2021-04-27 10:43:13 -03:00
2021-07-22 14:34:31 +02:00
2021-07-22 14:34:31 +02:00
2018-09-14 21:36:21 +02:00
2021-04-01 14:47:00 +02:00
2021-07-22 14:34:31 +02:00
2021-07-20 10:31:41 +02:00
2021-07-20 10:31:41 +02:00
2021-07-22 14:34:31 +02:00
2021-07-22 14:34:31 +02:00
2020-04-23 08:05:15 +08:00
2020-04-23 08:05:15 +08:00
2018-09-12 19:15:09 +02:00
2018-09-12 19:15:09 +02:00
2021-07-22 12:59:07 +02:00
2021-04-27 10:43:13 -03:00
2021-07-22 14:34:31 +02:00
2021-07-22 14:34:31 +02:00
2021-07-22 14:34:31 +02:00
2021-08-14 09:17:45 +02:00
2021-07-22 14:34:31 +02:00
2021-07-22 14:34:31 +02:00
2021-07-21 16:35:27 +02:00
2021-07-21 16:35:27 +02:00
2021-04-27 10:43:13 -03:00
2021-07-22 14:34:31 +02:00
2021-04-27 10:43:13 -03:00
2021-07-22 14:34:31 +02:00
2021-07-22 14:34:31 +02:00
2021-07-22 14:34:31 +02:00
2021-06-02 17:30:24 +02:00
2020-05-23 15:51:44 +02:00
2020-05-23 15:51:44 +02:00
2021-04-27 10:43:13 -03:00
2021-07-22 14:34:31 +02:00
2021-04-27 10:43:13 -03:00
2021-07-22 14:34:31 +02:00
2021-04-27 10:43:13 -03:00
2021-07-22 14:34:31 +02:00
2017-11-05 22:13:16 +01:00
2021-03-14 23:29:51 +01:00
2021-07-21 16:35:27 +02:00
2021-07-22 14:34:31 +02:00