]> git.sesse.net Git - ffmpeg/blobdiff - libavformat/img2dec.c
lavc/pngdec: restructure exporting frame meta/side data
[ffmpeg] / libavformat / img2dec.c
index dcf07a69bc0554c1c03f4e51123daa77b112cb2b..be7149bb2f65218b41cd8c11193e91f0100470f3 100644 (file)
@@ -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)
@@ -1033,6 +1034,9 @@ static int pam_probe(const AVProbeData *p)
 
 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;