summaryrefslogtreecommitdiff
path: root/vpx
diff options
context:
space:
mode:
authorJerome Jiang <jianj@google.com>2023-01-12 15:58:00 -0500
committerJerome Jiang <jianj@google.com>2023-01-19 20:38:44 -0500
commitae4240edc7879b30eddaa9ba38525fcd2a1514a0 (patch)
treea3ee1efa12696bb19848c8d22411eecce82e78f1 /vpx
parent59d4a686166e1017654fe47178371d7101528baa (diff)
downloadlibvpx-ae4240edc7879b30eddaa9ba38525fcd2a1514a0.tar
libvpx-ae4240edc7879b30eddaa9ba38525fcd2a1514a0.tar.gz
libvpx-ae4240edc7879b30eddaa9ba38525fcd2a1514a0.tar.bz2
libvpx-ae4240edc7879b30eddaa9ba38525fcd2a1514a0.zip
Add codec control to set per frame QP
Use case is for 1 pass encoding. Forces max_quantizer = min_quantizer and aq-mode = 0. Applicalble to spatial layers, where user may set the QP per spatial layer. Change-Id: Idfcb7daefde94c475ed1bc0eb8af47c9f309110b
Diffstat (limited to 'vpx')
-rw-r--r--vpx/vp8cx.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/vpx/vp8cx.h b/vpx/vp8cx.h
index a61238cb1..e0b679fbb 100644
--- a/vpx/vp8cx.h
+++ b/vpx/vp8cx.h
@@ -757,6 +757,16 @@ enum vp8e_enc_control_id {
* Supported in codecs: VP8
*/
VP8E_SET_RTC_EXTERNAL_RATECTRL,
+
+ /*!\brief Codec control to set quantizer for the next frame.
+ *
+ * This will turn off cyclic refresh. Only applicable to 1-pass without
+ * spatial layers.
+ *
+ * Supported in codecs: VP9
+ *
+ */
+ VP9E_SET_QUANTIZER_ONE_PASS,
};
/*!\brief vpx 1-D scaling mode
@@ -1085,6 +1095,8 @@ VPX_CTRL_USE_TYPE(VP9E_GET_LAST_QUANTIZER_SVC_LAYERS, int *)
#define VPX_CTRL_VP9E_GET_LAST_QUANTIZER_SVC_LAYERS
VPX_CTRL_USE_TYPE(VP8E_SET_RTC_EXTERNAL_RATECTRL, int)
#define VPX_CTRL_VP8E_SET_RTC_EXTERNAL_RATECTRL
+VPX_CTRL_USE_TYPE(VP9E_SET_QUANTIZER_ONE_PASS, int)
+#define VPX_CTRL_VP9E_SET_QUANTIZER_ONE_PASS
/*!\endcond */
/*! @} - end defgroup vp8_encoder */