summaryrefslogtreecommitdiff
path: root/vp9
diff options
context:
space:
mode:
authorMarco <marpan@chromium.org>2015-07-15 11:45:52 -0700
committerMarco <marpan@chromium.org>2015-07-15 11:54:04 -0700
commit2f66fdd3750737b2c220dd7f2b4c0e0323abed47 (patch)
treea3813e34624a5235d75dfcedaad93813bc3ff833 /vp9
parent7b756183aa84b97d2e787d70adb266c6ae652e4e (diff)
downloadlibvpx-2f66fdd3750737b2c220dd7f2b4c0e0323abed47.tar
libvpx-2f66fdd3750737b2c220dd7f2b4c0e0323abed47.tar.gz
libvpx-2f66fdd3750737b2c220dd7f2b4c0e0323abed47.tar.bz2
libvpx-2f66fdd3750737b2c220dd7f2b4c0e0323abed47.zip
Adjust some logic for dynamic_resize 1 pass mode.
Use drop_frames_water_mark for threshold on buffer underflow, and change threshold for resize down. Change-Id: I2de19adce50abe9bcdc0b107528cec8cc1857fcc
Diffstat (limited to 'vp9')
-rw-r--r--vp9/encoder/vp9_ratectrl.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/vp9/encoder/vp9_ratectrl.c b/vp9/encoder/vp9_ratectrl.c
index 926afe1c5..9c714fbb8 100644
--- a/vp9/encoder/vp9_ratectrl.c
+++ b/vp9/encoder/vp9_ratectrl.c
@@ -1813,7 +1813,8 @@ int vp9_resize_one_pass_cbr(VP9_COMP *cpi) {
if (cpi->rc.frames_since_key > 2 * cpi->framerate) {
const int window = (int)(5 * cpi->framerate);
cpi->resize_avg_qp += cm->base_qindex;
- if (cpi->rc.buffer_level < 0)
+ if (cpi->rc.buffer_level < (int)(cpi->oxcf.drop_frames_water_mark *
+ rc->optimal_buffer_level / 100))
++cpi->resize_buffer_underflow;
++cpi->resize_count;
// Check for resize action every "window" frames.
@@ -1824,7 +1825,7 @@ int vp9_resize_one_pass_cbr(VP9_COMP *cpi) {
// Resize back up if average QP is low, and we are currently in a resized
// down state.
if (cpi->resize_state == 0 &&
- cpi->resize_buffer_underflow > (cpi->resize_count >> 3)) {
+ cpi->resize_buffer_underflow > (cpi->resize_count >> 2)) {
resize_now = 1;
} else if (cpi->resize_state == 1 &&
avg_qp < 40 * cpi->rc.worst_quality / 100) {