Enable superres on KF for video in SUPERRES_AUTO. Change-Id: I92040b162603d91679cf18e9a0699bbc965d752b
diff --git a/av1/encoder/encoder.c b/av1/encoder/encoder.c index c6b3c88..53077bb 100644 --- a/av1/encoder/encoder.c +++ b/av1/encoder/encoder.c
@@ -3838,8 +3838,9 @@ if (cpi->common.allow_screen_content_tools) break; // Don't use for inter frames. if (!frame_is_intra_only(&cpi->common)) break; - // Don't use for keyframes that can be used as references. - if (cpi->rc.frames_to_key != 1) break; + // Don't use for keyframes that can be used as references, except when + // using AOM_Q mode. + if (cpi->rc.frames_to_key != 1 && cpi->oxcf.rc_mode != AOM_Q) break; // Now decide the use of superres based on 'q'. int bottom_index, top_index;
diff --git a/av1/encoder/ratectrl.c b/av1/encoder/ratectrl.c index 9a8ca7d..3853f14 100644 --- a/av1/encoder/ratectrl.c +++ b/av1/encoder/ratectrl.c
@@ -1116,7 +1116,9 @@ // Tweak active_best_quality for AOM_Q mode when superres is on, as this // will be used directly as 'q' later. - if (oxcf->rc_mode == AOM_Q && oxcf->superres_mode == SUPERRES_QTHRESH && + if (oxcf->rc_mode == AOM_Q && + (oxcf->superres_mode == SUPERRES_QTHRESH || + oxcf->superres_mode == SUPERRES_AUTO) && cm->superres_scale_denominator != SCALE_NUMERATOR) { active_best_quality = AOMMAX(active_best_quality -