[FFmpeg-devel] [PATCH 1/3] Provided support for MPEG-5 EVC (Essential Video Coding) codec
Anton Khirnov
anton at khirnov.net
Fri Jul 1 11:57:01 EEST 2022
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 at 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.
--
Anton Khirnov
More information about the ffmpeg-devel
mailing list