webrtc/modules/video_coding/codecs/vp9
Erik Språng 3931591476 Reland "Adds experimental libvpx VP9 speed settings."
This is a reland of 6e7167456b

Patch set 1 is the original.
Later patch sets fix a parsing bug, and adds a new flag which enables
or disabled the ability to set separate per spatial layer speed
(use_per_layer_speed).

Original change's description:
> Adds experimental libvpx VP9 speed settings.
>
> Using the field trial WebRTC-VP9-PerformanceFlags, this CL allows you to
> configure the libvpx VP9 encoder with a list of flags to affect the
> quality vs speed tradeoff. This CL adds support for:
>
> * Speed (effort), for the temporal base layer frames
> * Speed for higher (non-base) layer frames
> * De-blocking (as part of the loopfilter) enabled for:
>   0 = all frames
>   1 = all but frames from the highest temporal layer
>   2 = no frames
>
> Each entry in the list has a threshold in min number of pixels needed
> for settings in the entry to apply.
>
> Example: Two spatial layers (180p, 360p) with three temporal
> layers are configured. Field trial "WebRTC-VP9-PerformanceFlags" set to:
> "use_per_layer_speed,min_pixel_count:0|129600,base_layer_speed:5|7,high_layer_speed:8|8,deblock_mode:1|2"
> This translates to:
> S0:
>   - TL0: Speed 5, deblocked
>   - TL1: Speed 8, deblocked
>   - TL2: Speed 8, not deblocked
> S1:
>   - TL0: Speed 7, not deblocked
>   - TL1: Speed 8, not deblocked
>   - TL2: Speed 8, not deblocked
>
> Bug: webrtc:11551
> Change-Id: Ieef6816d3e0831ff53348ecc4a90260e2ef10422
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/188461
> Reviewed-by: Michael Horowitz <mhoro@webrtc.org>
> Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
> Commit-Queue: Erik Språng <sprang@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#32749}

Bug: webrtc:11551
Change-Id: Ie7c703eb122197235d8ce77cb72db7a347382468
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/196345
Reviewed-by: Michael Horowitz <mhoro@webrtc.org>
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32780}
2020-12-06 19:39:57 +00:00
..
include Add decoder support for VP9 profile 1 I444 2020-06-12 05:17:24 +00:00
test in Av1 encoder wrapper communicate end_of_picture flag similar to VP9 2020-11-11 14:00:52 +00:00
DEPS Add VP9 profile negotiation to SDP 2018-07-02 23:38:41 +00:00
svc_config.cc Fix vp9 svc singlecast mode and enable quality scaler for vp9 2020-06-18 21:24:46 +00:00
svc_config.h Move definition of SpatialLayer to api/video_codecs/spatial_layer.h 2020-08-17 09:45:19 +00:00
svc_config_unittest.cc Allow HVGA Vp9 SVC to have 2 spatial layers and remove excessive rounding 2020-06-11 13:50:16 +00:00
svc_rate_allocator.h Move SvcRateAllocator out of codecs/vp9 and make it not vp9 specific 2020-11-05 18:35:37 +00:00
vp9.cc Add decoder support for VP9 profile 1 I444 2020-06-12 05:17:24 +00:00
vp9_frame_buffer_pool.cc Migrate modules/video_coding to webrtc::Mutex. 2020-07-07 11:41:21 +00:00
vp9_frame_buffer_pool.h Migrate modules/video_coding to webrtc::Mutex. 2020-07-07 11:41:21 +00:00
vp9_impl.cc Reland "Adds experimental libvpx VP9 speed settings." 2020-12-06 19:39:57 +00:00
vp9_impl.h Reland "Adds experimental libvpx VP9 speed settings." 2020-12-06 19:39:57 +00:00