diff options
author | Carl Eugen Hoyos <cehoyos@ag.or.at> | 2015-10-24 13:28:32 +0200 |
---|---|---|
committer | Carl Eugen Hoyos <cehoyos@ag.or.at> | 2015-10-24 13:28:32 +0200 |
commit | a3bed3f3e1a0d76557217ed9ad4a9b20c89ddbcb (patch) | |
tree | a3aab9aed75118a7894420f3048e011109575dd9 /libavformat/ingenientdec.c | |
parent | 9c069bf71af2edc666088fa4a0ce20fedaf4ecdc (diff) | |
download | ffmpeg-a3bed3f3e1a0d76557217ed9ad4a9b20c89ddbcb.tar.gz |
lavf/ingenientdec: Add a probe function.
Diffstat (limited to 'libavformat/ingenientdec.c')
-rw-r--r-- | libavformat/ingenientdec.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/libavformat/ingenientdec.c b/libavformat/ingenientdec.c index 94c549c711..c0ba61e81f 100644 --- a/libavformat/ingenientdec.c +++ b/libavformat/ingenientdec.c @@ -21,8 +21,18 @@ #include "avformat.h" #include "rawdec.h" +#include "libavutil/intreadwrite.h" + +// http://multimedia.cx/ingenient.txt +static int ingenient_probe(AVProbeData *p) +{ + if ( AV_RN32(p->buf) != AV_RN32("MJPG") + || p->buf_size < 50 + || AV_RB16(p->buf + 48) != 0xffd8) + return 0; + return AVPROBE_SCORE_MAX * 3 / 4; +} -// http://www.artificis.hu/files/texts/ingenient.txt static int ingenient_read_packet(AVFormatContext *s, AVPacket *pkt) { int ret, size, w, h, unk1, unk2; @@ -57,6 +67,7 @@ AVInputFormat ff_ingenient_demuxer = { .name = "ingenient", .long_name = NULL_IF_CONFIG_SMALL("raw Ingenient MJPEG"), .priv_data_size = sizeof(FFRawVideoDemuxerContext), + .read_probe = ingenient_probe, .read_header = ff_raw_video_read_header, .read_packet = ingenient_read_packet, .flags = AVFMT_GENERIC_INDEX, |