vpx/vp8/encoder
Marco b9577e07fc vp8: Drop due to overshoot for non-screen content.
For 1 pass CBR mode:
Apply the logic for dropping (and re-adjusting rate control)
due to large overshoot to the case of non-screen content when
drop_frames_allowed is enabled.

For the non-screen content case: add additional condition that
rate correction factor is close to minimum state, and flag to
constrain the frequency of the dropping.

Also handle the case of temporal layers and multi-res encoding.
Add some flags/counters to the layer context for temporal layers.
For multi-res: drop due to overshoot is checked on lowest stream,
and if overshoot is detected we force drops on all upper streams
for that frame.

This feature is to avoid large frame sizes on big content
changes following low content period.

No change in behavior for screen_content_mode = 2.

Change-Id: I797ab236cbbf3b15cad439e9a227fbebced632e6
2017-08-02 13:12:48 -07:00
..
arm/neon Remove armv6 target 2016-08-04 12:55:06 -07:00
mips/msa mips: clean up wextra warnings 2016-09-27 13:19:18 -07:00
x86 vp[89],vpx_dsp: add missing includes 2017-06-21 19:00:15 -07:00
bitstream.c Remove vp8_clear_system_state 2016-09-29 13:22:49 -07:00
bitstream.h vp8,bitstream.h: add missing prototypes 2017-06-21 19:00:14 -07:00
block.h vp8: apply clang-format 2016-07-15 19:28:44 -07:00
boolhuff.c vp8: apply clang-tidy google-readability-braces-around-statements 2016-07-19 12:38:03 -07:00
boolhuff.h vp8: apply clang-tidy google-readability-braces-around-statements 2016-07-19 12:38:03 -07:00
dct_value_cost.h vp8: apply clang-format 2016-07-15 19:28:44 -07:00
dct_value_tokens.h vp8: apply clang-format 2016-07-15 19:28:44 -07:00
dct.c prepend ++ instead of post in for loops. 2016-07-18 06:54:50 -07:00
defaultcoefcounts.h vp8: apply clang-format 2016-07-15 19:28:44 -07:00
denoising.c vp8: apply clang-tidy google-readability-braces-around-statements 2016-07-19 12:38:03 -07:00
denoising.h vp8: apply clang-format 2016-07-15 19:28:44 -07:00
encodeframe.c vp8,encodeframe.h: correct prototypes 2017-06-21 19:00:15 -07:00
encodeframe.h vp8,encodeframe.h: correct prototypes 2017-06-21 19:00:15 -07:00
encodeintra.c prepend ++ instead of post in for loops. 2016-07-18 06:54:50 -07:00
encodeintra.h vp8: apply clang-format 2016-07-15 19:28:44 -07:00
encodemb.c vp8: apply clang-tidy google-readability-braces-around-statements 2016-07-19 12:38:03 -07:00
encodemb.h vp8: apply clang-format 2016-07-15 19:28:44 -07:00
encodemv.c Remove vp8_clear_system_state 2016-09-29 13:22:49 -07:00
encodemv.h vp8: apply clang-format 2016-07-15 19:28:44 -07:00
ethreading.c add ethreading.h 2017-06-21 19:00:14 -07:00
ethreading.h add ethreading.h 2017-06-21 19:00:14 -07:00
firstpass.c apply clang-format 2017-02-14 12:45:52 -08:00
firstpass.h vp8: apply clang-format 2016-07-15 19:28:44 -07:00
lookahead.c vp8: apply clang-tidy google-readability-braces-around-statements 2016-07-19 12:38:03 -07:00
lookahead.h vp8: apply clang-format 2016-07-15 19:28:44 -07:00
mcomp.c apply clang-format 2016-09-15 15:07:53 -07:00
mcomp.h vp8: apply clang-format 2016-07-15 19:28:44 -07:00
modecosts.c vp8: apply clang-format 2016-07-15 19:28:44 -07:00
modecosts.h vp8: apply clang-format 2016-07-15 19:28:44 -07:00
mr_dissim.c prepend ++ instead of post in for loops. 2016-07-18 06:54:50 -07:00
mr_dissim.h vp8: apply clang-format 2016-07-15 19:28:44 -07:00
onyx_if.c vp8: Drop due to overshoot for non-screen content. 2017-08-02 13:12:48 -07:00
onyx_int.h vp8: Drop due to overshoot for non-screen content. 2017-08-02 13:12:48 -07:00
pickinter.c vp8: Compute skinmap only once before encoding. 2017-06-22 17:12:15 -07:00
pickinter.h vp8: apply clang-format 2016-07-15 19:28:44 -07:00
picklpf.c add picklpf.h 2017-06-21 19:00:14 -07:00
picklpf.h add picklpf.h 2017-06-21 19:00:14 -07:00
quantize.h vp8: apply clang-format 2016-07-15 19:28:44 -07:00
ratectrl.c vp8: Drop due to overshoot for non-screen content. 2017-08-02 13:12:48 -07:00
ratectrl.h vp8: apply clang-format 2016-07-15 19:28:44 -07:00
rdopt.c vp8,encodeframe.h: correct prototypes 2017-06-21 19:00:15 -07:00
rdopt.h vp8,encodeframe.h: correct prototypes 2017-06-21 19:00:15 -07:00
segmentation.c prepend ++ instead of post in for loops. 2016-07-18 06:54:50 -07:00
segmentation.h vp8: apply clang-format 2016-07-15 19:28:44 -07:00
temporal_filter.c vp8: add temporal_filter.h 2017-06-21 19:00:15 -07:00
temporal_filter.h vp8: add temporal_filter.h 2017-06-21 19:00:15 -07:00
tokenize.c vp8: apply clang-tidy google-readability-braces-around-statements 2016-07-19 12:38:03 -07:00
tokenize.h vp8: apply clang-format 2016-07-15 19:28:44 -07:00
treewriter.c vp8: apply clang-tidy google-readability-braces-around-statements 2016-07-19 12:38:03 -07:00
treewriter.h vp8: apply clang-format 2016-07-15 19:28:44 -07:00
vp8_quantize.c apply clang-format 2016-09-15 15:07:53 -07:00