Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/FFmpeg/FFmpeg.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Ross <pross@xvid.org>2021-09-15 13:15:42 +0300
committerPeter Ross <pross@xvid.org>2021-10-08 12:37:36 +0300
commit4ff884069787161138e604b7aae495d27c457287 (patch)
tree3384759a1bbecf088fd92d6a4b8e7f0109a61bd7 /libavformat/img2dec.c
parent60a9d3778f87a1e458abf89eaa66edd5ba298935 (diff)
avformat/img2dec: add GEM Raster image demuxer
Signed-off-by: Peter Ross <pross@xvid.org>
Diffstat (limited to 'libavformat/img2dec.c')
-rw-r--r--libavformat/img2dec.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/libavformat/img2dec.c b/libavformat/img2dec.c
index ad4cc623c8..b535831e1c 100644
--- a/libavformat/img2dec.c
+++ b/libavformat/img2dec.c
@@ -1105,6 +1105,27 @@ static int photocd_probe(const AVProbeData *p)
return AVPROBE_SCORE_MAX - 1;
}
+static int gem_probe(const AVProbeData *p)
+{
+ const uint8_t *b = p->buf;
+ int ret = 0;
+ if ( AV_RB16(b ) >= 1 && AV_RB16(b ) <= 3 &&
+ AV_RB16(b + 2) >= 8 && AV_RB16(b + 2) <= 779 &&
+ (AV_RB16(b + 4) > 0 || AV_RB16(b + 4) <= 8) &&
+ (AV_RB16(b + 6) > 0 || AV_RB16(b + 6) <= 8) &&
+ AV_RB16(b + 8) &&
+ AV_RB16(b + 10) &&
+ AV_RB16(b + 12) &&
+ AV_RB16(b + 14)) {
+ ret = AVPROBE_SCORE_EXTENSION / 4;
+ if (AV_RN32(b + 16) == AV_RN32("STTT") ||
+ AV_RN32(b + 16) == AV_RN32("TIMG") ||
+ AV_RN32(b + 16) == AV_RN32("XIMG"))
+ ret += 1;
+ }
+ return ret;
+}
+
#define IMAGEAUTO_DEMUXER(imgname, codecid)\
const AVInputFormat ff_image_ ## imgname ## _pipe_demuxer = {\
.name = AV_STRINGIFY(imgname) "_pipe",\
@@ -1123,6 +1144,7 @@ IMAGEAUTO_DEMUXER(cri, AV_CODEC_ID_CRI)
IMAGEAUTO_DEMUXER(dds, AV_CODEC_ID_DDS)
IMAGEAUTO_DEMUXER(dpx, AV_CODEC_ID_DPX)
IMAGEAUTO_DEMUXER(exr, AV_CODEC_ID_EXR)
+IMAGEAUTO_DEMUXER(gem, AV_CODEC_ID_GEM)
IMAGEAUTO_DEMUXER(gif, AV_CODEC_ID_GIF)
IMAGEAUTO_DEMUXER(j2k, AV_CODEC_ID_JPEG2000)
IMAGEAUTO_DEMUXER(jpeg, AV_CODEC_ID_MJPEG)