Original Commit: r77 | ods15 | 2006-09-29 15:12:56 +0300 (Fri, 29 Sep 2006) | 2 lines

fix for book==-1 in floor

Originally committed as revision 6482 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
Oded Shimon 2006-10-02 06:08:25 +00:00
parent 7e4221fd6b
commit dac7b2f6dd

View 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); put_bits(pb, book->entries[cval].len, book->entries[cval].codeword);
} }
for (k = 0; k < c->dim; k++) { 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++]; int entry = coded[counter++];
cval >>= c->subclass; cval >>= c->subclass;
if (book == -1) continue;
if (entry == -1) entry = 0; if (entry == -1) entry = 0;
assert(entry < book->nentries); assert(entry < venc->codebooks[book].nentries);
assert(entry >= 0); 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);
} }
} }