[FFmpeg-devel] [PATCH] mp3dec: Fix VBR bit rate parsing
michaelni at gmx.at
Thu Feb 28 23:04:16 CET 2013
On Wed, Feb 27, 2013 at 10:07:52PM -0800, Alexander Kojevnikov wrote:
> On Wed, Feb 27, 2013 at 3:56 AM, Michael Niedermayer <michaelni at gmx.at> wrote:
> > On Tue, Feb 26, 2013 at 10:28:42PM -0800, Alexander Kojevnikov wrote:
> >> Commit 6776a8f introduced a regression in calculation of the bit
> >> rate of VBR streams. Instead of keeping the bit rate from the Xiph
> >> tag, it now overrides it during parsing with the bit rate from one of
> >> the frames.
> >> Attached patch should fix it. It relies on the assumption that the
> >> Xiph/Info tag has "Xiph" id string for VBR streams and "Info" for CBR.
> > xiph ?
> My apologies, it's "Xing", not "Xiph".
> > and it seems the patch breaks "make fate"
> > --- ./tests/ref/lavf-fate/mp3 2013-02-26 02:17:04.526545833 +0100
> > +++ tests/data/fate/lavf-fate-mp3 2013-02-27 12:50:36.909166861 +0100
> > @@ -1,3 +1,3 @@
> > -40a4e41ae74ec8dacdf02402831a6a58 *./tests/data/lavf-fate/lavf.mp3
> > -97230 ./tests/data/lavf-fate/lavf.mp3
> > +98ed29febe5ddfe85eef0d3460701141 *./tests/data/lavf-fate/lavf.mp3
> > +95970 ./tests/data/lavf-fate/lavf.mp3
> > ./tests/data/lavf-fate/lavf.mp3 CRC=0x6c9850fe
> I checked both generated files, the difference is only in the first
> frame containing the Xing tag, the length and content of which is
> driven by the previously deducted bit rate. The first frame of the
> underlying VBR mp3 stream has a bit rate of 32 kbps, while the last
> looked up frame has a bit rate 320 kbps. The muxer selects the size of
> the first frame (to contain the Xing tag) depending on the deducted
> bit rate, both sizes are equally correct. I updated the test file to
> reflect this.
This patch still breaks some of my mp3 files
try testcase.mp3 from the lame repository as example (but it affects
other files too)
before the patch it seems the initial skiping of samples works:
[mp3 @ 0x28d21a0] pad 576 920
[mp3 @ 0x28d21a0] demuxer injecting skip 1105
[mp3 @ 0x28d2a00] skip 1105 samples due to side data
[mp3 @ 0x28d2a00] skip 1105/1152 samples
if you decode it to .wav the size also changes
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
The real ebay dictionary, page 1
"Used only once" - "Some unspecified defect prevented a second use"
"In good condition" - "Can be repaird by experienced expert"
"As is" - "You wouldnt want it even if you were payed for it, if you knew ..."
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Size: 198 bytes
Desc: Digital signature
More information about the ffmpeg-devel