rtc-svc: Fix to make SVC work for Profile 1
authorMarco Paniconi <marpan@google.com>
Tue, 28 Jun 2022 18:22:48 +0000 (11:22 -0700)
committerMarco Paniconi <marpan@google.com>
Wed, 29 Jun 2022 02:29:20 +0000 (19:29 -0700)
commit896b59f44d63a789c9e34c394e9380323e538692
treefdfd88a5c9a9527157a040cee94e254b73e7e0dd
parentf43636a3e0e429eeff4c6edea73af8a5b9c1413d
rtc-svc: Fix to make SVC work for Profile 1

Added datarate unittest for 4:4:4 and 4:2:2 input,
for spatial and temporal layers.

Fix is needed in vp9_set_literal_size():
the sampling_x/y should be passed into update_inital_width(),
othewise sampling_x/y = 1/1 (4:2:0) was forced.
vp9_set_literal_size() is only called by the svc and
on dynamic resize.

Fix issue with the normative optimized scaler:
UV width/height was assumed to be 1/2 of Y, for
the ssse and neon code.

Also fix to assert for the scaled width/height:
in case scaled width/height is odd it should be
incremented by 1 (make it even).

Change-Id: I3a2e40effa53c505f44ef05aaa3132e1b7f57dd5
test/svc_datarate_test.cc
vp9/encoder/arm/neon/vp9_frame_scale_neon.c
vp9/encoder/vp9_encoder.c
vp9/encoder/x86/vp9_frame_scale_ssse3.c