aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2012-12-16 00:56:12 +0100
committerMichael Niedermayer <michaelni@gmx.at>2012-12-16 01:05:36 +0100
commit1662bd350a470f1cbd5c2cc9a0e1bfaa8543033f (patch)
tree8070edf72c5b65c2d6c02b2484b27ac35ecc21ce
parentd7599bd8e240b923486bd130a33d38f66bb14eae (diff)
downloadffmpeg-1662bd350a470f1cbd5c2cc9a0e1bfaa8543033f.tar.gz
lavf: fix integer overflows
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-rw-r--r--libavformat/utils.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/libavformat/utils.c b/libavformat/utils.c
index f627f884b0..88aacd4cdb 100644
--- a/libavformat/utils.c
+++ b/libavformat/utils.c
@@ -91,10 +91,10 @@ static int64_t wrap_timestamp(AVStream *st, int64_t timestamp)
st->pts_wrap_reference != AV_NOPTS_VALUE && timestamp != AV_NOPTS_VALUE) {
if (st->pts_wrap_behavior == AV_PTS_WRAP_ADD_OFFSET &&
timestamp < st->pts_wrap_reference)
- return timestamp + (1LL<<st->pts_wrap_bits);
+ return timestamp + (1ULL<<st->pts_wrap_bits);
else if (st->pts_wrap_behavior == AV_PTS_WRAP_SUB_OFFSET &&
timestamp >= st->pts_wrap_reference)
- return timestamp - (1LL<<st->pts_wrap_bits);
+ return timestamp - (1ULL<<st->pts_wrap_bits);
}
return timestamp;
}
@@ -925,7 +925,7 @@ static AVPacketList *get_next_pkt(AVFormatContext *s, AVStream *st, AVPacketList
static int update_wrap_reference(AVFormatContext *s, AVStream *st, int stream_index)
{
- if (s->correct_ts_overflow && st->pts_wrap_bits != 64 &&
+ if (s->correct_ts_overflow && st->pts_wrap_bits < 63 &&
st->pts_wrap_reference == AV_NOPTS_VALUE && st->first_dts != AV_NOPTS_VALUE) {
int i;