From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id 4941D44FF9 for ; Mon, 19 Dec 2022 12:46:30 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id C13A568B460; Mon, 19 Dec 2022 14:46:27 +0200 (EET) Received: from out162-62-58-211.mail.qq.com (out162-62-58-211.mail.qq.com [162.62.58.211]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 6285F68B2E4 for ; Mon, 19 Dec 2022 14:46:20 +0200 (EET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foxmail.com; s=s201512; t=1671453977; bh=iVzzGOzDZdHY9rNQduOarz4AKh15Jj0qONuoZSTgbKk=; h=From:To:Cc:Subject:Date; b=aFNQQBxKpA2cx/gr17IUgIWKxzfsT/wiMUHZW/pQT1CO7mm6OUGMeJ7AJCFFdHaV9 Y5U4ZDTby41WpyQHOh7aTPf2TeEZNmfUSa6vNuKQUidaxJLHBju2NtYpJxN7o9rAI2 qCLhoE3kh7rMnxaOQqfHuOFg+Nlf/be4nF9Cc+YE= Received: from localhost.localdomain ([113.118.115.165]) by newxmesmtplogicsvrszb6-0.qq.com (NewEsmtp) with SMTP id B902D670; Mon, 19 Dec 2022 20:46:16 +0800 X-QQ-mid: xmsmtpt1671453976tepq600xr Message-ID: X-QQ-XMAILINFO: MFWpArBVhhGTN5ORdLEbE4vJ8Bq+LHjhBgnCQusrKLA2F+MrP3V02d7E9xoBAE BKGD5T6iwDNasGiNk87+IawlNV8BBDjV+6ct1kk6DgynloMGdqaQLpLmZaLsLQwfeCkzQRP/2kZF kwtVcrXojDFaLf0sungtFZSO28/flhqb9jFe/uAdDE8RK6TCEWNt2Ic68NFHbmMoK6DEP4rq9SZr KAjYgDzUjaV4P3woESuTqbhpJw9FWlAV9a+CD1uoE/U8dnaMJZMJ7F86yfa+jj4FgjDBUIi3KgSk JgC0Nfldpi+aWWllLHcGMU6Mrz+OozvisX2w/I9kyn4H6nOxDnabM1+mm0R8M2J1r1Y+PayAjVXf ai/2IhlBbgvxCXSFyJJg+GhrfUpz6oLbdJ8c8IpTBTRSa+yhotpmhttDOwsKXQH2hb6hSaU0UZad GWLKdr3Wh7O2hBD6o7BUo3EjFsxkmfWk4HStnYlWkx1BTEJtSsOGjyPfMZjV95AXmTp7qpJPrAz0 S60gnhZN4Vzj5zgnTz15nGCgntgoiwx7nWI0Dr1lJKMkNiOjDLP2Wq6ldScEIixZOJz+iBead9ov gjbRQmcw63e8T0k///WP2hWv4Uzm2ZkPIc6czq8fqSdSazN484vSxpLx80qxRyWgwJeP4EH9nDo+ 6SPLXudj8zVSk+Gta8vy4WqDW3yvX0EC1BjafZlVx01yIdE2YsVvYDFkIGBqagTboK+VyAhxnzZe rG04VPr6WCDlZd1UTr4n1FtE3AuUlCJbnKo30pRsJVmgec5G1JXx0nhtL3YZb7Fj2B5vWe3gtwfU YOoRRFixpkKRKfOlnBmV4QN4fv7wFe0gsQBiYRC243My/UJyNXGwb1JXv+7O1nwoIRiSrehQOx9h BNvj0gS8lg7u/7q+Dr3nsOcmiwMjolT/Fd3c54QmjieXmdfxP0oFeLfeWOs91bMhLJ60vWo3FLrz JgHstGdfjeSn4KhrPivVcsVvvkPxw3 From: Zhao Zhili To: ffmpeg-devel@ffmpeg.org Date: Mon, 19 Dec 2022 20:45:40 +0800 X-OQ-MSGID: <20221219124540.172125-1-quinkblack@foxmail.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH v2] avcodec/mediacodecdec: add AV1 decoding support X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Cc: Zhao Zhili Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: From: Zhao Zhili Signed-off-by: Zhao Zhili --- configure | 2 ++ libavcodec/Makefile | 1 + libavcodec/allcodecs.c | 1 + libavcodec/mediacodecdec.c | 16 +++++++++++++++- libavcodec/version.h | 4 ++-- 5 files changed, 21 insertions(+), 3 deletions(-) diff --git a/configure b/configure index 2180ebb4f1..3ae9eb768f 100755 --- a/configure +++ b/configure @@ -3156,6 +3156,8 @@ nvenc_deps_any="libdl LoadLibrary" aac_mf_encoder_deps="mediafoundation" ac3_mf_encoder_deps="mediafoundation" av1_cuvid_decoder_deps="cuvid CUVIDAV1PICPARAMS" +av1_mediacodec_decoder_deps="mediacodec" +av1_mediacodec_decoder_extralibs="-landroid" av1_nvenc_encoder_deps="nvenc NV_ENC_PIC_PARAMS_AV1" av1_nvenc_encoder_select="atsc_a53" h263_v4l2m2m_decoder_deps="v4l2_m2m h263_v4l2_m2m" diff --git a/libavcodec/Makefile b/libavcodec/Makefile index 98841ed07c..3ab448dd49 100644 --- a/libavcodec/Makefile +++ b/libavcodec/Makefile @@ -249,6 +249,7 @@ OBJS-$(CONFIG_AURA_DECODER) += cyuv.o OBJS-$(CONFIG_AURA2_DECODER) += aura.o OBJS-$(CONFIG_AV1_DECODER) += av1dec.o OBJS-$(CONFIG_AV1_CUVID_DECODER) += cuviddec.o +OBJS-$(CONFIG_AV1_MEDIACODEC_DECODER) += mediacodecdec.o OBJS-$(CONFIG_AV1_NVENC_ENCODER) += nvenc_av1.o nvenc.o OBJS-$(CONFIG_AV1_QSV_ENCODER) += qsvenc_av1.o OBJS-$(CONFIG_AVRN_DECODER) += avrndec.o diff --git a/libavcodec/allcodecs.c b/libavcodec/allcodecs.c index d5a6c427e1..b009848a44 100644 --- a/libavcodec/allcodecs.c +++ b/libavcodec/allcodecs.c @@ -828,6 +828,7 @@ extern const FFCodec ff_libaom_av1_decoder; /* hwaccel hooks only, so prefer external decoders */ extern const FFCodec ff_av1_decoder; extern const FFCodec ff_av1_cuvid_decoder; +extern const FFCodec ff_av1_mediacodec_decoder; extern const FFCodec ff_av1_nvenc_encoder; extern const FFCodec ff_av1_qsv_decoder; extern const FFCodec ff_av1_qsv_encoder; diff --git a/libavcodec/mediacodecdec.c b/libavcodec/mediacodecdec.c index 2c231d1a34..11f655a9aa 100644 --- a/libavcodec/mediacodecdec.c +++ b/libavcodec/mediacodecdec.c @@ -289,7 +289,8 @@ done: #if CONFIG_MPEG2_MEDIACODEC_DECODER || \ CONFIG_MPEG4_MEDIACODEC_DECODER || \ CONFIG_VP8_MEDIACODEC_DECODER || \ - CONFIG_VP9_MEDIACODEC_DECODER + CONFIG_VP9_MEDIACODEC_DECODER || \ + CONFIG_AV1_MEDIACODEC_DECODER static int common_set_extradata(AVCodecContext *avctx, FFAMediaFormat *format) { int ret = 0; @@ -323,6 +324,15 @@ static av_cold int mediacodec_decode_init(AVCodecContext *avctx) } switch (avctx->codec_id) { +#if CONFIG_AV1_MEDIACODEC_DECODER + case AV_CODEC_ID_AV1: + codec_mime = "video/av01"; + + ret = common_set_extradata(avctx, format); + if (ret < 0) + goto done; + break; +#endif #if CONFIG_H264_MEDIACODEC_DECODER case AV_CODEC_ID_H264: codec_mime = "video/avc"; @@ -591,3 +601,7 @@ DECLARE_MEDIACODEC_VDEC(vp8, "VP8", AV_CODEC_ID_VP8, NULL) #if CONFIG_VP9_MEDIACODEC_DECODER DECLARE_MEDIACODEC_VDEC(vp9, "VP9", AV_CODEC_ID_VP9, NULL) #endif + +#if CONFIG_AV1_MEDIACODEC_DECODER +DECLARE_MEDIACODEC_VDEC(av1, "AV1", AV_CODEC_ID_AV1, NULL) +#endif diff --git a/libavcodec/version.h b/libavcodec/version.h index eb95a0f827..6b8a1dbb79 100644 --- a/libavcodec/version.h +++ b/libavcodec/version.h @@ -29,8 +29,8 @@ #include "version_major.h" -#define LIBAVCODEC_VERSION_MINOR 55 -#define LIBAVCODEC_VERSION_MICRO 103 +#define LIBAVCODEC_VERSION_MINOR 56 +#define LIBAVCODEC_VERSION_MICRO 100 #define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \ LIBAVCODEC_VERSION_MINOR, \ -- 2.25.1 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".