diff img2.c @ 583:7793767ffe35 libavformat

move p*m from image/lavf -> image2/lavc video/audio_codec_id in AVFormatParameters to override/help demuxer av_guess_codec() to guess the default codecs based upon muxer + filename
author michael
date Thu, 11 Nov 2004 18:09:28 +0000
parents 03377d4de76a
children 10ad229f9d00
line wrap: on
line diff
--- a/img2.c	Wed Nov 10 00:02:06 2004 +0000
+++ b/img2.c	Thu Nov 11 18:09:28 2004 +0000
@@ -38,6 +38,11 @@
     { CODEC_ID_MJPEG     , "jpg"},
     { CODEC_ID_LJPEG     , "ljpg"},
     { CODEC_ID_PNG       , "png"},
+    { CODEC_ID_PPM       , "ppm"},
+    { CODEC_ID_PGM       , "pgm"},
+    { CODEC_ID_PGMYUV    , "pgmyuv"},
+    { CODEC_ID_PBM       , "pbm"},
+    { CODEC_ID_PAM       , "pam"},
     { CODEC_ID_MPEG1VIDEO, "mpg1-img"},
     { CODEC_ID_MPEG2VIDEO, "mpg2-img"},
     { CODEC_ID_MPEG4     , "mpg4-img"},
@@ -133,6 +138,10 @@
         return 0;
 }
 
+enum CodecID av_guess_image2_codec(const char *filename){
+    return av_str2id(img_tags, filename);
+}
+
 static int img_read_header(AVFormatContext *s1, AVFormatParameters *ap)
 {
     VideoData *s = s1->priv_data;
@@ -180,8 +189,16 @@
                         st->codec.frame_rate_base) / st->codec.frame_rate;
     }
     
-    st->codec.codec_type = CODEC_TYPE_VIDEO;
-    st->codec.codec_id = av_str2id(img_tags, s->path);
+    if(ap->video_codec_id){
+        st->codec.codec_type = CODEC_TYPE_VIDEO;
+        st->codec.codec_id = ap->video_codec_id;
+    }else if(ap->audio_codec_id){
+        st->codec.codec_type = CODEC_TYPE_AUDIO;
+        st->codec.codec_id = ap->audio_codec_id;
+    }else{
+        st->codec.codec_type = CODEC_TYPE_VIDEO;
+        st->codec.codec_id = av_str2id(img_tags, s->path);
+    }
 
     return 0;