webrtc/api/video_codecs
Sergey Silkin d19e3b9676 Reland "Reland "Enable quality scaling when allowed""
This reverts commit 31c5c9da35.

Reason for revert: made QP parser thread-safe https://webrtc.googlesource.com/src/+/0e42cf703bd111fde235d06d08b02d3a7b02c727

Original change's description:
> Revert "Reland "Enable quality scaling when allowed""
>
> This reverts commit 0021fe7793.
>
> Reason for revert: Broken on linux_tsan bot: https://ci.chromium.org/ui/p/webrtc/builders/ci/Linux%20Tsan%20v2/25329/overview
>
> Original change's description:
> > Reland "Enable quality scaling when allowed"
> >
> > This reverts commit eb449a979b.
> >
> > Reason for revert: Added QP parsing in https://webrtc.googlesource.com/src/+/8639673f0c098efc294a7593fa3bd98e28ab7508
> >
> > Original change's description:
> > Before this CL quality scaling was conditioned on scaling settings
> > provided by encoder. That should not be a requirement since encoder
> > may not be aware of quality scaling which is a WebRTC feature. In M90
> > chromium HW encoders do not provide scaling settings (chromium:1179020).
> > The default scaling settings provided by these encoders are not correct
> > (b/181537172).
> >
> > This CL adds is_quality_scaling_allowed to VideoEncoderConfig. The flag
> > is set to true in singlecast with normal video feed (not screen sharing)
> > mode. If quality scaling is allowed it is enabled no matter whether
> > scaling settings are present in encoder info or not. Setting from
> > QualityScalingExperiment are used in case if not provided by encoder.
> >
> > Bug: chromium:1179020
> > Bug: webrtc:12511
> > Change-Id: I97911fde9005ec25028a640a3f007d12f2bbc2e5
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/211349
> > Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
> > Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
> > Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#33438}
>
> TBR=brandtr@webrtc.org,ilnik@webrtc.org,ssilkin@webrtc.org,rubber-stamper@appspot.gserviceaccount.com
>
> Change-Id: Id7633a1e98f95762e81487887f83a0c35f89195c
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: chromium:1179020
> Bug: webrtc:12511
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/211352
> Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
> Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#33439}

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: chromium:1179020
Bug: webrtc:12511
Change-Id: I3a31e1c1fdf7da93226f8c1e0a96b43fe0b786df
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/212026
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33481}
2021-03-16 15:13:52 +00:00
..
test Remove temporal layer restriction for forced resolution based fallback. 2021-02-05 07:31:54 +00:00
bitstream_parser.h Add interface class for bitstream parser. 2019-03-22 12:14:41 +00:00
BUILD.gn Reland "Add scaling interface to VideoFrameBuffer" 2020-10-09 08:30:50 +00:00
builtin_video_decoder_factory.cc Use std::make_unique instead of absl::make_unique. 2019-09-17 15:47:29 +00:00
builtin_video_decoder_factory.h Export symbols needed by the Chromium component build (part 6). 2018-10-23 06:48:51 +00:00
builtin_video_encoder_factory.cc Deprecate write-only member CodecInfo::is_hardware_accelerated 2020-08-04 07:56:49 +00:00
builtin_video_encoder_factory.h Export symbols needed by the Chromium component build (part 6). 2018-10-23 06:48:51 +00:00
OWNERS Add magjed/nisse/sprang/brandtr as api/video_codecs owners 2018-11-08 15:43:03 +00:00
sdp_video_format.cc Format almost everything. 2019-07-08 13:45:15 +00:00
sdp_video_format.h WebRtcVideoChannel encoder fallback. 2019-07-03 12:31:42 +00:00
spatial_layer.cc Move definition of SpatialLayer to api/video_codecs/spatial_layer.h 2020-08-17 09:45:19 +00:00
spatial_layer.h Move definition of SpatialLayer to api/video_codecs/spatial_layer.h 2020-08-17 09:45:19 +00:00
video_codec.cc Introduce RTC_CHECK_NOTREACHED(), an always-checking RTC_NOTREACHED() 2020-11-09 10:47:55 +00:00
video_codec.h Allow to set av1 scalability mode after encoder is constructed 2020-10-19 10:42:23 +00:00
video_decoder.cc Remove unused function VideoDecoder::PrefersLateDecoding. 2021-01-18 14:17:57 +00:00
video_decoder.h Remove unused function VideoDecoder::PrefersLateDecoding. 2021-01-18 14:17:57 +00:00
video_decoder_factory.cc Revert "Removed VideoDecoderFactory::LegacyCreateVideoDecoder and VideoReceiveStream::Config::stream_id." 2020-07-27 13:55:00 +00:00
video_decoder_factory.h Revert "Removed VideoDecoderFactory::LegacyCreateVideoDecoder and VideoReceiveStream::Config::stream_id." 2020-07-27 13:55:00 +00:00
video_decoder_software_fallback_wrapper.cc Adds VideoDecoder::GetDecoderInfo() 2021-01-14 13:33:22 +00:00
video_decoder_software_fallback_wrapper.h Export symbols needed by the Chromium component build (part 8). 2019-04-02 10:13:36 +00:00
video_encoder.cc Allow encoders to receive preferred pixel formats from native buffers 2020-10-08 13:47:50 +00:00
video_encoder.h Replace RTC_DEPRECATED with ABSL_DEPRECATED 2021-02-22 12:53:23 +00:00
video_encoder_config.cc Reland "Reland "Enable quality scaling when allowed"" 2021-03-16 15:13:52 +00:00
video_encoder_config.h Reland "Reland "Enable quality scaling when allowed"" 2021-03-16 15:13:52 +00:00
video_encoder_factory.h Delete CodecInfo::is_hardware_accelerated 2020-08-19 09:42:30 +00:00
video_encoder_software_fallback_wrapper.cc Remove temporal layer restriction for forced resolution based fallback. 2021-02-05 07:31:54 +00:00
video_encoder_software_fallback_wrapper.h Allow software fallback on lowest simulcast stream for temporal support 2020-01-31 16:44:47 +00:00
vp8_frame_buffer_controller.h Remove deprecated version of Vp8FrameBufferControllerFactory::Create 2019-07-02 14:40:20 +00:00
vp8_frame_config.cc Add retransmission_allowed flag to encoder output 2019-06-05 12:08:07 +00:00
vp8_frame_config.h Make DefaultTemporalLayers explicitly request a key frame 2019-06-24 08:26:17 +00:00
vp8_temporal_layers.cc Pass FecControllerOverride to Vp8FrameBufferControllerFactory::Create 2019-07-02 10:55:55 +00:00
vp8_temporal_layers.h Pass FecControllerOverride to Vp8FrameBufferControllerFactory::Create 2019-07-02 10:55:55 +00:00
vp8_temporal_layers_factory.cc Enforce VideoEncoderConfig.num_temporal_layers >= 1. 2020-01-21 13:38:08 +00:00
vp8_temporal_layers_factory.h Remove deprecated version of Vp8FrameBufferControllerFactory::Create 2019-07-02 14:40:20 +00:00