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);