[FFmpeg-devel] Exposing preroll and remainder info for aac and mp3.

Kieran Kunhya kierank at ob-encoder.com
Thu Jul 5 03:21:36 CEST 2012


On Wed, Jul 4, 2012 at 10:21 PM, Michael Niedermayer <michaelni at gmx.at> wrote:
> On Wed, Jul 04, 2012 at 04:24:51PM +0200, Michael Niedermayer wrote:
>> On Wed, Jul 04, 2012 at 04:05:17PM +0200, Nicolas George wrote:
>> > Le septidi 17 messidor, an CCXX, Michael Niedermayer a écrit :
>> > > are there some reference files (mp3/aac + wav refernce of what should
>> > > be the delay free output ?)
>> > > These would be very usefull to implement this as well as for
>> > > regression tests so it doesnt break in the future once it works.
>> >
>> > Is it really necessary? We can see for ourselves with any audio file that
>> > does not have too much silence on the beginning. For example:
>> >
>> > ffmpeg -f lavfi -i aevalsrc='abs(sin(2*PI*t))*sin(2*PI*440*t)::d=10' \
>> >   test.mp3 test.wav
>> > ffmpeg -i test.wav -i test.mp3 -filter_complex '
>> >   [0:0] showwaves=n=15:s=1470x64, pad=iw:ih*2 [a] ;
>> >   [1:0] showwaves=n=15:s=1470x64 [b] ;
>> >   [a] [b] overlay=0:64' -vframes 1 test.png
>> >
>> > The output.png shows clearly a 74 pixels delay for the MP3 file, which makes
>> > about 1110 samples.
>> >
>> > I believe our purpose should be that a round trip encode+decode gives a file
>> > that is in sync with the original. lame + lame --decode does that, for
>> > example.
>>
>> we should aim toward getting our decoder round trip exact with any
>> other encoder be that lame, faac, ffmpeg, itunes or other.
>> for this we need sample files from all these encoders.
>
> just posted a patchset implementing initial silence skiping for mp3
> doing the same with mov/mp4 aac should be trivial, id need a reference
> sample though to make sure the aac/mov/mp4 stuff is correct. Its easy
> to get it wrong without a testcase ...
>
> the mp3 code should be compatible with lames way of indicating the
> amount of padding.
>
> [...]
>
> --
> 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 ..."

The Fraunhofer Android encoder/decoder refers to this paper so it
might be of use:

Lutzky, Schuller, Gayer, Krämer, Wabnik, "A guideline to audio
codec delay", 116th AES Convention, May 8, 2004


More information about the ffmpeg-devel mailing list