|
|
|
@@ -184,9 +184,9 @@ static int start_frame(AVFilterLink *link, AVFilterBufferRef *picref) |
|
|
|
return 0; |
|
|
|
|
|
|
|
if (!idet->prev) |
|
|
|
idet->prev = avfilter_ref_buffer(idet->cur, AV_PERM_READ); |
|
|
|
idet->prev = avfilter_ref_buffer(idet->cur, ~0); |
|
|
|
|
|
|
|
return ff_start_frame(ctx->outputs[0], avfilter_ref_buffer(idet->cur, AV_PERM_READ)); |
|
|
|
return ff_start_frame(ctx->outputs[0], avfilter_ref_buffer(idet->cur, ~0)); |
|
|
|
} |
|
|
|
|
|
|
|
static int end_frame(AVFilterLink *link) |
|
|
|
@@ -327,11 +327,12 @@ AVFilter avfilter_vf_idet = { |
|
|
|
.start_frame = start_frame, |
|
|
|
.draw_slice = null_draw_slice, |
|
|
|
.end_frame = end_frame, |
|
|
|
.rej_perms = AV_PERM_REUSE2, }, |
|
|
|
.min_perms = AV_PERM_PRESERVE }, |
|
|
|
{ .name = NULL}}, |
|
|
|
|
|
|
|
.outputs = (const AVFilterPad[]) {{ .name = "default", |
|
|
|
.type = AVMEDIA_TYPE_VIDEO, |
|
|
|
.rej_perms = AV_PERM_WRITE, |
|
|
|
.poll_frame = poll_frame, |
|
|
|
.request_frame = request_frame, }, |
|
|
|
{ .name = NULL}}, |
|
|
|
|