summaryrefslogtreecommitdiff
path: root/vp8/encoder/onyx_if.c
diff options
context:
space:
mode:
authorMarco Paniconi <marpan@google.com>2019-02-04 14:49:58 -0800
committerMarco Paniconi <marpan@google.com>2019-02-04 14:57:23 -0800
commit2cdc78fc61369c2e9721e1643c26fa70da54acd9 (patch)
tree5b25fbf6c063af3a92e6de9c1246e053516d0b25 /vp8/encoder/onyx_if.c
parent3248ea0e455aa3a57e9b034d740181d216c99cfb (diff)
downloadlibvpx-2cdc78fc61369c2e9721e1643c26fa70da54acd9.tar
libvpx-2cdc78fc61369c2e9721e1643c26fa70da54acd9.tar.gz
libvpx-2cdc78fc61369c2e9721e1643c26fa70da54acd9.tar.bz2
libvpx-2cdc78fc61369c2e9721e1643c26fa70da54acd9.zip
vp8: Add extra conditon for overshoot-drop
For drop due to large overshoot feature (in 1 pass CBR): add additional condition that current prediction error is larger than that of last encoded frame. This make the drop due to sudden overshoot more robust, and improves rate convergence for steady hard content. Change-Id: If20027d26b4dcd290e4f788ae8e2760d95b536a5
Diffstat (limited to 'vp8/encoder/onyx_if.c')
-rw-r--r--vp8/encoder/onyx_if.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/vp8/encoder/onyx_if.c b/vp8/encoder/onyx_if.c
index adc25024c..9aca0f24b 100644
--- a/vp8/encoder/onyx_if.c
+++ b/vp8/encoder/onyx_if.c
@@ -3950,6 +3950,7 @@ static void encode_frame_to_data_rate(VP8_COMP *cpi, size_t *size,
if (cpi->pass == 0 && cpi->oxcf.end_usage == USAGE_STREAM_FROM_SERVER) {
if (vp8_drop_encodedframe_overshoot(cpi, Q)) return;
+ cpi->last_pred_err_mb = (int)(cpi->mb.prediction_error / cpi->common.MBs);
}
cpi->projected_frame_size -= vp8_estimate_entropy_savings(cpi);