qsvencoder: Add support for dynamic bitrate update
authorSeungha Yang <seungha@centricular.com>
Sun, 27 Mar 2022 14:27:54 +0000 (23:27 +0900)
committerGStreamer Marge Bot <gitlab-merge-bot@gstreamer-foundation.org>
Tue, 29 Mar 2022 15:52:58 +0000 (15:52 +0000)
commit886cfecd362c7ada595d127c9c049689e3f93fe4
tree68e9186aed8dbbc50e1aa9402e10dcd9ce7c3b4f
parenta8d7b10cc4ce687f105e4d96adc7266885a9235e
qsvencoder: Add support for dynamic bitrate update

... and add more encoding options.

QSV API supports dynamic bitrate change without IDR insertion.
That's more efficient way of runtime encoding option update
than starting from new sequence with IDR per bitrate option change.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2039>
subprojects/gst-plugins-bad/sys/qsv/gstqsvencoder.cpp
subprojects/gst-plugins-bad/sys/qsv/gstqsvencoder.h
subprojects/gst-plugins-bad/sys/qsv/gstqsvh264enc.cpp
subprojects/gst-plugins-bad/sys/qsv/gstqsvh265enc.cpp
subprojects/gst-plugins-bad/sys/qsv/gstqsvvp9enc.cpp
subprojects/gst-plugins-bad/tests/examples/meson.build
subprojects/gst-plugins-bad/tests/examples/qsv/key-handler.c [new file with mode: 0644]
subprojects/gst-plugins-bad/tests/examples/qsv/key-handler.h [new file with mode: 0644]
subprojects/gst-plugins-bad/tests/examples/qsv/meson.build [new file with mode: 0644]
subprojects/gst-plugins-bad/tests/examples/qsv/qsvenc-dynamic-reconfigure.c [new file with mode: 0644]