And use unsigned datatypes. Otherwise it would overflow.
Sample-Id: 00001315-google Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC: [email protected] --- libavcodec/hevc.h | 8 ++++---- libavcodec/hevc_ps.c | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/libavcodec/hevc.h b/libavcodec/hevc.h index 07d7073..4733955 100644 --- a/libavcodec/hevc.h +++ b/libavcodec/hevc.h @@ -510,10 +510,10 @@ typedef struct HEVCPPS { uint8_t slice_header_extension_present_flag; // Inferred parameters - int *column_width; ///< ColumnWidth - int *row_height; ///< RowHeight - int *col_bd; ///< ColBd - int *row_bd; ///< RowBd + unsigned int *column_width; ///< ColumnWidth + unsigned int *row_height; ///< RowHeight + unsigned int *col_bd; ///< ColBd + unsigned int *row_bd; ///< RowBd int *col_idxX; int *ctb_addr_rs_to_ts; ///< CtbAddrRSToTS diff --git a/libavcodec/hevc_ps.c b/libavcodec/hevc_ps.c index 1ce8d2e..829294f 100644 --- a/libavcodec/hevc_ps.c +++ b/libavcodec/hevc_ps.c @@ -1106,7 +1106,7 @@ int ff_hevc_decode_nal_pps(HEVCContext *s) pps->uniform_spacing_flag = get_bits1(gb); if (!pps->uniform_spacing_flag) { - int sum = 0; + uint64_t sum = 0; for (i = 0; i < pps->num_tile_columns - 1; i++) { pps->column_width[i] = get_ue_golomb_long(gb) + 1; sum += pps->column_width[i]; -- 1.8.5.1 _______________________________________________ libav-devel mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-devel
