ignore index parameter to ignore the ODML index in avi
authorMichael Niedermayer <michaelni@gmx.at>
Tue, 5 Sep 2006 19:23:32 +0000 (19:23 +0000)
committerMichael Niedermayer <michaelni@gmx.at>
Tue, 5 Sep 2006 19:23:32 +0000 (19:23 +0000)
Originally committed as revision 6177 to svn://svn.ffmpeg.org/ffmpeg/trunk

ffmpeg.c
libavformat/avformat.h
libavformat/avidec.c
libavformat/utils.c

index 1bc63ac..6f4fcb2 100644 (file)
--- a/ffmpeg.c
+++ b/ffmpeg.c
@@ -162,7 +162,6 @@ static int frame_skip_factor= 0;
 static int frame_skip_exp= 0;
 static int loop_input = 0;
 static int loop_output = AVFMT_NOOUTPUTLOOP;
-static int genpts = 0;
 static int qp_hist = 0;
 
 static int gop_size = 12;
@@ -2816,9 +2815,6 @@ static void opt_input_file(const char *filename)
 
     ic->loop_input = loop_input;
 
-    if(genpts)
-        ic->flags|= AVFMT_FLAG_GENPTS;
-
     /* If not enough info to get the stream parameters, we decode the
        first frames to get it. (used in mpeg case for example) */
     ret = av_find_stream_info(ic);
@@ -4080,7 +4076,6 @@ const OptionDef options[] = {
     { "skip_factor", OPT_INT | HAS_ARG | OPT_EXPERT | OPT_VIDEO, {(void*)&frame_skip_factor}, "frame skip factor", "factor" },
     { "skip_exp", OPT_INT | HAS_ARG | OPT_EXPERT | OPT_VIDEO, {(void*)&frame_skip_exp}, "frame skip exponent", "exponent" },
     { "newvideo", OPT_VIDEO, {(void*)opt_new_video_stream}, "add a new video stream to the current output stream" },
-    { "genpts", OPT_BOOL | OPT_EXPERT | OPT_VIDEO, { (void *)&genpts }, "generate pts" },
     { "qphist", OPT_BOOL | OPT_EXPERT | OPT_VIDEO, { (void *)&qp_hist }, "show QP histogram" },
 
     /* audio options */
index ad16898..ff6166a 100644 (file)
@@ -342,6 +342,7 @@ typedef struct AVFormatContext {
 
     int flags;
 #define AVFMT_FLAG_GENPTS       0x0001 ///< generate pts if missing even if it requires parsing future frames
+#define AVFMT_FLAG_IGNIDX       0x0002 ///< ignore index
 
     int loop_input;
     /* decoding: size of data to probe; encoding unused */
index 8744be6..0e03365 100644 (file)
@@ -456,7 +456,7 @@ static int avi_read_header(AVFormatContext *s, AVFormatParameters *ap)
             break;
         case MKTAG('i', 'n', 'd', 'x'):
             i= url_ftell(pb);
-            if(!url_is_streamed(pb)){
+            if(!url_is_streamed(pb) && !(s->flags & AVFMT_FLAG_IGNIDX)){
                 read_braindead_odml_indx(s, 0);
             }
             url_fseek(pb, i+size, SEEK_SET);
index dfb7cb8..ea447c1 100644 (file)
@@ -466,6 +466,9 @@ static const char* format_to_name(void* ptr)
 
 static const AVOption options[]={
 {"probesize", NULL, OFFSET(probesize), FF_OPT_TYPE_INT, DEFAULT, 32, INT_MAX, D},
+{"fflags", NULL, OFFSET(flags), FF_OPT_TYPE_FLAGS, DEFAULT, INT_MIN, INT_MAX, D, "fflags"},
+{"ignidx", "ignore index", 0, FF_OPT_TYPE_CONST, AVFMT_FLAG_IGNIDX, INT_MIN, INT_MAX, D, "fflags"},
+{"genpts", "generate pts", 0, FF_OPT_TYPE_CONST, AVFMT_FLAG_GENPTS, INT_MIN, INT_MAX, D, "fflags"},
 {NULL},
 };