From cc6042d876e735219cc7d57be9991da03e28ae61 Mon Sep 17 00:00:00 2001 From: Jianhui Dai Date: Tue, 4 Jul 2023 11:09:49 +0800 Subject: [PATCH] Let `IvfVideoFrameGenerator` support AV1 codec This CL adds dav1d decoder into `IvfVideoFrameGenerator` to support IVF input with AV1 codec. Bug: webrtc:15210 Change-Id: I4cbc93fa62fdc346f3c647bbf26f033bf0cc34ba Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/311340 Reviewed-by: Mirko Bonadei Commit-Queue: Jianhui J Dai Cr-Commit-Position: refs/heads/main@{#40402} --- test/BUILD.gn | 1 + test/testsupport/ivf_video_frame_generator.cc | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/test/BUILD.gn b/test/BUILD.gn index 5187205a0a..4107162cd1 100644 --- a/test/BUILD.gn +++ b/test/BUILD.gn @@ -66,6 +66,7 @@ rtc_library("frame_generator_impl") { "../modules/video_coding:webrtc_h264", "../modules/video_coding:webrtc_vp8", "../modules/video_coding:webrtc_vp9", + "../modules/video_coding/codecs/av1:dav1d_decoder", "../rtc_base:checks", "../rtc_base:criticalsection", "../rtc_base:logging", diff --git a/test/testsupport/ivf_video_frame_generator.cc b/test/testsupport/ivf_video_frame_generator.cc index ae87fb8b04..0c7504b25a 100644 --- a/test/testsupport/ivf_video_frame_generator.cc +++ b/test/testsupport/ivf_video_frame_generator.cc @@ -16,6 +16,7 @@ #include "api/video/i420_buffer.h" #include "api/video_codecs/video_codec.h" #include "media/base/media_constants.h" +#include "modules/video_coding/codecs/av1/dav1d_decoder.h" #include "modules/video_coding/codecs/h264/include/h264.h" #include "modules/video_coding/codecs/vp8/include/vp8.h" #include "modules/video_coding/codecs/vp9/include/vp9.h" @@ -145,6 +146,9 @@ std::unique_ptr IvfVideoFrameGenerator::CreateVideoDecoder( if (codec_type == VideoCodecType::kVideoCodecH264) { return H264Decoder::Create(); } + if (codec_type == VideoCodecType::kVideoCodecAV1) { + return CreateDav1dDecoder(); + } return nullptr; }