[FFmpeg-devel] [PATCH] lavf/img2dec: add option to disable pattern matching
Michael Niedermayer
michaelni at gmx.at
Tue May 12 13:32:52 CEST 2015
On Tue, May 12, 2015 at 01:26:56PM +0200, Stefano Sabatini wrote:
> On date Tuesday 2015-05-12 02:22:02 +0200, Marton Balint encoded:
> > Signed-off-by: Marton Balint <cus at passwd.hu>
> > ---
> > doc/demuxers.texi | 4 ++++
> > libavformat/img2.h | 3 ++-
> > libavformat/img2dec.c | 9 ++++++---
> > libavformat/version.h | 2 +-
> > 4 files changed, 13 insertions(+), 5 deletions(-)
> >
> > diff --git a/doc/demuxers.texi b/doc/demuxers.texi
> > index 3f7c45e..b7ddebb 100644
> > --- a/doc/demuxers.texi
> > +++ b/doc/demuxers.texi
> > @@ -258,6 +258,10 @@ Select the pattern type used to interpret the provided filename.
> >
> > @var{pattern_type} accepts one of the following values.
> > @table @option
> > + at item none
> > +Disable pattern matching, therefore the video will only contain the specified
> > +image. You should use this option if you do not want to create sequences from
> > +multiple images and your filenames may contain special pattern characters.
> > @item sequence
> > Select a sequence pattern type, used to specify a sequence of files
> > indexed by sequential numbers.
> > diff --git a/libavformat/img2.h b/libavformat/img2.h
> > index e4bcb26..f6b9dd9 100644
> > --- a/libavformat/img2.h
> > +++ b/libavformat/img2.h
> > @@ -33,7 +33,8 @@
> > enum PatternType {
> > PT_GLOB_SEQUENCE,
> > PT_GLOB,
> > - PT_SEQUENCE
> > + PT_SEQUENCE,
> > + PT_NONE
> > };
> >
> > typedef struct VideoDemuxData {
> > diff --git a/libavformat/img2dec.c b/libavformat/img2dec.c
> > index ba29110..0830f00 100644
> > --- a/libavformat/img2dec.c
> > +++ b/libavformat/img2dec.c
> > @@ -177,7 +177,7 @@ static int img_read_probe(AVProbeData *p)
> > int ff_img_read_header(AVFormatContext *s1)
> > {
> > VideoDemuxData *s = s1->priv_data;
> > - int first_index, last_index;
> > + int first_index = 1, last_index = 1;
> > AVStream *st;
> > enum AVPixelFormat pix_fmt = AV_PIX_FMT_NONE;
> >
> > @@ -282,7 +282,7 @@ int ff_img_read_header(AVFormatContext *s1)
> > "is not supported by this libavformat build\n");
> > return AVERROR(ENOSYS);
> > #endif
> > - } else if (s->pattern_type != PT_GLOB_SEQUENCE) {
> > + } else if (s->pattern_type != PT_GLOB_SEQUENCE && s->pattern_type != PT_NONE) {
> > av_log(s1, AV_LOG_ERROR,
> > "Unknown value '%d' for pattern_type option\n", s->pattern_type);
> > return AVERROR(EINVAL);
> > @@ -377,7 +377,9 @@ int ff_img_read_packet(AVFormatContext *s1, AVPacket *pkt)
> > }
> > if (s->img_number > s->img_last)
> > return AVERROR_EOF;
> > - if (s->use_glob) {
> > + if (s->pattern_type == PT_NONE) {
> > + av_strlcpy(filename_bytes, s->path, sizeof(filename_bytes));
> > + } else if (s->use_glob) {
> > #if HAVE_GLOB
> > filename = s->globstate.gl_pathv[s->img_number];
> > #endif
> > @@ -538,6 +540,7 @@ const AVOption ff_img_options[] = {
> > { "glob_sequence","select glob/sequence pattern type", 0, AV_OPT_TYPE_CONST, {.i64=PT_GLOB_SEQUENCE}, INT_MIN, INT_MAX, DEC, "pattern_type" },
> > { "glob", "select glob pattern type", 0, AV_OPT_TYPE_CONST, {.i64=PT_GLOB }, INT_MIN, INT_MAX, DEC, "pattern_type" },
> > { "sequence", "select sequence pattern type", 0, AV_OPT_TYPE_CONST, {.i64=PT_SEQUENCE }, INT_MIN, INT_MAX, DEC, "pattern_type" },
> > + { "none", "disable pattern matching", 0, AV_OPT_TYPE_CONST, {.i64=PT_NONE }, INT_MIN, INT_MAX, DEC, "pattern_type" },
> >
> > { "pixel_format", "set video pixel format", OFFSET(pixel_format), AV_OPT_TYPE_STRING, {.str = NULL}, 0, 0, DEC },
> > { "start_number", "set first number in the sequence", OFFSET(start_number), AV_OPT_TYPE_INT, {.i64 = 0 }, INT_MIN, INT_MAX, DEC },
> > diff --git a/libavformat/version.h b/libavformat/version.h
> > index 071fe5d..e16d316 100644
> > --- a/libavformat/version.h
> > +++ b/libavformat/version.h
> > @@ -31,7 +31,7 @@
> >
> > #define LIBAVFORMAT_VERSION_MAJOR 56
> > #define LIBAVFORMAT_VERSION_MINOR 33
> > -#define LIBAVFORMAT_VERSION_MICRO 100
> > +#define LIBAVFORMAT_VERSION_MICRO 101
> >
> > #define LIBAVFORMAT_VERSION_INT AV_VERSION_INT(LIBAVFORMAT_VERSION_MAJOR, \
> > LIBAVFORMAT_VERSION_MINOR, \
>
> LGTM.
applied
thanks
[...]
--
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
If you think the mosad wants you dead since a long time then you are either
wrong or dead since a long time.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 181 bytes
Desc: Digital signature
URL: <https://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20150512/85e33be4/attachment.asc>
More information about the ffmpeg-devel
mailing list