* Extend the syntax of a filename for the img reader to allow looping. Thus
%125*d means substitute the frame number MOD 125 into the filename. This is a cheap method of having an infinite stream. Originally committed as revision 1332 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
@@ -1089,11 +1089,20 @@ int get_frame_filename(char *buf, int buf_size,
|
|||||||
if (c == '\0')
|
if (c == '\0')
|
||||||
break;
|
break;
|
||||||
if (c == '%') {
|
if (c == '%') {
|
||||||
nd = 0;
|
do {
|
||||||
while (*p >= '0' && *p <= '9') {
|
nd = 0;
|
||||||
nd = nd * 10 + *p++ - '0';
|
while (isdigit(*p)) {
|
||||||
}
|
nd = nd * 10 + *p++ - '0';
|
||||||
c = *p++;
|
}
|
||||||
|
c = *p++;
|
||||||
|
if (c == '*' && nd > 0) {
|
||||||
|
// The nd field is actually the modulus
|
||||||
|
number = number % nd;
|
||||||
|
c = *p++;
|
||||||
|
nd = 0;
|
||||||
|
}
|
||||||
|
} while (isdigit(c));
|
||||||
|
|
||||||
switch(c) {
|
switch(c) {
|
||||||
case '%':
|
case '%':
|
||||||
goto addchar;
|
goto addchar;
|
||||||
|
Reference in New Issue
Block a user