Mercurial > mplayer.hg
changeset 3266:ff90589b635f
Fixed single buffering problems and -vo mga compatibility by number of buffers
author | nick |
---|---|
date | Sun, 02 Dec 2001 12:21:13 +0000 |
parents | ec69d8238c84 |
children | 639a7ca4885a |
files | drivers/radeon/Makefile drivers/radeon/radeon_vid.c libvo/vesa_lvo.c |
diffstat | 3 files changed, 14 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/drivers/radeon/Makefile Sun Dec 02 11:45:44 2001 +0000 +++ b/drivers/radeon/Makefile Sun Dec 02 12:21:13 2001 +0000 @@ -45,4 +45,4 @@ vid: make install rmmod radeon_vid - modprobe radeon_vid + modprobe radeon_vid mtrr=1
--- a/drivers/radeon/radeon_vid.c Sun Dec 02 11:45:44 2001 +0000 +++ b/drivers/radeon/radeon_vid.c Sun Dec 02 12:21:13 2001 +0000 @@ -14,7 +14,7 @@ * Also here was used code from CVS of GATOS project and X11 trees. */ -#define RADEON_VID_VERSION "1.0.1" +#define RADEON_VID_VERSION "1.0.2" /* It's entirely possible this major conflicts with something else @@ -311,6 +311,10 @@ OUTREG(OV0_AUTO_FLIP_CNTL,OV0_AUTO_FLIP_CNTL_SOFT_BUF_ODD); OUTREG(OV0_DEINTERLACE_PATTERN,besr.deinterlace_pattern); + + OUTREG(OV0_COLOUR_CNTL, (besr.brightness & 0x7f) | + (besr.saturation << 8) | + (besr.saturation << 16)); OUTREG(OV0_AUTO_FLIP_CNTL,(INREG(OV0_AUTO_FLIP_CNTL)^OV0_AUTO_FLIP_CNTL_SOFT_EOF_TOGGLE)); OUTREG(OV0_AUTO_FLIP_CNTL,(INREG(OV0_AUTO_FLIP_CNTL)^OV0_AUTO_FLIP_CNTL_SOFT_EOF_TOGGLE)); @@ -615,11 +619,13 @@ return -EFAULT; } - if(radeon_config.num_frames<1 || radeon_config.num_frames>4){ + if(radeon_config.num_frames<1){ printk(RVID_MSG"illegal num_frames: %d\n",radeon_config.num_frames); return -EFAULT; } - + if(radeon_config.num_frames==1) besr.double_buff=0; + if(!besr.double_buff) radeon_config.num_frames=1; + else radeon_config.num_frames=2; radeon_config.card_type = 0; radeon_config.ram_size = radeon_ram_size; radeon_overlay_off = radeon_ram_size*0x100000 - radeon_config.frame_size*radeon_config.num_frames;
--- a/libvo/vesa_lvo.c Sun Dec 02 11:45:44 2001 +0000 +++ b/libvo/vesa_lvo.c Sun Dec 02 12:21:13 2001 +0000 @@ -29,7 +29,7 @@ #include "video_out.h" #define WIDTH_ALIGN 32 /* should be 16 for rage:422 and 32 for rage:420 */ -#define NUM_FRAMES 2 +#define NUM_FRAMES 10 #define UNUSED(x) ((void)(x)) /**< Removes warning about unused arguments */ static uint8_t *frames[NUM_FRAMES]; @@ -211,9 +211,12 @@ void vlvo_flip_page(void) { if(verbose > 1) printf("vesa_lvo: vlvo_flip_page() was called\n"); + if(vo_doublebuffering) + { ioctl(lvo_handler,MGA_VID_FSEL,&next_frame); next_frame=(next_frame+1)%mga_vid_config.num_frames; lvo_mem=frames[next_frame]; + } } static void draw_alpha_null(int x0,int y0, int w,int h, unsigned char* src, unsigned char *srca, int stride)