summaryrefslogtreecommitdiff
path: root/libavfilter/vf_unsharp.c
diff options
context:
space:
mode:
authorAnton Khirnov <anton@khirnov.net>2012-07-14 09:25:33 +0200
committerAnton Khirnov <anton@khirnov.net>2012-07-22 09:14:05 +0200
commitd4f89906e3b310609b636cf6071313ec557ec873 (patch)
treeaf879b33d3d8b1fdf14c517bfb1317f349042b15 /libavfilter/vf_unsharp.c
parente9b992d035b58209d66115bd7d964741dd31d592 (diff)
lavfi: add error handling to end_frame().
Diffstat (limited to 'libavfilter/vf_unsharp.c')
-rw-r--r--libavfilter/vf_unsharp.c9
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)