summaryrefslogtreecommitdiffstats
path: root/video/sws_utils.c
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2015-01-15 20:10:08 +0100
committerDiogo Franco (Kovensky) <diogomfranco@gmail.com>2015-01-25 17:00:09 +0900
commitca34fd569d5cf57939d1ef04c8d0715d683600cf (patch)
tree7ee6e7b4aaffde047506243412157787f9993742 /video/sws_utils.c
parent4bb2da8204f6a05801bc0a67ca87d7549f856ca5 (diff)
downloadmpv-ca34fd569d5cf57939d1ef04c8d0715d683600cf.tar.bz2
mpv-ca34fd569d5cf57939d1ef04c8d0715d683600cf.tar.xz
image_writer: check for conversion errors
This can happen when e.g. a VO returns a screenshot in an unsupported format.
Diffstat (limited to 'video/sws_utils.c')
-rw-r--r--video/sws_utils.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/video/sws_utils.c b/video/sws_utils.c
index a7fcc0469c..8937799f09 100644
--- a/video/sws_utils.c
+++ b/video/sws_utils.c
@@ -268,24 +268,26 @@ int mp_sws_scale(struct mp_sws_context *ctx, struct mp_image *dst,
return 0;
}
-void mp_image_swscale(struct mp_image *dst, struct mp_image *src,
- int my_sws_flags)
+int mp_image_swscale(struct mp_image *dst, struct mp_image *src,
+ int my_sws_flags)
{
struct mp_sws_context *ctx = mp_sws_alloc(NULL);
ctx->flags = my_sws_flags;
- mp_sws_scale(ctx, dst, src);
+ int res = mp_sws_scale(ctx, dst, src);
talloc_free(ctx);
+ return res;
}
-void mp_image_sw_blur_scale(struct mp_image *dst, struct mp_image *src,
- float gblur)
+int mp_image_sw_blur_scale(struct mp_image *dst, struct mp_image *src,
+ float gblur)
{
struct mp_sws_context *ctx = mp_sws_alloc(NULL);
ctx->flags = mp_sws_hq_flags;
ctx->src_filter = sws_getDefaultFilter(gblur, gblur, 0, 0, 0, 0, 0);
ctx->force_reload = true;
- mp_sws_scale(ctx, dst, src);
+ int res = mp_sws_scale(ctx, dst, src);
talloc_free(ctx);
+ return res;
}
int mp_sws_get_vf_equalizer(struct mp_sws_context *sws, struct vf_seteq *eq)