Browse Source

Adjust the default start_frame() and end_frame() implementations to simplify

the implementation of simple filters.

Commited in SoC by Bobby Bingham on 2007-07-08 16:48:15

Originally committed as revision 11982 to svn://svn.ffmpeg.org/ffmpeg/trunk
tags/v0.5
Vitor Sessak 17 years ago
parent
commit
3628fbe092
1 changed files with 15 additions and 0 deletions
  1. +15
    -0
      libavfilter/avfilter.c

+ 15
- 0
libavfilter/avfilter.c View File

@@ -64,13 +64,28 @@ AVFilterPicRef *avfilter_default_get_video_buffer(AVFilterLink *link, int perms)


void avfilter_default_start_frame(AVFilterLink *link, AVFilterPicRef *picref) void avfilter_default_start_frame(AVFilterLink *link, AVFilterPicRef *picref)
{ {
AVFilterLink *out = link->dst->outputs[0];

link->cur_pic = picref; link->cur_pic = picref;

if(out) {
out->outpic = avfilter_get_video_buffer(out, AV_PERM_WRITE);
avfilter_start_frame(out, avfilter_ref_pic(out->outpic, ~0));
}
} }


void avfilter_default_end_frame(AVFilterLink *link) void avfilter_default_end_frame(AVFilterLink *link)
{ {
AVFilterLink *out = link->dst->outputs[0];

avfilter_unref_pic(link->cur_pic); avfilter_unref_pic(link->cur_pic);
link->cur_pic = NULL; link->cur_pic = NULL;

if(out) {
avfilter_unref_pic(out->outpic);
out->outpic = NULL;
avfilter_end_frame(out);
}
} }


AVFilterPicRef *avfilter_ref_pic(AVFilterPicRef *ref, int pmask) AVFilterPicRef *avfilter_ref_pic(AVFilterPicRef *ref, int pmask)


Loading…
Cancel
Save