# HG changeset patch # User conrad # Date 1242259327 0 # Node ID f1dc627817669b5a2cae24743a30059a7b4b1249 # Parent 8e95c7402d1ad05aad26bdd2dda037cabdcee46b Use skip_bits_long() for large skips This fixes ogg/theora on ARM (more generally the A32 bitstream reader) diff -r 8e95c7402d1a -r f1dc62781766 mpc7.c --- a/mpc7.c Wed May 13 22:57:30 2009 +0000 +++ b/mpc7.c Thu May 14 00:02:07 2009 +0000 @@ -78,7 +78,7 @@ 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 -r 8e95c7402d1a -r f1dc62781766 nellymoserdec.c --- a/nellymoserdec.c Wed May 13 22:57:30 2009 +0000 +++ b/nellymoserdec.c Thu May 14 00:02:07 2009 +0000 @@ -103,7 +103,7 @@ 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 -r 8e95c7402d1a -r f1dc62781766 vp3.c --- a/vp3.c Wed May 13 22:57:30 2009 +0000 +++ b/vp3.c Thu May 14 00:02:07 2009 +0000 @@ -2243,7 +2243,7 @@ } // FIXME: Check for this as well. - skip_bits(&gb, 6*8); /* "theora" */ + skip_bits_long(&gb, 6*8); /* "theora" */ switch(ptype) {