[MPlayer-cvslog] r22711 - trunk/libvo/mga_common.c
attila
subversion at mplayerhq.hu
Sun Mar 18 12:03:34 CET 2007
Author: attila
Date: Sun Mar 18 12:03:34 2007
New Revision: 22711
Modified:
trunk/libvo/mga_common.c
Log:
allow horizontal resolutions >1024 in case we have a G550
(actualy in case mga_vid doesn't deny it)
Modified: trunk/libvo/mga_common.c
==============================================================================
--- trunk/libvo/mga_common.c (original)
+++ trunk/libvo/mga_common.c Sun Mar 18 12:03:34 2007
@@ -372,12 +372,6 @@ static int mga_init(int width,int height
return (-1);
}
- if(width>1023 || height >1023)
- {
- mp_msg(MSGT_VO,MSGL_ERR, MGSTR_LIBVO_MGA_ResolutionTooHigh);
- return (-1);
- }
-
mga_vid_config.src_width = width;
mga_vid_config.src_height= height;
if(!mga_vid_config.dest_width)
@@ -389,12 +383,41 @@ static int mga_init(int width,int height
mga_vid_config.num_frames=(vo_directrendering && !vo_doublebuffering)?1:3;
mga_vid_config.version=MGA_VID_VERSION;
+
+ if(width > 1024 && height > 1024)
+ {
+ mp_msg(MSGT_VO,MSGL_ERR, MGSTR_LIBVO_MGA_ResolutionTooHigh);
+ return (-1);
+ } else if(height <= 1024)
+ {
+ // try whether we have a G550
+ int ret;
+ if(ret = ioctl(f,MGA_VID_CONFIG,&mga_vid_config))
+ {
+ if(mga_vid_config.card_type != MGA_G550)
+ {
+ // we don't have a G550, so our resolution is too high
+ mp_msg(MSGT_VO,MSGL_ERR, MGSTR_LIBVO_MGA_ResolutionTooHigh);
+ return (-1);
+ } else {
+ // there is a deeper problem
+ // we have a G550, but still couldn't configure mga_vid
+ perror("Error in mga_vid_config ioctl()");
+ mp_msg(MSGT_VO,MSGL_WARN, MSGTR_LIBVO_MGA_IncompatibleDriverVersion);
+ return -1;
+ }
+ // if we arrived here, then we could successfully configure mga_vid
+ // at this high resolution
+ }
+ } else {
+ // configure mga_vid in case resolution is < 1024x1024 too
if (ioctl(f,MGA_VID_CONFIG,&mga_vid_config))
{
perror("Error in mga_vid_config ioctl()");
mp_msg(MSGT_VO,MSGL_WARN, MSGTR_LIBVO_MGA_IncompatibleDriverVersion);
return -1;
}
+ }
mp_msg(MSGT_VO,MSGL_INFO, MSGTR_LIBVO_MGA_UsingBuffers,mga_vid_config.num_frames);
More information about the MPlayer-cvslog
mailing list