]> granicus.if.org Git - libvpx/commit
vp9-svc: Improve frame dropper for spatial layers.
authorMarco Paniconi <marpan@google.com>
Mon, 19 Mar 2018 03:46:30 +0000 (20:46 -0700)
committerMarco Paniconi <marpan@google.com>
Tue, 20 Mar 2018 17:34:45 +0000 (10:34 -0700)
commit126a3718fcada02b47e9eaa3210aa7b71694a0b1
tree712acc36c8bfdda6b90c5e4600f3995476747bb6
parent8b263798d0ac04a7858fb1e52de80ca2bf09ece2
vp9-svc: Improve frame dropper for spatial layers.

SVC frame dropper: modify the logic to allow for individual
spatial layers to drop. This removes the constraint that all
upper spatial layers must drop when a given spatial layer drops.

Add a flag to the pkt to indicate whether a spatial layer is
encoded or dropped. This is needed for applications that enable
this feature (frame dropping for SVC).

For a current spatial layer, if its previous spatial layer is
dropped, then disable certain features for that layer:
inter-layer prediction, base_mv, partition_reuse, copy partition.

Also add the constraint to never drop a spatial layer if its
base layer is a key frame.

Updates to sample encoder (vp9_spatial_svc_encoder) and the
SVC datarate unittests to properly handle frame dropping.

Bump up ABI version.
Change-Id: I7d14ccf67b8d014a7abfce5ba3989fc623e94067
examples/vp9_spatial_svc_encoder.c
test/datarate_test.cc
vp8/vp8_cx_iface.c
vp9/encoder/vp9_encoder.c
vp9/encoder/vp9_ratectrl.c
vp9/encoder/vp9_speed_features.c
vp9/encoder/vp9_svc_layercontext.c
vp9/encoder/vp9_svc_layercontext.h
vp9/vp9_cx_iface.c
vpx/vpx_encoder.h