summaryrefslogtreecommitdiffstats
path: root/libvo/vo_svga.c
diff options
context:
space:
mode:
authorse7encode <se7encode@b3059339-0415-0410-9bf9-f77b7e298cf2>2001-04-14 18:19:40 +0000
committerse7encode <se7encode@b3059339-0415-0410-9bf9-f77b7e298cf2>2001-04-14 18:19:40 +0000
commit441f098c1f5d703ab287df51242efb11076a0d43 (patch)
treeb76c4260d324ef5471a1883ce76bd2b0588758be /libvo/vo_svga.c
parent4f3191ba3b05a1a5219e287ccca7b56bedb6b946 (diff)
downloadmpv-441f098c1f5d703ab287df51242efb11076a0d43.tar.bz2
mpv-441f098c1f5d703ab287df51242efb11076a0d43.tar.xz
-bpp added.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@412 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libvo/vo_svga.c')
-rw-r--r--libvo/vo_svga.c29
1 files changed, 27 insertions, 2 deletions
diff --git a/libvo/vo_svga.c b/libvo/vo_svga.c
index ffc12a8421..29f7a84a50 100644
--- a/libvo/vo_svga.c
+++ b/libvo/vo_svga.c
@@ -89,8 +89,33 @@ static uint32_t init(uint32_t width, uint32_t height, uint32_t d_width,
}
pformat = format;
- if (format == IMGFMT_YV12) bpp = 32;
- else bpp = format & 255;
+
+ // -bpp check
+ if (!vo_dbpp) {
+ if (format == IMGFMT_YV12) bpp = 32;
+ else bpp = format & 255;
+ } else {
+ bpp = vo_dbpp;
+ switch (bpp) {
+ case 32: if (!(vid_modes[_640x480x16M32] | vid_modes[_800x600x16M32] | vid_modes[_1024x768x16M32])) {
+ printf("vo_svga: %dbpp not supported by HW or SVGAlib",bpp);
+ return(1);
+ }
+ case 24: if (!(vid_modes[_640x480x16M] | vid_modes[_800x600x16M] | vid_modes[_1024x768x16M])) {
+ printf("vo_svga: %dbpp not supported by HW or SVGAlib",bpp);
+ return(1);
+ }
+ case 16: if (!(vid_modes[_640x480x64K] | vid_modes[_800x600x64K] | vid_modes[_1024x768x64K])) {
+ printf("vo_svga: %dbpp not supported by HW or SVGAlib",bpp);
+ return(1);
+ }
+ case 15: if (!(vid_modes[_640x480x32K] | vid_modes[_800x600x32K] | vid_modes[_1024x768x32K])) {
+ printf("vo_svga: %dbpp not supported by HW or SVGAlib",bpp);
+ return(1);
+ }
+ }
+ }
+
if (wid > 800)
switch (bpp) {
case 32: vid_mode = 36; break;