summaryrefslogtreecommitdiff
path: root/libavcodec/mediacodecdec.c
diff options
context:
space:
mode:
authorZhao Zhili <zhilizhao@tencent.com>2022-12-19 20:45:40 +0800
committerZhao Zhili <zhilizhao@tencent.com>2023-01-03 19:23:03 +0800
commitf0d2ed135c3602670b56a95e0346487730317407 (patch)
treea8100542597c49aa9db440ec671c90e670a6c1ea /libavcodec/mediacodecdec.c
parentcc2b1a325162fd76969ce21fff9ba84228bc8212 (diff)
downloadffmpeg-f0d2ed135c3602670b56a95e0346487730317407.tar.gz
avcodec/mediacodecdec: add AV1 decoding support
Signed-off-by: Zhao Zhili <zhilizhao@tencent.com>
Diffstat (limited to 'libavcodec/mediacodecdec.c')
-rw-r--r--libavcodec/mediacodecdec.c16
1 files changed, 15 insertions, 1 deletions
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