[FFmpeg-cvslog] hevc: Use uint64 to check for tile dimensions
Luca Barbato
git at videolan.org
Tue Jan 21 15:24:52 CET 2014
ffmpeg | branch: master | Luca Barbato <lu_zero at gentoo.org> | Sat Jan 11 03:20:45 2014 +0100| [b37e796082b2d787aff3cd5631bb89c4fd374708] | committer: Luca Barbato
hevc: Use uint64 to check for tile dimensions
And use unsigned datatypes.
Otherwise it would overflow.
Sample-Id: 00001315-google
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable at libav.org
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=b37e796082b2d787aff3cd5631bb89c4fd374708
---
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 f623887..6c99d9b 100644
--- a/libavcodec/hevc.h
+++ b/libavcodec/hevc.h
@@ -513,10 +513,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];
More information about the ffmpeg-cvslog
mailing list