[FFmpeg-cvslog] avcodec/cbs_h265: support general_profile_idc 11

James Almer git at videolan.org
Wed Sep 22 22:40:10 EEST 2021


ffmpeg | branch: master | James Almer <jamrial at gmail.com> | Wed Sep 22 16:16:34 2021 -0300| [6edcdd2520ae5127c7defb8bf15437564767b0d8] | committer: James Almer

avcodec/cbs_h265: support general_profile_idc 11

And fix support for general_profile_idc 9 and 10.
Defined in ITU-T H.265 (V6).

Signed-off-by: James Almer <jamrial at gmail.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=6edcdd2520ae5127c7defb8bf15437564767b0d8
---

 libavcodec/cbs_h265_syntax_template.c | 15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)

diff --git a/libavcodec/cbs_h265_syntax_template.c b/libavcodec/cbs_h265_syntax_template.c
index fb8ac4a4a7..2d4b954718 100644
--- a/libavcodec/cbs_h265_syntax_template.c
+++ b/libavcodec/cbs_h265_syntax_template.c
@@ -110,7 +110,7 @@ static int FUNC(profile_tier_level)(CodedBitstreamContext *ctx, RWContext *rw,
         if (profile_compatible(4) || profile_compatible(5) ||
             profile_compatible(6) || profile_compatible(7) ||
             profile_compatible(8) || profile_compatible(9) ||
-            profile_compatible(10)) {
+            profile_compatible(10) || profile_compatible(11)) {
             flag(general_max_12bit_constraint_flag);
             flag(general_max_10bit_constraint_flag);
             flag(general_max_8bit_constraint_flag);
@@ -122,7 +122,7 @@ static int FUNC(profile_tier_level)(CodedBitstreamContext *ctx, RWContext *rw,
             flag(general_lower_bit_rate_constraint_flag);
 
             if (profile_compatible(5) || profile_compatible(9) ||
-                profile_compatible(10)) {
+                profile_compatible(10) || profile_compatible(11)) {
                 flag(general_max_14bit_constraint_flag);
                 fixed(24, general_reserved_zero_33bits, 0);
                 fixed( 9, general_reserved_zero_33bits, 0);
@@ -142,7 +142,8 @@ static int FUNC(profile_tier_level)(CodedBitstreamContext *ctx, RWContext *rw,
 
         if (profile_compatible(1) || profile_compatible(2) ||
             profile_compatible(3) || profile_compatible(4) ||
-            profile_compatible(5) || profile_compatible(9)) {
+            profile_compatible(5) || profile_compatible(9) ||
+            profile_compatible(11)) {
             flag(general_inbld_flag);
         } else {
             fixed(1, general_reserved_zero_bit, 0);
@@ -181,7 +182,7 @@ static int FUNC(profile_tier_level)(CodedBitstreamContext *ctx, RWContext *rw,
             if (profile_compatible(4) || profile_compatible(5) ||
                 profile_compatible(6) || profile_compatible(7) ||
                 profile_compatible(8) || profile_compatible(9) ||
-                profile_compatible(10)) {
+                profile_compatible(10) || profile_compatible(11)) {
                 flags(sub_layer_max_12bit_constraint_flag[i],        1, i);
                 flags(sub_layer_max_10bit_constraint_flag[i],        1, i);
                 flags(sub_layer_max_8bit_constraint_flag[i],         1, i);
@@ -192,7 +193,8 @@ static int FUNC(profile_tier_level)(CodedBitstreamContext *ctx, RWContext *rw,
                 flags(sub_layer_one_picture_only_constraint_flag[i], 1, i);
                 flags(sub_layer_lower_bit_rate_constraint_flag[i],   1, i);
 
-                if (profile_compatible(5)) {
+                if (profile_compatible(5) || profile_compatible(9) ||
+                    profile_compatible(10) || profile_compatible(11)) {
                     flags(sub_layer_max_14bit_constraint_flag[i], 1, i);
                     fixed(24, sub_layer_reserved_zero_33bits, 0);
                     fixed( 9, sub_layer_reserved_zero_33bits, 0);
@@ -212,7 +214,8 @@ static int FUNC(profile_tier_level)(CodedBitstreamContext *ctx, RWContext *rw,
 
             if (profile_compatible(1) || profile_compatible(2) ||
                 profile_compatible(3) || profile_compatible(4) ||
-                profile_compatible(5) || profile_compatible(9)) {
+                profile_compatible(5) || profile_compatible(9) ||
+                profile_compatible(11)) {
                 flags(sub_layer_inbld_flag[i], 1, i);
             } else {
                 fixed(1, sub_layer_reserved_zero_bit, 0);



More information about the ffmpeg-cvslog mailing list