ffmpeg | branch: master | James Almer <jamr...@gmail.com> | Thu Nov 19 16:00:16 2015 -0300| [01c63e69f174eae394cf8541e7b19e8c8886fbb9] | committer: James Almer
avformat/rsd: GADP files are adpcm_thp_le Signed-off-by: James Almer <jamr...@gmail.com> > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=01c63e69f174eae394cf8541e7b19e8c8886fbb9 --- libavformat/rsd.c | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/libavformat/rsd.c b/libavformat/rsd.c index 01a27f9..8cef7f5 100644 --- a/libavformat/rsd.c +++ b/libavformat/rsd.c @@ -27,7 +27,7 @@ static const AVCodecTag rsd_tags[] = { { AV_CODEC_ID_ADPCM_PSX, MKTAG('V','A','G',' ') }, - { AV_CODEC_ID_ADPCM_THP, MKTAG('G','A','D','P') }, + { AV_CODEC_ID_ADPCM_THP_LE, MKTAG('G','A','D','P') }, { AV_CODEC_ID_ADPCM_THP, MKTAG('W','A','D','P') }, { AV_CODEC_ID_ADPCM_IMA_RAD, MKTAG('R','A','D','P') }, { AV_CODEC_ID_ADPCM_IMA_WAV, MKTAG('X','A','D','P') }, @@ -121,8 +121,7 @@ static int rsd_read_header(AVFormatContext *s) if (pb->seekable) st->duration = av_get_audio_frame_duration(codec, avio_size(pb) - start); break; - case AV_CODEC_ID_ADPCM_THP: - if (st->codec->codec_tag == MKTAG('G','A','D','P')) { + case AV_CODEC_ID_ADPCM_THP_LE: /* RSD3GADP is mono, so only alloc enough memory to store the coeff table for a single channel. */ @@ -130,11 +129,10 @@ static int rsd_read_header(AVFormatContext *s) if ((ret = ff_get_extradata(codec, s->pb, 32)) < 0) return ret; - - for (i = 0; i < 16; i++) - AV_WB16(codec->extradata + i * 2, AV_RL16(codec->extradata + i * 2)); - - } else { + if (pb->seekable) + st->duration = av_get_audio_frame_duration(codec, avio_size(pb) - start); + break; + case AV_CODEC_ID_ADPCM_THP: codec->block_align = 8 * codec->channels; avio_skip(s->pb, 0x1A4 - avio_tell(s->pb)); @@ -145,7 +143,6 @@ static int rsd_read_header(AVFormatContext *s) avio_read(s->pb, st->codec->extradata + 32 * i, 32); avio_skip(s->pb, 8); } - } if (pb->seekable) st->duration = (avio_size(pb) - start) / (8 * st->codec->channels) * 14; break; _______________________________________________ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog