webrtc/modules/video_coding
Sergey Silkin 7404f07ad9 Sync target rates
Cache target bit- and framerate in a frame_num -> rates map and fetch
the rates accociated with the current frame when needed. This solves
the issue when wrong target rates may be used due to frames buffering
in encoder.

Bug: b/254447893
Change-Id: I369c8d8e71234c957dc2362b055061d12cec818f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/283841
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38673}
2022-11-18 10:22:01 +00:00
..
codecs Sync target rates 2022-11-18 10:22:01 +00:00
g3doc Update links to point at main branch 2021-07-22 16:41:26 +00:00
include Add powerEfficientDecoder and powerEfficientEncoder stats 2022-10-19 13:15:31 +00:00
svc Add support for reducing number of spatial layers via scalability mode. 2022-10-24 09:40:39 +00:00
test Remove RTC_DISALLOW_COPY_AND_ASSIGN from modules/ 2022-01-24 11:50:20 +00:00
timing Only update TimestampExtrapolator on the last frame of the temporal unit. 2022-10-06 15:02:54 +00:00
utility Make header files self contained. 2022-10-08 08:38:36 +00:00
BUILD.gn Permanently switch to new openh264 include directory 2022-11-15 11:39:26 +00:00
chain_diff_calculator.cc Introduce ChainDiffCalculator 2020-05-18 14:22:44 +00:00
chain_diff_calculator.h Introduce ChainDiffCalculator 2020-05-18 14:22:44 +00:00
chain_diff_calculator_unittest.cc Introduce ChainDiffCalculator 2020-05-18 14:22:44 +00:00
decoder_database.cc Move ownership of decoders to VCMDecoderDatabase 2022-09-30 06:21:36 +00:00
decoder_database.h Move ownership of decoders to VCMDecoderDatabase 2022-09-30 06:21:36 +00:00
decoder_database_unittest.cc Move ownership of decoders to VCMDecoderDatabase 2022-09-30 06:21:36 +00:00
decoding_state.cc Replace assert() with RTC_DCHECK(). 2021-07-09 07:49:43 +00:00
decoding_state.h Adds missing header to fix compilation error when compiling with use_custom_libcxx set to false. 2021-03-25 09:57:00 +00:00
decoding_state_unittest.cc Format almost everything. 2019-07-08 13:45:15 +00:00
DEPS Move VideoEncoderConfig from api/ into video/config 2022-09-29 09:44:43 +00:00
encoded_frame.cc VCMEncodedFrame: add basic support for AV1. 2021-03-30 11:45:00 +00:00
encoded_frame.h Delete unowned buffer in EncodedImage. 2021-03-19 14:12:28 +00:00
event_wrapper.cc Update rtc::Event::Wait call sites to use TimeDelta. 2022-08-19 10:07:28 +00:00
event_wrapper.h Update rtc::Event::Wait call sites to use TimeDelta. 2022-08-19 10:07:28 +00:00
fec_controller_default.cc Deprecate and remove usage for WARNING log level 2021-11-27 22:21:54 +00:00
fec_controller_default.h Remove more top-level const from parameters in function declarations 2022-02-01 09:15:50 +00:00
fec_controller_unittest.cc Format almost everything. 2019-07-08 13:45:15 +00:00
fec_rate_table.h
frame_buffer.cc Prepare to rename RTC_NOTREACHED to RTC_DCHECK_NOTREACHED 2021-11-15 21:44:59 +00:00
frame_buffer.h Refactor legacy FrameBuffer to use EncodedImageBuffer::Realloc 2019-09-30 09:48:26 +00:00
frame_buffer2.cc Logging clarification for frame_helpers. 2022-10-13 12:40:36 +00:00
frame_buffer2.h Remove statistics tracking from FrameBuffer2 2022-08-18 09:13:28 +00:00
frame_buffer2_unittest.cc Remove statistics tracking from FrameBuffer2 2022-08-18 09:13:28 +00:00
frame_dependencies_calculator.cc Ignore frame type when calculating generic frame dependencies. 2020-11-23 10:52:06 +00:00
frame_dependencies_calculator.h Ignore frame type when calculating generic frame dependencies. 2020-11-23 10:52:06 +00:00
frame_dependencies_calculator_unittest.cc Ignore frame type when calculating generic frame dependencies. 2020-11-23 10:52:06 +00:00
frame_helpers.cc Logging clarification for frame_helpers. 2022-10-13 12:40:36 +00:00
frame_helpers.h Logging clarification for frame_helpers. 2022-10-13 12:40:36 +00:00
frame_helpers_unittest.cc Logging clarification for frame_helpers. 2022-10-13 12:40:36 +00:00
frame_object.cc Send and Receive VideoFrameTrackingid RTP header extension. 2021-03-25 21:57:29 +00:00
frame_object.h Clean up video_coding namespace snipets. 2021-03-25 10:44:40 +00:00
generic_decoder.cc Add powerEfficientDecoder and powerEfficientEncoder stats 2022-10-19 13:15:31 +00:00
generic_decoder.h Add powerEfficientDecoder and powerEfficientEncoder stats 2022-10-19 13:15:31 +00:00
generic_decoder_unittest.cc Replace timestamp map with a deque in generic decoder 2022-08-08 13:22:57 +00:00
h264_packet_buffer.cc Prepare to rename RTC_NOTREACHED to RTC_DCHECK_NOTREACHED 2021-11-15 21:44:59 +00:00
h264_packet_buffer.h New H264PacketBuffer consolidating a bunch of H264 specific hacks into one class. 2021-09-15 09:57:29 +00:00
h264_packet_buffer_unittest.cc Use new CopyOnWriteBuffer ctor/append function in H264PacketBuffer. 2021-09-24 11:18:42 +00:00
h264_sprop_parameter_sets.cc Format almost everything. 2019-07-08 13:45:15 +00:00
h264_sprop_parameter_sets.h Remove RTC_DISALLOW_COPY_AND_ASSIGN from modules/ 2022-01-24 11:50:20 +00:00
h264_sprop_parameter_sets_unittest.cc Fully qualify googletest symbols. 2019-04-09 17:18:20 +00:00
h264_sps_pps_tracker.cc Use backticks not vertical bars to denote variables in comments for /modules/video_coding 2021-08-09 15:26:22 +00:00
h264_sps_pps_tracker.h Use backticks not vertical bars to denote variables in comments for /modules/video_coding 2021-08-09 15:26:22 +00:00
h264_sps_pps_tracker_unittest.cc in PacketBuffer::Packet pass payload using smart buffer 2019-12-03 14:55:54 +00:00
histogram.cc
histogram.h
histogram_unittest.cc Format almost everything. 2019-07-08 13:45:15 +00:00
internal_defines.h Remove unused defines and methods in internal_defines.h 2019-01-28 10:31:40 +00:00
jitter_buffer.cc Remove unused incomplete_frame argument from JitterEstimator. 2022-07-05 12:53:13 +00:00
jitter_buffer.h Move JitterEstimator into timing sub-folder 2022-05-25 09:15:29 +00:00
jitter_buffer_common.h Format almost everything. 2019-07-08 13:45:15 +00:00
jitter_buffer_unittest.cc Replace Thread::Invoke with Thread::BlockingCall 2022-09-09 10:44:17 +00:00
loss_notification_controller.cc Use backticks not vertical bars to denote variables in comments for /modules/video_coding 2021-08-09 15:26:22 +00:00
loss_notification_controller.h Use backticks not vertical bars to denote variables in comments for /modules/video_coding 2021-08-09 15:26:22 +00:00
loss_notification_controller_unittest.cc Detach LossNotificationController from RtpGenericFrameDescriptor 2020-01-24 11:53:28 +00:00
media_opt_util.cc Use backticks not vertical bars to denote variables in comments for /modules/video_coding 2021-08-09 15:26:22 +00:00
media_opt_util.h Fixes to support building in -std=c++20 mode. 2022-05-05 17:15:58 +00:00
nack_requester.cc Allow recursive check for RTC_DCHECK_RUN_ON macro 2022-07-26 09:27:23 +00:00
nack_requester.h In video replace non-owning pointer to rtc::TaskQueue with non-owning pointer to TaskQueueBase 2022-07-18 13:59:32 +00:00
nack_requester_unittest.cc Migrate pacing and video_coding to absl::AnyInvocable based TaskQueueBase interface 2022-07-06 15:46:04 +00:00
OWNERS Remove wildcard ownership for build files. 2020-02-19 14:05:46 +00:00
packet.cc Update/delete old TODOs 2022-07-06 07:49:04 +00:00
packet.h Use Timestamp to represent packet receive timestamps 2021-05-04 13:16:54 +00:00
packet_buffer.cc Clean up decoders when stopping video receive stream. 2022-09-29 12:03:13 +00:00
packet_buffer.h Clean up decoders when stopping video receive stream. 2022-09-29 12:03:13 +00:00
packet_buffer_unittest.cc Continue looking for frames after padding packets 2022-06-28 13:03:03 +00:00
receiver.cc WebRTC-DeprecateGlobalFieldTrialString/Enabled/ - part 12/inf 2022-03-29 10:14:00 +00:00
receiver.h Move VCMTiming into timing sub-folder 2022-05-31 13:01:24 +00:00
receiver_unittest.cc Move VCMTiming into timing sub-folder 2022-05-31 13:01:24 +00:00
rtp_frame_id_only_ref_finder.cc Move RtpFrameObject and EncodedFrame out of video_coding namespace. 2021-03-23 14:22:47 +00:00
rtp_frame_id_only_ref_finder.h Move RtpFrameObject and EncodedFrame out of video_coding namespace. 2021-03-23 14:22:47 +00:00
rtp_frame_reference_finder.cc RtpFrameReferenceFinder return frames directly instead of via callback. 2021-05-26 15:47:03 +00:00
rtp_frame_reference_finder.h Use backticks not vertical bars to denote variables in comments for /modules/video_coding 2021-08-09 15:26:22 +00:00
rtp_frame_reference_finder_unittest.cc Use backticks not vertical bars to denote variables in comments for /modules/video_coding 2021-08-09 15:26:22 +00:00
rtp_generic_ref_finder.cc SVC: Add end to end tests for VP8 and VP9 2022-06-22 11:07:01 +00:00
rtp_generic_ref_finder.h Move RtpFrameObject and EncodedFrame out of video_coding namespace. 2021-03-23 14:22:47 +00:00
rtp_seq_num_only_ref_finder.cc Replace ABSL_FALLTHROUGH_INTENDED with c++17 attribute 2022-01-17 14:55:02 +00:00
rtp_seq_num_only_ref_finder.h Move RtpFrameObject and EncodedFrame out of video_coding namespace. 2021-03-23 14:22:47 +00:00
rtp_vp8_ref_finder.cc SVC: Add end to end tests for VP8 and VP9 2022-06-22 11:07:01 +00:00
rtp_vp8_ref_finder.h Save unwrapped tl0_pic_idx for inserted VP8 frames. 2022-03-28 14:41:40 +00:00
rtp_vp8_ref_finder_unittest.cc Save unwrapped tl0_pic_idx for inserted VP8 frames. 2022-03-28 14:41:40 +00:00
rtp_vp9_ref_finder.cc SVC: Add end to end tests for VP8 and VP9 2022-06-22 11:07:01 +00:00
rtp_vp9_ref_finder.h Save unwrapped tl0_pic_idx for inserted VP9 frames. 2022-03-07 18:36:50 +00:00
rtp_vp9_ref_finder_unittest.cc Remove unused VP9 TemporalStructureMode 2022-09-14 13:33:59 +00:00
session_info.cc Fix memcpy nullptr src or dest (UB). 2022-09-12 15:08:47 +00:00
session_info.h Update/delete old TODOs 2022-07-06 07:49:04 +00:00
session_info_unittest.cc Include module_common_types.h only where needed 2019-09-24 08:22:38 +00:00
video_codec_initializer.cc Fix config of number of temporal layers 2022-07-04 08:59:02 +00:00
video_codec_initializer_unittest.cc Move rtc::make_ref_counted to api/ 2022-06-15 09:47:38 +00:00
video_coding_defines.cc Add powerEfficientDecoder and powerEfficientEncoder stats 2022-10-19 13:15:31 +00:00
video_coding_impl.cc Fork VCMDecoderDatabase for VideoReceiver. 2022-09-29 19:01:05 +00:00
video_coding_impl.h Fork VCMDecoderDatabase for VideoReceiver. 2022-09-29 19:01:05 +00:00
video_receiver.cc Replace Thread::Invoke with Thread::BlockingCall 2022-09-09 10:44:17 +00:00
video_receiver2.cc Move ownership of decoders to VCMDecoderDatabase 2022-09-30 06:21:36 +00:00
video_receiver2.h Move ownership of decoders to VCMDecoderDatabase 2022-09-30 06:21:36 +00:00
video_receiver2_unittest.cc Add powerEfficientDecoder and powerEfficientEncoder stats 2022-10-19 13:15:31 +00:00
video_receiver_unittest.cc Add powerEfficientDecoder and powerEfficientEncoder stats 2022-10-19 13:15:31 +00:00