[FFmpeg-devel] [PATCH] Lost VBR header

Peter Belkner pbelkner at snafu.de
Fri Apr 29 21:08:30 CEST 2011


On 28.04.2011 21:43, Michael Niedermayer wrote:
> This patch results in differnt output when the resulting mp3 is decoded
> also there are error messages and 3456 samples (6*576) missing at the
> start
Unfortunately I'm not able to exactly reproduce this error. In some 
cases I found some frame headers corrupted.

I changed the following:

    * Dynamic bitrate index determination to really make sure that the
      TOC fits into the XING frame.
    * In mp3_write_trailer() changed the order of writing ID3v1 and
      fixing the XING header. (Fixing the XING header is now the final
      operation. This makes the corrupted frame error vanishing in my
      tests. Is there someting I'm missing with AVIO?)

In order to avoid overflow in TOC statistics (wrapping to negative values):

    * Diveded the bitrate by 1000.
    * Changed the statistics data types from "int" to "uint64_t".

Please find a revised patch below.

With the new patch I could not find any difference the following way:

    unpatched/ffmpeg -i a.mp3 -acodec copy -y b.mp3
    unpatched/ffmpeg -i b.mp3 -y b.wav

    patched/ffmpeg -i a.mp3 -acodec copy -y c.mp3
    patched/ffmpeg -i c.mp3 -y c.wav

    diff --binary b.wav c.wav

Could you please share the test case (MP3) in case the error is not 
vanishing in your environment?

-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: mp3enc_xing-2.patch
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20110429/d77dc017/attachment.ksh>

More information about the ffmpeg-devel mailing list