diff options
author | reimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2009-03-29 14:46:59 +0000 |
---|---|---|
committer | reimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2009-03-29 14:46:59 +0000 |
commit | 49e2373fe76d678363fbf0089c028ef7801480ea (patch) | |
tree | e9acbe119dbf1028ac70814734c912bf1cd6ca3f /libmpcodecs/vf_screenshot.c | |
parent | 8fec98cef22002ae7fb6618426043fc6c3906aca (diff) | |
download | mpv-49e2373fe76d678363fbf0089c028ef7801480ea.tar.bz2 mpv-49e2373fe76d678363fbf0089c028ef7801480ea.tar.xz |
Consistently use MP_MAX_PLANES as size for plane pointer/stride arrays in libmpcodecs.
This might avoid some issues since sws_scale in some cases assumes these
have at least 4 valid entries.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29103 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libmpcodecs/vf_screenshot.c')
-rw-r--r-- | libmpcodecs/vf_screenshot.c | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/libmpcodecs/vf_screenshot.c b/libmpcodecs/vf_screenshot.c index b8c6c0a1b5..93fef3e186 100644 --- a/libmpcodecs/vf_screenshot.c +++ b/libmpcodecs/vf_screenshot.c @@ -108,16 +108,14 @@ static void gen_fname(struct vf_priv_s* priv) static void scale_image(struct vf_priv_s* priv, mp_image_t *mpi) { - uint8_t *dst[3]; - int dst_stride[3]; + uint8_t *dst[MP_MAX_PLANES] = {NULL}; + int dst_stride[MP_MAX_PLANES] = {0}; dst_stride[0] = priv->stride; - dst_stride[1] = dst_stride[2] = 0; if (!priv->buffer) priv->buffer = memalign(16, dst_stride[0]*priv->dh); dst[0] = priv->buffer; - dst[1] = dst[2] = 0; sws_scale_ordered(priv->ctx, mpi->planes, mpi->stride, 0, priv->dh, dst, dst_stride); } @@ -137,12 +135,10 @@ static void draw_slice(struct vf_instance_s* vf, unsigned char** src, int* stride, int w,int h, int x, int y) { if (vf->priv->store_slices) { - uint8_t *dst[3]; - int dst_stride[3]; + uint8_t *dst[MP_MAX_PLANES] = {NULL}; + int dst_stride[MP_MAX_PLANES] = {0}; dst_stride[0] = vf->priv->stride; - dst_stride[1] = dst_stride[2] = 0; dst[0] = vf->priv->buffer; - dst[1] = dst[2] = 0; sws_scale_ordered(vf->priv->ctx, src, stride, y, h, dst, dst_stride); } vf_next_draw_slice(vf,src,stride,w,h,x,y); |