Esempio n. 1
0
static int end_frame(AVFilterLink *link)
{
    AVFilterContext *ctx = link->dst;
    ColorMatrixContext *color = ctx->priv;
    AVFilterBufferRef *out = color->outpicref;

    if (link->cur_buf->format == AV_PIX_FMT_YUV422P)
        process_frame_yuv422p(color, out, link->cur_buf);
    else if (link->cur_buf->format == AV_PIX_FMT_YUV420P)
        process_frame_yuv420p(color, out, link->cur_buf);
    else
        process_frame_uyvy422(color, out, link->cur_buf);

    ff_draw_slice(ctx->outputs[0], 0, link->dst->outputs[0]->h, 1);
    return ff_end_frame(ctx->outputs[0]);
}
Esempio n. 2
0
static void end_frame(AVFilterLink *link)
{
    AVFilterContext *ctx = link->dst;
    ColorMatrixContext *color = ctx->priv;
    AVFilterBufferRef *out = link->dst->outputs[0]->out_buf;

    if (link->cur_buf->format == PIX_FMT_YUV422P)
        process_frame_yuv422p(color, out, link->cur_buf);
    else if (link->cur_buf->format == PIX_FMT_YUV420P)
        process_frame_yuv420p(color, out, link->cur_buf);
    else
        process_frame_uyvy422(color, out, link->cur_buf);

    avfilter_draw_slice(ctx->outputs[0], 0, link->dst->outputs[0]->h, 1);
    avfilter_end_frame(ctx->outputs[0]);
    avfilter_unref_buffer(link->cur_buf);
}