From cca5e4f040971db6de0bfe6968f00c021d8a9c42 Mon Sep 17 00:00:00 2001 From: Maxym Dmytrychenko Date: Mon, 2 Apr 2018 15:17:23 +0200 Subject: qsv: adding Multi Frame Encode support Starting from API 1.25 helps to improve performance of the simultaneous encode, 1:N scenario, like: ./avconv -y -hwaccel qsv -c:v h264_qsv -r 30000/1001 -i ~/bbb_sunflower_1080p_60fps_normal.mp4 -vframes 600 -an \ -filter_complex "split=2[s1][s2]; [s1]scale_qsv=1280:720[o1]; [s2]scale_qsv=960:540[o2]" \ -map [o1] -c:v h264_qsv -b:v 3200k -minrate 3200k -maxrate 3200k -f rawvideo /tmp/3200a.264 \ -map [o2] -c:v h264_qsv -b:v 1750k -minrate 1750k -maxrate 1750k -f rawvideo /tmp/1750a.264 Signed-off-by: Maxym Dmytrychenko --- libavcodec/qsv_internal.h | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'libavcodec/qsv_internal.h') diff --git a/libavcodec/qsv_internal.h b/libavcodec/qsv_internal.h index 07ddc59044..3cd8f1872b 100644 --- a/libavcodec/qsv_internal.h +++ b/libavcodec/qsv_internal.h @@ -36,6 +36,10 @@ (MFX_VERSION_MAJOR > (MAJOR) || \ MFX_VERSION_MAJOR == (MAJOR) && MFX_VERSION_MINOR >= (MINOR)) +#define QSV_RUNTIME_VERSION_ATLEAST(MFX_VERSION, MAJOR, MINOR) \ + (MFX_VERSION.Major > (MAJOR)) || \ + (MFX_VERSION.Major == (MAJOR) && MFX_VERSION.Minor >= (MINOR)) + typedef struct QSVMid { AVBufferRef *hw_frames_ref; mfxHDL handle; -- cgit v1.2.3