diff options
-rw-r--r-- | libmpcodecs/vf_vo.c | 5 | ||||
-rw-r--r-- | libvo/vo_xvmc.c | 1 |
2 files changed, 4 insertions, 2 deletions
diff --git a/libmpcodecs/vf_vo.c b/libmpcodecs/vf_vo.c index 7e42c77034..4e0f1374c1 100644 --- a/libmpcodecs/vf_vo.c +++ b/libmpcodecs/vf_vo.c @@ -165,7 +165,10 @@ static int query_format(struct vf_instance_s* vf, unsigned int fmt){ static void get_image(struct vf_instance_s* vf, mp_image_t *mpi){ - if(vo_directrendering && vo_config_count) + if(!vo_config_count) return; + // GET_IMAGE is required for hardware-accelerated formats + if(vo_directrendering || + IMGFMT_IS_XVMC(mpi->imgfmt) || IMGFMT_IS_VDPAU(mpi->imgfmt)) video_out->control(VOCTRL_GET_IMAGE,mpi); } diff --git a/libvo/vo_xvmc.c b/libvo/vo_xvmc.c index d084528d18..5d43707cf5 100644 --- a/libvo/vo_xvmc.c +++ b/libvo/vo_xvmc.c @@ -683,7 +683,6 @@ skip_surface_allocation: free_element = 0; first_frame = 1; - vo_directrendering = 1;//ugly hack, coz xvmc works only with direct rendering image_format=format; return 0; } |