From 441f098c1f5d703ab287df51242efb11076a0d43 Mon Sep 17 00:00:00 2001 From: se7encode Date: Sat, 14 Apr 2001 18:19:40 +0000 Subject: -bpp added. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@412 b3059339-0415-0410-9bf9-f77b7e298cf2 --- libvo/vo_svga.c | 29 +++++++++++++++++++++++++++-- 1 file changed, 27 insertions(+), 2 deletions(-) (limited to 'libvo') 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; -- cgit v1.2.3