diff options
author | Paul B Mahol <onemda@gmail.com> | 2024-11-11 18:39:40 +0000 |
---|---|---|
committer | Peter Ross <pross@xvid.org> | 2024-12-22 16:08:33 +1100 |
commit | c3083b3266cf01fdc43e5d03e27bea35d7c1faae (patch) | |
tree | 5e0908f1ab398f7e0de8b5331e6920563be505c4 /libavcodec/utils.c | |
parent | 095f8038fa9180842cd38d4d61c7c47a02aad9ed (diff) | |
download | ffmpeg-c3083b3266cf01fdc43e5d03e27bea35d7c1faae.tar.gz |
avcodec: add ADPCM IMA XBOX decoder
Diffstat (limited to 'libavcodec/utils.c')
-rw-r--r-- | libavcodec/utils.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/libavcodec/utils.c b/libavcodec/utils.c index 2dbd677920..2c478ede13 100644 --- a/libavcodec/utils.c +++ b/libavcodec/utils.c @@ -558,6 +558,7 @@ int av_get_bits_per_sample(enum AVCodecID codec_id) return 3; case AV_CODEC_ID_ADPCM_SBPRO_4: case AV_CODEC_ID_ADPCM_IMA_WAV: + case AV_CODEC_ID_ADPCM_IMA_XBOX: case AV_CODEC_ID_ADPCM_IMA_QT: case AV_CODEC_ID_ADPCM_SWF: case AV_CODEC_ID_ADPCM_MS: @@ -720,6 +721,11 @@ static int get_audio_frame_duration(enum AVCodecID id, int sr, int ch, int ba, int blocks = frame_bytes / ba; int64_t tmp = 0; switch (id) { + case AV_CODEC_ID_ADPCM_IMA_XBOX: + if (bps != 4) + return 0; + tmp = blocks * ((ba - 4 * ch) / (bps * ch) * 8); + break; case AV_CODEC_ID_ADPCM_IMA_WAV: if (bps < 2 || bps > 5) return 0; |