diff options
author | Marco Paniconi <marpan@google.com> | 2019-02-04 14:49:58 -0800 |
---|---|---|
committer | Marco Paniconi <marpan@google.com> | 2019-02-04 14:57:23 -0800 |
commit | 2cdc78fc61369c2e9721e1643c26fa70da54acd9 (patch) | |
tree | 5b25fbf6c063af3a92e6de9c1246e053516d0b25 /vp8/encoder/onyx_if.c | |
parent | 3248ea0e455aa3a57e9b034d740181d216c99cfb (diff) | |
download | libvpx-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.c | 1 |
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); |