mirror of
https://github.com/mpv-player/mpv
synced 2025-03-23 20:00:56 +00:00
ms\0x00\x11 support
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@8104 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
parent
1c68e5af4b
commit
4cd4fd0745
@ -13,6 +13,7 @@
|
|||||||
0x61: DK4 ADPCM found in certain AVI files on Sega Saturn CD-ROMs;
|
0x61: DK4 ADPCM found in certain AVI files on Sega Saturn CD-ROMs;
|
||||||
note that this is a 'rogue' format number in that it was
|
note that this is a 'rogue' format number in that it was
|
||||||
never officially registered with Microsoft
|
never officially registered with Microsoft
|
||||||
|
0x1100736d: IMA ADPCM coded like in MS AVI/ASF/WAV found in QT files
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
@ -86,7 +87,8 @@ static int preinit(sh_audio_t *sh_audio)
|
|||||||
// if format is "ima4", assume the audio is coming from a QT file which
|
// if format is "ima4", assume the audio is coming from a QT file which
|
||||||
// indicates constant block size, whereas an AVI/ASF/WAV file will fill
|
// indicates constant block size, whereas an AVI/ASF/WAV file will fill
|
||||||
// in this field with 0x11
|
// in this field with 0x11
|
||||||
if ((sh_audio->format == 0x11) || (sh_audio->format == 0x61))
|
if ((sh_audio->format == 0x11) || (sh_audio->format == 0x61) ||
|
||||||
|
(sh_audio->format == 0x1100736d))
|
||||||
{
|
{
|
||||||
sh_audio->ds->ss_div = (sh_audio->wf->nBlockAlign -
|
sh_audio->ds->ss_div = (sh_audio->wf->nBlockAlign -
|
||||||
(MS_IMA_ADPCM_PREAMBLE_SIZE * sh_audio->wf->nChannels)) * 2;
|
(MS_IMA_ADPCM_PREAMBLE_SIZE * sh_audio->wf->nChannels)) * 2;
|
||||||
@ -352,7 +354,7 @@ static int decode_audio(sh_audio_t *sh_audio,unsigned char *buf,int minlen,int m
|
|||||||
sh_audio->ds->ss_mul)
|
sh_audio->ds->ss_mul)
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
if (sh_audio->format == 0x11)
|
if ((sh_audio->format == 0x11) || (sh_audio->format == 0x1100736d))
|
||||||
{
|
{
|
||||||
return 2 * ms_ima_adpcm_decode_block(
|
return 2 * ms_ima_adpcm_decode_block(
|
||||||
(unsigned short*)buf, sh_audio->a_in_buffer, sh_audio->wf->nChannels,
|
(unsigned short*)buf, sh_audio->a_in_buffer, sh_audio->wf->nChannels,
|
||||||
|
Loading…
Reference in New Issue
Block a user