diff options
author | Anton Khirnov <anton@khirnov.net> | 2012-07-14 09:25:33 +0200 |
---|---|---|
committer | Anton Khirnov <anton@khirnov.net> | 2012-07-22 09:14:05 +0200 |
commit | d4f89906e3b310609b636cf6071313ec557ec873 (patch) | |
tree | af879b33d3d8b1fdf14c517bfb1317f349042b15 /libavfilter/vf_unsharp.c | |
parent | e9b992d035b58209d66115bd7d964741dd31d592 (diff) |
lavfi: add error handling to end_frame().
Diffstat (limited to 'libavfilter/vf_unsharp.c')
-rw-r--r-- | libavfilter/vf_unsharp.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/libavfilter/vf_unsharp.c b/libavfilter/vf_unsharp.c index 41bcae2dd1..6140c75a87 100644 --- a/libavfilter/vf_unsharp.c +++ b/libavfilter/vf_unsharp.c @@ -213,20 +213,23 @@ static av_cold void uninit(AVFilterContext *ctx) free_filter_param(&unsharp->chroma); } -static void end_frame(AVFilterLink *link) +static int end_frame(AVFilterLink *link) { UnsharpContext *unsharp = link->dst->priv; AVFilterBufferRef *in = link->cur_buf; AVFilterBufferRef *out = link->dst->outputs[0]->out_buf; int cw = SHIFTUP(link->w, unsharp->hsub); int ch = SHIFTUP(link->h, unsharp->vsub); + int ret; apply_unsharp(out->data[0], out->linesize[0], in->data[0], in->linesize[0], link->w, link->h, &unsharp->luma); apply_unsharp(out->data[1], out->linesize[1], in->data[1], in->linesize[1], cw, ch, &unsharp->chroma); apply_unsharp(out->data[2], out->linesize[2], in->data[2], in->linesize[2], cw, ch, &unsharp->chroma); - ff_draw_slice(link->dst->outputs[0], 0, link->h, 1); - ff_end_frame(link->dst->outputs[0]); + if ((ret = ff_draw_slice(link->dst->outputs[0], 0, link->h, 1)) < 0 || + (ret = ff_end_frame(link->dst->outputs[0])) < 0) + return ret; + return 0; } static int draw_slice(AVFilterLink *link, int y, int h, int slice_dir) |