[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