mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
avfilter/vf_idet: Fixing idet for single-frame inputs.
Handle single frame inputs similar to yadif (e.g.,0f9f24c9cf
and681e008d06
) Example: ffmpeg -r 1 -t 1 -i fate-suite/ffmpeg-synthetic/vsynth1/%02d.pgm -vf idet,showinfo -f null -y /dev/null Previously: Output file is empty, nothing was encoded (check -ss / -t / -frames parameters if used) [Parsed_idet_0 @ 0x36389d0] Repeated Fields: Neither: 0 Top: 0 Bottom: 0 After patch: [Parsed_showinfo_1 @ 0x1909810] n:0 pts:0 pts_time:0 pos:-1 fmt:gray sar:0/1 s:352x432 ... [Parsed_idet_0 @ 0x18f9bb0] Repeated Fields: Neither: 1 Top: 0 Bottom: 0 Fate looks good. Signed-off-by: Neil Birkbeck <neil.birkbeck@gmail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
parent
27897d2ef6
commit
dd5d617956
@ -241,11 +241,12 @@ static int filter_frame(AVFilterLink *link, AVFrame *picref)
|
||||
idet->cur = idet->next;
|
||||
idet->next = picref;
|
||||
|
||||
if (!idet->cur)
|
||||
return 0;
|
||||
if (!idet->cur &&
|
||||
!(idet->cur = av_frame_clone(idet->next)))
|
||||
return AVERROR(ENOMEM);
|
||||
|
||||
if (!idet->prev)
|
||||
idet->prev = av_frame_clone(idet->cur);
|
||||
return 0;
|
||||
|
||||
if (!idet->csp)
|
||||
idet->csp = av_pix_fmt_desc_get(link->format);
|
||||
@ -284,7 +285,7 @@ static int request_frame(AVFilterLink *link)
|
||||
} else if (ret < 0) {
|
||||
return ret;
|
||||
}
|
||||
} while (!idet->cur);
|
||||
} while (!idet->prev);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user