diff mbox series

[FFmpeg-devel,v23,01/10] avcodec/evc: MPEG-5 EVC codec registration

Message ID 20230526103033.253-1-d.kozinski@samsung.com
State New
Headers show
Series [FFmpeg-devel,v23,01/10] avcodec/evc: MPEG-5 EVC codec registration | expand

Checks

Context Check Description
yinshiyou/make_loongarch64 success Make finished
yinshiyou/make_fate_loongarch64 success Make fate finished
andriy/make_x86 success Make finished
andriy/make_fate_x86 success Make fate finished

Commit Message

Dawid Kozinski May 26, 2023, 10:30 a.m. UTC
Added prerequisites that must be met before providing support for the MPEG-5 EVC codec
- Added new entry to codec IDs list
- Added new entry to the codec descriptor list
- Bumped libavcodec minor version
- Added profiles for EVC codec

Signed-off-by: Dawid Kozinski <d.kozinski@samsung.com>
---
 libavcodec/avcodec.h    | 3 +++
 libavcodec/codec_desc.c | 8 ++++++++
 libavcodec/codec_id.h   | 1 +
 libavcodec/profiles.c   | 6 ++++++
 libavcodec/profiles.h   | 1 +
 libavcodec/version.h    | 2 +-
 6 files changed, 20 insertions(+), 1 deletion(-)

Comments

James Almer May 29, 2023, 12:44 p.m. UTC | #1
On 5/26/2023 7:30 AM, Dawid Kozinski wrote:
> Added prerequisites that must be met before providing support for the MPEG-5 EVC codec
> - Added new entry to codec IDs list
> - Added new entry to the codec descriptor list
> - Bumped libavcodec minor version
> - Added profiles for EVC codec
> 
> Signed-off-by: Dawid Kozinski <d.kozinski@samsung.com>
> ---
>   libavcodec/avcodec.h    | 3 +++
>   libavcodec/codec_desc.c | 8 ++++++++
>   libavcodec/codec_id.h   | 1 +
>   libavcodec/profiles.c   | 6 ++++++
>   libavcodec/profiles.h   | 1 +
>   libavcodec/version.h    | 2 +-
>   6 files changed, 20 insertions(+), 1 deletion(-)

I'll apply this to reduce the amount of patches you need to resend.
Dawid Kozinski May 31, 2023, 4:47 a.m. UTC | #2
> -----Original Message-----
> From: ffmpeg-devel <ffmpeg-devel-bounces@ffmpeg.org> On Behalf Of James
> Almer
> Sent: poniedziałek, 29 maja 2023 14:44
> To: ffmpeg-devel@ffmpeg.org
> Subject: Re: [FFmpeg-devel] [PATCH v23 01/10] avcodec/evc: MPEG-5 EVC
> codec registration
> 
> On 5/26/2023 7:30 AM, Dawid Kozinski wrote:
> > Added prerequisites that must be met before providing support for the
> > MPEG-5 EVC codec
> > - Added new entry to codec IDs list
> > - Added new entry to the codec descriptor list
> > - Bumped libavcodec minor version
> > - Added profiles for EVC codec
> >
> > Signed-off-by: Dawid Kozinski <d.kozinski@samsung.com>
> > ---
> >   libavcodec/avcodec.h    | 3 +++
> >   libavcodec/codec_desc.c | 8 ++++++++
> >   libavcodec/codec_id.h   | 1 +
> >   libavcodec/profiles.c   | 6 ++++++
> >   libavcodec/profiles.h   | 1 +
> >   libavcodec/version.h    | 2 +-
> >   6 files changed, 20 insertions(+), 1 deletion(-)
> 
> I'll apply this to reduce the amount of patches you need to resend.

Great. Thanks a lot. It will be a real facilitation for us. We will avoid
constantly checking and updating the ffmpeg version numbers while patchset
generating.
As it comes to all the changes you mentioned and that must be done  before
merging our code to ffmpeg, we'll provide fixes as soon and include them in
the next patchset.

> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel@ffmpeg.org
> https://protect2.fireeye.com/v1/url?k=f3a74539-922c5000-f3a6ce76-
> 000babffae10-20997ed3dbf29891&q=1&e=bc912b21-145d-4afd-85c8-
> eef7e724739e&u=https%3A%2F%2Fffmpeg.org%2Fmailman%2Flistinfo%2Fffmp
> eg-devel
> 
> To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org
> with subject "unsubscribe".
diff mbox series

Patch

diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h
index 06b1a120ab..4dd2cdae73 100644
--- a/libavcodec/avcodec.h
+++ b/libavcodec/avcodec.h
@@ -1715,6 +1715,9 @@  typedef struct AVCodecContext {
 #define FF_PROFILE_KLVA_SYNC 0
 #define FF_PROFILE_KLVA_ASYNC 1
 
+#define FF_PROFILE_EVC_BASELINE             0
+#define FF_PROFILE_EVC_MAIN                 1
+
     /**
      * level
      * - encoding: Set by user.
diff --git a/libavcodec/codec_desc.c b/libavcodec/codec_desc.c
index 49dddd1a49..310ed66415 100644
--- a/libavcodec/codec_desc.c
+++ b/libavcodec/codec_desc.c
@@ -1938,6 +1938,14 @@  static const AVCodecDescriptor codec_descriptors[] = {
         .long_name = NULL_IF_CONFIG_SMALL("PDV (PlayDate Video)"),
         .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 70800ec20b..9f621afff0 100644
--- a/libavcodec/codec_id.h
+++ b/libavcodec/codec_id.h
@@ -321,6 +321,7 @@  enum AVCodecID {
     AV_CODEC_ID_MEDIA100,
     AV_CODEC_ID_VQC,
     AV_CODEC_ID_PDV,
+    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 545626337c..c646a3f54d 100644
--- a/libavcodec/profiles.c
+++ b/libavcodec/profiles.c
@@ -194,4 +194,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 1d523992fc..c0eacae5c1 100644
--- a/libavcodec/profiles.h
+++ b/libavcodec/profiles.h
@@ -74,5 +74,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 c20072197d..7fd9f256cf 100644
--- a/libavcodec/version.h
+++ b/libavcodec/version.h
@@ -30,7 +30,7 @@ 
 #include "version_major.h"
 
 #define LIBAVCODEC_VERSION_MINOR  14
-#define LIBAVCODEC_VERSION_MICRO 101
+#define LIBAVCODEC_VERSION_MICRO 102
 
 #define LIBAVCODEC_VERSION_INT  AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \
                                                LIBAVCODEC_VERSION_MINOR, \