Reviewed-by: Nicolas George <nicolas.george@normalesup.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
... | ... |
@@ -421,7 +421,7 @@ int avfilter_register(AVFilter *filter) |
421 | 421 |
for(i=0; filter->inputs && filter->inputs[i].name; i++) { |
422 | 422 |
const AVFilterPad *input = &filter->inputs[i]; |
423 | 423 |
av_assert0( !input->filter_frame |
424 |
- || (!input->start_frame && !input->end_frame && !input->draw_slice)); |
|
424 |
+ || (!input->start_frame && !input->end_frame)); |
|
425 | 425 |
} |
426 | 426 |
|
427 | 427 |
registered_avfilters[next_registered_avfilter_idx++] = filter; |
... | ... |
@@ -128,16 +128,6 @@ struct AVFilterPad { |
128 | 128 |
int (*end_frame)(AVFilterLink *link); |
129 | 129 |
|
130 | 130 |
/** |
131 |
- * Slice drawing callback. This is where a filter receives video data |
|
132 |
- * and should do its processing. |
|
133 |
- * |
|
134 |
- * Input video pads only. |
|
135 |
- * |
|
136 |
- * @return >= 0 on success, a negative AVERROR on error. |
|
137 |
- */ |
|
138 |
- int (*draw_slice)(AVFilterLink *link, int y, int height, int slice_dir); |
|
139 |
- |
|
140 |
- /** |
|
141 | 131 |
* Filtering callback. This is where a filter receives a frame with |
142 | 132 |
* audio/video data and should do its processing. |
143 | 133 |
* |
... | ... |
@@ -166,7 +166,7 @@ static int default_start_frame(AVFilterLink *inlink, AVFilterBufferRef *picref) |
166 | 166 |
if (inlink->dst->nb_outputs) |
167 | 167 |
outlink = inlink->dst->outputs[0]; |
168 | 168 |
|
169 |
- if (outlink && (inlink->dstpad->start_frame || inlink->dstpad->end_frame || inlink->dstpad->draw_slice)) { |
|
169 |
+ if (outlink && (inlink->dstpad->start_frame || inlink->dstpad->end_frame)) { |
|
170 | 170 |
AVFilterBufferRef *buf_out; |
171 | 171 |
outlink->out_buf = ff_get_video_buffer(outlink, AV_PERM_WRITE, outlink->w, outlink->h); |
172 | 172 |
if (!outlink->out_buf) |
... | ... |
@@ -283,7 +283,7 @@ static int default_end_frame(AVFilterLink *inlink) |
283 | 283 |
int ret = inlink->dstpad->filter_frame(inlink, inlink->cur_buf); |
284 | 284 |
inlink->cur_buf = NULL; |
285 | 285 |
return ret; |
286 |
- } else if (inlink->dstpad->start_frame || inlink->dstpad->end_frame || inlink->dstpad->draw_slice){ |
|
286 |
+ } else if (inlink->dstpad->start_frame || inlink->dstpad->end_frame){ |
|
287 | 287 |
return ff_end_frame(outlink); |
288 | 288 |
} else { |
289 | 289 |
int ret = ff_filter_frame(outlink, inlink->cur_buf); |
... | ... |
@@ -309,23 +309,10 @@ int ff_end_frame(AVFilterLink *link) |
309 | 309 |
return ret; |
310 | 310 |
} |
311 | 311 |
|
312 |
-static int default_draw_slice(AVFilterLink *inlink, int y, int h, int slice_dir) |
|
313 |
-{ |
|
314 |
- AVFilterLink *outlink = NULL; |
|
315 |
- |
|
316 |
- if (inlink->dst->nb_outputs) |
|
317 |
- outlink = inlink->dst->outputs[0]; |
|
318 |
- |
|
319 |
- if (outlink && (inlink->dstpad->start_frame || inlink->dstpad->end_frame || inlink->dstpad->draw_slice)) |
|
320 |
- return ff_draw_slice(outlink, y, h, slice_dir); |
|
321 |
- return 0; |
|
322 |
-} |
|
323 |
- |
|
324 | 312 |
int ff_draw_slice(AVFilterLink *link, int y, int h, int slice_dir) |
325 | 313 |
{ |
326 | 314 |
uint8_t *src[4], *dst[4]; |
327 |
- int i, j, vsub, ret; |
|
328 |
- int (*draw_slice)(AVFilterLink *, int, int, int); |
|
315 |
+ int i, j, vsub; |
|
329 | 316 |
|
330 | 317 |
FF_TPRINTF_START(NULL, draw_slice); ff_tlog_link(NULL, link, 0); ff_tlog(NULL, " y:%d h:%d dir:%d\n", y, h, slice_dir); |
331 | 318 |
|
... | ... |
@@ -358,14 +345,8 @@ int ff_draw_slice(AVFilterLink *link, int y, int h, int slice_dir) |
358 | 358 |
} |
359 | 359 |
} |
360 | 360 |
|
361 |
- if (!(draw_slice = link->dstpad->draw_slice)) |
|
362 |
- draw_slice = default_draw_slice; |
|
363 |
- ret = draw_slice(link, y, h, slice_dir); |
|
364 |
- if (ret < 0) |
|
365 |
- clear_link(link); |
|
366 |
- else |
|
367 | 361 |
/* incoming buffers must not be freed in start frame, |
368 | 362 |
because they can still be in use by the automatic copy mechanism */ |
369 | 363 |
av_assert1(link->cur_buf_copy->buf->refcount > 0); |
370 |
- return ret; |
|
364 |
+ return 0; |
|
371 | 365 |
} |