Disable chroma delta q in lossless mode BUG=b/430090587 Change-Id: I6610ef37aa1b9fc866fdbaec1cc94b1a53570b06
diff --git a/av1/encoder/av1_quantize.c b/av1/encoder/av1_quantize.c index 610b703..1673d53 100644 --- a/av1/encoder/av1_quantize.c +++ b/av1/encoder/av1_quantize.c
@@ -883,7 +883,8 @@ quant_params->base_qindex = AOMMAX(cm->delta_q_info.delta_q_present_flag, q); quant_params->y_dc_delta_q = 0; - if (enable_chroma_deltaq) { + // Disable deltaq in lossless mode. + if (enable_chroma_deltaq && q) { if (is_allintra && (tuning == AOM_TUNE_IQ || tuning == AOM_TUNE_SSIMULACRA2)) { int chroma_dc_delta_q = 0; @@ -964,7 +965,7 @@ // following section 8.3.2 in T-REC-H.Sup15 document // to apply to AV1 qindex in the range of [0, 255] - if (enable_hdr_deltaq) { + if (enable_hdr_deltaq && q) { int dqpCb = adjust_hdr_cb_deltaq(quant_params->base_qindex); int dqpCr = adjust_hdr_cr_deltaq(quant_params->base_qindex); quant_params->u_dc_delta_q = quant_params->u_ac_delta_q = dqpCb;
diff --git a/test/lossless_test.cc b/test/lossless_test.cc index 5e126b6..db09b9b 100644 --- a/test/lossless_test.cc +++ b/test/lossless_test.cc
@@ -47,6 +47,9 @@ // alone will activate lossless if (cfg_.rc_max_quantizer > 0 || cfg_.rc_min_quantizer > 0) { encoder->Control(AV1E_SET_LOSSLESS, 1); + + if (mode_ == libaom_test::kRealTime) + encoder->Control(AV1E_SET_ENABLE_CHROMA_DELTAQ, 1); } encoder->Control(AOME_SET_CPUUSED, cpu_used_); }