diff mbox series

[FFmpeg-devel,v5,01/10] lavc/avcodec: Add HEVC Screen Content Coding Extensions profile

Message ID 20230206054458.907060-1-fei.w.wang@intel.com
State New
Headers show
Series [FFmpeg-devel,v5,01/10] lavc/avcodec: Add HEVC Screen Content Coding Extensions profile | 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

Wang, Fei W Feb. 6, 2023, 5:44 a.m. UTC
From: Linjie Fu <linjie.fu@intel.com>

Described in HEVC spec A.3.7.

Signed-off-by: Linjie Fu <linjie.justin.fu@gmail.com>
Signed-off-by: Fei Wang <fei.w.wang@intel.com>
---
1. fix compile warning with VAAPI version less than 1.2.0

 libavcodec/avcodec.h  | 1 +
 libavcodec/hevc_ps.c  | 2 ++
 libavcodec/profiles.c | 1 +
 3 files changed, 4 insertions(+)

Comments

Xiang, Haihao Feb. 14, 2023, 4:46 a.m. UTC | #1
On Ma, 2023-02-06 at 13:44 +0800, Fei Wang wrote:
> From: Linjie Fu <linjie.fu@intel.com>
> 
> Described in HEVC spec A.3.7.
> 
> Signed-off-by: Linjie Fu <linjie.justin.fu@gmail.com>
> Signed-off-by: Fei Wang <fei.w.wang@intel.com>
> ---
> 1. fix compile warning with VAAPI version less than 1.2.0
> 
>  libavcodec/avcodec.h  | 1 +
>  libavcodec/hevc_ps.c  | 2 ++
>  libavcodec/profiles.c | 1 +
>  3 files changed, 4 insertions(+)
> 
> diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h
> index 90b437ccbe..9e36d2402a 100644
> --- a/libavcodec/avcodec.h
> +++ b/libavcodec/avcodec.h
> @@ -1672,6 +1672,7 @@ typedef struct AVCodecContext {
>  #define FF_PROFILE_HEVC_MAIN_10                     2
>  #define FF_PROFILE_HEVC_MAIN_STILL_PICTURE          3
>  #define FF_PROFILE_HEVC_REXT                        4
> +#define FF_PROFILE_HEVC_SCC                         9
>  
>  #define FF_PROFILE_VVC_MAIN_10                      1
>  #define FF_PROFILE_VVC_MAIN_10_444                 33
> diff --git a/libavcodec/hevc_ps.c b/libavcodec/hevc_ps.c
> index 5fe62ec35b..4aa5b76d5f 100644
> --- a/libavcodec/hevc_ps.c
> +++ b/libavcodec/hevc_ps.c
> @@ -259,6 +259,8 @@ static int decode_profile_tier_level(GetBitContext *gb,
> AVCodecContext *avctx,
>          av_log(avctx, AV_LOG_DEBUG, "Main Still Picture profile
> bitstream\n");
>      else if (ptl->profile_idc == FF_PROFILE_HEVC_REXT)
>          av_log(avctx, AV_LOG_DEBUG, "Range Extension profile bitstream\n");
> +    else if (ptl->profile_idc == FF_PROFILE_HEVC_SCC)
> +        av_log(avctx, AV_LOG_DEBUG, "Screen Content Coding Extension profile
> bitstream\n");
>      else
>          av_log(avctx, AV_LOG_WARNING, "Unknown HEVC profile: %d\n", ptl-
> >profile_idc);
>  
> diff --git a/libavcodec/profiles.c b/libavcodec/profiles.c
> index 7af7fbeb13..2230fc5415 100644
> --- a/libavcodec/profiles.c
> +++ b/libavcodec/profiles.c
> @@ -85,6 +85,7 @@ const AVProfile ff_hevc_profiles[] = {
>      { FF_PROFILE_HEVC_MAIN_10,              "Main 10"             },
>      { FF_PROFILE_HEVC_MAIN_STILL_PICTURE,   "Main Still Picture"  },
>      { FF_PROFILE_HEVC_REXT,                 "Rext"                },
> +    { FF_PROFILE_HEVC_SCC,                  "Scc"                 },
>      { FF_PROFILE_UNKNOWN },
>  };
>  

Patchset LGTM and it works for me. 

Thanks
Haihao
Anton Khirnov Feb. 14, 2023, 10:11 a.m. UTC | #2
Quoting Fei Wang (2023-02-06 06:44:49)
> From: Linjie Fu <linjie.fu@intel.com>
> 
> Described in HEVC spec A.3.7.
> 
> Signed-off-by: Linjie Fu <linjie.justin.fu@gmail.com>
> Signed-off-by: Fei Wang <fei.w.wang@intel.com>
> ---
> 1. fix compile warning with VAAPI version less than 1.2.0
> 
>  libavcodec/avcodec.h  | 1 +
>  libavcodec/hevc_ps.c  | 2 ++
>  libavcodec/profiles.c | 1 +
>  3 files changed, 4 insertions(+)
> 
> diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h
> index 90b437ccbe..9e36d2402a 100644
> --- a/libavcodec/avcodec.h
> +++ b/libavcodec/avcodec.h
> @@ -1672,6 +1672,7 @@ typedef struct AVCodecContext {
>  #define FF_PROFILE_HEVC_MAIN_10                     2
>  #define FF_PROFILE_HEVC_MAIN_STILL_PICTURE          3
>  #define FF_PROFILE_HEVC_REXT                        4
> +#define FF_PROFILE_HEVC_SCC                         9

This is an API addition and so needs a minor bump and an entry in
APIchanges
Wang, Fei W Feb. 16, 2023, 1:38 a.m. UTC | #3
On Tue, 2023-02-14 at 11:11 +0100, Anton Khirnov wrote:
> Quoting Fei Wang (2023-02-06 06:44:49)
> > From: Linjie Fu <linjie.fu@intel.com>
> > 
> > Described in HEVC spec A.3.7.
> > 
> > Signed-off-by: Linjie Fu <linjie.justin.fu@gmail.com>
> > Signed-off-by: Fei Wang <fei.w.wang@intel.com>
> > ---
> > 1. fix compile warning with VAAPI version less than 1.2.0
> > 
> >  libavcodec/avcodec.h  | 1 +
> >  libavcodec/hevc_ps.c  | 2 ++
> >  libavcodec/profiles.c | 1 +
> >  3 files changed, 4 insertions(+)
> > 
> > diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h
> > index 90b437ccbe..9e36d2402a 100644
> > --- a/libavcodec/avcodec.h
> > +++ b/libavcodec/avcodec.h
> > @@ -1672,6 +1672,7 @@ typedef struct AVCodecContext {
> >  #define FF_PROFILE_HEVC_MAIN_10                     2
> >  #define FF_PROFILE_HEVC_MAIN_STILL_PICTURE          3
> >  #define FF_PROFILE_HEVC_REXT                        4
> > +#define FF_PROFILE_HEVC_SCC                         9
> 
> This is an API addition and so needs a minor bump and an entry in
> APIchanges

Fixed in V6. Thanks.

Fei
>
diff mbox series

Patch

diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h
index 90b437ccbe..9e36d2402a 100644
--- a/libavcodec/avcodec.h
+++ b/libavcodec/avcodec.h
@@ -1672,6 +1672,7 @@  typedef struct AVCodecContext {
 #define FF_PROFILE_HEVC_MAIN_10                     2
 #define FF_PROFILE_HEVC_MAIN_STILL_PICTURE          3
 #define FF_PROFILE_HEVC_REXT                        4
+#define FF_PROFILE_HEVC_SCC                         9
 
 #define FF_PROFILE_VVC_MAIN_10                      1
 #define FF_PROFILE_VVC_MAIN_10_444                 33
diff --git a/libavcodec/hevc_ps.c b/libavcodec/hevc_ps.c
index 5fe62ec35b..4aa5b76d5f 100644
--- a/libavcodec/hevc_ps.c
+++ b/libavcodec/hevc_ps.c
@@ -259,6 +259,8 @@  static int decode_profile_tier_level(GetBitContext *gb, AVCodecContext *avctx,
         av_log(avctx, AV_LOG_DEBUG, "Main Still Picture profile bitstream\n");
     else if (ptl->profile_idc == FF_PROFILE_HEVC_REXT)
         av_log(avctx, AV_LOG_DEBUG, "Range Extension profile bitstream\n");
+    else if (ptl->profile_idc == FF_PROFILE_HEVC_SCC)
+        av_log(avctx, AV_LOG_DEBUG, "Screen Content Coding Extension profile bitstream\n");
     else
         av_log(avctx, AV_LOG_WARNING, "Unknown HEVC profile: %d\n", ptl->profile_idc);
 
diff --git a/libavcodec/profiles.c b/libavcodec/profiles.c
index 7af7fbeb13..2230fc5415 100644
--- a/libavcodec/profiles.c
+++ b/libavcodec/profiles.c
@@ -85,6 +85,7 @@  const AVProfile ff_hevc_profiles[] = {
     { FF_PROFILE_HEVC_MAIN_10,              "Main 10"             },
     { FF_PROFILE_HEVC_MAIN_STILL_PICTURE,   "Main Still Picture"  },
     { FF_PROFILE_HEVC_REXT,                 "Rext"                },
+    { FF_PROFILE_HEVC_SCC,                  "Scc"                 },
     { FF_PROFILE_UNKNOWN },
 };