1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2025-01-29 22:00:58 +02:00
FFmpeg/libavcodec
galinart 5002829416 libavcodec/qsvenc: enable Hyper Encode
Hyper Encode uses Intel integrated and discrete graphics on one system
to accelerate encoding of a single video stream.
Depending on the selected parameters and codecs, performance gain on AlderLake iGPU + ARC Gfx up to 1.6x.

More information: https://www.intel.co.uk/content/www/uk/en/architecture-and-technology/adaptix/deep-link.html
Developer guide: https://github.com/oneapi-src/oneVPL-intel-gpu/blob/main/doc/HyperEncode_FeatureDeveloperGuide.md

Hyper Encode is supported only on Windows and requires D3D11 and oneVPL.

To enable Hyper Encode need to specify:
-Hyper Encode mode (-dual_gfx on or dual_gfx adaptive)
-Encoder: h264_qsv or hevc_qsv
-BRC: VBR, CQP or ICQ
-Lowpower mode (-low_power 1)
-Closed GOP for AVC or strict GOP for HEVC -idr_interval = 0 used by default

Depending on the encoding parameters, the following parameters may need
to be adjusted:
-g recommended >= 30 for better performance
-async_depth recommended >= 30 for better performance
-extra_hw_frames recommended equal to async_depth value
-bf recommended = 0 for better performance

In the cases with fast encoding (-preset veryfast) there may be no
performance gain due to the fact that the decode is slower than the encode.

Command line examples:

ffmpeg.exe -init_hw_device qsv:hw,child_device_type=d3d11va,child_device=0 -v verbose -y -hwaccel qsv -extra_hw_frames 60 -async_depth 60 -c:v h264_qsv -i bbb_sunflower_2160p_60fps_normal.mp4
-async_depth 60 -c:v h264_qsv -preset medium -g 60 -low_power 1 -bf 0 -dual_gfx on output.h265

Signed-off-by: galinart <artem.galin@intel.com>
2023-01-30 08:48:58 +08:00
..
2022-11-06 14:39:36 +01:00
2022-11-06 14:39:36 +01:00
2022-11-06 17:37:21 +01:00
2022-11-06 14:39:35 +01:00
2022-11-06 14:39:35 +01:00
2022-11-06 14:39:35 +01:00
2022-11-06 14:39:35 +01:00
2022-11-06 14:39:35 +01:00
2022-11-06 14:39:27 +01:00
2022-11-06 14:39:27 +01:00
2022-11-06 14:39:27 +01:00
2022-11-06 14:39:27 +01:00
2022-11-06 14:39:27 +01:00
2023-01-27 19:45:36 +01:00
2022-11-06 14:39:39 +01:00
2022-11-06 14:39:40 +01:00
2022-11-06 14:39:40 +01:00
2022-11-06 14:39:40 +01:00
2022-11-06 14:39:34 +01:00
2022-12-13 08:48:59 -05:00
2023-01-27 19:45:36 +01:00
2023-01-27 19:45:36 +01:00
2022-11-06 14:39:36 +01:00
2022-11-06 14:39:36 +01:00
2022-11-06 14:39:36 +01:00
2022-11-06 14:39:37 +01:00
2022-11-06 14:39:37 +01:00
2022-11-06 14:39:36 +01:00
2022-11-06 14:39:36 +01:00
2022-11-06 14:39:36 +01:00
2023-01-27 19:45:36 +01:00
2023-01-26 20:37:14 +01:00
2023-01-11 12:12:27 +01:00
2023-01-27 19:45:36 +01:00
2023-01-06 10:47:53 +01:00
2022-11-06 14:39:38 +01:00
2023-01-25 08:09:24 -05:00
2022-11-06 14:39:42 +01:00
2022-11-06 14:39:35 +01:00
2023-01-17 12:54:54 +01:00
2023-01-11 12:12:26 +01:00
2022-11-12 11:23:04 +11:00
2022-12-24 23:43:45 +01:00
2022-11-06 14:39:36 +01:00
2022-11-06 14:39:33 +01:00
2022-11-06 14:39:41 +01:00
2022-12-08 17:48:21 +01:00
2022-11-06 14:39:39 +01:00
2022-11-06 14:39:39 +01:00