summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Conrad <lessen42@gmail.com>2009-05-14 00:02:07 +0000
committerDavid Conrad <lessen42@gmail.com>2009-05-14 00:02:07 +0000
commit0a8dedc9e18eb112ea468f5bf0f32bdec74cdd64 (patch)
tree2a620a5f9576bbfccdb0b77f06b01bad453a22fe
parent97d4318347bb298eed36ef53e5264cb065f7993e (diff)
Use skip_bits_long() for large skips
This fixes ogg/theora on ARM (more generally the A32 bitstream reader) Originally committed as revision 18819 to svn://svn.ffmpeg.org/ffmpeg/trunk
-rw-r--r--libavcodec/mpc7.c2
-rw-r--r--libavcodec/nellymoserdec.c2
-rw-r--r--libavcodec/vp3.c2
-rw-r--r--libavformat/oggparsetheora.c4
4 files changed, 5 insertions, 5 deletions
diff --git a/libavcodec/mpc7.c b/libavcodec/mpc7.c
index a15f117427..614a418684 100644
--- a/libavcodec/mpc7.c
+++ b/libavcodec/mpc7.c
@@ -78,7 +78,7 @@ static av_cold int mpc7_decode_init(AVCodecContext * avctx)
av_log(avctx, AV_LOG_ERROR, "Too many bands: %i\n", c->maxbands);
return -1;
}
- skip_bits(&gb, 88);
+ skip_bits_long(&gb, 88);
c->gapless = get_bits1(&gb);
c->lastframelen = get_bits(&gb, 11);
av_log(avctx, AV_LOG_DEBUG, "IS: %d, MSS: %d, TG: %d, LFL: %d, bands: %d\n",
diff --git a/libavcodec/nellymoserdec.c b/libavcodec/nellymoserdec.c
index 94f441890e..98f0ec3224 100644
--- a/libavcodec/nellymoserdec.c
+++ b/libavcodec/nellymoserdec.c
@@ -103,7 +103,7 @@ static void nelly_decode_block(NellyMoserDecodeContext *s,
aptr = audio + i * NELLY_BUF_LEN;
init_get_bits(&s->gb, block, NELLY_BLOCK_LEN * 8);
- skip_bits(&s->gb, NELLY_HEADER_BITS + i*NELLY_DETAIL_BITS);
+ skip_bits_long(&s->gb, NELLY_HEADER_BITS + i*NELLY_DETAIL_BITS);
for (j = 0; j < NELLY_FILL_LEN; j++) {
if (bits[j] <= 0) {
diff --git a/libavcodec/vp3.c b/libavcodec/vp3.c
index c1ca98f3c4..43a3658c33 100644
--- a/libavcodec/vp3.c
+++ b/libavcodec/vp3.c
@@ -2243,7 +2243,7 @@ static av_cold int theora_decode_init(AVCodecContext *avctx)
}
// FIXME: Check for this as well.
- skip_bits(&gb, 6*8); /* "theora" */
+ skip_bits_long(&gb, 6*8); /* "theora" */
switch(ptype)
{
diff --git a/libavformat/oggparsetheora.c b/libavformat/oggparsetheora.c
index d8b4d6ccef..96c432f993 100644
--- a/libavformat/oggparsetheora.c
+++ b/libavformat/oggparsetheora.c
@@ -58,7 +58,7 @@ theora_header (AVFormatContext * s, int idx)
init_get_bits(&gb, os->buf + os->pstart, os->psize*8);
- skip_bits(&gb, 7*8); /* 0x80"theora" */
+ skip_bits_long(&gb, 7*8); /* 0x80"theora" */
thp->version = get_bits_long(&gb, 24);
if (thp->version < 0x030100)
@@ -92,7 +92,7 @@ theora_header (AVFormatContext * s, int idx)
st->sample_aspect_ratio.den = get_bits_long(&gb, 24);
if (thp->version >= 0x030200)
- skip_bits(&gb, 38);
+ skip_bits_long(&gb, 38);
if (thp->version >= 0x304000)
skip_bits(&gb, 2);