Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
 help / color / mirror / Atom feed
* [FFmpeg-devel] [PATCH 1/3] Provided support for MPEG-5 EVC (Essential Video Coding) codec
       [not found] <CGME20220622064856eucas1p134bd4aad56d9d790c431d09595e1749e@eucas1p1.samsung.com>
@ 2022-06-22  6:48 ` Dawid Kozinski
  2022-07-01  8:57   ` Anton Khirnov
  0 siblings, 1 reply; 6+ messages in thread
From: Dawid Kozinski @ 2022-06-22  6:48 UTC (permalink / raw)
  To: ffmpeg-devel

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)
 
 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, \
-- 
2.17.1


_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [FFmpeg-devel] [PATCH 1/3] Provided support for MPEG-5 EVC (Essential Video Coding) codec
  2022-06-22  6:48 ` [FFmpeg-devel] [PATCH 1/3] Provided support for MPEG-5 EVC (Essential Video Coding) codec Dawid Kozinski
@ 2022-07-01  8:57   ` Anton Khirnov
  2022-08-01 10:03     ` Dawid Kozinski/Robot SDK (PLT) /SRPOL/Staff Engineer/삼성전자
  0 siblings, 1 reply; 6+ messages in thread
From: Anton Khirnov @ 2022-07-01  8:57 UTC (permalink / raw)
  To: FFmpeg development discussions and patches

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.

-- 
Anton Khirnov
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [FFmpeg-devel] [PATCH 1/3] Provided support for MPEG-5 EVC (Essential Video Coding) codec
  2022-07-01  8:57   ` Anton Khirnov
@ 2022-08-01 10:03     ` Dawid Kozinski/Robot SDK (PLT) /SRPOL/Staff Engineer/삼성전자
  0 siblings, 0 replies; 6+ messages in thread
From: Dawid Kozinski/Robot SDK (PLT) /SRPOL/Staff Engineer/삼성전자 @ 2022-08-01 10:03 UTC (permalink / raw)
  To: 'FFmpeg development discussions and patches'

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.

-- 
Anton Khirnov
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [FFmpeg-devel] [PATCH 1/3] Provided support for MPEG-5 EVC (Essential Video Coding) codec
       [not found] <CGME20220512060532eucas1p144a51c7f95d0df6e05500a6dc56be383@eucas1p1.samsung.com>
@ 2022-05-12  6:05 ` Dawid Kozinski
  0 siblings, 0 replies; 6+ messages in thread
From: Dawid Kozinski @ 2022-05-12  6:05 UTC (permalink / raw)
  To: ffmpeg-devel

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 4d42a0f681..168175c29e 100644
--- a/Changelog
+++ b/Changelog
@@ -62,7 +62,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 46723972dc..fba37b23b1 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 e7f0f6a8d4..bf18c67ce9 100644
--- a/libavcodec/codec_desc.c
+++ b/libavcodec/codec_desc.c
@@ -1879,6 +1879,14 @@ static const AVCodecDescriptor codec_descriptors[] =
{
                      AV_CODEC_PROP_LOSSLESS,
         .mime_types= MT("image/jxl"),
     },
