[Ffmpeg-devel] invalid new backstep: mpegaudio decoding

Cyrus A lists
Mon Nov 13 03:15:28 CET 2006


Cyrus A wrote:
> Cyrus A wrote:
>> Thanos Kyritsis wrote:
>>> Good day,
>>>
>>> I was using a ffmpeg CVS snapshot from before you guys switched to 
>>> SVN. These days I decided to update my snapshot to the latest SVN 
>>> and I've been noticing some things:
>>>
>>> There is a lot of:
>>>
>>> backstep:457, lastbuf:332
>>> invalid new backstep 300
>>> backstep:455, lastbuf:332
>>> invalid new backstep 300
>>>
>>> output when seeking and decoding mpeg audio from avi streams.
>>> I'm both using own code and the ffmpeg tool for these tasks.
>>>
>>> So far, I've came up to three occasions:
>>>
>>> 1) My own code and ffmpeg tool sometimes fail when seeking and cutting:
>>>
>>> ffmpeg -ss 00:00:40.332 -t 2 -i movie.avi -acodec pcm_s16le clip.wav
>>>
>>> This fails. clip.wav does not contain the decoded audio from within 
>>> movie's 00:00:40.332 - 00:00:42.332
>>>
>>> 2) There is another avi movie for which both my own code and ffmpeg 
>>> tool fail to decode the 1st 20 seconds, no seeking here:
>>>
>>> ffmpeg -i movie.avi -acodec pcm_s16le clip.wav
>>>
>>> after this full decoding, movie.avi is Y duration and clip.wav is 
>>> Y-20 seconds duration. Those 1st 20 seconds produced a lot of 
>>> "invalid new backstep" output.
>>>
>>> ffplay does the same: the video/audio sync gets screwed, it plays 
>>> the video from the beginning and the audio with a +20 seconds 
>>> offset. The old code (just before you change to SVN) works like a 
>>> charm (both ffplay and ffmpeg).
>>>
>>> 3) Sometimes my own code succeeds to seek and decode, while at the 
>>> same time the ffmpeg tool fails.
>>>
>>> I'm using a code structure similar (but much more minimal) to the 
>>> ffmpeg tool structure in my own project to call av_seek_frame and do 
>>> the av_decode_audio loops, but there are some differences on the way 
>>> I skip some frames in order to get from the I frame to an exact P 
>>> frame (after calling av_seek_frame()).
>>>
>>>
>>> However, the common factor to all these is the "invalid new 
>>> backstep" output. That wasn't happening some months before.
>>>
>>> Do you feel there are currently known issues with mpeg audio 
>>> decoding or seeking ? Or would you like me to prepare some media 
>>> clips and upload them for you to test ?
>>>
>>>
>>>   
>> I'm seeing this exact same behavior trying to re-encode MPEG-2 files 
>> from MPEG-4 avis. I would assume there is definitely a bug here.
>>
>> Try using an older version of ffmpeg. It worked for me. (How old, I'm 
>> not sure. Mine was REALLY old.)
>>
>> Cyrus
>> _______________________________________________
>> ffmpeg-devel mailing list
>> ffmpeg-devel at mplayerhq.hu
>> http://lists.mplayerhq.hu/mailman/listinfo/ffmpeg-devel
> Does anyone have any ideas to help us out?
>
> BTW, the problem is with the original MPEG4/mp3 encoding, in my case. 
> FFmpeg will reencode other MPEG-4/mp3s created on my old 32-bit 
> computer setups without problems. That is, the SVN version of ffmpeg 
> on 64-bit can take an mpeg4/mp3 avi recorded on a 32-bit machine and 
> produce a solid, universally viewable (linux and windows) mpeg file.
>
> Any help here would be greatly appreciated.
>
> Cyrus
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at mplayerhq.hu
> http://lists.mplayerhq.hu/mailman/listinfo/ffmpeg-devel

My addition might be a little misleading. The problem is not 32-bit vs 
64-bit. It's that it seems that older ffmpeg versions create "good" 
mpeg4/mp3 avis whereas the new version doesn't (...we think).

Let me try to clarify with this table:
OLD = old ffmpeg on 32-bit (which won't compile on 64-bit)
NEW = lastest SVN on 64-bit

Is a "good" mpg created from an mpeg4/mp3 avi reencode?:
          OLD     NEW  <------- avi recorded with
OLD     Y          N
NEW    Y          N  
   ^----------------- mpg encoded from avi with


I can't get any ffmpeg revisions prior to 4019 to compile on my 64-bit 
architecture. Thus, I can't test whether an avi recorded on an old 
ffmpeg version on the 64-bit platform would work as one created on a 
32-bit platform with an old ffmpeg version.

As I've said in my earlier posts, the mpeg4/mp3 avi seems to work well 
on both linux and windows. It's when we try to use SVN ffmpeg to create 
an mpeg2video file that we get "invalid backstep" errors and a corrupt mpg.

I realize this is probably confusing as hell. Please let me know if you 
have questions and I'll try to answer them.

Cyrus




More information about the ffmpeg-devel mailing list