[FFmpeg-devel] [PATCH 0/3] aiff: add support for XA ADPCM

misty at brew.sh misty at brew.sh
Wed Jan 3 10:14:21 EET 2018

From: Misty De Meo <mistydemeo at gmail.com>

This patchset adds support for the `APCM` chunk type in AIFF,
which is used to store CD-ROM XA ADPCM audio. The only application
I currently know of which uses this is the Sega Saturn game
Sonic Jam, but there might be others. I've included a new fate test
for this; here's the media file it uses:

I've also fixed a minor bug that this exposed in the XA decoder.
If the frame size isn't a multiple of 128 bytes, the decoder would
leave the remainder unconsumed and it would be passed to the next
adpcm_decode_frame() call. This most likely didn't come up before
because the most common container (psxstr) has a frame size that's
an exact multiple of 128. AIFF APCM files, however, use a frame size
of 2324 bytes - the size of a mode 2 form 2 sector. That leaves a
remainder of 20 padding bytes.

Misty De Meo (3):
  aiff: add support for XA ADPCM
  adpcm: consume remainder after consuming XA chunks
  fate: add xa-aiff test

 libavcodec/adpcm.c           |  7 ++++++
 libavformat/aiffdec.c        |  7 ++++++
 tests/fate/adpcm.mak         |  3 +++
 tests/ref/fate/adpcm-xa-aiff | 51 ++++++++++++++++++++++++++++++++++++++++++++
 4 files changed, 68 insertions(+)
 create mode 100644 tests/ref/fate/adpcm-xa-aiff


More information about the ffmpeg-devel mailing list