Hi! In the past, the ingenient demuxer was the reason for many bug reports. This has changed since mjpeg autodetection exists, but since ingenient auto-detection is easily possible, it should be added. Unfortunately, I cannot test attached patch, please review wrt http://multimedia.cx/ingenient.txt and the current ingenientdec.c source.
Thank you, Carl Eugen
diff --git a/libavformat/ingenientdec.c b/libavformat/ingenientdec.c index 94c549c..c0ba61e 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,
_______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel