summaryrefslogtreecommitdiffstats
path: root/libvo
diff options
context:
space:
mode:
authoralex <alex@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-05-27 17:44:32 +0000
committeralex <alex@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-05-27 17:44:32 +0000
commite290b551980c39cbe4358b996c97cbff582174d7 (patch)
tree8d00eade7a1970f4f7a6ecff2592e77708a0a6b9 /libvo
parent54d7ca4903ec1f515fe9439f023fef9ecfd77beb (diff)
downloadmpv-e290b551980c39cbe4358b996c97cbff582174d7.tar.bz2
mpv-e290b551980c39cbe4358b996c97cbff582174d7.tar.xz
revised query_format
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@6212 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libvo')
-rw-r--r--libvo/vo_directfb.c15
-rw-r--r--libvo/vo_ggi.c13
-rw-r--r--libvo/vo_gif89a.c3
3 files changed, 17 insertions, 14 deletions
diff --git a/libvo/vo_directfb.c b/libvo/vo_directfb.c
index 8f6d4271f8..cd06c84edc 100644
--- a/libvo/vo_directfb.c
+++ b/libvo/vo_directfb.c
@@ -799,7 +799,7 @@ return 0;
static uint32_t query_format(uint32_t format)
{
- int ret = 0x4; /* osd/sub is supported on every bpp */
+ int ret = VFCAP_CSP_SUPPORTED|VFCAP_OSD; /* osd/sub is supported on every bpp */
// preinit(NULL);
@@ -811,27 +811,28 @@ static uint32_t query_format(uint32_t format)
// Just support those detected by preinit
case IMGFMT_RGB32:
- case IMGFMT_BGR32: if (modes[3].valid) return ret|0x2;
+ case IMGFMT_BGR32: if (modes[3].valid) return ret;
break;
case IMGFMT_RGB24:
- case IMGFMT_BGR24: if (modes[2].valid) return ret|0x2;
+ case IMGFMT_BGR24: if (modes[2].valid) return ret;
break;
case IMGFMT_RGB16:
case IMGFMT_BGR16:
case IMGFMT_RGB15:
- case IMGFMT_BGR15: if (modes[1].valid) return ret|0x2;
+ case IMGFMT_BGR15: if (modes[1].valid) return ret;
break;
case IMGFMT_YUY2: if (videolayerpresent) {
if (videolayercaps.yuy2) {
- return ret|0x2|0x1;
+ return ret|VFCAP_CSP_SUPPORTED_BY_HW;
} else {
- return ret|0x1;
+ return ret;
};
};
break;
case IMGFMT_YV12: if ((videolayerpresent) &&
(videolayercaps.i420 || videolayercaps.iv12))
- return ret|0x2|0x1; else return ret|0x1;
+ return ret|VFCAP_CSP_SUPPORTED_BY_HW;
+ else return ret;
break;
// YV12 should work in all cases
}
diff --git a/libvo/vo_ggi.c b/libvo/vo_ggi.c
index c22907026f..f0174959a1 100644
--- a/libvo/vo_ggi.c
+++ b/libvo/vo_ggi.c
@@ -467,24 +467,25 @@ static uint32_t query_format(uint32_t format)
{
if (ggi_conf.directbuffer)
#ifdef GGI_FLIP
- return(3|VFCAP_OSD|VFCAP_FLIP);
+ return(VFCAP_CSP_SUPPORTED|VFCAP_CSP_SUPPORTED_BY_HW|
+ VFCAP_OSD|VFCAP_FLIP);
#else
- return(3|VFCAP_OSD);
+ return(VFCAP_CSP_SUPPORTED|VFCAP_CSP_SUPPORTED_BY_HW|VFCAP_OSD);
#endif
else
- return(3);
+ return(VFCAP_CSP_SUPPORTED|VFCAP_CSP_SUPPORTED_BY_HW);
}
if (IMGFMT_IS_BGR(format) || IMGFMT_IS_RGB(format))
{
if (ggi_conf.directbuffer)
#ifdef GGI_FLIP
- return(1|VFCAP_OSD|VFCAP_FLIP);
+ return(VFCAP_CSP_SUPPORTED|VFCAP_OSD|VFCAP_FLIP);
#else
- return(1|VFCAP_OSD);
+ return(VFCAP_CSP_SUPPORTED|VFCAP_OSD);
#endif
else
- return(1);
+ return(VFCAP_CSP_SUPPORTED);
}
return(0);
diff --git a/libvo/vo_gif89a.c b/libvo/vo_gif89a.c
index 66520e343f..5cfaa44567 100644
--- a/libvo/vo_gif89a.c
+++ b/libvo/vo_gif89a.c
@@ -226,9 +226,10 @@ query_format(uint32_t format)
{
switch(format){
case IMGFMT_YV12:
+ return VFCAP_CSP_SUPPORTED | VFCAP_TIMER | VFCAP_ACCEPT_STRIDE;
case IMGFMT_RGB|24:
case IMGFMT_BGR|24:
- return 1 | VFCAP_TIMER | VFCAP_ACCEPT_STRIDE;
+ return VFCAP_CSP_SUPPORTED | VFCAP_CSP_SUPPORTED_BY_HW | VFCAP_OSD | VFCAP_TIMER;
}
return 0;
}