webrtc/api/video
Henrik Boström 9a5de95af9 Add a flag to control legacy vs spec-compliant scalability mode.
The goal of the VP9 simulcast project is that when `scalability_mode`
is set, multiple encodings are always interpreted as simulcast, even
if VP9 or AV1 is used. This CL makes this so, but only if the flag
"WebRTC-AllowDisablingLegacyScalability" is "/Enabled/". This allows us
to make "SendingThreeEncodings_VP9_Simulcast" EXPECT VP9 simulcast.

When we are ready to ship we will remove the need to use the field
trial, but before we ship this we'll want to revisit if
SvcRateAllocator can be updated to support simulcast. (Today if we use
SvcRateAllocator when VP9 simulcast is used, all encodings except the
first one get bitrate=0, causing the test to fail because media is not
flowing on all layers.) For now, a TODO is added.

Bug: webrtc:14884
Change-Id: Ie20ae748b0c0405162f3a1b015ab94956ef83dae
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/297340
Reviewed-by: Evan Shrubsole <eshr@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39552}
2023-03-14 12:05:24 +00:00
..
test Add 444 10 bits support for H264 and VP9 2023-01-17 12:32:26 +00:00
BUILD.gn Reland "operator== for VideoFrameMetadata + used in CloneSenderVideoFrame test" 2023-02-28 15:44:21 +00:00
builtin_video_bitrate_allocator_factory.cc Add a flag to control legacy vs spec-compliant scalability mode. 2023-03-14 12:05:24 +00:00
builtin_video_bitrate_allocator_factory.h Reland "Use the factory instead of using the builtin code path in VideoCodecInitializer" 2018-11-08 19:10:47 +00:00
color_space.cc Use backticks not vertical bars to denote variables in comments for /api 2021-07-26 18:27:34 +00:00
color_space.h Add missing RTC_EXPORT for the component build. 2019-10-15 09:07:44 +00:00
DEPS Add 444 10 bits support for H264 and VP9 2023-01-17 12:32:26 +00:00
encoded_frame.cc Migrate VCMInterFrameDelay to use Time units 2022-03-08 09:05:12 +00:00
encoded_frame.h Migrate VCMInterFrameDelay to use Time units 2022-03-08 09:05:12 +00:00
encoded_image.cc Add rtc::make_ref_counted to api/ 2022-06-13 15:53:27 +00:00
encoded_image.h Introduce capture_time_identifier in webrtc::EncodedImage 2023-02-22 17:08:53 +00:00
frame_buffer.cc FrameBuffer::InsertFrame returns true on successful insertion 2022-06-15 10:56:48 +00:00
frame_buffer.h FrameBuffer::InsertFrame returns true on successful insertion 2022-06-15 10:56:48 +00:00
frame_buffer_unittest.cc FrameBuffer::InsertFrame returns true on successful insertion 2022-06-15 10:56:48 +00:00
hdr_metadata.cc Pass HdrMetadata between VideoFrame and EncodedImage for VP9 2018-11-09 13:33:37 +00:00
hdr_metadata.h Reorder methods and members of HdrMetadata 2018-12-13 14:00:39 +00:00
i010_buffer.cc Use libyuv rotate methods 2023-01-10 15:26:37 +00:00
i010_buffer.h Remove unused IXXXBuffer::PasteFrom 2021-10-26 11:55:31 +00:00
i210_buffer.cc Use libyuv rotate methods 2023-01-10 15:26:37 +00:00
i210_buffer.h Add 420 and 422 10 bit h264 decoding. 2022-06-17 11:12:10 +00:00
i410_buffer.cc Add 444 10 bits support for H264 and VP9 2023-01-17 12:32:26 +00:00
i410_buffer.h Add 444 10 bits support for H264 and VP9 2023-01-17 12:32:26 +00:00
i420_buffer.cc Add rtc::make_ref_counted to api/ 2022-06-13 15:53:27 +00:00
i420_buffer.h Update old TODO comments 2022-07-05 09:59:33 +00:00
i422_buffer.cc Use libyuv rotate methods 2023-01-10 15:26:37 +00:00
i422_buffer.h Update old TODO comments 2022-07-05 09:59:33 +00:00
i444_buffer.cc Add rtc::make_ref_counted to api/ 2022-06-13 15:53:27 +00:00
i444_buffer.h Update old TODO comments 2022-07-05 09:59:33 +00:00
nv12_buffer.cc Add rtc::make_ref_counted to api/ 2022-06-13 15:53:27 +00:00
nv12_buffer.h Update old TODO comments 2022-07-05 09:59:33 +00:00
OWNERS Revise video owners 2022-09-30 08:44:30 +00:00
recordable_encoded_frame.h Reland "RtpEncodingParameters::request_resolution patch 1" 2022-09-23 11:48:19 +00:00
render_resolution.h Reland "RtpEncodingParameters::request_resolution patch 1" 2022-09-23 11:48:19 +00:00
resolution.h RtpEncodingParameters::request_resolution patch 2 2022-09-29 14:10:44 +00:00
rtp_video_frame_assembler.cc Move video video receiver transformable frame to modules/rtc_rtcp/source 2023-02-03 12:59:19 +00:00
rtp_video_frame_assembler.h Return first and last RTP packet sequence number for completed frames. 2021-10-15 09:59:17 +00:00
rtp_video_frame_assembler_unittests.cc Prepare to rename RTC_NOTREACHED to RTC_DCHECK_NOTREACHED 2021-11-15 21:44:59 +00:00
video_adaptation_counters.cc [Adaptation] Add more ResourceAdaptationProcessor logging. 2020-05-28 15:06:46 +00:00
video_adaptation_counters.h [Adaptation] Add more ResourceAdaptationProcessor logging. 2020-05-28 15:06:46 +00:00
video_adaptation_reason.h Unify AdaptationReason and AdaptReason enums. 2020-04-16 13:33:49 +00:00
video_bitrate_allocation.cc Count disabled due to low bw streams or layers as bw limited quality in GetStats 2019-10-09 16:58:34 +00:00
video_bitrate_allocation.h Use backticks not vertical bars to denote variables in comments for /api 2021-07-26 18:27:34 +00:00
video_bitrate_allocator.cc Reland "Only enable conference mode simulcast allocations with flag enabled" 2020-08-04 10:30:08 +00:00
video_bitrate_allocator.h Reland "Only enable conference mode simulcast allocations with flag enabled" 2020-08-04 10:30:08 +00:00
video_bitrate_allocator_factory.h Format almost everything. 2019-07-08 13:45:15 +00:00
video_codec_constants.h Allow encoders to receive preferred pixel formats from native buffers 2020-10-08 13:47:50 +00:00
video_codec_type.h Hide VideoCodecType from Android SDK 2021-07-15 18:33:47 +00:00
video_content_type.cc Reformat the WebRTC code base 2018-06-19 14:00:39 +00:00
video_content_type.h Reland "[cleanup] Remove useless includes." 2018-10-08 07:44:19 +00:00
video_frame.cc Use type webrtc::Timestamp as capture_time_identifier in VideoFrame 2023-02-22 13:50:07 +00:00
video_frame.h Use type webrtc::Timestamp as capture_time_identifier in VideoFrame 2023-02-22 13:50:07 +00:00
video_frame_buffer.cc Add 444 10 bits support for H264 and VP9 2023-01-17 12:32:26 +00:00
video_frame_buffer.h Add 444 10 bits support for H264 and VP9 2023-01-17 12:32:26 +00:00
video_frame_metadata.cc Reland "operator== for VideoFrameMetadata + used in CloneSenderVideoFrame test" 2023-02-28 15:44:21 +00:00
video_frame_metadata.h Reland "operator== for VideoFrameMetadata + used in CloneSenderVideoFrame test" 2023-02-28 15:44:21 +00:00
video_frame_metadata_unittest.cc Reland "operator== for VideoFrameMetadata + used in CloneSenderVideoFrame test" 2023-02-28 15:44:21 +00:00
video_frame_type.h Make VideoFrameType an enum class, and move to separate file and target 2019-03-22 12:44:51 +00:00
video_layers_allocation.h Add experimental extension RtpVideoLayersAllocation 2020-10-05 13:38:13 +00:00
video_rotation.h
video_sink_interface.h Route min/max FPS constraints to VideoStreamEncoder. 2021-10-14 06:49:05 +00:00
video_source_interface.cc Move VideoStreamEncoderInterface to api/. 2018-05-21 19:50:37 +00:00
video_source_interface.h RtpEncodingParameters::request_resolution patch 4 2022-10-07 14:57:29 +00:00
video_stream_encoder_settings.h Switch encoder on init failure 2022-01-21 12:05:17 +00:00
video_timing.cc Reland "Represent RtpPacketToSend::capture_time with Timestamp" 2022-02-28 10:04:37 +00:00
video_timing.h Cleanup legacy name for VideoPlayoutDelay 2023-03-02 15:27:02 +00:00