]> rtime.felk.cvut.cz Git - frescor/ffmpeg.git/commitdiff
Use skip_bits_long() for large skips
authorconrad <conrad@9553f0bf-9b14-0410-a0b8-cfaf0461ba5b>
Thu, 14 May 2009 00:02:07 +0000 (00:02 +0000)
committerconrad <conrad@9553f0bf-9b14-0410-a0b8-cfaf0461ba5b>
Thu, 14 May 2009 00:02:07 +0000 (00:02 +0000)
This fixes ogg/theora on ARM (more generally the A32 bitstream reader)

git-svn-id: file:///var/local/repositories/ffmpeg/trunk@18819 9553f0bf-9b14-0410-a0b8-cfaf0461ba5b

libavcodec/mpc7.c
libavcodec/nellymoserdec.c
libavcodec/vp3.c
libavformat/oggparsetheora.c

index a15f117427eff8cdb1b1017a40221c76a081c72d..614a418684b15efad344501e048787c0ac2d76d5 100644 (file)
@@ -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",
index 94f441890eb6353315a79d5e9ea9a9bbdccfc568..98f0ec32248e18691fe1125882f9226541e45783 100644 (file)
@@ -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) {
index c1ca98f3c4fff238c99ac3681809b101d823302a..43a3658c3383cce875a63b3d4d543e5c126a2d73 100644 (file)
@@ -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)
     {
index d8b4d6ccefeca00f4029ffef77a73095ffd828c3..96c432f9930bc37c3fe25f2c3756923141ec5cb8 100644 (file)
@@ -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);