Original Commit: r77 | ods15 | 2006-09-29 15:12:56 +0300 (Fri, 29 Sep 2006) | 2 lines
authorOded Shimon <ods15@ods15.dyndns.org>
Mon, 2 Oct 2006 06:08:25 +0000 (06:08 +0000)
committerOded Shimon <ods15@ods15.dyndns.org>
Mon, 2 Oct 2006 06:08:25 +0000 (06:08 +0000)
fix for book==-1 in floor

Originally committed as revision 6482 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavcodec/vorbis_enc.c

index 7cbd57182527e1df924d0f00b0b05be91f742ab2..95f383ce9a01b0c922dff9197c3eb1661c138439 100644 (file)
@@ -773,13 +773,14 @@ static void floor_encode(venc_context_t * venc, floor_t * fc, PutBitContext * pb
             put_bits(pb, book->entries[cval].len, book->entries[cval].codeword);
         }
         for (k = 0; k < c->dim; k++) {
-            codebook_t * book = &venc->codebooks[c->books[cval & (csub-1)]];
+            int book = c->books[cval & (csub-1)];
             int entry = coded[counter++];
             cval >>= c->subclass;
+            if (book == -1) continue;
             if (entry == -1) entry = 0;
-            assert(entry < book->nentries);
+            assert(entry < venc->codebooks[book].nentries);
             assert(entry >= 0);
-            put_bits(pb, book->entries[entry].len, book->entries[entry].codeword);
+            put_bits(pb, venc->codebooks[book].entries[entry].len, venc->codebooks[book].entries[entry].codeword);
         }
     }