webrtc/modules/video_coding
Shuhai Peng f270770679 video: Implement bandwidth based scaler
The |slice_qp_detla| reported by the hardware is not credible, which
causing the quality scaler cannot work properly,the resolution cannot
be adjusted correctly.

To fix this issue, this CL implements a bandwidth scaler which is used
for adjust resolution, this scaler will be used when QP based quality
scaler is not working due to untrusted QP reported by HW AVC encoder.

Bug: webrtc:12942
Change-Id: I2fc5f07a5400ec7e5ead2c2c502faee84d7f2a76
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/228860
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Evan Shrubsole <eshr@google.com>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35120}
2021-09-29 10:39:27 +00:00
..
codecs Zero initialize heap allocations in LibvpxVp9{Decoder,Encoder} 2021-09-21 09:24:09 +00:00
deprecated Use backticks not vertical bars to denote variables in comments for /modules/video_coding 2021-08-09 15:26:22 +00:00
g3doc Update links to point at main branch 2021-07-22 16:41:26 +00:00
include Delete deprecated version of VideoCodingModule::RegisterReceiveCodec 2021-08-25 09:50:20 +00:00
svc Allow full SVC to reference T0 frame only after it has been encoded 2021-09-13 15:52:42 +00:00
test Use backticks not vertical bars to denote variables in comments for /modules/video_coding 2021-08-09 15:26:22 +00:00
utility video: Implement bandwidth based scaler 2021-09-29 10:39:27 +00:00
BUILD.gn video: Implement bandwidth based scaler 2021-09-29 10:39:27 +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
codec_timer.cc Use backticks not vertical bars to denote variables in comments for /modules/video_coding 2021-08-09 15:26:22 +00:00
codec_timer.h Use backticks not vertical bars to denote variables in comments for /modules/video_coding 2021-08-09 15:26:22 +00:00
decoder_database.cc Move check for number_of_cores parameter validitity 2021-08-14 11:51:53 +00:00
decoder_database.h Move check for number_of_cores parameter validitity 2021-08-14 11:51:53 +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 Add RTC_EXPORT to VCMEncodedFrame 2020-02-28 16:59:10 +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 Move EventWrapper class to target video_coding_legacy. 2020-03-06 08:39:35 +00:00
event_wrapper.h Use backticks not vertical bars to denote variables in comments for /modules/video_coding 2021-08-09 15:26:22 +00:00
fec_controller_default.cc Use backticks not vertical bars to denote variables in comments for /modules/video_coding 2021-08-09 15:26:22 +00:00
fec_controller_default.h Migrate modules/video_coding to webrtc::Mutex. 2020-07-07 11:41:21 +00:00
fec_controller_unittest.cc Format almost everything. 2019-07-08 13:45:15 +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 Remove all #include <assert.h>/<cassert> and usage in Obj-C code. 2021-07-22 14:00:26 +00:00
frame_buffer.h Refactor legacy FrameBuffer to use EncodedImageBuffer::Realloc 2019-09-30 09:48:26 +00:00
frame_buffer2.cc Change default parameters for the low-latency video pipeline 2021-09-29 09:53:17 +00:00
frame_buffer2.h Add max pre-decode queue size threshold for pacing 2021-08-10 17:01:53 +00:00
frame_buffer2_unittest.cc Add max pre-decode queue size threshold for pacing 2021-08-10 17:01:53 +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_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 Use VideoDecoder::Configure interface when setting up decoder 2021-08-13 16:03:32 +00:00
generic_decoder.h Use VideoDecoder::Configure interface when setting up decoder 2021-08-13 16:03:32 +00:00
generic_decoder_unittest.cc Use VideoDecoder::Configure interface when setting up decoder 2021-08-13 16:03:32 +00:00
h264_packet_buffer.cc Use new CopyOnWriteBuffer ctor/append function in H264PacketBuffer. 2021-09-24 11:18:42 +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 (4) Rename files to snake_case: update BUILD.gn, include paths, header guards, and DEPS entries 2019-01-11 17:11:39 +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 [Cleanup] Add missing #include. Remove useless ones. IWYU part 2. 2018-11-28 18:25:07 +00:00
histogram.h Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
histogram_unittest.cc Format almost everything. 2019-07-08 13:45:15 +00:00
inter_frame_delay.cc Remove unused method in VCMInterFrameDelay. 2019-04-03 07:35:28 +00:00
inter_frame_delay.h Remove unused method in VCMInterFrameDelay. 2019-04-03 07:35:28 +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 Use backticks not vertical bars to denote variables in comments for /modules/video_coding 2021-08-09 15:26:22 +00:00
jitter_buffer.h Use backticks not vertical bars to denote variables in comments for /modules/video_coding 2021-08-09 15:26:22 +00:00
jitter_buffer_common.h Format almost everything. 2019-07-08 13:45:15 +00:00
jitter_buffer_unittest.cc Use backticks not vertical bars to denote variables in comments for /modules/video_coding 2021-08-09 15:26:22 +00:00
jitter_estimator.cc Remove all #include <assert.h>/<cassert> and usage in Obj-C code. 2021-07-22 14:00:26 +00:00
jitter_estimator.h Add option to disable reduced jitter delay through field trial. 2020-05-19 11:51:29 +00:00
jitter_estimator_tests.cc Add option to disable reduced jitter delay through field trial. 2020-05-19 11:51:29 +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 Use backticks not vertical bars to denote variables in comments for /modules/video_coding 2021-08-09 15:26:22 +00:00
nack_module_unittest.cc Deprecate webrtc::NackModule. 2020-05-30 16:34:44 +00:00
nack_requester.cc Use backticks not vertical bars to denote variables in comments for /modules/video_coding 2021-08-09 15:26:22 +00:00
nack_requester.h Use backticks not vertical bars to denote variables in comments for /modules/video_coding 2021-08-09 15:26:22 +00:00
nack_requester_unittest.cc NackModule2: Rename to NackRequester. 2021-07-23 08:30:33 +00:00
OWNERS Remove wildcard ownership for build files. 2020-02-19 14:05:46 +00:00
packet.cc Use Timestamp to represent packet receive timestamps 2021-05-04 13:16:54 +00:00
packet.h Use Timestamp to represent packet receive timestamps 2021-05-04 13:16:54 +00:00
packet_buffer.cc Use backticks not vertical bars to denote variables in comments for /modules/video_coding 2021-08-09 15:26:22 +00:00
packet_buffer.h Use backticks not vertical bars to denote variables in comments for /modules/video_coding 2021-08-09 15:26:22 +00:00
packet_buffer_unittest.cc Use backticks not vertical bars to denote variables in comments for /modules/video_coding 2021-08-09 15:26:22 +00:00
receiver.cc Add max pre-decode queue size threshold for pacing 2021-08-10 17:01:53 +00:00
receiver.h Remove unused critical section includes. 2020-07-16 13:52:28 +00:00
receiver_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_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 Move RtpFrameObject and EncodedFrame out of video_coding namespace. 2021-03-23 14:22:47 +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 Move RtpFrameObject and EncodedFrame out of video_coding namespace. 2021-03-23 14:22:47 +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 Use backticks not vertical bars to denote variables in comments for /modules/video_coding 2021-08-09 15:26:22 +00:00
rtp_vp8_ref_finder.h Move RtpFrameObject and EncodedFrame out of video_coding namespace. 2021-03-23 14:22:47 +00:00
rtp_vp8_ref_finder_unittest.cc Move RtpFrameObject and EncodedFrame out of video_coding namespace. 2021-03-23 14:22:47 +00:00
rtp_vp9_ref_finder.cc Revert "Always unwrap VP9 TL0PicIdx forward if the frame is newer." 2021-08-30 09:23:47 +00:00
rtp_vp9_ref_finder.h Revert "Always unwrap VP9 TL0PicIdx forward if the frame is newer." 2021-08-30 09:23:47 +00:00
rtp_vp9_ref_finder_unittest.cc Revert "Always unwrap VP9 TL0PicIdx forward if the frame is newer." 2021-08-30 09:23:47 +00:00
rtt_filter.cc Fix typo in VCMRttFilter 2018-01-26 10:59:56 +00:00
rtt_filter.h Delete root header file typedef.h. 2018-07-25 14:59:26 +00:00
session_info.cc Use backticks not vertical bars to denote variables in comments for /modules/video_coding 2021-08-09 15:26:22 +00:00
session_info.h Use backticks not vertical bars to denote variables in comments 2021-08-10 10:40:03 +00:00
session_info_unittest.cc Include module_common_types.h only where needed 2019-09-24 08:22:38 +00:00
timestamp_map.cc Use backticks not vertical bars to denote variables in comments for /modules/video_coding 2021-08-09 15:26:22 +00:00
timestamp_map.h Fix dropped frames not counted issue 2021-04-09 14:47:52 +00:00
timestamp_map_unittest.cc Fix dropped frames not counted issue 2021-04-09 14:47:52 +00:00
timing.cc Change default parameters for the low-latency video pipeline 2021-09-29 09:53:17 +00:00
timing.h Add max pre-decode queue size threshold for pacing 2021-08-10 17:01:53 +00:00
timing_unittest.cc Change default parameters for the low-latency video pipeline 2021-09-29 09:53:17 +00:00
unique_timestamp_counter.cc Split out counting unique rtp timestamps from packet_buffer 2019-10-30 15:27:48 +00:00
unique_timestamp_counter.h Use backticks not vertical bars to denote variables in comments for /modules/video_coding 2021-08-09 15:26:22 +00:00
unique_timestamp_counter_unittest.cc Split out counting unique rtp timestamps from packet_buffer 2019-10-30 15:27:48 +00:00
video_codec_initializer.cc Use backticks not vertical bars to denote variables in comments for /modules/video_coding 2021-08-09 15:26:22 +00:00
video_codec_initializer_unittest.cc Make AV1 respect spatial layer active flag. 2021-06-01 16:07:25 +00:00
video_coding_defines.cc Fix frames dropped statistics 2019-08-27 07:43:01 +00:00
video_coding_impl.cc Delete deprecated version of VideoCodingModule::RegisterReceiveCodec 2021-08-25 09:50:20 +00:00
video_coding_impl.h Move check for number_of_cores parameter validitity 2021-08-14 11:51:53 +00:00
video_receiver.cc Move check for number_of_cores parameter validitity 2021-08-14 11:51:53 +00:00
video_receiver2.cc Move check for number_of_cores parameter validitity 2021-08-14 11:51:53 +00:00
video_receiver2.h Move check for number_of_cores parameter validitity 2021-08-14 11:51:53 +00:00
video_receiver_unittest.cc Move check for number_of_cores parameter validitity 2021-08-14 11:51:53 +00:00