webrtc/modules/video_coding/codecs/test
Sergey Silkin 2e1a9a4ae0 Add video codec tester.
This tester is an improved version of VideoProcessor and VideoCodecTestFixture and will eventually replace them.

The tester provides better separation between codecs and testing logic. Its knowledge about codecs is limited to frame encode/decode calls and frame ready callbacks. Instantiation and configuration of codecs are the test responsibilities.

Other differences:
- Run encoding and decoding in separate threads
- Run quality analysis in a separate thread
- Reference frame buffering is moved into video source (which re-read frames from the file).
- Make it possible to run decode-only tests

This CL is MVP implementation: it adds only 1 test (video_codec_test.cc, ConstantRate/EncodeDecodeTest) and the test is disabled for now.

Bug: b/261160916
Change-Id: Ida24a2fca1b1496237fa695c812084877c76379f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/283525
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38901}
2022-12-15 14:32:53 +00:00
..
batch Codec instantiation tests for testing device capabilities in batch. 2018-03-05 10:01:02 +00:00
android_codec_factory_helper.cc Use WebRTC's Java VM initialization in tests. 2022-04-20 08:41:48 +00:00
android_codec_factory_helper.h Move all Android specific stuff to android_codec_factory_helper. 2018-02-05 13:08:26 +00:00
encoded_video_frame_producer.cc In VP9 wrapper fill information required to produce Dependency Descriptor 2020-10-16 09:20:07 +00:00
encoded_video_frame_producer.h Unwrap the presentation timestamp before calling aom_codec_encode in LibaomAv1Encoder. 2022-11-17 08:32:18 +00:00
objc_codec_factory_helper.h Move all Android specific stuff to android_codec_factory_helper. 2018-02-05 13:08:26 +00:00
objc_codec_factory_helper.mm Wrap WebRTC OBJC API types with RTC_OBJC_TYPE. 2020-05-04 15:01:26 +00:00
plot_webrtc_test_logs.py Reformat python files checked by pylint (part 1/2). 2020-10-30 10:13:11 +00:00
video_codec_analyzer.cc Add video codec tester. 2022-12-15 14:32:53 +00:00
video_codec_analyzer.h Add video codec tester. 2022-12-15 14:32:53 +00:00
video_codec_analyzer_unittest.cc Add video codec tester. 2022-12-15 14:32:53 +00:00
video_codec_test.cc Add video codec tester. 2022-12-15 14:32:53 +00:00
video_codec_tester_impl.cc Add video codec tester. 2022-12-15 14:32:53 +00:00
video_codec_tester_impl.h Add video codec tester. 2022-12-15 14:32:53 +00:00
video_codec_tester_impl_unittest.cc Add video codec tester. 2022-12-15 14:32:53 +00:00
video_codec_unittest.cc Update rtc::Event::Wait call sites to use TimeDelta. 2022-08-19 10:07:28 +00:00
video_codec_unittest.h Prepare to rename RTC_NOTREACHED to RTC_DCHECK_NOTREACHED 2021-11-15 21:44:59 +00:00
video_encoder_decoder_instantiation_tests.cc Prepare to rename RTC_NOTREACHED to RTC_DCHECK_NOTREACHED 2021-11-15 21:44:59 +00:00
videocodec_test_av1.cc Remove the libaom av1 decoder. 2022-09-30 08:42:25 +00:00
videocodec_test_fixture_config_unittest.cc Delete unneeded direct includes of common_types.h 2019-04-01 07:18:13 +00:00
videocodec_test_fixture_impl.cc Refactor YUV frame reader 2022-12-06 16:23:48 +00:00
videocodec_test_fixture_impl.h Do not crash if codec is not available 2021-03-03 13:56:17 +00:00
videocodec_test_libvpx.cc Prepare to rename RTC_NOTREACHED to RTC_DCHECK_NOTREACHED 2021-11-15 21:44:59 +00:00
videocodec_test_mediacodec.cc Name rate adaptation tests 2022-08-24 08:36:39 +00:00
videocodec_test_openh264.cc Use std::make_unique instead of absl::make_unique. 2019-09-17 15:47:29 +00:00
videocodec_test_stats_impl.cc Add video codec tester. 2022-12-15 14:32:53 +00:00
videocodec_test_stats_impl.h Add video codec tester. 2022-12-15 14:32:53 +00:00
videocodec_test_stats_impl_unittest.cc Add video codec tester. 2022-12-15 14:32:53 +00:00
videocodec_test_videotoolbox.cc Move h264_profile_level_id and vp9_profile to api/video_codecs 2021-04-20 09:42:05 +00:00
videoprocessor.cc Refactor YUV frame reader 2022-12-06 16:23:48 +00:00
videoprocessor.h Refactor YUV frame reader 2022-12-06 16:23:48 +00:00
videoprocessor_unittest.cc Refactor YUV frame reader 2022-12-06 16:23:48 +00:00