Force encoder to keep mbs in a lossless segment always lossless Alt q segment feature is set as -255 for all lossless segments. The purpose is to force the qindex of any block belonging to a lossless segment not to be reverted to non-zero (lossy) when sb level delta-q is also on. BUG=aomedia:1925 Change-Id: I4ec399e323a8a9a4aba13637f314ed7256510046
diff --git a/av1/encoder/encodeframe.c b/av1/encoder/encodeframe.c index 80d7b5f..3f0b110 100644 --- a/av1/encoder/encodeframe.c +++ b/av1/encoder/encodeframe.c
@@ -4291,6 +4291,10 @@ xd->qindex[i] = qindex; if (xd->lossless[i]) { cpi->optimize_seg_arr[i] = 0; + // The purpose of setting alt q as -255 for all lossless segments is to + // force the qindex of any block belonging to a lossless segment not to be + // reverted to non-zero (lossy) when sb level delta-q is also on. + cm->seg.feature_data[i][SEG_LVL_ALT_Q] = -255; } else { cpi->optimize_seg_arr[i] = cpi->optimize_speed_feature; }