ref: 31326b5bbd37bd461ad354d993a02f85b7761b1f
parent: d28d82263fc5df3585ed8c10d1d9ed095603e0e8
author: Marco Paniconi <marpan@google.com>
date: Fri Mar 27 06:54:39 EDT 2020
vp9-rtc: Increase resize down limit to 320x180 For RTC dynamic resize: don't allow resize for resoln <= 320x180. Change-Id: I9109e9e1338e5420e72436a57d266ae46e9f2d60
--- a/vp9/encoder/vp9_ratectrl.c
+++ b/vp9/encoder/vp9_ratectrl.c
@@ -2657,8 +2657,8 @@
RESIZE_ACTION resize_action = NO_RESIZE;
int avg_qp_thr1 = 70;
int avg_qp_thr2 = 50;
- int min_width = 180;
- int min_height = 90;
+ int min_width = 320;
+ int min_height = 180;
int down_size_on = 1;
cpi->resize_scale_num = 1;
cpi->resize_scale_den = 1;
@@ -2669,19 +2669,8 @@
return 0;
}
- // Check current frame reslution to avoid generating frames smaller than
- // the minimum resolution.
- if (ONEHALFONLY_RESIZE) {
- if ((cm->width >> 1) < min_width || (cm->height >> 1) < min_height)
- down_size_on = 0;
- } else {
- if (cpi->resize_state == ORIG &&
- (cm->width * 3 / 4 < min_width || cm->height * 3 / 4 < min_height))
- return 0;
- else if (cpi->resize_state == THREE_QUARTER &&
- (cm->width * 3 / 4 < min_width || cm->height * 3 / 4 < min_height))
- down_size_on = 0;
- }
+ // No resizing down if frame size is below some limit.
+ if (cm->width * cm->height <= min_width * min_height) down_size_on = 0;
#if CONFIG_VP9_TEMPORAL_DENOISING
// If denoiser is on, apply a smaller qp threshold.
@@ -2707,8 +2696,9 @@
// Resize back up if average QP is low, and we are currently in a resized
// down state, i.e. 1/2 or 3/4 of original resolution.
// Currently, use a flag to turn 3/4 resizing feature on/off.
- if (cpi->resize_buffer_underflow > (cpi->resize_count >> 2)) {
- if (cpi->resize_state == THREE_QUARTER && down_size_on) {
+ if (cpi->resize_buffer_underflow > (cpi->resize_count >> 2) &&
+ down_size_on) {
+ if (cpi->resize_state == THREE_QUARTER) {
resize_action = DOWN_ONEHALF;
cpi->resize_state = ONE_HALF;
} else if (cpi->resize_state == ORIG) {