summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authornick <nick@b3059339-0415-0410-9bf9-f77b7e298cf2>2001-12-02 12:21:13 +0000
committernick <nick@b3059339-0415-0410-9bf9-f77b7e298cf2>2001-12-02 12:21:13 +0000
commitc7e34e26a691c7d096aa4ea1489793f605ceb225 (patch)
tree221e0fd7217964a5e51ef98f0c2ecd5498594f5b /drivers
parent39b43167f0650b9e09dccf6a3ee780d2ab567335 (diff)
downloadmpv-c7e34e26a691c7d096aa4ea1489793f605ceb225.tar.bz2
mpv-c7e34e26a691c7d096aa4ea1489793f605ceb225.tar.xz
Fixed single buffering problems and -vo mga compatibility by number of buffers
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@3267 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'drivers')
-rw-r--r--drivers/radeon/Makefile2
-rw-r--r--drivers/radeon/radeon_vid.c12
2 files changed, 10 insertions, 4 deletions
diff --git a/drivers/radeon/Makefile b/drivers/radeon/Makefile
index 7f70658d9d..12021d6d8f 100644
--- a/drivers/radeon/Makefile
+++ b/drivers/radeon/Makefile
@@ -45,4 +45,4 @@ nodes:
vid:
make install
rmmod radeon_vid
- modprobe radeon_vid
+ modprobe radeon_vid mtrr=1
diff --git a/drivers/radeon/radeon_vid.c b/drivers/radeon/radeon_vid.c
index 89aebb6ac2..ca6d827488 100644
--- a/drivers/radeon/radeon_vid.c
+++ b/drivers/radeon/radeon_vid.c
@@ -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 @@ RTRACE(RVID_MSG"OV0: p1_v_accum_init=%x p1_h_accum_init=%x p23_h_accum_init=%x\n
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 @@ static int radeon_vid_ioctl(struct inode *inode, struct file *file, unsigned int
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;