mirror of https://git.ffmpeg.org/ffmpeg.git
avcodec/mediacodecdec: add AV1 decoding support
Signed-off-by: Zhao Zhili <zhilizhao@tencent.com>
This commit is contained in:
parent
cc2b1a3251
commit
f0d2ed135c
|
@ -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"
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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, \
|
||||
|
|
Loading…
Reference in New Issue