Opened 15 months ago

Last modified 15 months ago

#10146 new defect

ffmpeg doesn't recognize adpcm-vima inside of aiff file

Reported by: enderdrag64 Owned by:
Priority: normal Component: undetermined
Version: Keywords:
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

I have some Variable IMA encoded AIFF files from an old LucasArts game. ffmpeg supposedly supports Variable IMA but it doesn't recognize the files, I believe because it expects WAV containers instead of AIFF.


input:

.\ffmpeg.exe -i ChooseChar.afc -acodec flac copy ChooseChar.flac


output:

ffmpeg version 2023-01-18-git-ba36e6ed52-full_build-www.gyan.dev Copyright (c) 2000-2023 the FFmpeg developers

built with gcc 12.2.0 (Rev7, Built by MSYS2 project)
configuration: --enable-gpl --enable-version3 --enable-static --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-bzlib --enable-lzma --enable-libsnappy --enable-zlib --enable-librist --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-libbluray --enable-libcaca --enable-sdl2 --enable-libaribb24 --enable-libdav1d --enable-libdavs2 --enable-libuavs3d --enable-libzvbi --enable-librav1e --enable-libsvtav1 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxvid --enable-libaom --enable-libjxl --enable-libopenjpeg --enable-libvpx --enable-mediafoundation --enable-libass --enable-frei0r --enable-libfreetype --enable-libfribidi --enable-liblensfun --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-ffnvcodec --enable-nvdec --enable-nvenc --enable-d3d11va --enable-dxva2 --enable-libvpl --enable-libshaderc --enable-vulkan --enable-libplacebo --enable-opencl --enable-libcdio --enable-libgme --enable-libmodplug --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libshine --enable-libtheora --enable-libtwolame --enable-libvo-amrwbenc --enable-libilbc --enable-libgsm --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-ladspa --enable-libbs2b --enable-libflite --enable-libmysofa --enable-librubberband --enable-libsoxr --enable-chromaprint
libavutil 57. 44.100 / 57. 44.100
libavcodec 59. 56.100 / 59. 56.100
libavformat 59. 35.100 / 59. 35.100
libavdevice 59. 8.101 / 59. 8.101
libavfilter 8. 54.100 / 8. 54.100
libswscale 6. 8.112 / 6. 8.112
libswresample 4. 9.100 / 4. 9.100
libpostproc 56. 7.100 / 56. 7.100

[aiff @ 000001d16e2de600] exp 10191 is out of range
ChooseChar.afc: Invalid data found when processing input


full verbose output for input:

ffmpeg version 2023-01-18-git-ba36e6ed52-full_build-www.gyan.dev Copyright (c) 2000-2023 the FFmpeg developers

built with gcc 12.2.0 (Rev7, Built by MSYS2 project)
configuration: --enable-gpl --enable-version3 --enable-static --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-bzlib --enable-lzma --enable-libsnappy --enable-zlib --enable-librist --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-libbluray --enable-libcaca --enable-sdl2 --enable-libaribb24 --enable-libdav1d --enable-libdavs2 --enable-libuavs3d --enable-libzvbi --enable-librav1e --enable-libsvtav1 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxvid --enable-libaom --enable-libjxl --enable-libopenjpeg --enable-libvpx --enable-mediafoundation --enable-libass --enable-frei0r --enable-libfreetype --enable-libfribidi --enable-liblensfun --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-ffnvcodec --enable-nvdec --enable-nvenc --enable-d3d11va --enable-dxva2 --enable-libvpl --enable-libshaderc --enable-vulkan --enable-libplacebo --enable-opencl --enable-libcdio --enable-libgme --enable-libmodplug --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libshine --enable-libtheora --enable-libtwolame --enable-libvo-amrwbenc --enable-libilbc --enable-libgsm --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-ladspa --enable-libbs2b --enable-libflite --enable-libmysofa --enable-librubberband --enable-libsoxr --enable-chromaprint
libavutil 57. 44.100 / 57. 44.100
libavcodec 59. 56.100 / 59. 56.100
libavformat 59. 35.100 / 59. 35.100
libavdevice 59. 8.101 / 59. 8.101
libavfilter 8. 54.100 / 8. 54.100
libswscale 6. 8.112 / 6. 8.112
libswresample 4. 9.100 / 4. 9.100
libpostproc 56. 7.100 / 56. 7.100

Splitting the commandline.
Reading option '-v' ... matched as option 'v' (set logging level) with argument '9'.
Reading option '-loglevel' ... matched as option 'loglevel' (set logging level) with argument '99'.
Reading option '-i' ... matched as input url with argument '.\ChooseChar.afc'.
Finished splitting the commandline.
Parsing a group of options: global .
Applying option v (set logging level) with argument 9.
Successfully parsed a group of options.
Parsing a group of options: input url .\ChooseChar.afc.
Successfully parsed a group of options.
Opening an input file: .\ChooseChar.afc.
[NULL @ 000002534b7ce600] Opening '.\ChooseChar.afc' for reading
[file @ 000002534b7ce9c0] Setting default whitelist 'file,crypto,data'
Probing aiff score:100 size:2048
[aiff @ 000002534b7ce600] Format aiff probed with size=2048 and score=100
[aiff @ 000002534b7ce600] exp 10191 is out of range
[AVIOContext @ 000002534b7cee40] Statistics: 32768 bytes read, 0 seeks
.\ChooseChar.afc: Invalid data found when processing input

Attachments (1)

ChooseChar.afc (847.3 KB ) - added by enderdrag64 15 months ago.
sample AIFF encoded with Variable IMA

Download all attachments as: .zip

Change History (4)

by enderdrag64, 15 months ago

Attachment: ChooseChar.afc added

sample AIFF encoded with Variable IMA

comment:1 by Elon Musk, 15 months ago

From which exact game is this?

VIMA from ffmpeg expects variable packets size. And such info (the packets size) are not provided in file.

in reply to:  1 comment:2 by enderdrag64, 15 months ago

Replying to Elon Musk:

From which exact game is this?

VIMA from ffmpeg expects variable packets size. And such info (the packets size) are not provided in file.

That specific file is from Star Wars Episode I: The Gungan Frontier. The same format is used by Yoda's Challenge Activity Center, and presumably the rest of Lucas Learning's 1999 TPM tie-in games

comment:3 by Elon Musk, 15 months ago

There is packets size table right after SSND tag, but sample rate is nan.

Note: See TracTickets for help on using tickets.