webrtc/modules/video_coding
Rasmus Brandt 0f1c0bd326 Add async simulcast support to VideoProcessor.
For the buffering of |input_frames_|, we assume that frames
are ordered per simulcast layer but we make no assumptions
between layers.

For SVC, we still assume ordering of encode callbacks for
the spatial layers. If we ever add async codecs that support SVC,
they should still obey this assumption.

Bug: webrtc:8448
Change-Id: I4ebb0c1e1d0eef41d850ed5b92aacc79d0a11137
Reviewed-on: https://webrtc-review.googlesource.com/60801
Commit-Queue: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22380}
2018-03-12 09:36:39 +00:00
..
codecs Add async simulcast support to VideoProcessor. 2018-03-12 09:36:39 +00:00
include Delete unused method SetPeriodicKeyFrames. 2018-03-05 08:54:32 +00:00
test Adding NOLINT for typedefs.h and common_types.h 2017-09-15 13:03:51 +00:00
utility Move default thresholds from QualityScaler to encoders. 2018-02-23 13:12:36 +00:00
BUILD.gn Cleaning up modules_tests resources. 2018-03-09 12:57:24 +00:00
codec_timer.cc Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
codec_timer.h Adding NOLINT for typedefs.h and common_types.h 2017-09-15 13:03:51 +00:00
decoder_database.cc Split VCMCodecDataBase into VCMEncoderDataBase and VCMDecoderDataBase. 2018-02-21 09:49:06 +00:00
decoder_database.h Split VCMCodecDataBase into VCMEncoderDataBase and VCMDecoderDataBase. 2018-02-21 09:49:06 +00:00
decoding_state.cc Stop using LOG macros in favor of RTC_ prefixed macros. 2017-11-09 11:56:32 +00:00
decoding_state.h Adding NOLINT for typedefs.h and common_types.h 2017-09-15 13:03:51 +00:00
decoding_state_unittest.cc Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
DEPS Prepare VideoProcessor for async simulcast support. 2018-03-08 17:41:13 +00:00
encoded_frame.cc Create public EncodedFrame interface. 2018-02-21 16:24:15 +00:00
encoded_frame.h Adding NOLINT for typedefs.h and common_types.h 2017-09-15 13:03:51 +00:00
encoder_database.cc Delete the VideoCodec::plName string. 2018-03-06 11:17:41 +00:00
encoder_database.h Delete unused method SetPeriodicKeyFrames. 2018-03-05 08:54:32 +00:00
fec_controller_default.cc Revert "Revert "Enables PeerConnectionFactory using external fec controller"" 2018-02-20 12:41:55 +00:00
fec_controller_default.h Revert "Revert "Enables PeerConnectionFactory using external fec controller"" 2018-02-20 12:41:55 +00:00
fec_controller_unittest.cc Make fec controller plug-able. 2018-01-22 11:48:16 +00:00
fec_rate_table.h Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
frame_buffer.cc Stop using LOG macros in favor of RTC_ prefixed macros. 2017-11-09 11:56:32 +00:00
frame_buffer.h Adding NOLINT for typedefs.h and common_types.h 2017-09-15 13:03:51 +00:00
frame_buffer2.cc Clear the FrameBuffer if it's full and a keyframe is being inserted. 2018-03-06 09:11:11 +00:00
frame_buffer2.h Renamed FrameObject to EncodedFrame. 2018-02-22 16:12:48 +00:00
frame_buffer2_unittest.cc Clear the FrameBuffer if it's full and a keyframe is being inserted. 2018-03-06 09:11:11 +00:00
frame_object.cc Renamed FrameObject to EncodedFrame. 2018-02-22 16:12:48 +00:00
frame_object.h Renamed FrameObject to EncodedFrame. 2018-02-22 16:12:48 +00:00
generic_decoder.cc Revert "VCMGenericDecoder threading updates for all but Android." 2018-02-21 19:39:29 +00:00
generic_decoder.h Revert "VCMGenericDecoder threading updates for all but Android." 2018-02-21 19:39:29 +00:00
generic_encoder.cc Delete the VideoCodec::plName string. 2018-03-06 11:17:41 +00:00
generic_encoder.h Delete unused method SetPeriodicKeyFrames. 2018-03-05 08:54:32 +00:00
generic_encoder_unittest.cc In generic encoder ensure capture timestamp is preserved. 2017-11-17 16:06:17 +00:00
h264_sprop_parameter_sets.cc Stop using LOG macros in favor of RTC_ prefixed macros. 2017-11-09 11:56:32 +00:00
h264_sprop_parameter_sets.h Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
h264_sprop_parameter_sets_unittest.cc Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
h264_sps_pps_tracker.cc Stop using LOG macros in favor of RTC_ prefixed macros. 2017-11-09 11:56:32 +00:00
h264_sps_pps_tracker.h Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
h264_sps_pps_tracker_unittest.cc Move SPS/PPS/IDR requirement from RtpFrameObject to PacketBuffer. 2017-11-06 12:04:46 +00:00
histogram.cc Move sequence_number_utils.h to rtc_base/ 2017-10-25 12:33:57 +00:00
histogram.h Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
histogram_unittest.cc Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
inter_frame_delay.cc Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
inter_frame_delay.h Adding NOLINT for typedefs.h and common_types.h 2017-09-15 13:03:51 +00:00
internal_defines.h Adding NOLINT for typedefs.h and common_types.h 2017-09-15 13:03:51 +00:00
jitter_buffer.cc Move FALLTHROUGH macro to a separate header, and give it an RTC_ prefix 2018-02-05 11:24:59 +00:00
jitter_buffer.h Adding NOLINT for typedefs.h and common_types.h 2017-09-15 13:03:51 +00:00
jitter_buffer_common.h Adding NOLINT for typedefs.h and common_types.h 2017-09-15 13:03:51 +00:00
jitter_buffer_unittest.cc Remove unused mocks of process thread 2017-09-28 07:57:28 +00:00
jitter_estimator.cc Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
jitter_estimator.h Adding NOLINT for typedefs.h and common_types.h 2017-09-15 13:03:51 +00:00
jitter_estimator_tests.cc Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
media_opt_util.cc Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
media_opt_util.h Adding NOLINT for typedefs.h and common_types.h 2017-09-15 13:03:51 +00:00
media_optimization.cc Revert "Revert "Enables PeerConnectionFactory using external fec controller"" 2018-02-20 12:41:55 +00:00
media_optimization.h Revert "Revert "Enables PeerConnectionFactory using external fec controller"" 2018-02-20 12:41:55 +00:00
nack_fec_tables.h Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
nack_module.cc Stop using LOG macros in favor of RTC_ prefixed macros. 2017-11-09 11:56:32 +00:00
nack_module.h Move sequence_number_utils.h to rtc_base/ 2017-10-25 12:33:57 +00:00
nack_module_unittest.cc Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
OWNERS
packet.cc Cleanup of unused RTP structs and packetizer for stereo codec 2018-01-25 01:25:56 +00:00
packet.h Adding NOLINT for typedefs.h and common_types.h 2017-09-15 13:03:51 +00:00
packet_buffer.cc Add dropped frames metric on the receive side 2018-02-21 15:34:25 +00:00
packet_buffer.h Renamed FrameObject to EncodedFrame. 2018-02-22 16:12:48 +00:00
qp_parser.cc Adding NOLINT for typedefs.h and common_types.h 2017-09-15 13:03:51 +00:00
qp_parser.h Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
receiver.cc Make Frame buffer not drop frames unnecessary 2018-02-27 16:31:29 +00:00
receiver.h Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
receiver_unittest.cc Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
rtp_frame_reference_finder.cc VP9 GoF/temporal index check. 2018-03-02 11:03:09 +00:00
rtp_frame_reference_finder.h Renamed FrameObject to EncodedFrame. 2018-02-22 16:12:48 +00:00
rtp_frame_reference_finder_unittest.cc VP9 GoF/temporal index check. 2018-03-02 11:03:09 +00:00
rtt_filter.cc Fix typo in VCMRttFilter 2018-01-26 10:59:56 +00:00
rtt_filter.h Adding NOLINT for typedefs.h and common_types.h 2017-09-15 13:03:51 +00:00
session_info.cc Stop using LOG macros in favor of RTC_ prefixed macros. 2017-11-09 11:56:32 +00:00
session_info.h Adding NOLINT for typedefs.h and common_types.h 2017-09-15 13:03:51 +00:00
session_info_unittest.cc Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
timestamp_map.cc Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
timestamp_map.h Adding NOLINT for typedefs.h and common_types.h 2017-09-15 13:03:51 +00:00
timing.cc Make Frame buffer not drop frames unnecessary 2018-02-27 16:31:29 +00:00
timing.h Make Frame buffer not drop frames unnecessary 2018-02-27 16:31:29 +00:00
timing_unittest.cc Remove unused functions in VCMTiming. 2018-01-17 14:47:10 +00:00
video_codec_initializer.cc Delete the VideoCodec::plName string. 2018-03-06 11:17:41 +00:00
video_codec_initializer_unittest.cc Reland "Replaced temporal_layer_thresholds_bps[] field with num_temporal_layers." 2018-03-01 18:07:29 +00:00
video_coding_impl.cc Delete VCMSendStatisticsCallback and corresponding use of ProcessThread 2017-10-26 08:13:55 +00:00
video_coding_impl.h Reland "Reduce locking in VideoReceiver and check the threading model." 2018-02-22 18:03:45 +00:00
video_packet_buffer_unittest.cc Add dropped frames metric on the receive side 2018-02-21 15:34:25 +00:00
video_receiver.cc Reland "Reduce locking in VideoReceiver and check the threading model." 2018-02-22 18:03:45 +00:00
video_receiver_unittest.cc Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
video_sender.cc Delete the VideoCodec::plName string. 2018-03-06 11:17:41 +00:00
video_sender_unittest.cc Reland "Update internal SW codecs to return unique_ptrs" 2017-11-13 14:23:58 +00:00