summaryrefslogtreecommitdiff
path: root/libavformat/genh.c
diff options
context:
space:
mode:
authorPaul B Mahol <onemda@gmail.com>2015-10-23 21:09:49 +0200
committerPaul B Mahol <onemda@gmail.com>2015-10-23 21:12:17 +0200
commitdaabc59c645c0933f5b809981cef640c63c2cedb (patch)
treef024536e792860d602a3e8e51a59a878f8ff82af /libavformat/genh.c
parenta03fe8adba30cd41b49a62e42c1c62e9d8ae6b9a (diff)
avformat/genh: add ADPCM IMA DVI support
Our decoder have wrong name. Signed-off-by: Paul B Mahol <onemda@gmail.com>
Diffstat (limited to 'libavformat/genh.c')
-rw-r--r--libavformat/genh.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/libavformat/genh.c b/libavformat/genh.c
index 3a4faf9152..6e4abae7cf 100644
--- a/libavformat/genh.c
+++ b/libavformat/genh.c
@@ -41,7 +41,7 @@ static int genh_read_header(AVFormatContext *s)
unsigned start_offset, header_size, codec, coef_type, coef[2];
GENHDemuxContext *c = s->priv_data;
unsigned coef_splitted[2];
- int align, ch;
+ int align, ch, ret;
AVStream *st;
avio_skip(s->pb, 4);
@@ -84,6 +84,11 @@ static int genh_read_header(AVFormatContext *s)
case 5: st->codec->codec_id = st->codec->block_align > 0 ?
AV_CODEC_ID_PCM_S8_PLANAR :
AV_CODEC_ID_PCM_S8; break;
+ case 7: ret = ff_alloc_extradata(st->codec, 2);
+ if (ret < 0)
+ return ret;
+ AV_WL16(st->codec->extradata, 3);
+ st->codec->codec_id = AV_CODEC_ID_ADPCM_IMA_WS; break;
case 12: st->codec->codec_id = AV_CODEC_ID_ADPCM_THP; break;
case 13: st->codec->codec_id = AV_CODEC_ID_PCM_U8; break;
case 17: st->codec->codec_id = AV_CODEC_ID_ADPCM_IMA_QT; break;