diff options
author | Clément Bœsch <ubitux@gmail.com> | 2012-12-26 23:19:30 +0400 |
---|---|---|
committer | Clément Bœsch <ubitux@gmail.com> | 2012-12-27 00:30:46 +0400 |
commit | 4cd724daeec3edca84e3eb8aaeba53be8a48c714 (patch) | |
tree | 7e03f3a5bf26928048a9ed1b485c8d0ef41591e8 /libavfilter | |
parent | 3b870f973ec1368441b2967c8945f2a22319d066 (diff) |
lavfi/tile: remove usage of link->{cur,out}_buf.
Diffstat (limited to 'libavfilter')
-rw-r--r-- | libavfilter/vf_tile.c | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/libavfilter/vf_tile.c b/libavfilter/vf_tile.c index 5f5c6d6f5b..d838ee825d 100644 --- a/libavfilter/vf_tile.c +++ b/libavfilter/vf_tile.c @@ -40,6 +40,7 @@ typedef struct { unsigned nb_frames; FFDrawContext draw; FFDrawColor blank; + AVFilterBufferRef *out_ref; } TileContext; #define REASONABLE_SIZE 1024 @@ -153,10 +154,9 @@ static int end_last_frame(AVFilterContext *ctx) { TileContext *tile = ctx->priv; AVFilterLink *outlink = ctx->outputs[0]; - AVFilterBufferRef *out_buf = outlink->out_buf; + AVFilterBufferRef *out_buf = tile->out_ref; int ret; - outlink->out_buf = NULL; while (tile->current < tile->nb_frames) draw_blank_frame(ctx, out_buf); ret = ff_filter_frame(outlink, out_buf); @@ -176,29 +176,29 @@ static int filter_frame(AVFilterLink *inlink, AVFilterBufferRef *picref) unsigned x0, y0; if (!tile->current) { - outlink->out_buf = ff_get_video_buffer(outlink, AV_PERM_WRITE, - outlink->w, outlink->h); - if (!outlink->out_buf) + tile->out_ref = ff_get_video_buffer(outlink, AV_PERM_WRITE, + outlink->w, outlink->h); + if (!tile->out_ref) return AVERROR(ENOMEM); - avfilter_copy_buffer_ref_props(outlink->out_buf, picref); - outlink->out_buf->video->w = outlink->w; - outlink->out_buf->video->h = outlink->h; + avfilter_copy_buffer_ref_props(tile->out_ref, picref); + tile->out_ref->video->w = outlink->w; + tile->out_ref->video->h = outlink->h; /* fill surface once for margin/padding */ if (tile->margin || tile->padding) ff_fill_rectangle(&tile->draw, &tile->blank, - outlink->out_buf->data, - outlink->out_buf->linesize, + tile->out_ref->data, + tile->out_ref->linesize, 0, 0, outlink->w, outlink->h); } get_current_tile_pos(ctx, &x0, &y0); ff_copy_rectangle2(&tile->draw, - outlink->out_buf->data, outlink->out_buf->linesize, - inlink ->cur_buf->data, inlink ->cur_buf->linesize, + tile->out_ref->data, tile->out_ref->linesize, + picref->data, picref->linesize, x0, y0, 0, 0, inlink->w, inlink->h); - avfilter_unref_bufferp(&inlink->cur_buf); + avfilter_unref_bufferp(&picref); if (++tile->current == tile->nb_frames) return end_last_frame(ctx); |