From 09dd35390d5aed49e11f1dbf91f14ffce972f09b Mon Sep 17 00:00:00 2001 From: arpi Date: Wed, 25 Sep 2002 21:18:43 +0000 Subject: cosmetics... - made some internal funcs static - removed spaces & obsolete comment at the end - removed cvs log from header - different driver name if no XF86VidMode avail. - removed vd_printf, use mp_msg() instead git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@7500 b3059339-0415-0410-9bf9-f77b7e298cf2 --- libvo/vo_dga.c | 269 ++++++++++++--------------------------------------------- 1 file changed, 56 insertions(+), 213 deletions(-) (limited to 'libvo') diff --git a/libvo/vo_dga.c b/libvo/vo_dga.c index ff9521e321..e7550fa6b2 100644 --- a/libvo/vo_dga.c +++ b/libvo/vo_dga.c @@ -20,131 +20,6 @@ * BGR_24_24_888 * BGR_32_24_888 * - * $Log$ - * Revision 1.47 2002/09/25 21:08:44 arpi - * Attached patch improves the vertical retrace synchronisation (vsync) - * of the mplayer DGA driver. - * It implements a more general buffer scheme than double buffers that - * allows for deeper buffer queues. - * - * by Fredrik Noring - * - * Revision 1.46 2002/08/28 21:32:31 alex - * finally removed query_vaa, bes_da and vo_tune_info - the obsoleted libvo api - * - * Revision 1.45 2002/05/27 17:14:13 alex - * revised query_format. added support for native/conversion detection - * - * Revision 1.44 2002/02/17 08:24:43 nick - * I don't like such reports: '-vo dga:vidix or -vo x11:vidix works fine for me' - * - * Revision 1.42 2002/02/12 23:19:37 michael - * use mem2agpcpy() instead of fast_memcpy() - * - * Revision 1.41 2002/02/09 01:21:48 arpi - * 10000hl to Holm... control MUST BE static... - * - * Revision 1.40 2002/02/09 00:47:26 arpi - * query_ stuff replaced by new control() - patch by David Holm - * - * Revision 1.39 2002/01/31 11:45:25 alex - * removed obsoleted Terminate_Display_Process - * - * Revision 1.38 2002/01/31 09:52:45 nick - * new info for tuning - * - * Revision 1.35 2001/12/28 20:52:54 alex - * use XF86VidMode later in init (at line 1031) only if we've got support (if have_vm==1) - * - * Revision 1.34 2001/12/04 17:24:25 alex - * do not crash if can't get modelines (dga2.0) - * - * Revision 1.33 2001/11/06 11:21:08 nick - * Move yuv2rgb to postprocess - * - * - * Revision 1.31 2001/10/30 17:04:31 nick - * Using new stuff of rgb15to16 - * - * Revision 1.30 2001/08/13 11:08:18 atlka - * changes according to -utf8 option, draw_osd() function added - * - * Revision 1.29 2001/07/16 18:41:52 jkeil - * vo_dga doesn't compile on non-x86 architecture due to x86 asm usage. - * - * Revision 1.28 2001/07/03 23:45:49 arpi - * extern vo_doublebuffering cleanup - * - * Revision 1.27 2001/06/22 19:51:25 atmosfear - * Fixed pointer->integer cast warning. - * - * Revision 1.26 2001/06/18 16:38:06 acki2 - * - just modified an error message - * - * Revision 1.25 2001/06/17 22:21:47 acki2 - * - if DGA fails to report some valid modes, vo_dga now exits gracefully - * instead of crashing ... (100000x100000 bug ...) - * - * Revision 1.24 2001/06/17 20:59:39 acki2 - * - doublebuffering now can be switched on and off with the -(no)double switch. - * Default in libvo is disabled. - * - * Revision 1.23 2001/05/24 20:48:45 arpi_esp - * removed redundant osd.h includes - * - * Revision 1.22 2001/05/07 19:16:04 acki2 - * - now chooses mode with highest ymax (enables doublebuffering in some cases - * it didn't work before) - * - use my own memcopy() on non MMX machines again - * - do memcpy() in one single block if stride==0 - * - * Revision 1.21 2001/05/03 22:39:38 acki2 - * - finally: 15to16 conversion included!!! - * - * Revision 1.20 2001/05/02 23:21:27 acki2 - * - now we use fastmemcpy() for copying. Saves about 25% of copying time on K6-2+ - * - * Revision 1.19 2001/05/01 22:37:37 acki2 - * - now features 24->32 conversion (this is actually faster than letting the - * codec produce depth 32 in the first place for avis :-))) ) - * - * Revision 1.18 2001/05/01 20:24:31 acki2 - * - now mpeg is fast again (no more offscreen buffer rubbish) But is it really ok? - * - * Revision 1.17 2001/04/24 11:42:04 pontscho - * clean up - * - * Revision 1.16 2001/04/24 10:21:12 szabii - * some warnings killed - * - * Revision 1.15 2001/04/19 21:39:10 arpi_esp - * driver info now depends on detected DGA version - * - * Revision 1.14 2001/04/17 22:28:09 acki2 - * - now also supports OSD for YV12 (big speed penalty by having to build image - * in offscreen memory and then copying; - * - OSD still works just with doublebuffering enabled :-( - * - * Revision 1.13 2001/04/17 20:51:58 acki2 - * - query_format() now uses new return value concept - * - now support for OSD :-))) for RGB modes - * YV12 is flickering in quite an ugly fashion; have to fix this, but - * will cost an extra copying of image data ... :-((( - * - * Revision 1.12 2001/04/13 22:11:08 acki2 - * - fixed bug with depth and mpg when current bpp of XServer was != 32 - * - when -bpp is selected, I accept only query_modes() for THIS particular depth - * (if it's supported by hardware) - * - * Revision 1.10 2001/04/01 22:01:28 acki2 - * - still more debug output to be able to fix 15/16 bpp problem - * - * Revision 1.9 2001/04/01 08:07:14 acki2 - * - added detection of memsize of graphics card to check if double buffering is possible - * - fixed resolution switching a little and added more debug output - * - resolution switching is still according to d_width and d_height which - * is not always a good idea ... - * * * 30/02/2001 * @@ -175,7 +50,6 @@ #include #include -#include #include #include @@ -206,7 +80,11 @@ static vo_info_t vo_info = #ifdef HAVE_DGA2 "DGA ( Direct Graphic Access V2.0 )", #else - "DGA ( Direct Graphic Access V1.0+XF86VidModeExtension )", +#ifdef HAVE_XF86VM + "DGA ( Direct Graphic Access V1.0+XF86VidModeExt. )", +#else + "DGA ( Direct Graphic Access V1.0 )", +#endif #endif "dga", "Andreas Ackermann ", @@ -260,7 +138,7 @@ static struct vd_modes vo_dga_modes[] = { static int vo_dga_mode_num = sizeof(vo_dga_modes)/sizeof(struct vd_modes); // enable a HW mode (by description) -int vd_EnableMode( int depth, int bitspp, +static int vd_EnableMode( int depth, int bitspp, int rmask, int gmask, int bmask){ int i; for(i=1; i= x) && (new_y >= y) && @@ -817,10 +674,10 @@ int check_res( int num, int x, int y, int bpp, *old_y = new_y; *old_maxy = new_maxy; *old_vbi = new_vbi; - vd_printf(VD_RES, ".ok!!\n"); + mp_msg(MSGT_VO, MSGL_V, ".ok!!\n"); return 1; }else{ - vd_printf(VD_RES, ".no\n"); + mp_msg(MSGT_VO, MSGL_V, ".no\n"); return 0; } } @@ -894,7 +751,7 @@ static uint32_t config( uint32_t width, uint32_t height, if(!wanted_width) wanted_width = width; if( !vo_init() ){ - vd_printf(VD_ERR, "vo_dga: vo_init() failed!\n"); + mp_msg(MSGT_VO, MSGL_ERR, "vo_dga: vo_init() failed!\n"); return 1; } @@ -911,7 +768,7 @@ static uint32_t config( uint32_t width, uint32_t height, vo_dga_hw_mode = SRC_MODE.vdm_hw_mode; if( format == IMGFMT_YV12 && vo_dga_src_mode != vo_dga_hw_mode ){ - vd_printf(VD_ERR, + mp_msg(MSGT_VO, MSGL_ERR, "vo_dga: YV12 supports native modes only. Using %d instead of selected %d.\n", HW_MODE.vdm_mplayer_depth, SRC_MODE.vdm_mplayer_depth ); @@ -919,19 +776,19 @@ static uint32_t config( uint32_t width, uint32_t height, } if(!vo_dga_src_mode){ - vd_printf(VD_ERR, "vo_dga: unsupported video format!\n"); + mp_msg(MSGT_VO, MSGL_ERR, "vo_dga: unsupported video format!\n"); return 1; } if((vo_dga_dpy = XOpenDisplay(0))==NULL){ - vd_printf (VD_ERR, "vo_dga: Can't open display\n"); + mp_msg(MSGT_VO, MSGL_ERR, "vo_dga: Can't open display\n"); return 1; } vo_dga_vp_width = DisplayWidth( vo_dga_dpy, DefaultScreen(vo_dga_dpy)); vo_dga_vp_height = DisplayHeight( vo_dga_dpy, DefaultScreen(vo_dga_dpy)); - vd_printf(VD_DBG, "vo_dga: XServer res: %dx%d\n", + mp_msg(MSGT_VO, MSGL_V, "vo_dga: XServer res: %dx%d\n", vo_dga_vp_width, vo_dga_vp_height); // choose a suitable mode ... @@ -942,16 +799,16 @@ static uint32_t config( uint32_t width, uint32_t height, if (modelines==NULL) modelines=XDGAQueryModes(vo_dga_dpy, XDefaultScreen(vo_dga_dpy),&modecount); - vd_printf(VD_DBG, + mp_msg(MSGT_VO, MSGL_V, "vo_dga: modelines=%p, modecount=%d\n", modelines, modecount); if (modelines == NULL) { - vd_printf(VD_ERR, "vo_dga: can't get modelines\n"); + mp_msg(MSGT_VO, MSGL_ERR, "vo_dga: can't get modelines\n"); return 1; } - vd_printf(VD_INFO, + mp_msg(MSGT_VO, MSGL_INFO, "vo_dga: DGA 2.0 available :-) Can switch resolution AND depth!\n"); for (i=0; i vo_dga_vp_width || vo_dga_src_height > vo_dga_vp_height) { - vd_printf( VD_ERR, "vo_dga: Sorry, video larger than viewport is not yet supported!\n"); + mp_msg(MSGT_VO, MSGL_ERR, "vo_dga: Sorry, video larger than viewport is not yet supported!\n"); // ugly, do something nicer in the future ... #ifndef HAVE_DGA2 #ifdef HAVE_XF86VM @@ -1092,9 +949,9 @@ static uint32_t config( uint32_t width, uint32_t height, } if(vo_dga_vp_width == VO_DGA_INVALID_RES){ - vd_printf( VD_ERR, "vo_dga: Something is wrong with your DGA. There doesn't seem to be a\n" + mp_msg(MSGT_VO, MSGL_ERR, "vo_dga: Something is wrong with your DGA. There doesn't seem to be a\n" " single suitable mode!\n" - " Please file a bug report (see DOCS/DGA)\n"); + " Please file a bug report (see DOCS/bugreports.html)\n"); #ifndef HAVE_DGA2 #ifdef HAVE_XF86VM if(vo_dga_vidmodes){ @@ -1111,7 +968,7 @@ static uint32_t config( uint32_t width, uint32_t height, #ifdef HAVE_DGA2 if (!XDGAOpenFramebuffer(vo_dga_dpy, XDefaultScreen(vo_dga_dpy))){ - vd_printf(VD_ERR, "vo_dga: Framebuffer mapping failed!!!\n"); + mp_msg(MSGT_VO, MSGL_ERR, "vo_dga: Framebuffer mapping failed!!!\n"); XCloseDisplay(vo_dga_dpy); return 1; } @@ -1155,11 +1012,11 @@ static uint32_t config( uint32_t width, uint32_t height, if( format==IMGFMT_YV12 ){ yuv2rgb_init( vo_dga_modes[vo_dga_hw_mode].vdm_mplayer_depth , MODE_RGB ); - vd_printf( VD_DBG, "vo_dga: Using mplayer depth %d for YV12\n", + mp_msg(MSGT_VO, MSGL_V, "vo_dga: Using mplayer depth %d for YV12\n", vo_dga_modes[vo_dga_hw_mode].vdm_mplayer_depth); } - vd_printf(VD_DBG, "vo_dga: bytes/line: %d, screen res: %dx%d, depth: %d, base: %08x, bpp: %d\n", + mp_msg(MSGT_VO, MSGL_V, "vo_dga: bytes/line: %d, screen res: %dx%d, depth: %d, base: %08x, bpp: %d\n", vo_dga_width, vo_dga_vp_width, vo_dga_vp_height, HW_MODE.vdm_bytespp, vo_dga_base, HW_MODE.vdm_bitspp); @@ -1175,7 +1032,7 @@ static uint32_t config( uint32_t width, uint32_t height, vo_dga_vp_skip = (vo_dga_width - vo_dga_src_width) * HW_MODE.vdm_bytespp; // todo - vd_printf(VD_DBG, "vo_dga: vp_off=%d, vp_skip=%d, bpl=%d\n", + mp_msg(MSGT_VO, MSGL_V, "vo_dga: vp_off=%d, vp_skip=%d, bpl=%d\n", vo_dga_vp_offset, vo_dga_vp_skip, vo_dga_bytes_per_line); @@ -1187,7 +1044,7 @@ static uint32_t config( uint32_t width, uint32_t height, init_video_buffers(modeline, vo_dga_base, vo_doublebuffering); - vd_printf(VD_DBG, "vo_dga: Using %d frame buffer%s.\n", + mp_msg(MSGT_VO, MSGL_V, "vo_dga: Using %d frame buffer%s.\n", vo_dga_nr_video_buffers, vo_dga_nr_video_buffers == 1 ? "" : "s"); vo_dga_is_running = 1; @@ -1198,7 +1055,7 @@ static uint32_t preinit(const char *arg) { if(arg) { - vd_printf(VD_INFO, "vo_dga: Unknown subdevice: %s\n",arg); + mp_msg(MSGT_VO, MSGL_INFO, "vo_dga: Unknown subdevice: %s\n",arg); return ENOSYS; } return 0; @@ -1214,17 +1071,3 @@ static uint32_t control(uint32_t request, void *data, ...) } //--------------------------------------------------------- - -// deleted the old vo_dga_query_event() routine 'cause it is obsolete -// since using check_events() -// acki2 on 30/3/2001 - - - - - - - - - - -- cgit v1.2.3