summaryrefslogtreecommitdiff
path: root/libavformat/ingenientdec.c
diff options
context:
space:
mode:
authorCarl Eugen Hoyos <cehoyos@ag.or.at>2015-10-24 13:28:32 +0200
committerCarl Eugen Hoyos <cehoyos@ag.or.at>2015-10-24 13:28:32 +0200
commita3bed3f3e1a0d76557217ed9ad4a9b20c89ddbcb (patch)
treea3aab9aed75118a7894420f3048e011109575dd9 /libavformat/ingenientdec.c
parent9c069bf71af2edc666088fa4a0ce20fedaf4ecdc (diff)
lavf/ingenientdec: Add a probe function.
Diffstat (limited to 'libavformat/ingenientdec.c')
-rw-r--r--libavformat/ingenientdec.c13
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,