[FFmpeg-devel] dvi_adpcm (0x0011) audio conversion problems

Michael Niedermayer michaelni
Sun Jul 29 17:41:37 CEST 2007


On Sun, Jul 29, 2007 at 10:44:10AM -0500, kent.elyue at gmail.com wrote:
> Hello.
> I'm using win2k and I am trying to convert some avi files from the game Zork Nemesis into a different format so the game can be played on newer OS's. Converting the video portion is easy enough and can be done various ways. The problem is that these particular avi's have audio tracks that are encoded in dvi_adpcm (0x0011) Intel Corporation format (as reported by Gspot).
> The version of FFmpeg I am using is this:  version SVN-r7260, libavutil version: 49.1.0, libavcodec version: 51.26.0, libavformat version: 51.6.0, built on Dec  8 2006 17:40:35, gcc: 4.0.3
> ffmpeg has this to say regarding the audio track
> Stream #0.1: Audio: adpcm_ima_wav, 22050 Hz, stereo, 352 kb/s
> During an attempt to use ffmpeg to reencode the avi (from DUCK Trumotion video and ADPCM audio to mpeg4 and mp3) the following type of error is reported 100's of times over:
> [adpcm_ima_wav @ 0090DD60]ERROR: step_index = 255
> [adpcm_ima_wav @ 0090DD60]unused byte should be null but is 255!!
> [adpcm_ima_wav @ 0090DD60]ERROR: step_index = 165
> [adpcm_ima_wav @ 0090DD60]unused byte should be null but is 146!!
> [adpcm_ima_wav @ 0090DD60]ERROR: step_index = 167
> [adpcm_ima_wav @ 0090DD60]unused byte should be null but is 168!!
> [adpcm_ima_wav @ 0090DD60]ERROR: step_index = 143
> [adpcm_ima_wav @ 0090DD60]unused byte should be null but is 167!!
> ...and so on
> The video stream converts perfectly. The audio results in sheer static screech.
> Gspot reports that the bitrate is "353 kb/s (176/ch, stereo)" and that the rendering attempt succeeded and the file should play fine, but in fact it doesn't. I would suspect that the file itself is faulty, except that 1) the file is the intro.avi from the Zork Nemesis game, 2) there are dozens of these type of files used in the game, and 3) the game including the full-sound avi's play fine in DOS and Windows95. 
> FWIW, I can strip the audio stream from the avi using AviMuxGui, and the stripped stream is in raw data format (audio.raw). The info I can get (from AVIMux_GUI v1.17.5) regarding the audio stream is this:
> audio stream: 1 (Stream 1)
>   bitrate                  :          352,800 Bit/s
>   size of stream (strh)    :            4,048 units ? 1024 bytes
>   size of stream (index)   :        4,145,152 bytes
>   number of chunks         :            1,410
>   format-tag               :           0x0011
>   sampling rate            :           22,050
>   channels                 :                2
>   suggested buffer size    :           11,264

this looks odd
if i assume that the samplerate, channels and bitrate are correct then
this cannot be any ADPCM it looks mor like 8bit PCM
could you maybe provide a link to the avi or upload it to upload.mplayerhq.hu?

Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Asymptotically faster algorithms should always be preferred if you have
asymptotical amounts of data
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20070729/7f20456b/attachment.pgp>

More information about the ffmpeg-devel mailing list