From 5894e1bbf2f4f32949633edd01fdc237eb3cca07 Mon Sep 17 00:00:00 2001 From: =?utf8?q?V=C3=ADctor=20Paesa?= Date: Thu, 13 Jul 2006 21:13:49 +0000 Subject: [PATCH] =?utf8?q?add=20loop=5Finput=20to=20AVFormatContext,=20get?= =?utf8?q?ting=20rid=20of=20old=20hack=20patch=20by=20V=C3=ADctor=20Paesa?= =?utf8?q?=20?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Originally committed as revision 5729 to svn://svn.ffmpeg.org/ffmpeg/trunk --- ffmpeg.c | 4 +++- libavformat/avformat.h | 6 ++++-- libavformat/img.c | 5 +---- libavformat/img2.c | 5 +---- 4 files changed, 9 insertions(+), 11 deletions(-) diff --git a/ffmpeg.c b/ffmpeg.c index 473185f..cf866b3 100644 --- a/ffmpeg.c +++ b/ffmpeg.c @@ -159,7 +159,7 @@ static int me_penalty_compensation= 256; static int frame_skip_threshold= 0; static int frame_skip_factor= 0; static int frame_skip_exp= 0; -extern int loop_input; /* currently a hack */ +static int loop_input = 0; static int loop_output = AVFMT_NOOUTPUTLOOP; static int genpts = 0; static int qp_hist = 0; @@ -2843,6 +2843,8 @@ static void opt_input_file(const char *filename) exit(1); } + ic->loop_input = loop_input; + if(genpts) ic->flags|= AVFMT_FLAG_GENPTS; diff --git a/libavformat/avformat.h b/libavformat/avformat.h index 1eff031..df87339 100644 --- a/libavformat/avformat.h +++ b/libavformat/avformat.h @@ -5,8 +5,8 @@ extern "C" { #endif -#define LIBAVFORMAT_VERSION_INT ((50<<16)+(4<<8)+0) -#define LIBAVFORMAT_VERSION 50.4.0 +#define LIBAVFORMAT_VERSION_INT ((50<<16)+(5<<8)+0) +#define LIBAVFORMAT_VERSION 50.5.0 #define LIBAVFORMAT_BUILD LIBAVFORMAT_VERSION_INT #define LIBAVFORMAT_IDENT "Lavf" AV_STRINGIFY(LIBAVFORMAT_VERSION) @@ -337,6 +337,8 @@ typedef struct AVFormatContext { int flags; #define AVFMT_FLAG_GENPTS 0x0001 ///< generate pts if missing even if it requires parsing future frames + + int loop_input; } AVFormatContext; typedef struct AVPacketList { diff --git a/libavformat/img.c b/libavformat/img.c index 047113b..2d12e31 100644 --- a/libavformat/img.c +++ b/libavformat/img.c @@ -18,9 +18,6 @@ */ #include "avformat.h" -/* XXX: this is a hack */ -int loop_input = 0; - typedef struct { int width; int height; @@ -200,7 +197,7 @@ static int img_read_packet(AVFormatContext *s1, AVPacket *pkt) if (!s->is_pipe) { /* loop over input */ - if (loop_input && s->img_number > s->img_last) { + if (s1->loop_input && s->img_number > s->img_last) { s->img_number = s->img_first; } if (get_frame_filename(filename, sizeof(filename), diff --git a/libavformat/img2.c b/libavformat/img2.c index d3efc7a..ef67132 100644 --- a/libavformat/img2.c +++ b/libavformat/img2.c @@ -19,9 +19,6 @@ */ #include "avformat.h" -/* XXX: this is a hack */ -extern int loop_input; - typedef struct { int img_first; int img_last; @@ -236,7 +233,7 @@ static int img_read_packet(AVFormatContext *s1, AVPacket *pkt) if (!s->is_pipe) { /* loop over input */ - if (loop_input && s->img_number > s->img_last) { + if (s1->loop_input && s->img_number > s->img_last) { s->img_number = s->img_first; } if (get_frame_filename(filename, sizeof(filename), -- 2.7.4