Mercurial > mplayer.hg
changeset 8244:64352fb332b6
don't fully-copy the planes if the menu doesn't show (faster)
author | colin |
---|---|
date | Thu, 21 Nov 2002 18:31:21 +0000 |
parents | d78b7cbcdf9c |
children | 3a805f951be7 |
files | libmenu/vf_menu.c |
diffstat | 1 files changed, 16 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/libmenu/vf_menu.c Wed Nov 20 21:42:04 2002 +0000 +++ b/libmenu/vf_menu.c Thu Nov 21 18:31:21 2002 +0000 @@ -165,6 +165,7 @@ static int put_image(struct vf_instance_s* vf, mp_image_t *mpi){ mp_image_t *dmpi = NULL; + if(vf->priv->current->show) { // Close all menu who requested it while(vf->priv->current->cl && vf->priv->current != vf->priv->root) { menu_t* m = vf->priv->current; @@ -207,6 +208,21 @@ } menu_draw(vf->priv->current,dmpi); + } else { + if(mp_input_key_cb) + mp_input_key_cb = NULL; + dmpi = vf_get_image(vf->next,mpi->imgfmt, + MP_IMGTYPE_EXPORT, MP_IMGFLAG_ACCEPT_STRIDE, + mpi->w,mpi->h); + + dmpi->stride[0] = mpi->stride[0]; + dmpi->stride[1] = mpi->stride[1]; + dmpi->stride[2] = mpi->stride[2]; + dmpi->planes[0] = mpi->planes[0]; + dmpi->planes[1] = mpi->planes[1]; + dmpi->planes[2] = mpi->planes[2]; + dmpi->priv = mpi->priv; + } return vf_next_put_image(vf,dmpi); }