diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2012-12-08 14:58:56 +0100 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2012-12-08 14:58:56 +0100 |
commit | 57cee850238488a6088085ae078af17f04f2198a (patch) | |
tree | 9551a690983609d59e91e3c63ae4b15114eecb34 /libavformat/mpegts.c | |
parent | 7efee140d7d6fe197a73a178314eacd330a8cc77 (diff) | |
parent | 096abfa15052977eed93f0b5e01afd2d47c53c1f (diff) |
Merge commit '096abfa15052977eed93f0b5e01afd2d47c53c1f'
* commit '096abfa15052977eed93f0b5e01afd2d47c53c1f':
parser: fix large overreads
bitstream: add get_bits64() to support reading more than 32 bits at once
arm: detect cpu features at runtime on Linux
Conflicts:
libavcodec/parser.c
libavformat/mpegts.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavformat/mpegts.c')
-rw-r--r-- | libavformat/mpegts.c | 11 |
1 files changed, 1 insertions, 10 deletions
diff --git a/libavformat/mpegts.c b/libavformat/mpegts.c index 167194c808..788a59b316 100644 --- a/libavformat/mpegts.c +++ b/libavformat/mpegts.c @@ -714,18 +714,9 @@ static void new_pes_packet(PESContext *pes, AVPacket *pkt) static uint64_t get_ts64(GetBitContext *gb, int bits) { - uint64_t ret = 0; - if (get_bits_left(gb) < bits) return AV_NOPTS_VALUE; - while (bits > 17) { - ret <<= 17; - ret |= get_bits(gb, 17); - bits -= 17; - } - ret <<= bits; - ret |= get_bits(gb, bits); - return ret; + return get_bits64(gb, bits); } static int read_sl_header(PESContext *pes, SLConfigDescr *sl, const uint8_t *buf, int buf_size) |