[FFmpeg-cvslog] avformat/img2dec: remove the non-negative number requirement for start_number option

Liviu Oniciuc git at videolan.org
Tue Feb 3 19:01:17 CET 2015


ffmpeg | branch: master | Liviu Oniciuc <klmno.dev at gmx.com> | Tue Feb  3 09:01:29 2015 -0800| [b37858eae186ff84afd38cf3e845ba6e037e6397] | committer: Michael Niedermayer

avformat/img2dec: remove the non-negative number requirement for start_number option

industrial cameras usually mark the trigger frame as frame number 0
all frames saved before trigger frame receive a negative sequence number

Signed-off-by: Michael Niedermayer <michaelni at gmx.at>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=b37858eae186ff84afd38cf3e845ba6e037e6397
---

 libavformat/img2dec.c |    2 +-
 libavformat/utils.c   |    2 ++
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/libavformat/img2dec.c b/libavformat/img2dec.c
old mode 100644
new mode 100755
index 68cbefd..1ab1309
--- a/libavformat/img2dec.c
+++ b/libavformat/img2dec.c
@@ -537,7 +537,7 @@ const AVOption ff_img_options[] = {
     { "sequence",     "select sequence pattern type",        0, AV_OPT_TYPE_CONST,  {.i64=PT_SEQUENCE     }, 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   }, 0, INT_MAX, DEC },
+    { "start_number", "set first number in the sequence",    OFFSET(start_number), AV_OPT_TYPE_INT,    {.i64 = 0   }, INT_MIN, INT_MAX, DEC },
     { "start_number_range", "set range for looking at the first sequence number", OFFSET(start_number_range), AV_OPT_TYPE_INT, {.i64 = 5}, 1, INT_MAX, DEC },
     { "video_size",   "set video size",                      OFFSET(width),        AV_OPT_TYPE_IMAGE_SIZE, {.str = NULL}, 0, 0,   DEC },
     { "frame_size",   "force frame size in bytes",           OFFSET(frame_size),   AV_OPT_TYPE_INT,    {.i64 = 0   }, 0, INT_MAX, DEC },
diff --git a/libavformat/utils.c b/libavformat/utils.c
old mode 100644
new mode 100755
index 570603a..e44b45c
--- a/libavformat/utils.c
+++ b/libavformat/utils.c
@@ -3827,6 +3827,8 @@ int av_get_frame_filename(char *buf, int buf_size, const char *path, int number)
                 if (percentd_found)
                     goto fail;
                 percentd_found = 1;
+                if(number < 0)
+                    nd += 1;
                 snprintf(buf1, sizeof(buf1), "%0*d", nd, number);
                 len = strlen(buf1);
                 if ((q - buf + len) > buf_size - 1)



More information about the ffmpeg-cvslog mailing list