mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2026-06-19 19:03:00 +02:00
While adding stereo rematrixing, I came across something that needs to
be fixed even without adding the feature. The output correctly uses 4
dummy values for the rematrixing flags in block-0, but the bit
allocation routine does not take these bits into account. From what I
can tell, there was a patch in 2003 that corrected the output to make it
DVD and spec compatible, but it didn't correct the bit allocation. It's
only 4 bits over the entire 6 blocks, so overflow errors would happen
rarely or never, but it's still worth fixing. So here is a fix.
patch by (Justin Ruggles {jruggle earthlink net)
Originally committed as revision 4179 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
committed by
Michael Niedermayer
parent
725de25c4c
commit
132041f06f
+3
-1
@@ -703,8 +703,10 @@ static int compute_bit_allocation(AC3EncodeContext *s,
|
||||
/* audio blocks */
|
||||
for(i=0;i<NB_BLOCKS;i++) {
|
||||
frame_bits += s->nb_channels * 2 + 2; /* blksw * c, dithflag * c, dynrnge, cplstre */
|
||||
if (s->acmod == 2)
|
||||
if (s->acmod == 2) {
|
||||
frame_bits++; /* rematstr */
|
||||
if(i==0) frame_bits += 4;
|
||||
}
|
||||
frame_bits += 2 * s->nb_channels; /* chexpstr[2] * c */
|
||||
if (s->lfe)
|
||||
frame_bits++; /* lfeexpstr */
|
||||
|
||||
Reference in New Issue
Block a user