From 91f64941d33a7d19e889466513b9da01bec6f3d7 Mon Sep 17 00:00:00 2001 From: Oded Shimon <ods15@ods15.dyndns.org> Date: Mon, 2 Oct 2006 06:07:38 +0000 Subject: [PATCH] Original Commit: r55 | ods15 | 2006-09-24 13:54:43 +0300 (Sun, 24 Sep 2006) | 2 lines bug fixes for residue with no books in all passes Originally committed as revision 6461 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavcodec/vorbis_enc.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/libavcodec/vorbis_enc.c b/libavcodec/vorbis_enc.c index 2c55d9e344e..9fc5fa8737e 100644 --- a/libavcodec/vorbis_enc.c +++ b/libavcodec/vorbis_enc.c @@ -480,7 +480,7 @@ static void put_residue_header(PutBitContext * pb, residue_t * rc) { for (i = 0; i < rc->classifications; i++) { int j; for (j = 0; j < 8; j++) - if (rc->books[i][j]) + if (rc->books[i][j] != -1) put_bits(pb, 8, rc->books[i][j]); } } @@ -708,6 +708,7 @@ static void residue_encode(venc_context_t * venc, residue_t * rc, PutBitContext int nbook = rc->books[classes[j][p]][pass]; codebook_t * book = &venc->codebooks[nbook]; float * buf = coeffs + samples*j + rc->begin + p*psize; + if (nbook == -1) continue; assert(rc->type == 0); assert(book->ndimentions == 1); -- GitLab