From b46347bd28bdd5e47b54800aa704f03e252e2994 Mon Sep 17 00:00:00 2001 From: reimar Date: Mon, 10 Jul 2006 18:36:50 +0000 Subject: [PATCH] vo_gl can do flipping without special filter git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@19001 b3059339-0415-0410-9bf9-f77b7e298cf2 --- libvo/vo_gl.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/libvo/vo_gl.c b/libvo/vo_gl.c index 56e1273b1b..a7f7139087 100644 --- a/libvo/vo_gl.c +++ b/libvo/vo_gl.c @@ -98,6 +98,7 @@ static int eq_bgamma = 0; static int texture_width; static int texture_height; static int mpi_flipped; +static int vo_flipped; static unsigned int slice_height = 1; @@ -317,6 +318,7 @@ config(uint32_t width, uint32_t height, uint32_t d_width, uint32_t d_height, uin glFindFormat(format, NULL, &gl_texfmt, &gl_format, &gl_type); int_pause = 0; + vo_flipped = !!(flags & VOFLAG_FLIPPING); panscan_init(); aspect_save_orig(width,height); @@ -525,7 +527,8 @@ flip_page(void) glDrawTex(0, 0, image_width, image_height, 0, 0, image_width, image_height, texture_width, texture_height, - use_rectangle == 1, image_format == IMGFMT_YV12, mpi_flipped); + use_rectangle == 1, image_format == IMGFMT_YV12, + mpi_flipped ^ vo_flipped); if (image_format == IMGFMT_YV12) glDisableYUVConversion(gl_target, yuvconvtype); @@ -668,6 +671,7 @@ static int query_format(uint32_t format) { int caps = VFCAP_CSP_SUPPORTED | VFCAP_CSP_SUPPORTED_BY_HW | + VFCAP_FLIP | VFCAP_HWSCALE_UP | VFCAP_HWSCALE_DOWN | VFCAP_ACCEPT_STRIDE; if (use_osd) caps |= VFCAP_OSD;