void avfilter_unref_buffer(AVFilterBufferRef *ref)
{
    if(!(--ref->buf->refcount))
        ref->buf->free(ref->buf);
    av_free(ref->video);
    av_free(ref);
}
['static void end_frame(AVFilterLink *link)\n{\n    UnsharpContext *unsharp = link->dst->priv;\n    AVFilterBufferRef *in  = link->cur_buf;\n    AVFilterBufferRef *out = link->dst->outputs[0]->out_buf;\n    unsharpen(out->data[0], in->data[0], out->linesize[0], in->linesize[0], link->w,            link->h,             &unsharp->luma);\n    unsharpen(out->data[1], in->data[1], out->linesize[1], in->linesize[1], CHROMA_WIDTH(link), CHROMA_HEIGHT(link), &unsharp->chroma);\n    unsharpen(out->data[2], in->data[2], out->linesize[2], in->linesize[2], CHROMA_WIDTH(link), CHROMA_HEIGHT(link), &unsharp->chroma);\n    avfilter_unref_buffer(in);\n    avfilter_draw_slice(link->dst->outputs[0], 0, link->h, 1);\n    avfilter_end_frame(link->dst->outputs[0]);\n    avfilter_unref_buffer(out);\n}', 'void avfilter_unref_buffer(AVFilterBufferRef *ref)\n{\n    if(!(--ref->buf->refcount))\n        ref->buf->free(ref->buf);\n    av_free(ref->video);\n    av_free(ref);\n}']