qsv: adding Multi Frame Encode support
authorMaxym Dmytrychenko <maxim.d33@gmail.com>
Mon, 2 Apr 2018 13:17:23 +0000 (15:17 +0200)
committerMaxym Dmytrychenko <maxim.d33@gmail.com>
Sun, 8 Apr 2018 18:47:59 +0000 (20:47 +0200)
commitcca5e4f040971db6de0bfe6968f00c021d8a9c42
tree8d9dc68ef641717b1d91283f712da6dcb5947a7f
parent29a8ed766354c45c9be4b8512c5b2eb25a450cdc
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 <maxim.d33@gmail.com>
libavcodec/qsv.c
libavcodec/qsv_internal.h
libavcodec/qsvenc.c
libavcodec/qsvenc.h
libavcodec/qsvenc_h264.c
libavfilter/qsvvpp.c
libavfilter/qsvvpp.h
libavfilter/vf_deinterlace_qsv.c
libavfilter/vf_scale_qsv.c
libavutil/hwcontext_qsv.c