Message ID | 00ba01d88604$24d5c450$6e814cf0$@samsung.com |
---|---|
State | New |
Headers | show |
Series | [FFmpeg-devel,1/3] Provided support for MPEG-5 EVC (Essential Video Coding) codec | expand |
Context | Check | Description |
---|---|---|
yinshiyou/configure_loongarch64 | warning | Failed to apply patch |
andriy/make_x86 | success | Make finished |
andriy/make_fate_x86 | success | Make fate finished |
Quoting Dawid Kozinski (2022-06-22 08:48:55) > Prerequisites that must be met before adding new codec > - Added new entry to codec IDs list > - Added new entry to the codec descriptor list > - Bumped libavcodec minor version > - Changes in Changelog and MAINTAINERS files > > Signed-off-by: Dawid Kozinski <d.kozinski@samsung.com> > --- > Changelog | 3 ++- > MAINTAINERS | 2 ++ > libavcodec/codec_desc.c | 8 ++++++++ > libavcodec/codec_id.h | 1 + > libavcodec/profiles.c | 6 ++++++ > libavcodec/profiles.h | 1 + > libavcodec/version.h | 2 +- > 7 files changed, 21 insertions(+), 2 deletions(-) > > diff --git a/Changelog b/Changelog > index ef589705c4..0d230bde91 100644 > --- a/Changelog > +++ b/Changelog > @@ -67,7 +67,8 @@ version 5.0: > - VideoToolbox ProRes encoder > - anlmf audio filter > - IMF demuxer (experimental) > - > +- eXtra-fast Essential Video Encoder (XEVE) > +- eXtra-fast Essential Video Decoder (XEVD) These should be added in the commits that are actually adding the feature in question. > > version 4.4: > - AudioToolbox output device > diff --git a/MAINTAINERS b/MAINTAINERS > index 274fc89203..4b33d3c1b2 100644 > --- a/MAINTAINERS > +++ b/MAINTAINERS > @@ -205,6 +205,7 @@ Codecs: > libvpx* James Zern > libxavs.c Stefan Gehrer > libxavs2.c Huiwen Ren > + libxev*.c, evc_parser.c Dawid Kozinski > libzvbi-teletextdec.c Marton Balint > lzo.h, lzo.c Reimar Doeffinger > mdec.c Michael Niedermayer > @@ -425,6 +426,7 @@ Muxers/Demuxers: > dv.c Roman Shaposhnik > electronicarts.c Peter Ross > epafdec.c Paul B Mahol > + evcdec.c Dawid Kozinski > ffm* Baptiste Coudurier > flic.c Mike Melanson > flvdec.c Michael Niedermayer > diff --git a/libavcodec/codec_desc.c b/libavcodec/codec_desc.c > index e2c1c67f5e..ea6f65ee9c 100644 > --- a/libavcodec/codec_desc.c > +++ b/libavcodec/codec_desc.c > @@ -1886,6 +1886,14 @@ static const AVCodecDescriptor codec_descriptors[] = > { > .long_name = NULL_IF_CONFIG_SMALL("QOI (Quite OK Image)"), > .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS, > }, > + { > + .id = AV_CODEC_ID_EVC, > + .type = AVMEDIA_TYPE_VIDEO, > + .name = "evc", > + .long_name = NULL_IF_CONFIG_SMALL("MPEG-5 EVC (Essential Video > Coding)"), Your mailer broke the long line here, so the patch cannot be applied. You must send patches in a way that does not mangle them, such as attaching them or using git send-email. > + .props = AV_CODEC_PROP_LOSSY | AV_CODEC_PROP_REORDER, > + .profiles = NULL_IF_CONFIG_SMALL(ff_evc_profiles), > + }, > > /* various PCM "codecs" */ > { > diff --git a/libavcodec/codec_id.h b/libavcodec/codec_id.h > index 93856a16f2..7ed4aed861 100644 > --- a/libavcodec/codec_id.h > +++ b/libavcodec/codec_id.h > @@ -311,6 +311,7 @@ enum AVCodecID { > AV_CODEC_ID_VBN, > AV_CODEC_ID_JPEGXL, > AV_CODEC_ID_QOI, > + AV_CODEC_ID_EVC, > > /* various PCM "codecs" */ > AV_CODEC_ID_FIRST_AUDIO = 0x10000, ///< A dummy id pointing at the > start of audio codecs > diff --git a/libavcodec/profiles.c b/libavcodec/profiles.c > index 7af7fbeb13..a31244e0db 100644 > --- a/libavcodec/profiles.c > +++ b/libavcodec/profiles.c > @@ -181,4 +181,10 @@ const AVProfile ff_arib_caption_profiles[] = { > { FF_PROFILE_UNKNOWN } > }; > > +const AVProfile ff_evc_profiles[] = { > + { FF_PROFILE_EVC_BASELINE, "Baseline" }, > + { FF_PROFILE_EVC_MAIN, "Main" }, Those profiles are not actually added in this patch, so this will fail to build.
I've just created two new patches and sent them to the mailing list. All your comments and hints have been taken into account. -----Original Message----- From: ffmpeg-devel <ffmpeg-devel-bounces@ffmpeg.org> On Behalf Of Anton Khirnov Sent: Friday, July 1, 2022 10:57 AM To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org> Subject: Re: [FFmpeg-devel] [PATCH 1/3] Provided support for MPEG-5 EVC (Essential Video Coding) codec Quoting Dawid Kozinski (2022-06-22 08:48:55) > Prerequisites that must be met before adding new codec > - Added new entry to codec IDs list > - Added new entry to the codec descriptor list > - Bumped libavcodec minor version > - Changes in Changelog and MAINTAINERS files > > Signed-off-by: Dawid Kozinski <d.kozinski@samsung.com> > --- > Changelog | 3 ++- > MAINTAINERS | 2 ++ > libavcodec/codec_desc.c | 8 ++++++++ > libavcodec/codec_id.h | 1 + > libavcodec/profiles.c | 6 ++++++ > libavcodec/profiles.h | 1 + > libavcodec/version.h | 2 +- > 7 files changed, 21 insertions(+), 2 deletions(-) > > diff --git a/Changelog b/Changelog > index ef589705c4..0d230bde91 100644 > --- a/Changelog > +++ b/Changelog > @@ -67,7 +67,8 @@ version 5.0: > - VideoToolbox ProRes encoder > - anlmf audio filter > - IMF demuxer (experimental) > - > +- eXtra-fast Essential Video Encoder (XEVE) > +- eXtra-fast Essential Video Decoder (XEVD) These should be added in the commits that are actually adding the feature in question. > > version 4.4: > - AudioToolbox output device > diff --git a/MAINTAINERS b/MAINTAINERS > index 274fc89203..4b33d3c1b2 100644 > --- a/MAINTAINERS > +++ b/MAINTAINERS > @@ -205,6 +205,7 @@ Codecs: > libvpx* James Zern > libxavs.c Stefan Gehrer > libxavs2.c Huiwen Ren > + libxev*.c, evc_parser.c Dawid Kozinski > libzvbi-teletextdec.c Marton Balint > lzo.h, lzo.c Reimar Doeffinger > mdec.c Michael Niedermayer > @@ -425,6 +426,7 @@ Muxers/Demuxers: > dv.c Roman Shaposhnik > electronicarts.c Peter Ross > epafdec.c Paul B Mahol > + evcdec.c Dawid Kozinski > ffm* Baptiste Coudurier > flic.c Mike Melanson > flvdec.c Michael Niedermayer > diff --git a/libavcodec/codec_desc.c b/libavcodec/codec_desc.c > index e2c1c67f5e..ea6f65ee9c 100644 > --- a/libavcodec/codec_desc.c > +++ b/libavcodec/codec_desc.c > @@ -1886,6 +1886,14 @@ static const AVCodecDescriptor codec_descriptors[] = > { > .long_name = NULL_IF_CONFIG_SMALL("QOI (Quite OK Image)"), > .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS, > }, > + { > + .id = AV_CODEC_ID_EVC, > + .type = AVMEDIA_TYPE_VIDEO, > + .name = "evc", > + .long_name = NULL_IF_CONFIG_SMALL("MPEG-5 EVC (Essential Video > Coding)"), Your mailer broke the long line here, so the patch cannot be applied. You must send patches in a way that does not mangle them, such as attaching them or using git send-email. > + .props = AV_CODEC_PROP_LOSSY | AV_CODEC_PROP_REORDER, > + .profiles = NULL_IF_CONFIG_SMALL(ff_evc_profiles), > + }, > > /* various PCM "codecs" */ > { > diff --git a/libavcodec/codec_id.h b/libavcodec/codec_id.h > index 93856a16f2..7ed4aed861 100644 > --- a/libavcodec/codec_id.h > +++ b/libavcodec/codec_id.h > @@ -311,6 +311,7 @@ enum AVCodecID { > AV_CODEC_ID_VBN, > AV_CODEC_ID_JPEGXL, > AV_CODEC_ID_QOI, > + AV_CODEC_ID_EVC, > > /* various PCM "codecs" */ > AV_CODEC_ID_FIRST_AUDIO = 0x10000, ///< A dummy id pointing at the > start of audio codecs > diff --git a/libavcodec/profiles.c b/libavcodec/profiles.c > index 7af7fbeb13..a31244e0db 100644 > --- a/libavcodec/profiles.c > +++ b/libavcodec/profiles.c > @@ -181,4 +181,10 @@ const AVProfile ff_arib_caption_profiles[] = { > { FF_PROFILE_UNKNOWN } > }; > > +const AVProfile ff_evc_profiles[] = { > + { FF_PROFILE_EVC_BASELINE, "Baseline" }, > + { FF_PROFILE_EVC_MAIN, "Main" }, Those profiles are not actually added in this patch, so this will fail to build.
diff --git a/Changelog b/Changelog index ef589705c4..0d230bde91 100644 --- a/Changelog +++ b/Changelog @@ -67,7 +67,8 @@ version 5.0: - VideoToolbox ProRes encoder - anlmf audio filter - IMF demuxer (experimental) - +- eXtra-fast Essential Video Encoder (XEVE) +- eXtra-fast Essential Video Decoder (XEVD) version 4.4: - AudioToolbox output device diff --git a/MAINTAINERS b/MAINTAINERS index 274fc89203..4b33d3c1b2 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -205,6 +205,7 @@ Codecs: libvpx* James Zern libxavs.c Stefan Gehrer libxavs2.c Huiwen Ren + libxev*.c, evc_parser.c Dawid Kozinski libzvbi-teletextdec.c Marton Balint lzo.h, lzo.c Reimar Doeffinger mdec.c Michael Niedermayer @@ -425,6 +426,7 @@ Muxers/Demuxers: dv.c Roman Shaposhnik electronicarts.c Peter Ross epafdec.c Paul B Mahol + evcdec.c Dawid Kozinski ffm* Baptiste Coudurier flic.c Mike Melanson flvdec.c Michael Niedermayer diff --git a/libavcodec/codec_desc.c b/libavcodec/codec_desc.c index e2c1c67f5e..ea6f65ee9c 100644 --- a/libavcodec/codec_desc.c +++ b/libavcodec/codec_desc.c @@ -1886,6 +1886,14 @@ static const AVCodecDescriptor codec_descriptors[] = { .long_name = NULL_IF_CONFIG_SMALL("QOI (Quite OK Image)"), .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS, }, + { + .id = AV_CODEC_ID_EVC, + .type = AVMEDIA_TYPE_VIDEO, + .name = "evc", + .long_name = NULL_IF_CONFIG_SMALL("MPEG-5 EVC (Essential Video Coding)"), + .props = AV_CODEC_PROP_LOSSY | AV_CODEC_PROP_REORDER, + .profiles = NULL_IF_CONFIG_SMALL(ff_evc_profiles), + }, /* various PCM "codecs" */ { diff --git a/libavcodec/codec_id.h b/libavcodec/codec_id.h index 93856a16f2..7ed4aed861 100644 --- a/libavcodec/codec_id.h +++ b/libavcodec/codec_id.h @@ -311,6 +311,7 @@ enum AVCodecID { AV_CODEC_ID_VBN, AV_CODEC_ID_JPEGXL, AV_CODEC_ID_QOI, + AV_CODEC_ID_EVC, /* various PCM "codecs" */ AV_CODEC_ID_FIRST_AUDIO = 0x10000, ///< A dummy id pointing at the start of audio codecs diff --git a/libavcodec/profiles.c b/libavcodec/profiles.c index 7af7fbeb13..a31244e0db 100644 --- a/libavcodec/profiles.c +++ b/libavcodec/profiles.c @@ -181,4 +181,10 @@ const AVProfile ff_arib_caption_profiles[] = { { FF_PROFILE_UNKNOWN } }; +const AVProfile ff_evc_profiles[] = { + { FF_PROFILE_EVC_BASELINE, "Baseline" }, + { FF_PROFILE_EVC_MAIN, "Main" }, + { FF_PROFILE_UNKNOWN }, +}; + #endif /* !CONFIG_SMALL */ diff --git a/libavcodec/profiles.h b/libavcodec/profiles.h index 41a19aa9ad..cf92b5f126 100644 --- a/libavcodec/profiles.h +++ b/libavcodec/profiles.h @@ -72,5 +72,6 @@ extern const AVProfile ff_sbc_profiles[]; extern const AVProfile ff_prores_profiles[]; extern const AVProfile ff_mjpeg_profiles[]; extern const AVProfile ff_arib_caption_profiles[]; +extern const AVProfile ff_evc_profiles[]; #endif /* AVCODEC_PROFILES_H */ diff --git a/libavcodec/version.h b/libavcodec/version.h index 2a08e42d7e..0ef6c991f3 100644 --- a/libavcodec/version.h +++ b/libavcodec/version.h @@ -29,7 +29,7 @@ #include "version_major.h" -#define LIBAVCODEC_VERSION_MINOR 33 +#define LIBAVCODEC_VERSION_MINOR 34 #define LIBAVCODEC_VERSION_MICRO 100 #define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \
Prerequisites that must be met before adding new codec - Added new entry to codec IDs list - Added new entry to the codec descriptor list - Bumped libavcodec minor version - Changes in Changelog and MAINTAINERS files Signed-off-by: Dawid Kozinski <d.kozinski@samsung.com> --- Changelog | 3 ++- MAINTAINERS | 2 ++ libavcodec/codec_desc.c | 8 ++++++++ libavcodec/codec_id.h | 1 + libavcodec/profiles.c | 6 ++++++ libavcodec/profiles.h | 1 + libavcodec/version.h | 2 +- 7 files changed, 21 insertions(+), 2 deletions(-)