From 7501de267c1e8bb7083a16ec2e6d38b150301f3c Mon Sep 17 00:00:00 2001 From: Marco Date: Fri, 17 Jul 2015 11:21:47 -0700 Subject: [PATCH] Dynamic resize 1 pass mode: fix buffer underflow threshold. Remove the use of drop_frames_water_mark, as this is used for frame dropping control. Use fixed threshold for now on buffer underflow. Change-Id: If0ddda9f7f6fa96067cdcb0eccb42e17bda37c32 --- vp9/encoder/vp9_ratectrl.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/vp9/encoder/vp9_ratectrl.c b/vp9/encoder/vp9_ratectrl.c index 8c6c6339e..2be2a648a 100644 --- a/vp9/encoder/vp9_ratectrl.c +++ b/vp9/encoder/vp9_ratectrl.c @@ -1810,13 +1810,12 @@ int vp9_resize_one_pass_cbr(VP9_COMP *cpi) { cpi->resize_count = 0; return 0; } - // Resize based on average QP over some window. + // Resize based on average buffer underflow and QP over some window. // Ignore samples close to key frame, since QP is usually high after key. 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 < (int)(cpi->oxcf.drop_frames_water_mark * - rc->optimal_buffer_level / 100)) + if (cpi->rc.buffer_level < (int)(30 * rc->optimal_buffer_level / 100)) ++cpi->resize_buffer_underflow; ++cpi->resize_count; // Check for resize action every "window" frames.