[FFmpeg-devel] [PATCH] avcodec/mfenc: add support for AV1 MF encoders
Dash Santosh
dash.sathyanarayanan at multicorewareinc.com
Fri Oct 4 20:44:41 EEST 2024
>From 77c708805c52302861650cf770f6c32a33590e90 Mon Sep 17 00:00:00 2001
From: Min Chen <chenm003 at 163.com>
Date: Fri, 4 Oct 2024 23:04:04 +0530
Subject: [PATCH] avcodec/mfenc: add support for AV1 MF encoders
X-Unsent: 1
To: ffmpeg-devel at ffmpeg.org
Signed-off-by: Dash Santosh <santdas36 at gmail.com>
---
configure | 1 +
libavcodec/allcodecs.c | 1 +
libavcodec/mf_utils.c | 2 ++
libavcodec/mfenc.c | 1 +
4 files changed, 5 insertions(+)
diff --git a/configure b/configure
index 0247ea08d6..63bc53cc27 100755
--- a/configure
+++ b/configure
@@ -3347,6 +3347,7 @@ av1_cuvid_decoder_deps="cuvid CUVIDAV1PICPARAMS"
av1_mediacodec_decoder_deps="mediacodec"
av1_mediacodec_encoder_deps="mediacodec"
av1_mediacodec_encoder_select="extract_extradata_bsf"
+av1_mf_encoder_deps="mediafoundation"
av1_nvenc_encoder_deps="nvenc NV_ENC_PIC_PARAMS_AV1"
av1_nvenc_encoder_select="atsc_a53"
av1_qsv_decoder_select="qsvdec"
diff --git a/libavcodec/allcodecs.c b/libavcodec/allcodecs.c
index aa0fc47647..f5317616b7 100644
--- a/libavcodec/allcodecs.c
+++ b/libavcodec/allcodecs.c
@@ -838,6 +838,7 @@ extern const FFCodec ff_av1_nvenc_encoder;
extern const FFCodec ff_av1_qsv_decoder;
extern const FFCodec ff_av1_qsv_encoder;
extern const FFCodec ff_av1_amf_encoder;
+extern const FFCodec ff_av1_mf_encoder;
extern const FFCodec ff_av1_vaapi_encoder;
extern const FFCodec ff_libopenh264_encoder;
extern const FFCodec ff_libopenh264_decoder;
diff --git a/libavcodec/mf_utils.c b/libavcodec/mf_utils.c
index 48e3a63efc..f740a6090b 100644
--- a/libavcodec/mf_utils.c
+++ b/libavcodec/mf_utils.c
@@ -240,6 +240,7 @@ static struct GUID_Entry guid_names[] = {
GUID_ENTRY(MFMediaType_Video),
GUID_ENTRY(MFAudioFormat_PCM),
GUID_ENTRY(MFAudioFormat_Float),
+ GUID_ENTRY(MFVideoFormat_AV1),
GUID_ENTRY(MFVideoFormat_H264),
GUID_ENTRY(MFVideoFormat_H264_ES),
GUID_ENTRY(ff_MFVideoFormat_HEVC),
@@ -507,6 +508,7 @@ void ff_media_type_dump(void *log, IMFMediaType *type)
const CLSID *ff_codec_to_mf_subtype(enum AVCodecID codec)
{
switch (codec) {
+ case AV_CODEC_ID_AV1: return &MFVideoFormat_AV1;
case AV_CODEC_ID_H264: return &MFVideoFormat_H264;
case AV_CODEC_ID_HEVC: return &ff_MFVideoFormat_HEVC;
case AV_CODEC_ID_AC3: return &MFAudioFormat_Dolby_AC3;
diff --git a/libavcodec/mfenc.c b/libavcodec/mfenc.c
index b8f8a25f43..c062d87f11 100644
--- a/libavcodec/mfenc.c
+++ b/libavcodec/mfenc.c
@@ -1315,3 +1315,4 @@ static const FFCodecDefault defaults[] = {
MF_ENCODER(VIDEO, h264, H264, venc_opts, VFMTS, VCAPS, defaults);
MF_ENCODER(VIDEO, hevc, HEVC, venc_opts, VFMTS, VCAPS, defaults);
+MF_ENCODER(VIDEO, av1, AV1, venc_opts, VFMTS, VCAPS, defaults);
--
2.43.0.windows.1
--
* <https://multicorewareinc.com/>*
<https://www.linkedin.com/company/multicoreware-inc/>
<https://twitter.com/MulticoreWare>
<https://www.facebook.com/multicoreware>
<https://www.youtube.com/channel/UCXZ1A1MzS5JwBqwBkNfsBBw?sub_confirmation=1>
<https://www.instagram.com/multicoreware.inc/>
*Dash Santosh*
*Research Engineer, Video Engineering*
Mobile: +91 78679 43737
IndiQube Echo Point, Avinashi Road
Coimbatore - 641 014
-------------- next part --------------
An embedded message was scrubbed...
From: Min Chen <chenm003 at 163.com>
Subject: [PATCH] avcodec/mfenc: add support for AV1 MF encoders
Date: Fri, 4 Oct 2024 23:04:04 +0530
Size: 2788
URL: <https://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20241004/51d53833/attachment.eml>
More information about the ffmpeg-devel
mailing list