diff options
author | wm4 <wm4@nowhere> | 2015-05-15 13:41:19 +0200 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2015-05-15 13:41:19 +0200 |
commit | 06bfa9309d848b41ef1394ebc4311a879f8f4093 (patch) | |
tree | ea1e25f4e3da33b230717f324b5017e4225447d0 /video | |
parent | 372b85b9d20e3bc97120e2506ef9f89224e0f84e (diff) | |
download | mpv-06bfa9309d848b41ef1394ebc4311a879f8f4093.tar.bz2 mpv-06bfa9309d848b41ef1394ebc4311a879f8f4093.tar.xz |
vf_vapoursynth: reject unaligned video sizes
Leads to some nice memory corruption otherwise.
Diffstat (limited to 'video')
-rw-r--r-- | video/filter/vf_vapoursynth.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/video/filter/vf_vapoursynth.c b/video/filter/vf_vapoursynth.c index 01cacbf742..ff9421df6f 100644 --- a/video/filter/vf_vapoursynth.c +++ b/video/filter/vf_vapoursynth.c @@ -673,6 +673,13 @@ static int config(struct vf_instance *vf, int width, int height, return 0; } + struct mp_imgfmt_desc desc = mp_imgfmt_get_desc(fmt); + if (width % desc.align_x || height % desc.align_y) { + MP_FATAL(vf, "VapourSynth does not allow unaligned/cropped video sizes.\n"); + destroy_vs(vf); + return 0; + } + vf_rescale_dsize(&d_width, &d_height, width, height, vi->width, vi->height); return vf_next_config(vf, vi->width, vi->height, d_width, d_height, flags, fmt); |