summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLiviu Oniciuc <klmno.dev@gmx.com>2015-02-03 09:01:29 -0800
committerMichael Niedermayer <michaelni@gmx.at>2015-02-03 18:57:23 +0100
commitb37858eae186ff84afd38cf3e845ba6e037e6397 (patch)
treec204d5bbf07706a75e846096ea7d400171099edb
parent6a0cd529a35190d9374b0b26504e71857cd67b83 (diff)
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@gmx.at>
-rwxr-xr-x[-rw-r--r--]libavformat/img2dec.c2
-rwxr-xr-x[-rw-r--r--]libavformat/utils.c2
2 files changed, 3 insertions, 1 deletions
diff --git a/libavformat/img2dec.c b/libavformat/img2dec.c
index 68cbefd12c..1ab13091fd 100644..100755
--- 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
index 570603a725..e44b45cefb 100644..100755
--- 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)