]> granicus.if.org Git - libvpx/commit
vp9-svc: Fix to buffer update under frame_drops
authorMarco Paniconi <marpan@google.com>
Tue, 15 Jan 2019 20:12:47 +0000 (12:12 -0800)
committerMarco Paniconi <marpan@google.com>
Tue, 15 Jan 2019 22:09:15 +0000 (14:09 -0800)
commit7e2d732b8bf16579a28daa124a38ac19e1efd96c
tree879fc75c2a65c40b71c6050c217a6c45cf9389ef
parent3915f0616add47d9187b679802dd757a90f2977f
vp9-svc: Fix to buffer update under frame_drops

For svc with frame dropping in full_superframe_drop or
constrained dropped mode: the buffer level for a given layer
may be capped from increasing too much. This is because that layer
may be dropped even though its buffer is stable (the dropped is forced
due to underflow in other layers in full/constrained svc-drop mode).
This capping is needed to prevent decrease in qp over consecutive
frame drops.

The capping already exists and has been used, but this change
introduce an error that prevented its usage:
https://chromium-review.googlesource.com/c/webm/libvpx/+/1330875

The fix here is to also cap the bits_off_target as well, since after
the change mentioned above, its the bits_off_target that is used to
update buffer on next frame (which in turn affects qp for next frame/layer).

Change-Id: Ifdab5d478e91cce20ecec51faa574eed375ee36b
vp9/encoder/vp9_ratectrl.c