diff options
author | Paul B Mahol <onemda@gmail.com> | 2012-02-05 19:39:13 +0000 |
---|---|---|
committer | Anton Khirnov <anton@khirnov.net> | 2012-02-09 17:10:26 +0100 |
commit | 9aff2d17533576f4ff52531e534f1319fb36a590 (patch) | |
tree | 52305435819d3344e1faa61524a7f0f87c5aa26d /libavcodec/tta.c | |
parent | e24167aae6c6ce2839537356077faac5602694bc (diff) | |
download | ffmpeg-9aff2d17533576f4ff52531e534f1319fb36a590.tar.gz |
tta: use skip_bits_long()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Diffstat (limited to 'libavcodec/tta.c')
-rw-r--r-- | libavcodec/tta.c | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/libavcodec/tta.c b/libavcodec/tta.c index 4656ce12e6..49d59538d3 100644 --- a/libavcodec/tta.c +++ b/libavcodec/tta.c @@ -191,7 +191,6 @@ static int tta_get_unary(GetBitContext *gb) static av_cold int tta_decode_init(AVCodecContext * avctx) { TTAContext *s = avctx->priv_data; - int i; s->avctx = avctx; @@ -203,7 +202,7 @@ static av_cold int tta_decode_init(AVCodecContext * avctx) if (show_bits_long(&s->gb, 32) == AV_RL32("TTA1")) { /* signature */ - skip_bits(&s->gb, 32); + skip_bits_long(&s->gb, 32); s->format = get_bits(&s->gb, 16); if (s->format > 2) { @@ -219,7 +218,7 @@ static av_cold int tta_decode_init(AVCodecContext * avctx) s->bps = (avctx->bits_per_coded_sample + 7) / 8; avctx->sample_rate = get_bits_long(&s->gb, 32); s->data_length = get_bits_long(&s->gb, 32); - skip_bits(&s->gb, 32); // CRC32 of header + skip_bits_long(&s->gb, 32); // CRC32 of header if (s->channels == 0) { av_log(s->avctx, AV_LOG_ERROR, "Invalid number of channels\n"); @@ -258,9 +257,8 @@ static av_cold int tta_decode_init(AVCodecContext * avctx) s->data_length, s->frame_length, s->last_frame_length, s->total_frames); // FIXME: seek table - for (i = 0; i < s->total_frames; i++) - skip_bits(&s->gb, 32); - skip_bits(&s->gb, 32); // CRC32 of seektable + skip_bits_long(&s->gb, 32 * s->total_frames); + skip_bits_long(&s->gb, 32); // CRC32 of seektable if(s->frame_length >= UINT_MAX / (s->channels * sizeof(int32_t))){ av_log(avctx, AV_LOG_ERROR, "frame_length too large\n"); @@ -401,7 +399,7 @@ static int tta_decode_frame(AVCodecContext *avctx, void *data, if (get_bits_left(&s->gb) < 32) return -1; - skip_bits(&s->gb, 32); // frame crc + skip_bits_long(&s->gb, 32); // frame crc // convert to output buffer if (s->bps == 2) { |