webrtc/modules/video_coding/utility
Henrik Boström 2e540a28c0 Introduce EncodedImage.SimulcastIndex().
As part of go/unblocking-vp9-simulcast (Step 1), EncodedImage is being
upgraded to be able to differentiate between what is a simulcast index
and what is a spatial index.

In order not to break existing code assuming that "if codec != VP9,
SpatialIndex() is the simulcast index", SimulcastIndex() has fallback
logic to return the value of spatial_index_ in the event that
SetSimulcastIndex() has not been called. This allows migrating external
code from (Set)SpatialIndex() to (Set)SimulcastIndex(). During this
intermediate time, codec gates are still necessary in some places of
the code, see TODOs added.

In a follow-up CL, after having fixed dependencies, we'll be able to
remove the fallback logic and rely on SimulcastIndex() and
SpatialIndex() actually being the advertised index and "if codec..."
hacks will be a thing of the past!

Bug: webrtc:14884
Change-Id: I70095c091d0ce2336640451150888a3c3841df80
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/293343
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Evan Shrubsole <eshr@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39318}
2023-02-15 15:02:57 +00:00
..
bandwidth_quality_scaler.cc In video replace non-owning pointer to rtc::TaskQueue with non-owning pointer to TaskQueueBase 2022-07-18 13:59:32 +00:00
bandwidth_quality_scaler.h In video replace non-owning pointer to rtc::TaskQueue with non-owning pointer to TaskQueueBase 2022-07-18 13:59:32 +00:00
bandwidth_quality_scaler_unittest.cc Update rtc::Event::Wait call sites to use TimeDelta. 2022-08-19 10:07:28 +00:00
decoded_frames_history.cc Add const to methods in DecodedFramesHistory 2021-11-10 12:30:18 +00:00
decoded_frames_history.h Add const to methods in DecodedFramesHistory 2021-11-10 12:30:18 +00:00
decoded_frames_history_unittest.cc Prepare to replace VideoLayerFrameId with int64_t. 2021-02-15 14:42:02 +00:00
frame_dropper.cc Use backticks not vertical bars to denote variables in comments for /modules/video_coding 2021-08-09 15:26:22 +00:00
frame_dropper.h Use backticks not vertical bars to denote variables in comments for /modules/video_coding 2021-08-09 15:26:22 +00:00
frame_dropper_unittest.cc Use backticks not vertical bars to denote variables in comments for /modules/video_coding 2021-08-09 15:26:22 +00:00
framerate_controller_deprecated.cc Move frame drop functionality in VideoAdapter into a separate class. 2021-08-19 11:50:41 +00:00
framerate_controller_deprecated.h Move frame drop functionality in VideoAdapter into a separate class. 2021-08-19 11:50:41 +00:00
framerate_controller_deprecated_unittest.cc Move frame drop functionality in VideoAdapter into a separate class. 2021-08-19 11:50:41 +00:00
ivf_defines.h Make header files self contained. 2022-10-08 08:38:36 +00:00
ivf_file_reader.cc Fix IvfFileReader to support different time scales 2022-11-25 15:31:53 +00:00
ivf_file_reader.h Fix IvfFileReader to support different time scales 2022-11-25 15:31:53 +00:00
ivf_file_reader_unittest.cc IvfFileReader: Fix SpatialIndex values 2021-01-25 13:11:45 +00:00
ivf_file_writer.cc Video: Avoid crashing when dump stream with IvfFileWriter. 2021-12-23 13:37:22 +00:00
ivf_file_writer.h [Unwrap] Use RtpTimestampUnwrapper in IvfFileWriter 2023-01-09 18:22:13 +00:00
ivf_file_writer_unittest.cc Video: Avoid crashing when dump stream with IvfFileWriter. 2021-12-23 13:37:22 +00:00
qp_parser.cc Reland "Parse encoded frame QP if not provided by encoder" 2021-03-15 10:11:22 +00:00
qp_parser.h Reland "Parse encoded frame QP if not provided by encoder" 2021-03-15 10:11:22 +00:00
qp_parser_unittest.cc Reland "Parse encoded frame QP if not provided by encoder" 2021-03-15 10:11:22 +00:00
quality_scaler.cc Remove unused #define in quality_scaler.cc 2022-09-29 09:10:33 +00:00
quality_scaler.h In video replace non-owning pointer to rtc::TaskQueue with non-owning pointer to TaskQueueBase 2022-07-18 13:59:32 +00:00
quality_scaler_unittest.cc Update rtc::Event::Wait call sites to use TimeDelta. 2022-08-19 10:07:28 +00:00
simulcast_rate_allocator.cc Define SimulcastStream as an alias for SpatialLayer 2022-05-20 13:12:21 +00:00
simulcast_rate_allocator.h Remove RTC_DISALLOW_COPY_AND_ASSIGN from modules/ 2022-01-24 11:50:20 +00:00
simulcast_rate_allocator_unittest.cc Changes default pacing factor to 1.1x 2020-10-23 13:43:32 +00:00
simulcast_test_fixture_impl.cc Introduce EncodedImage.SimulcastIndex(). 2023-02-15 15:02:57 +00:00
simulcast_test_fixture_impl.h generateKeyframe: pass frame_types in bypass mode 2022-12-06 10:54:59 +00:00
simulcast_utility.cc Remove dimension check in SimulcastUtility::ValidSimulcastParameters 2023-01-11 13:41:55 +00:00
simulcast_utility.h Fix vp8 simulcast screenshare and perf tests for it 2019-02-27 09:59:12 +00:00
vp8_constants.h VideoStreamEncoder: set at target quality based on codec. 2022-09-15 12:15:17 +00:00
vp8_header_parser.cc Clean VP8 header parser 2020-03-02 15:05:48 +00:00
vp8_header_parser.h Clean VP8 header parser 2020-03-02 15:05:48 +00:00
vp9_constants.h Reland "Rename vp9::FrameInfo to vp9::UncompressedHeader and add more fields." 2021-08-17 19:42:00 +00:00
vp9_uncompressed_header_parser.cc LSC: Apply clang-tidy's modernize-use-bool-literals 2022-01-24 20:42:01 +00:00
vp9_uncompressed_header_parser.h Change ParseUncompressedVp9Header implementation to use BitstreamReader 2021-09-01 22:52:15 +00:00
vp9_uncompressed_header_parser_unittest.cc in Vp9UncompressedHeaderParser fix reading delta quantization parameter 2021-09-02 13:24:31 +00:00