summaryrefslogtreecommitdiffstats
path: root/libvo/vo_xv.c
diff options
context:
space:
mode:
Diffstat (limited to 'libvo/vo_xv.c')
-rw-r--r--libvo/vo_xv.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/libvo/vo_xv.c b/libvo/vo_xv.c
index 37ba830c43..13d4549f12 100644
--- a/libvo/vo_xv.c
+++ b/libvo/vo_xv.c
@@ -707,13 +707,11 @@ static uint32_t get_image(mp_image_t *mpi){
return VO_FALSE;
}
-
static uint32_t query_format(uint32_t format)
{
- int flag=1;
+ int flag=3|VFCAP_HWSCALE_UP|VFCAP_HWSCALE_DOWN|VFCAP_OSD; // FIXME! check for DOWN
/* check image formats */
- fo = XvListImageFormats(mDisplay, xv_port, (int*)&formats);
- if(format==IMGFMT_BGR24){ format=IMGFMT_YV12;flag|=2;} // conversion!
+ if(format==IMGFMT_BGR24){ format=IMGFMT_YV12;flag&=~2;flag|=VFCAP_FLIP;} // conversion!
for(i = 0; i < formats; i++){
// printf("Xvideo image format: 0x%x (%4.4s) %s\n", fo[i].id,(char*)&fo[i].id, (fo[i].format == XvPacked) ? "packed" : "planar");
if (fo[i].id == format) return flag; //xv_format = fo[i].id;
@@ -792,6 +790,8 @@ static uint32_t preinit(const char *arg)
return -1;
}
+ fo = XvListImageFormats(mDisplay, xv_port, (int*)&formats);
+
return 0;
}