webrtc/api/video_codecs
Sergey Silkin 0021fe7793 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}
2021-03-11 13:43:11 +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 "Enable quality scaling when allowed" 2021-03-11 13:43:11 +00:00
video_encoder_config.h Reland "Enable quality scaling when allowed" 2021-03-11 13:43:11 +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