+    {
+        .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 8b317fa121..1d40620722 100644
--- a/libavcodec/codec_id.h
+++ b/libavcodec/codec_id.h
@@ -310,6 +310,7 @@ enum AVCodecID {
     AV_CODEC_ID_GEM,
     AV_CODEC_ID_VBN,
     AV_CODEC_ID_JPEGXL,
+    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 87b7284a95..5183deb68b 100644
--- a/libavcodec/version.h
+++ b/libavcodec/version.h
@@ -29,7 +29,7 @@
 
 #include "version_major.h"
 
-#define LIBAVCODEC_VERSION_MINOR  28
+#define LIBAVCODEC_VERSION_MINOR  29
 #define LIBAVCODEC_VERSION_MICRO 100
 
 #define LIBAVCODEC_VERSION_INT  AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \
-- 
2.17.1


_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [FFmpeg-devel] [PATCH 1/3] Provided support for MPEG-5 EVC (Essential Video Coding) codec
       [not found] <CGME20220420123201eucas1p2638768c00ff47b3820f837dc78b17c46@eucas1p2.samsung.com>
@ 2022-04-20 12:32 ` Dawid Kozinski
  0 siblings, 0 replies; 6+ messages in thread
From: Dawid Kozinski @ 2022-04-20 12:32 UTC (permalink / raw)
  To: ffmpeg-devel

#######################################
1. Genaral info
#######################################

The patch provided below contains an integration layer between ffmpeg
framework and EVC codec implementation.
In nutshell, it enables using EVC codec (encoding, decoding)  by the means
of ffmpeg API. 
I'd like to emphasize one more time, that (as mentioned before) it isn't
codec implementation. The provided implementation serves as an integration
layer between ffmpeg framework and the EVC codec.

EVC codec has been published as two separate libraries. 
The first one called XEVE (eXtra-fast Essential Video Encoder) is an
opensource MPEG-5 EVC encoder.
The second one called XEVD (eXtra-fast Essential Video Decoder ) is an
opensource MPEG-5 EVC decoder.
For more information on both libraries please follow the links below:
* https://github.com/mpeg5/xeve
* https://github.com/mpeg5/xevd 

The patch provided below should be apply to FFmpeg 5.0 release (commit
b655beb025cb54ba19cad89e731990910643f208 release/5.0)

#######################################
2. Building
#######################################

3.1. Download, build and install dependencies

Dependencies:
* eXtra-fast Essential Video Encoder (XEVE) (https://github.com/mpeg5/xeve)
* eXtra-fast Essential Video Decoder (XEVD) (https://github.com/mpeg5/xevd)

-------------------
2.1.1. XEVE
-------------------
git clone git@github.com:mpeg5/xeve.git cd xeve

-------------------
base profile
-------------------
mkdir build_base
cd buid_base
cmake .. -DSET_PROF=BASE
make
make install

-------------------
main profile
-------------------
mkdir build_main
cd buid_base
cmake .. -DSET_PROF=MAIN
make
make install

-------------------
2.1.2. XEVD
-------------------
git clone git@github.com:mpeg5/xeve.git
cd xeve

-------------------
base profile
-------------------
mkdir build_base
cd buid_base
cmake .. -DSET_PROF=BASE
make
make install

-------------------
main profile
-------------------

mkdir build_main
cd buid_base
cmake .. -DSET_PROF=MAIN
make
make install

---------------------------------------
2.2. Build ffmpeg with libxeve and libxevd
---------------------------------------
It is required ffmpeg to be configfured with --enable-libxeve and --enable-
libxevd

Please find below exaple configuration.

PATH="$HOME/bin:$PATH" PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig"
./configure \ --prefix="$HOME/ffmpeg_build" \ --pkg-config-flags="--static"
\ --extra-cflags="-I$HOME/ffmpeg_build/include" \ --extra-ldflags="-
L$HOME/ffmpeg_build/lib" \ --extra-libs="-lpthread -lm" \ --
bindir="$HOME/bin" \ --enable-gpl \ --enable-gnutls \ --enable-libaom \ --
enable-libass \ --enable-libfdk-aac \ --enable-libfreetype \ --enable-
libmp3lame \ --enable-libopus \ --enable-libdav1d \ --enable-libvorbis \ --
enable-libvpx \
--enable-libx264 \
--enable-libx265 \
--enable-libxeve \
--enable-libxevd \
--enable-nonfree && \
PATH="$HOME/bin:$PATH" make -j $(nproc)

make install

#######################################
3. Examples
#######################################

Please find below examples on how to use EVC coded with ffmpeg commandline
tool.

(All samples are available in
https://drive.google.com/drive/folders/1YtCLlSuTAjpLziTKI_QBuQrIOm2ss9LB?usp
=sharing )

#!/bin/bash
#=======================================
#(YUV420P) -> (EVC)
#=======================================
ffmpeg -f rawvideo -pix_fmt yuv420p -s:v 352x288 -r 30 -i
Test_Video_cif.yuv -c:v libxeve -f rawvideo Test_Video_cif.yuv.evc ffplay -
autoexit Test_Video_cif.yuv.evc

#=======================================
#(YUV420P10LE) -> (EVC)
#=======================================
ffmpeg -f rawvideo -pix_fmt yuv420p10le -s:v 352x288 -r 30 -i
Test_Video_cif_10le.yuv -c:v libxeve -f rawvideo
Test_Video_cif_10le.yuv.evc ffplay -autoexit Test_Video_cif_10le.yuv.evc

#=======================================
#(EVC) -> (YUV420P)
#=======================================
ffmpeg -i Test_Video_cif.yuv.evc -pix_fmt yuv420p Test_Video_cif.evc.yuv
ffplay -autoexit -f rawvideo -pixel_format yuv420p -video_size 352x288
Test_Video_cif.evc.yuv

#=======================================
#(EVC) -> (YUV420Pi10LE)
#=======================================
ffmpeg -i Test_Video_cif_10le.yuv.evc -pix_fmt yuv420p10le
Test_Video_cif_10le.evc.yuv ffplay -autoexit -f rawvideo -pixel_format
yuv420p10le -video_size 352x288  Test_Video_cif_10le.evc.yuv

#=======================================
#(YUV420P) -> (MP4)
#=======================================
ffmpeg -f rawvideo -pix_fmt yuv420p -s:v 352x288 -r 30 -i
Test_Video_cif.yuv -c:v libxeve -f rawvideo Test_Video_cif.yuv.mp4 ffplay -
autoexit Test_Video_cif.yuv.mp4

#=======================================
#(YUV420P10LE) -> (MP4)
#=======================================
ffmpeg -f rawvideo -pix_fmt yuv420p10le -s:v 352x288 -r 30 -i
Test_Video_cif_10le.yuv -c:v libxeve -f rawvideo
Test_Video_cif_10le.yuv.mp4 ffplay -autoexit Test_Video_cif_10le.yuv.mp4

#=======================================
#(MP4) -> (YUV420P)
#=======================================
ffmpeg -i Test_Video_cif.yuv.mp4 -f rawvideo -pix_fmt yuv420p
Test_Video_cif.mp4.yuv ffplay -autoexit -f rawvideo -pixel_format yuv420p -
video_size 352x288 Test_Video_cif.mp4.yuv

#=======================================
#(MP4) ->  (YUV420P10LE)
#=======================================
ffmpeg -i Test_Video_cif_10le.yuv.mp4 -f rawvideo -pix_fmt yuv420p10le
Test_Video_cif_10le.mp4.yuv ffplay -autoexit -f rawvideo -pixel_format
yuv420p10le -video_size 352x288 Test_Video_cif_10le.mp4.yuv

#=======================================
#(EVC) ->  (MP4)
#=======================================
ffmpeg -i Test_Video_cif.yuv.evc -c:v copy Test_Video_cif.evc.mp4 ffplay -
autoexit Test_Video_cif.evc.mp4

#=======================================
#(MP4) ->  (EVC)
#=======================================
ffmpeg -i Test_Video_cif.evc.mp4 -vcodec copy -an -f rawvideo
Test_Video_cif.evc.mp4.evc ffplay -autoexit Test_Video_cif.evc.mp4.evc

#=======================================
#(MP4 [h264,aac]) ->  (MP4 [evc,aac])
#=======================================
ffmpeg -i Test_Video_cif.mp4 -c:v libxeve Test_Video_cif_evc.mp4 ffplay -
autoexit Test_Video_cif_evc.mp4

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    | 3 ++-
 7 files changed, 22 insertions(+), 2 deletions(-)

diff --git a/Changelog b/Changelog
index 7ce7052387..3fea84f030 100644
--- a/Changelog
+++ b/Changelog
@@ -57,7 +57,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 8c71605339..d05e685f15 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -204,6 +204,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
@@ -424,6 +425,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 c08854cc93..8541683722 100644
--- a/libavcodec/codec_desc.c
+++ b/libavcodec/codec_desc.c
@@ -1870,6 +1870,14 @@ static const AVCodecDescriptor codec_descriptors[] =
{
         .long_name = NULL_IF_CONFIG_SMALL("Vizrt Binary Image"),
         .props     = AV_CODEC_PROP_LOSSY,
     },
+    {
+        .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 43c72ce8e4..5729c78ec3 100644
--- a/libavcodec/codec_id.h
+++ b/libavcodec/codec_id.h
@@ -309,6 +309,7 @@ enum AVCodecID {
     AV_CODEC_ID_SGA_VIDEO,
     AV_CODEC_ID_GEM,
     AV_CODEC_ID_VBN,
+    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 26ee41eb1f..8c82835d22 100644
--- a/libavcodec/version.h
+++ b/libavcodec/version.h
@@ -29,7 +29,8 @@
 
 #include "version_major.h"
 
-#define LIBAVCODEC_VERSION_MINOR  26
+#define LIBAVCODEC_VERSION_MINOR  27
+
 #define LIBAVCODEC_VERSION_MICRO 100
 
 #define LIBAVCODEC_VERSION_INT  AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \
-- 
2.17.1


_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [FFmpeg-devel] [PATCH 1/3] Provided support for MPEG-5 EVC (Essential Video Coding) codec
       [not found] <CGME20220420095411eucas1p17c2f7371da691825f631f12562d415c0@eucas1p1.samsung.com>
@ 2022-04-20  9:54 ` Dawid Kozinski
  0 siblings, 0 replies; 6+ messages in thread
From: Dawid Kozinski @ 2022-04-20  9:54 UTC (permalink / raw)
  To: ffmpeg-devel

#######################################
1. Genaral info
#######################################

The patch provided below contains an integration layer between ffmpeg
framework and EVC codec implementation.
In nutshell, it enables using EVC codec (encoding, decoding)  by the means
of ffmpeg API. 
I'd like to emphasize one more time, that (as mentioned before) it isn't
codec implementation. The provided implementation serves as an integration
layer between ffmpeg framework and the EVC codec.

EVC codec has been published as two separate libraries. 
The first one called XEVE (eXtra-fast Essential Video Encoder) is an
opensource MPEG-5 EVC encoder.
The second one called XEVD (eXtra-fast Essential Video Decoder ) is an
opensource MPEG-5 EVC decoder.
For more information on both libraries please follow the links below:
* https://github.com/mpeg5/xeve 
* https://github.com/mpeg5/xevd 

The patch provided below should be apply to FFmpeg 5.0 release (commit
b655beb025cb54ba19cad89e731990910643f208 release/5.0)

#######################################
2. Building
#######################################

3.1. Download, build and install dependencies

Dependencies:
* eXtra-fast Essential Video Encoder (XEVE) (https://github.com/mpeg5/xeve)
* eXtra-fast Essential Video Decoder (XEVD) (https://github.com/mpeg5/xevd)

-------------------
2.1.1. XEVE
-------------------
git clone git@github.com:mpeg5/xeve.git 
cd xeve

-------------------
base profile
-------------------
mkdir build_base
cd buid_base
cmake .. -DSET_PROF=BASE
make
make install

-------------------
main profile
-------------------
mkdir build_main
cd buid_base
cmake .. -DSET_PROF=MAIN
make
make install

-------------------
2.1.2. XEVD
-------------------
git clone git@github.com:mpeg5/xeve.git
cd xeve

-------------------
base profile
-------------------
mkdir build_base
cd buid_base
cmake .. -DSET_PROF=BASE
make
make install

-------------------
main profile
-------------------

mkdir build_main
cd buid_base
cmake .. -DSET_PROF=MAIN
make
make install

---------------------------------------
2.2. Build ffmpeg with libxeve and libxevd
---------------------------------------
It is required ffmpeg to be configfured with --enable-libxeve and --enable-
libxevd

Please find below exaple configuration.

PATH="$HOME/bin:$PATH" PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig"
./configure \
--prefix="$HOME/ffmpeg_build" \
--pkg-config-flags="--static" \
--extra-cflags="-I$HOME/ffmpeg_build/include" \
--extra-ldflags="-L$HOME/ffmpeg_build/lib" \
--extra-libs="-lpthread -lm" \
--bindir="$HOME/bin" \
--enable-gpl \
--enable-gnutls \
--enable-libaom \
--enable-libass \
--enable-libfdk-aac \
--enable-libfreetype \
--enable-libmp3lame \
--enable-libopus \
--enable-libdav1d \
--enable-libvorbis \
--enable-libvpx \
--enable-libx264 \
--enable-libx265 \
--enable-libxeve \
--enable-libxevd \
--enable-nonfree && \
PATH="$HOME/bin:$PATH" make -j $(nproc)

make install

#######################################
3. Examples
#######################################

Please find below examples on how to use EVC coded with ffmpeg commandline
tool.

(All samples are available in
https://drive.google.com/drive/folders/1YtCLlSuTAjpLziTKI_QBuQrIOm2ss9LB?usp
=sharing )

#!/bin/bash
#=======================================
#(YUV420P) -> (EVC)
#=======================================
ffmpeg -f rawvideo -pix_fmt yuv420p -s:v 352x288 -r 30 -i
Test_Video_cif.yuv -c:v libxeve -f rawvideo Test_Video_cif.yuv.evc
ffplay -autoexit Test_Video_cif.yuv.evc

#=======================================
#(YUV420P10LE) -> (EVC)
#=======================================
ffmpeg -f rawvideo -pix_fmt yuv420p10le -s:v 352x288 -r 30 -i
Test_Video_cif_10le.yuv -c:v libxeve -f rawvideo Test_Video_cif_10le.yuv.evc
ffplay -autoexit Test_Video_cif_10le.yuv.evc

#=======================================
#(EVC) -> (YUV420P)
#=======================================
ffmpeg -i Test_Video_cif.yuv.evc -pix_fmt yuv420p Test_Video_cif.evc.yuv
ffplay -autoexit -f rawvideo -pixel_format yuv420p -video_size 352x288
Test_Video_cif.evc.yuv

#=======================================
#(EVC) -> (YUV420Pi10LE)
#=======================================
ffmpeg -i Test_Video_cif_10le.yuv.evc -pix_fmt yuv420p10le
Test_Video_cif_10le.evc.yuv
ffplay -autoexit -f rawvideo -pixel_format yuv420p10le -video_size 352x288
Test_Video_cif_10le.evc.yuv

#=======================================
#(YUV420P) -> (MP4)
#=======================================
ffmpeg -f rawvideo -pix_fmt yuv420p -s:v 352x288 -r 30 -i
Test_Video_cif.yuv -c:v libxeve -f rawvideo Test_Video_cif.yuv.mp4
ffplay -autoexit Test_Video_cif.yuv.mp4

#=======================================
#(YUV420P10LE) -> (MP4)
#=======================================
ffmpeg -f rawvideo -pix_fmt yuv420p10le -s:v 352x288 -r 30 -i
Test_Video_cif_10le.yuv -c:v libxeve -f rawvideo Test_Video_cif_10le.yuv.mp4
ffplay -autoexit Test_Video_cif_10le.yuv.mp4

#=======================================
#(MP4) -> (YUV420P)
#=======================================
ffmpeg -i Test_Video_cif.yuv.mp4 -f rawvideo -pix_fmt yuv420p
Test_Video_cif.mp4.yuv
ffplay -autoexit -f rawvideo -pixel_format yuv420p -video_size 352x288
Test_Video_cif.mp4.yuv

#=======================================
#(MP4) ->  (YUV420P10LE)
#=======================================
ffmpeg -i Test_Video_cif_10le.yuv.mp4 -f rawvideo -pix_fmt yuv420p10le
Test_Video_cif_10le.mp4.yuv
ffplay -autoexit -f rawvideo -pixel_format yuv420p10le -video_size 352x288
Test_Video_cif_10le.mp4.yuv

#=======================================
#(EVC) ->  (MP4)
#=======================================
ffmpeg -i Test_Video_cif.yuv.evc -c:v copy Test_Video_cif.evc.mp4
ffplay -autoexit Test_Video_cif.evc.mp4

#=======================================
#(MP4) ->  (EVC)
#=======================================
ffmpeg -i Test_Video_cif.evc.mp4 -vcodec copy -an -f rawvideo
Test_Video_cif.evc.mp4.evc
ffplay -autoexit Test_Video_cif.evc.mp4.evc

#=======================================
#(MP4 [h264,aac]) ->  (MP4 [evc,aac])
#=======================================
ffmpeg -i Test_Video_cif.mp4 -c:v libxeve Test_Video_cif_evc.mp4
ffplay -autoexit Test_Video_cif_evc.mp4

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 5a32cf0d5c..21ebc11ff4 100644
--- a/Changelog
+++ b/Changelog
@@ -106,7 +106,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 c065e94498..7cbff1fe9c 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -203,6 +203,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
@@ -422,6 +423,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 0974ee03de..d05ea20db1 100644
--- a/libavcodec/codec_desc.c
+++ b/libavcodec/codec_desc.c
@@ -1862,6 +1862,14 @@ static const AVCodecDescriptor codec_descriptors[] =
{
         .long_name = NULL_IF_CONFIG_SMALL("GEM Raster image"),
         .props     = AV_CODEC_PROP_LOSSY,
     },
+    {
+        .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 ab265ec584..55b69a5db5 100644
--- a/libavcodec/codec_id.h
+++ b/libavcodec/codec_id.h
@@ -308,6 +308,7 @@ enum AVCodecID {
     AV_CODEC_ID_SIMBIOSIS_IMX,
     AV_CODEC_ID_SGA_VIDEO,
     AV_CODEC_ID_GEM,
+    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 4d77431842..fb1a0feec6 100644
--- a/libavcodec/version.h
+++ b/libavcodec/version.h
@@ -28,7 +28,7 @@
 #include "libavutil/version.h"
 
 #define LIBAVCODEC_VERSION_MAJOR  59
-#define LIBAVCODEC_VERSION_MINOR  18
+#define LIBAVCODEC_VERSION_MINOR  19
 #define LIBAVCODEC_VERSION_MICRO 100
 
 #define LIBAVCODEC_VERSION_INT  AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \
-- 
2.17.1


_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2022-08-01 10:03 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <CGME20220622064856eucas1p134bd4aad56d9d790c431d09595e1749e@eucas1p1.samsung.com>
2022-06-22  6:48 ` [FFmpeg-devel] [PATCH 1/3] Provided support for MPEG-5 EVC (Essential Video Coding) codec Dawid Kozinski
2022-07-01  8:57   ` Anton Khirnov
2022-08-01 10:03     ` Dawid Kozinski/Robot SDK (PLT) /SRPOL/Staff Engineer/삼성전자
     [not found] <CGME20220512060532eucas1p144a51c7f95d0df6e05500a6dc56be383@eucas1p1.samsung.com>
2022-05-12  6:05 ` Dawid Kozinski
     [not found] <CGME20220420123201eucas1p2638768c00ff47b3820f837dc78b17c46@eucas1p2.samsung.com>
2022-04-20 12:32 ` Dawid Kozinski
     [not found] <CGME20220420095411eucas1p17c2f7371da691825f631f12562d415c0@eucas1p1.samsung.com>
2022-04-20  9:54 ` Dawid Kozinski

Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://master.gitmailbox.com/ffmpegdev/0 ffmpegdev/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 ffmpegdev ffmpegdev/ https://master.gitmailbox.com/ffmpegdev \
		ffmpegdev@gitmailbox.com
	public-inbox-index ffmpegdev

Example config snippet for mirrors.


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git