From 9ca5b27240105b89bd914db45329d9a310c55c18 Mon Sep 17 00:00:00 2001 From: Carl Eugen Hoyos Date: Mon, 1 Feb 2016 10:51:46 +0100 Subject: lavf/adxdec: Add Autodetection. --- libavformat/adxdec.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'libavformat/adxdec.c') diff --git a/libavformat/adxdec.c b/libavformat/adxdec.c index 66ea8ab39d..05cef0b07c 100644 --- a/libavformat/adxdec.c +++ b/libavformat/adxdec.c @@ -34,6 +34,19 @@ typedef struct ADXDemuxerContext { int header_size; } ADXDemuxerContext; +static int adx_probe(AVProbeData *p) +{ + int offset; + if (AV_RB16(p->buf) != 0x8000) + return 0; + offset = AV_RB16(&p->buf[2]); + if ( offset < 8 + || offset > p->buf_size - 4 + || memcmp(p->buf + offset - 2, "(c)CRI", 6)) + return 0; + return AVPROBE_SCORE_MAX * 3 / 4; +} + static int adx_read_packet(AVFormatContext *s, AVPacket *pkt) { ADXDemuxerContext *c = s->priv_data; @@ -107,6 +120,7 @@ static int adx_read_header(AVFormatContext *s) AVInputFormat ff_adx_demuxer = { .name = "adx", .long_name = NULL_IF_CONFIG_SMALL("CRI ADX"), + .read_probe = adx_probe, .priv_data_size = sizeof(ADXDemuxerContext), .read_header = adx_read_header, .read_packet = adx_read_packet, -- cgit v1.2.3