summaryrefslogtreecommitdiff
path: root/subprojects
diff options
context:
space:
mode:
authorHe Junyan <junyan.he@intel.com>2024-05-14 10:54:03 +0800
committerHe Junyan <junyan.he@intel.com>2024-05-14 11:16:14 +0800
commitfc3f5a2f0928e75eb9702667d67324a345f0f1d3 (patch)
treeef453f85bc21136279ea818472e3c50604788c8a /subprojects
parent7211e3fffda106828fc21e7eed159fe73c0163ef (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.c11
-rw-r--r--subprojects/gst-plugins-bad/sys/va/gstvabaseenc.c2
-rw-r--r--subprojects/gst-plugins-bad/sys/va/gstvah264enc.c11
-rw-r--r--subprojects/gst-plugins-bad/sys/va/gstvah265enc.c11
-rw-r--r--subprojects/gst-plugins-bad/sys/va/gstvavp9enc.c11
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,