[FFmpeg-devel] [PATCH 2/8] cbs_h265: Use helper macro for maximum values of fixed-width elements
Mark Thompson
sw at jkqxz.net
Sun Mar 11 20:30:15 EET 2018
Apply the same logic as the previous patch to H.265. There are no cases
which currently overflow here, but this is still more consistent.
---
libavcodec/cbs_h265_syntax_template.c | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/libavcodec/cbs_h265_syntax_template.c b/libavcodec/cbs_h265_syntax_template.c
index dae7f2dd46..140c827c9d 100644
--- a/libavcodec/cbs_h265_syntax_template.c
+++ b/libavcodec/cbs_h265_syntax_template.c
@@ -665,7 +665,7 @@ static int FUNC(sps_scc_extension)(CodedBitstreamContext *ctx, RWContext *rw,
: current->bit_depth_chroma_minus8 + 8;
for (i = 0; i <= current->sps_num_palette_predictor_initializer_minus1; i++)
u(bit_depth, sps_palette_predictor_initializers[comp][i],
- 0, (1 << bit_depth) - 1);
+ 0, MAX_UINT_BITS(bit_depth));
}
}
}
@@ -827,7 +827,7 @@ static int FUNC(sps)(CodedBitstreamContext *ctx, RWContext *rw,
for (i = 0; i < current->num_long_term_ref_pics_sps; i++) {
u(current->log2_max_pic_order_cnt_lsb_minus4 + 4,
lt_ref_pic_poc_lsb_sps[i],
- 0, (1 << (current->log2_max_pic_order_cnt_lsb_minus4 + 4)) - 1);
+ 0, MAX_UINT_BITS(current->log2_max_pic_order_cnt_lsb_minus4 + 4));
flag(used_by_curr_pic_lt_sps_flag[i]);
}
}
@@ -845,7 +845,7 @@ static int FUNC(sps)(CodedBitstreamContext *ctx, RWContext *rw,
flag(sps_multilayer_extension_flag);
flag(sps_3d_extension_flag);
flag(sps_scc_extension_flag);
- u(4, sps_extension_4bits, 0, (1 << 4) - 1);
+ u(4, sps_extension_4bits, 0, MAX_UINT_BITS(4));
}
if (current->sps_range_extension_flag)
@@ -925,7 +925,7 @@ static int FUNC(pps_scc_extension)(CodedBitstreamContext *ctx, RWContext *rw,
: current->chroma_bit_depth_entry_minus8 + 8;
for (i = 0; i < current->pps_num_palette_predictor_initializer; i++)
u(bit_depth, pps_palette_predictor_initializers[comp][i],
- 0, (1 << bit_depth) - 1);
+ 0, MAX_UINT_BITS(bit_depth));
}
}
}
@@ -1038,7 +1038,7 @@ static int FUNC(pps)(CodedBitstreamContext *ctx, RWContext *rw,
flag(pps_multilayer_extension_flag);
flag(pps_3d_extension_flag);
flag(pps_scc_extension_flag);
- u(4, pps_extension_4bits, 0, (1 << 4) - 1);
+ u(4, pps_extension_4bits, 0, MAX_UINT_BITS(4));
}
if (current->pps_range_extension_flag)
CHECK(FUNC(pps_range_extension)(ctx, rw, current));
@@ -1274,7 +1274,7 @@ static int FUNC(slice_segment_header)(CodedBitstreamContext *ctx, RWContext *rw,
const H265RawSTRefPicSet *rps;
u(sps->log2_max_pic_order_cnt_lsb_minus4 + 4, slice_pic_order_cnt_lsb,
- 0, (1 << (sps->log2_max_pic_order_cnt_lsb_minus4 + 4)) - 1);
+ 0, MAX_UINT_BITS(sps->log2_max_pic_order_cnt_lsb_minus4 + 4));
flag(short_term_ref_pic_set_sps_flag);
if (!current->short_term_ref_pic_set_sps_flag) {
@@ -1321,7 +1321,7 @@ static int FUNC(slice_segment_header)(CodedBitstreamContext *ctx, RWContext *rw,
++num_pic_total_curr;
} else {
u(sps->log2_max_pic_order_cnt_lsb_minus4 + 4, poc_lsb_lt[i],
- 0, (1 << (sps->log2_max_pic_order_cnt_lsb_minus4 + 4)) - 1);
+ 0, MAX_UINT_BITS(sps->log2_max_pic_order_cnt_lsb_minus4 + 4));
flag(used_by_curr_pic_lt_flag[i]);
if (current->used_by_curr_pic_lt_flag[i])
++num_pic_total_curr;
@@ -1487,7 +1487,7 @@ static int FUNC(slice_segment_header)(CodedBitstreamContext *ctx, RWContext *rw,
ue(offset_len_minus1, 0, 31);
for (i = 0; i < current->num_entry_point_offsets; i++)
u(current->offset_len_minus1 + 1, entry_point_offset_minus1[i],
- 0, (1 << (current->offset_len_minus1 + 1)) - 1);
+ 0, MAX_UINT_BITS(current->offset_len_minus1 + 1));
}
}
--
2.16.1
More information about the ffmpeg-devel
mailing list