Mercurial > mplayer.hg
comparison libvo/vo_svga.c @ 9237:a076d22664b5
disable auto oldmethod, directrendering for linear modes only
author | iive |
---|---|
date | Mon, 03 Feb 2003 01:15:45 +0000 |
parents | 898e5270a46e |
children | 3ef467aac4a1 |
comparison
equal
deleted
inserted
replaced
9236:1c1dfa94caa9 | 9237:a076d22664b5 |
---|---|
455 printf("vo_svga: vga_setmode(%d) failed.\n",vid_mode); | 455 printf("vo_svga: vga_setmode(%d) failed.\n",vid_mode); |
456 uninit(); | 456 uninit(); |
457 return(1); // error | 457 return(1); // error |
458 } | 458 } |
459 | 459 |
460 if(vid_mode<10 || vid_mode==145) { | |
461 oldmethod=1; | |
462 } | |
463 /* set 332 palette for 8 bpp */ | 460 /* set 332 palette for 8 bpp */ |
464 if(bpp==8){ | 461 if(bpp==8){ |
465 int i; | 462 int i; |
466 for(i=0; i<256; i++) | 463 for(i=0; i<256; i++) |
467 vga_setpalette(i, ((i>>5)&7)*9, ((i>>2)&7)*9, (i&3)*21); | 464 vga_setpalette(i, ((i>>5)&7)*9, ((i>>2)&7)*9, (i&3)*21); |
476 WIDTH=vga_getxdim(); | 473 WIDTH=vga_getxdim(); |
477 HEIGHT=vga_getydim(); | 474 HEIGHT=vga_getydim(); |
478 BYTESPERPIXEL=(bpp+4)>>3; | 475 BYTESPERPIXEL=(bpp+4)>>3; |
479 LINEWIDTH=vga_getmodeinfo(vid_mode)->linewidth; | 476 LINEWIDTH=vga_getmodeinfo(vid_mode)->linewidth; |
480 | 477 |
481 if(oldmethod && (bpp==8 || bpp==4)) LINEWIDTH*=8; | 478 if( (vid_mode<10 || vid_mode==145) && (bpp==8 || bpp==4)) LINEWIDTH*=8; |
482 | 479 else |
483 if(!oldmethod || (bpp>8))vga_setlinearaddressing(); | 480 if(vga_getmodeinfo(vid_mode)->flags & CAPABLE_LINEAR) |
481 // if (vga_version>0x1430)//remove this to get more speed (or black screen) | |
482 vga_setlinearaddressing(); | |
483 | |
484 if(oldmethod) { | 484 if(oldmethod) { |
485 buffer=malloc(HEIGHT*LINEWIDTH); | 485 buffer=malloc(HEIGHT*LINEWIDTH); |
486 maxframes=0; | 486 maxframes=0; |
487 } else if ((vga_getmodeinfo(vid_mode)->flags&IS_LINEAR)) { | 487 } else if ((vga_getmodeinfo(vid_mode)->flags&IS_LINEAR)) { |
488 directrender=1; | 488 directrender=1; |
848 (mpi->flags & MP_IMGFLAG_YUV) /* | 848 (mpi->flags & MP_IMGFLAG_YUV) /* |
849 (mpi->width != image_width) || | 849 (mpi->width != image_width) || |
850 (mpi->height != image_height) */ | 850 (mpi->height != image_height) */ |
851 ) | 851 ) |
852 return(VO_FALSE); | 852 return(VO_FALSE); |
853 | 853 if(!directrender) |
854 return (VO_FALSE); | |
854 /* | 855 /* |
855 if (Flip_Flag) | 856 if (Flip_Flag) |
856 { | 857 { |
857 mpi->stride[0] = -image_width*((bpp+7)/8); | 858 mpi->stride[0] = -image_width*((bpp+7)/8); |
858 mpi->planes[0] = ImageData - mpi->stride[0]*(image_height-1); | 859 mpi->planes[0] = ImageData - mpi->stride[0]*(image_height-1); |