webrtc/modules/video_coding
Erik Språng ff1cf61cf3 Fix potentially bad rate control with libaom av1 encoder.
This can happen when the encoder uses real presentation timestamps that
originate with the input frames. By using those, the encoder can bypass
webrtc frame dropping logic and may severely over/under-shoot if the
timestamps are very precise. In practice, this seems rather common on
Chrome on Windows.

Bug: aomedia:3391
Change-Id: I2be5eed4fabc86dac8a6c7bfdd068c2dcb5a3743
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/294740
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39382}
2023-02-23 18:54:57 +00:00
..
codecs Fix potentially bad rate control with libaom av1 encoder. 2023-02-23 18:54:57 +00:00
g3doc Remove deprecated VideoStreamDecoderInterface and FrameBuffer2. 2023-02-13 16:25:00 +00:00
include Add scalability mode to RTCOutboundRtpStreamStats stats 2022-12-08 11:46:06 +00:00
svc Add SVC fallback. 2023-01-11 16:49:49 +00:00
test Remove RTC_DISALLOW_COPY_AND_ASSIGN from modules/ 2022-01-24 11:50:20 +00:00
timing Rename CodecTimer -> DecodeTimePercentileFilter. 2023-02-17 13:52:38 +00:00
utility Introduce EncodedImage.SimulcastIndex(). 2023-02-15 15:02:57 +00:00
BUILD.gn Remove deprecated VideoStreamDecoderInterface and FrameBuffer2. 2023-02-13 16:25:00 +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
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
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
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
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 [Unwrap] Prepare SequenceNumberUnwrapper for migrations 2023-01-09 11:42:20 +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
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
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
histogram.cc
histogram.h
histogram_unittest.cc
internal_defines.h
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
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
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
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 Allow video frame gaps in packet buffer for H.264 2023-02-22 13:51:10 +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 Allow video frame gaps in packet buffer for H.264 2023-02-22 13:51:10 +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 video video receiver transformable frame to modules/rtc_rtcp/source 2023-02-03 12:59:19 +00:00
rtp_frame_reference_finder.cc Move video video receiver transformable frame to modules/rtc_rtcp/source 2023-02-03 12:59:19 +00:00
rtp_frame_reference_finder.h Move video video receiver transformable frame to modules/rtc_rtcp/source 2023-02-03 12:59:19 +00:00
rtp_frame_reference_finder_unittest.cc Move video video receiver transformable frame to modules/rtc_rtcp/source 2023-02-03 12:59:19 +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 video video receiver transformable frame to modules/rtc_rtcp/source 2023-02-03 12:59:19 +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 video video receiver transformable frame to modules/rtc_rtcp/source 2023-02-03 12:59:19 +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 Move video video receiver transformable frame to modules/rtc_rtcp/source 2023-02-03 12:59:19 +00:00
rtp_vp8_ref_finder_unittest.cc Move video video receiver transformable frame to modules/rtc_rtcp/source 2023-02-03 12:59:19 +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 Move video video receiver transformable frame to modules/rtc_rtcp/source 2023-02-03 12:59:19 +00:00
rtp_vp9_ref_finder_unittest.cc Move video video receiver transformable frame to modules/rtc_rtcp/source 2023-02-03 12:59:19 +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
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