webrtc/modules/video_coding
Sergey Silkin d431156c0e Move codecs handling from test to tester
* Pass codec factories to the video codec tester instead of creating and wrapping codecs into a tester-specific wrappers in video_codec_test.cc. The motivation for this change is to simplify the tests by moving complexity to the tester.

* Merge codec stats and analysis into the tester and move the tester. The merge fixes circular deps issues. Modularization is not strictly needed for testing framework like the video codec tester. It is still possible to unit test underlaying modules with rather small overhead.

* Move the video codec tester from api/ to test/. test/ is accessible from outside of WebRTC which enables reusing the tester in downstream projects.

Test output ~matches before and after this refactoring. There is a small difference that is caused by changes in qpMax: 63 -> 56 (kDefaultVideoMaxQpVpx). 56 is what WebRTC uses by default for VPx/AV1 encoders.

Bug: webrtc:14852
Change-Id: I762707b7144fcff870119ad741ebe7091ea109ba
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/327260
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41144}
2023-11-13 16:48:49 +00:00
..
codecs Move codecs handling from test to tester 2023-11-13 16:48:49 +00:00
deprecated Rename EncodedImage property Timetamp to RtpTimestamp 2023-09-24 20:06:48 +00:00
g3doc Remove deprecated VideoStreamDecoderInterface and FrameBuffer2. 2023-02-13 16:25:00 +00:00
include libstdc++: replace deprecated std::is_pod<T> 2023-11-09 15:16:00 +00:00
svc Fix bug in SvcRateAllocator capping to VideoCodec.maxBitrate 2023-03-17 17:08:53 +00:00
timing Implement video versions of RTCInboundRtpStreamStats.jitterBuffer{Target,Minimum}Delay 2023-05-26 13:34:09 +00:00
utility WebRTC-DeprecateGlobalFieldTrialString/Enabled/ - part 19/inf 2023-10-11 11:09:35 +00:00
BUILD.gn Move codecs handling from test to tester 2023-11-13 16:48:49 +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 Remove VCMEncodedFrame from webrtc::EncodedFrame inheritance 2023-08-28 11:46:48 +00:00
decoder_database.h Remove VCMEncodedFrame from webrtc::EncodedFrame inheritance 2023-08-28 11:46:48 +00:00
decoder_database_unittest.cc Move ownership of decoders to VCMDecoderDatabase 2022-09-30 06:21:36 +00:00
DEPS Move VideoEncoderConfig from api/ into video/config 2022-09-29 09:44:43 +00:00
encoded_frame.cc Rename EncodedImage property Timetamp to RtpTimestamp 2023-09-24 20:06:48 +00:00
encoded_frame.h Deprecate old names for EncodedImage::RtpTimestamp accessor and setter 2023-09-28 07:29:22 +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 Add SetRetransmissionMode() to FecController, this will be used to control RTX settings in FecController. 2023-06-01 07:51:56 +00:00
fec_rate_table.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 Rename EncodedImage property Timetamp to RtpTimestamp 2023-09-24 20:06:48 +00:00
generic_decoder.h Remove EncodedFrame::MissingFrame and start removing Decode() param 2023-08-30 10:38:35 +00:00
generic_decoder_unittest.cc Deprecate old names for EncodedImage::RtpTimestamp accessor and setter 2023-09-28 07:29:22 +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 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
h264_sps_pps_tracker.cc Remove DCHECK when processing StapA in h264_sps_pps_tracker.cc 2023-08-23 12:44:06 +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 Remove DCHECK when processing StapA in h264_sps_pps_tracker.cc 2023-08-23 12:44:06 +00:00
histogram.cc
histogram.h
histogram_unittest.cc Format almost everything. 2019-07-08 13:45:15 +00:00
internal_defines.h
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 NackRequester::ClearUpTo: avoid PostTasks. 2023-03-03 22:57:32 +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_buffer.cc Clear PacketBuffer on large negative jumps at the start of the video stream 2023-09-29 08:56:15 +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 Clear PacketBuffer on large negative jumps at the start of the video stream 2023-09-29 08:56:15 +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 Format /modules 2023-04-20 02:02:45 +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 Format /modules 2023-04-20 02:02:45 +00:00
video_codec_initializer.cc Move setting single spatial layer bitrates to GetVp9SvcConfig 2023-10-23 14:10:21 +00:00
video_codec_initializer_unittest.cc Also apply VP9 bitrate's singlecast tweak in single active stream case. 2023-04-08 15:18:29 +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 Move deprecated Receiver to modules/video_coding/deprecated/ 2023-05-08 07:02:15 +00:00
video_receiver.cc Move deprecated Receiver to modules/video_coding/deprecated/ 2023-05-08 07:02:15 +00:00
video_receiver2.cc Remove VCMEncodedFrame from webrtc::EncodedFrame inheritance 2023-08-28 11:46:48 +00:00
video_receiver2.h Remove VCMEncodedFrame from webrtc::EncodedFrame inheritance 2023-08-28 11:46:48 +00:00
video_receiver2_unittest.cc Remove EncodedFrame::MissingFrame and start removing Decode() param 2023-08-30 10:38:35 +00:00
video_receiver_unittest.cc Remove EncodedFrame::MissingFrame and start removing Decode() param 2023-08-30 10:38:35 +00:00