History

avcodec/mfenc: add support for AV1 MF encoders

Min Chen committed 2 years ago

Commit 37842f21 parent 66682686 files · +7 −1Browse files

Unified · Split

6 files
  1. configure +1 −0
  2. libavcodec/allcodecs.c +1 −0
  3. libavcodec/mf_utils.c +2 −0
  4. libavcodec/mf_utils.h +1 −0
  5. libavcodec/mfenc.c +1 −0
  6. libavcodec/version.h +1 −1
configure+1−0
@@ -3347,6 +3347,7 @@ av1_cuvid_decoder_deps="cuvid CUVIDAV1PICPARAMS" · 3346 unmodified lines
3347av1_mediacodec_decoder_deps="mediacodec"3347av1_mediacodec_decoder_deps="mediacodec"
3348av1_mediacodec_encoder_deps="mediacodec"3348av1_mediacodec_encoder_deps="mediacodec"
3349av1_mediacodec_encoder_select="extract_extradata_bsf"3349av1_mediacodec_encoder_select="extract_extradata_bsf"
3350av1_mf_encoder_deps="mediafoundation"
3350av1_nvenc_encoder_deps="nvenc NV_ENC_PIC_PARAMS_AV1"3351av1_nvenc_encoder_deps="nvenc NV_ENC_PIC_PARAMS_AV1"
3351av1_nvenc_encoder_select="atsc_a53"3352av1_nvenc_encoder_select="atsc_a53"
3352av1_qsv_decoder_select="qsvdec"3353av1_qsv_decoder_select="qsvdec"
libavcodec/allcodecs.c+1−0
@@ -838,6 +838,7 @@ extern const FFCodec ff_av1_nvenc_encoder; · 837 unmodified lines
838extern const FFCodec ff_av1_qsv_decoder;838extern const FFCodec ff_av1_qsv_decoder;
839extern const FFCodec ff_av1_qsv_encoder;839extern const FFCodec ff_av1_qsv_encoder;
840extern const FFCodec ff_av1_amf_encoder;840extern const FFCodec ff_av1_amf_encoder;
841extern const FFCodec ff_av1_mf_encoder;
841extern const FFCodec ff_av1_vaapi_encoder;842extern const FFCodec ff_av1_vaapi_encoder;
842extern const FFCodec ff_libopenh264_encoder;843extern const FFCodec ff_libopenh264_encoder;
843extern const FFCodec ff_libopenh264_decoder;844extern const FFCodec ff_libopenh264_decoder;
libavcodec/mf_utils.c+2−0
@@ -240,6 +240,7 @@ static struct GUID_Entry guid_names[] = { · 239 unmodified lines
240 GUID_ENTRY(MFMediaType_Video),240 GUID_ENTRY(MFMediaType_Video),
241 GUID_ENTRY(MFAudioFormat_PCM),241 GUID_ENTRY(MFAudioFormat_PCM),
242 GUID_ENTRY(MFAudioFormat_Float),242 GUID_ENTRY(MFAudioFormat_Float),
243 GUID_ENTRY(ff_MFVideoFormat_AV1),
243 GUID_ENTRY(MFVideoFormat_H264),244 GUID_ENTRY(MFVideoFormat_H264),
244 GUID_ENTRY(MFVideoFormat_H264_ES),245 GUID_ENTRY(MFVideoFormat_H264_ES),
245 GUID_ENTRY(ff_MFVideoFormat_HEVC),246 GUID_ENTRY(ff_MFVideoFormat_HEVC),
@@ -507,6 +508,7 @@ void ff_media_type_dump(void *log, IMFMediaType *type) · 261 unmodified lines
507const CLSID *ff_codec_to_mf_subtype(enum AVCodecID codec)508const CLSID *ff_codec_to_mf_subtype(enum AVCodecID codec)
508{509{
509 switch (codec) {510 switch (codec) {
511 case AV_CODEC_ID_AV1: return &ff_MFVideoFormat_AV1;
510 case AV_CODEC_ID_H264: return &MFVideoFormat_H264;512 case AV_CODEC_ID_H264: return &MFVideoFormat_H264;
511 case AV_CODEC_ID_HEVC: return &ff_MFVideoFormat_HEVC;513 case AV_CODEC_ID_HEVC: return &ff_MFVideoFormat_HEVC;
512 case AV_CODEC_ID_AC3: return &MFAudioFormat_Dolby_AC3;514 case AV_CODEC_ID_AC3: return &MFAudioFormat_Dolby_AC3;
libavcodec/mf_utils.h+1−0
@@ -113,6 +113,7 @@ DEFINE_GUID(ff_MF_SA_MINIMUM_OUTPUT_SAMPLE_COUNT_PROGRESSIVE, 0xf5523a5, 0x1cb2, · 112 unmodified lines
113 113
114DEFINE_MEDIATYPE_GUID(ff_MFVideoFormat_HEVC, 0x43564548); // FCC('HEVC')114DEFINE_MEDIATYPE_GUID(ff_MFVideoFormat_HEVC, 0x43564548); // FCC('HEVC')
115DEFINE_MEDIATYPE_GUID(ff_MFVideoFormat_HEVC_ES, 0x53564548); // FCC('HEVS')115DEFINE_MEDIATYPE_GUID(ff_MFVideoFormat_HEVC_ES, 0x53564548); // FCC('HEVS')
116DEFINE_MEDIATYPE_GUID(ff_MFVideoFormat_AV1, 0x31305641); // FCC('AV01')
116 117
117 118
118// This enum is missing from mingw-w64's codecapi.h by v7.0.0.119// This enum is missing from mingw-w64's codecapi.h by v7.0.0.
libavcodec/mfenc.c+1−0
@@ -1315,3 +1315,4 @@ static const FFCodecDefault defaults[] = { · 1314 unmodified lines
1315 1315
1316MF_ENCODER(VIDEO, h264, H264, venc_opts, VFMTS, VCAPS, defaults);1316MF_ENCODER(VIDEO, h264, H264, venc_opts, VFMTS, VCAPS, defaults);
1317MF_ENCODER(VIDEO, hevc, HEVC, venc_opts, VFMTS, VCAPS, defaults);1317MF_ENCODER(VIDEO, hevc, HEVC, venc_opts, VFMTS, VCAPS, defaults);
1318MF_ENCODER(VIDEO, av1, AV1, venc_opts, VFMTS, VCAPS, defaults);
libavcodec/version.h+1−1
@@ -29,7 +29,7 @@ · 28 unmodified lines
29 29
30#include "version_major.h"30#include "version_major.h"
31 31
32#define LIBAVCODEC_VERSION_MINOR 2132#define LIBAVCODEC_VERSION_MINOR 22
33#define LIBAVCODEC_VERSION_MICRO 10033#define LIBAVCODEC_VERSION_MICRO 100
34 34
35#define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \35#define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t