X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavformat%2Fimg2dec.c;h=7b03cb2af1d3911b1d491fadaaa354d5396c6a22;hb=704017d91ec8fbade0de072d222018c1a6013b70;hp=1279d47f54ff093fba43125a25f1b0497633e891;hpb=2943c3debd611c0f37f8ff5eafb34ed369009a9c;p=ffmpeg diff --git a/libavformat/img2dec.c b/libavformat/img2dec.c index 1279d47f54f..7b03cb2af1d 100644 --- a/libavformat/img2dec.c +++ b/libavformat/img2dec.c @@ -222,7 +222,7 @@ int ff_img_read_header(AVFormatContext *s1) avpriv_set_pts_info(st, 64, 1, 1); else { avpriv_set_pts_info(st, 64, s->framerate.den, s->framerate.num); - st->avg_frame_rate = s->framerate; + st->avg_frame_rate = st->r_frame_rate = s->framerate; } if (s->width && s->height) { @@ -381,9 +381,10 @@ int ff_img_read_header(AVFormatContext *s1) * as a dictionary, so it can be used by filters like 'drawtext'. */ static int add_filename_as_pkt_side_data(char *filename, AVPacket *pkt) { - int metadata_len, ret; AVDictionary *d = NULL; char *packed_metadata = NULL; + buffer_size_t metadata_len; + int ret; av_dict_set(&d, "lavf.image2dec.source_path", filename, 0); av_dict_set(&d, "lavf.image2dec.source_basename", av_basename(filename), 0); @@ -993,7 +994,7 @@ static inline int pnm_probe(const AVProbeData *p) static int pbm_probe(const AVProbeData *p) { - return pnm_magic_check(p, 1) || pnm_magic_check(p, 4) ? pnm_probe(p) : 0; + return pnm_magic_check(p, 1) || pnm_magic_check(p, 4) || pnm_magic_check(p, 22) || pnm_magic_check(p, 54) ? pnm_probe(p) : 0; } static inline int pgmx_probe(const AVProbeData *p) @@ -1031,6 +1032,16 @@ static int pam_probe(const AVProbeData *p) return pnm_magic_check(p, 7) ? pnm_probe(p) : 0; } +static int xbm_probe(const AVProbeData *p) +{ + if (!memcmp(p->buf, "/* XBM X10 format */", 20)) + return AVPROBE_SCORE_MAX; + + if (!memcmp(p->buf, "#define", 7)) + return AVPROBE_SCORE_MAX - 1; + return 0; +} + static int xpm_probe(const AVProbeData *p) { const uint8_t *b = p->buf; @@ -1139,5 +1150,6 @@ IMAGEAUTO_DEMUXER(sunrast, AV_CODEC_ID_SUNRAST) IMAGEAUTO_DEMUXER(svg, AV_CODEC_ID_SVG) IMAGEAUTO_DEMUXER(tiff, AV_CODEC_ID_TIFF) IMAGEAUTO_DEMUXER(webp, AV_CODEC_ID_WEBP) +IMAGEAUTO_DEMUXER(xbm, AV_CODEC_ID_XBM) IMAGEAUTO_DEMUXER(xpm, AV_CODEC_ID_XPM) IMAGEAUTO_DEMUXER(xwd, AV_CODEC_ID_XWD)