diff options
author | He Junyan <junyan.he@intel.com> | 2024-05-14 10:54:03 +0800 |
---|---|---|
committer | He Junyan <junyan.he@intel.com> | 2024-05-14 11:16:14 +0800 |
commit | fc3f5a2f0928e75eb9702667d67324a345f0f1d3 (patch) | |
tree | ef453f85bc21136279ea818472e3c50604788c8a /subprojects | |
parent | 7211e3fffda106828fc21e7eed159fe73c0163ef (diff) |
vaenc: Allow to set the max-qp and min-qp for QVBR and ICQ modes
In fact, these setting can work well.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6841>
Diffstat (limited to 'subprojects')
-rw-r--r-- | subprojects/gst-plugins-bad/sys/va/gstvaav1enc.c | 11 | ||||
-rw-r--r-- | subprojects/gst-plugins-bad/sys/va/gstvabaseenc.c | 2 | ||||
-rw-r--r-- | subprojects/gst-plugins-bad/sys/va/gstvah264enc.c | 11 | ||||
-rw-r--r-- | subprojects/gst-plugins-bad/sys/va/gstvah265enc.c | 11 | ||||
-rw-r--r-- | subprojects/gst-plugins-bad/sys/va/gstvavp9enc.c | 11 |
5 files changed, 0 insertions, 46 deletions
diff --git a/subprojects/gst-plugins-bad/sys/va/gstvaav1enc.c b/subprojects/gst-plugins-bad/sys/va/gstvaav1enc.c index a34eba451f..8b04b089bf 100644 --- a/subprojects/gst-plugins-bad/sys/va/gstvaav1enc.c +++ b/subprojects/gst-plugins-bad/sys/va/gstvaav1enc.c @@ -2620,17 +2620,6 @@ _av1_ensure_rate_control (GstVaAV1Enc * self) self->rc.rc_ctrl_mode = VA_RC_NONE; } - /* ICQ mode and QVBR mode do not need max/min qp. */ - if (self->rc.rc_ctrl_mode == VA_RC_ICQ || self->rc.rc_ctrl_mode == VA_RC_QVBR) { - self->rc.min_qindex = 0; - self->rc.max_qindex = 255; - - update_property_uint (base, &self->prop.min_qp, self->rc.min_qindex, - PROP_MIN_QP); - update_property_uint (base, &self->prop.max_qp, self->rc.max_qindex, - PROP_MAX_QP); - } - if (self->rc.min_qindex > self->rc.max_qindex) { GST_INFO_OBJECT (self, "The min_qindex %d is bigger than the max_qindex" " %d, set it to the max_qindex", self->rc.min_qindex, diff --git a/subprojects/gst-plugins-bad/sys/va/gstvabaseenc.c b/subprojects/gst-plugins-bad/sys/va/gstvabaseenc.c index 4df7bd2e01..78efc1e170 100644 --- a/subprojects/gst-plugins-bad/sys/va/gstvabaseenc.c +++ b/subprojects/gst-plugins-bad/sys/va/gstvabaseenc.c @@ -985,10 +985,8 @@ gst_va_base_enc_add_rate_control_parameter (GstVaBaseEnc * base, /* *INDENT-ON* */ if (rc_mode == VA_RC_ICQ) { - g_assert (min_qp == 0); rate_control.rate_control.ICQ_quality_factor = qp_i; } else if (rc_mode == VA_RC_QVBR) { - g_assert (min_qp == 0); rate_control.rate_control.quality_factor = qp_i; } else { rate_control.rate_control.initial_qp = qp_i; diff --git a/subprojects/gst-plugins-bad/sys/va/gstvah264enc.c b/subprojects/gst-plugins-bad/sys/va/gstvah264enc.c index e323beadb6..ee78280ded 100644 --- a/subprojects/gst-plugins-bad/sys/va/gstvah264enc.c +++ b/subprojects/gst-plugins-bad/sys/va/gstvah264enc.c @@ -537,17 +537,6 @@ _ensure_rate_control (GstVaH264Enc * self) self->rc.rc_ctrl_mode = VA_RC_NONE; } - /* ICQ mode and QVBR mode do not need max/min qp. */ - if (self->rc.rc_ctrl_mode == VA_RC_ICQ || self->rc.rc_ctrl_mode == VA_RC_QVBR) { - self->rc.min_qp = 0; - self->rc.max_qp = 51; - - update_property_uint (base, &self->prop.min_qp, self->rc.min_qp, - PROP_MIN_QP); - update_property_uint (base, &self->prop.max_qp, self->rc.max_qp, - PROP_MAX_QP); - } - if (self->rc.min_qp > self->rc.max_qp) { GST_INFO_OBJECT (self, "The min_qp %d is bigger than the max_qp %d, " "set it to the max_qp", self->rc.min_qp, self->rc.max_qp); diff --git a/subprojects/gst-plugins-bad/sys/va/gstvah265enc.c b/subprojects/gst-plugins-bad/sys/va/gstvah265enc.c index 0c4d262e00..180cca62f5 100644 --- a/subprojects/gst-plugins-bad/sys/va/gstvah265enc.c +++ b/subprojects/gst-plugins-bad/sys/va/gstvah265enc.c @@ -3273,17 +3273,6 @@ _h265_ensure_rate_control (GstVaH265Enc * self) self->rc.rc_ctrl_mode = VA_RC_NONE; } - /* ICQ mode and QVBR mode do not need max/min qp. */ - if (self->rc.rc_ctrl_mode == VA_RC_ICQ || self->rc.rc_ctrl_mode == VA_RC_QVBR) { - self->rc.min_qp = 0; - self->rc.max_qp = 51; - - update_property_uint (base, &self->prop.min_qp, self->rc.min_qp, - PROP_MIN_QP); - update_property_uint (base, &self->prop.max_qp, self->rc.max_qp, - PROP_MAX_QP); - } - if (self->rc.min_qp > self->rc.max_qp) { GST_INFO_OBJECT (self, "The min_qp %d is bigger than the max_qp %d, " "set it to the max_qp", self->rc.min_qp, self->rc.max_qp); diff --git a/subprojects/gst-plugins-bad/sys/va/gstvavp9enc.c b/subprojects/gst-plugins-bad/sys/va/gstvavp9enc.c index 044d31eb92..c338ad6271 100644 --- a/subprojects/gst-plugins-bad/sys/va/gstvavp9enc.c +++ b/subprojects/gst-plugins-bad/sys/va/gstvavp9enc.c @@ -1913,17 +1913,6 @@ _vp9_ensure_rate_control (GstVaVp9Enc * self) self->rc.rc_ctrl_mode = VA_RC_NONE; } - /* ICQ mode and QVBR mode do not need max/min qp. */ - if (self->rc.rc_ctrl_mode == VA_RC_ICQ || self->rc.rc_ctrl_mode == VA_RC_QVBR) { - self->rc.min_qindex = 0; - self->rc.max_qindex = 255; - - update_property_uint (base, &self->prop.min_qp, self->rc.min_qindex, - PROP_MIN_QP); - update_property_uint (base, &self->prop.max_qp, self->rc.max_qindex, - PROP_MAX_QP); - } - if (self->rc.min_qindex > self->rc.max_qindex) { GST_INFO_OBJECT (self, "The min_qindex %d is bigger than the max_qindex" " %d, set it to the max_qindex", self->rc.min_qindex, |