summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authornick <nick@b3059339-0415-0410-9bf9-f77b7e298cf2>2001-11-22 10:20:09 +0000
committernick <nick@b3059339-0415-0410-9bf9-f77b7e298cf2>2001-11-22 10:20:09 +0000
commit6b473dc2979e961ccfa4c8cee32f3786a4cee0be (patch)
treed2f5fbfa7878dfc56d62703104a9ecdf00ee0387 /drivers
parentf9612a321b1b2a0e431eee5fa179e63b34e0afc6 (diff)
downloadmpv-6b473dc2979e961ccfa4c8cee32f3786a4cee0be.tar.bz2
mpv-6b473dc2979e961ccfa4c8cee32f3786a4cee0be.tar.xz
Minor fixes
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@3067 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'drivers')
-rw-r--r--drivers/radeon/radeon_vid.c25
1 files changed, 19 insertions, 6 deletions
diff --git a/drivers/radeon/radeon_vid.c b/drivers/radeon/radeon_vid.c
index 3dfddf8cf5..4ddcbf7049 100644
--- a/drivers/radeon/radeon_vid.c
+++ b/drivers/radeon/radeon_vid.c
@@ -4,7 +4,7 @@
*
* Copyright (C) 2001 Nick Kurshev
*
- * BES YUV Framebuffer driver for Radeon cards
+ * BES YUV video overlay driver for Radeon cards
*
* This software has been released under the terms of the GNU Public
* license. See http://www.gnu.org/copyleft/gpl.html for details.
@@ -400,7 +400,7 @@ RTRACE("radeon_vid: usr_config: version = %x format=%x card=%x ram=%u src(%ux%u)
d1line = top * dstPitch;
d2line = (src_h * dstPitch) + ((top >> 1) * (dstPitch >> 1));
d3line = d2line + ((src_h >> 1) * (dstPitch >> 1));
- besr.vid_buf0_base_adrs = ((radeon_overlay_off + d1line) & VIF_BUF0_BASE_ADRS_MASK) | VIF_BUF1_PITCH_SEL;
+ besr.vid_buf0_base_adrs = ((radeon_overlay_off + d1line) & VIF_BUF0_BASE_ADRS_MASK) | VIF_BUF0_PITCH_SEL;
besr.vid_buf1_base_adrs = ((radeon_overlay_off + d2line) & VIF_BUF1_BASE_ADRS_MASK) | VIF_BUF1_PITCH_SEL;
besr.vid_buf2_base_adrs = ((radeon_overlay_off + d3line) & VIF_BUF2_BASE_ADRS_MASK) | VIF_BUF2_PITCH_SEL;
}
@@ -454,11 +454,24 @@ RTRACE("radeon_vid: BES: y_x_start=%x y_x_end=%x blank_at_top=%x pitch0_value=%x
static void radeon_vid_frame_sel(int frame)
{
- uint32_t off;
- off = frame%2?besr.vid_buf3_base_adrs:besr.vid_buf0_base_adrs;
+ uint32_t off0,off1,off2;
+ if(frame%2)
+ {
+ off0 = besr.vid_buf3_base_adrs;
+ off1 = besr.vid_buf4_base_adrs;
+ off2 = besr.vid_buf5_base_adrs;
+ }
+ else
+ {
+ off0 = besr.vid_buf0_base_adrs;
+ off1 = besr.vid_buf1_base_adrs;
+ off2 = besr.vid_buf2_base_adrs;
+ }
OUTREG(OV0_REG_LOAD_CNTL, REG_LD_CTL_LOCK);
while(!(INREG(OV0_REG_LOAD_CNTL)&REG_LD_CTL_LOCK_READBACK));
- OUTREG(OV0_VID_BUF0_BASE_ADRS, off);
+ OUTREG(OV0_VID_BUF0_BASE_ADRS, off0);
+ OUTREG(OV0_VID_BUF1_BASE_ADRS, off1);
+ OUTREG(OV0_VID_BUF2_BASE_ADRS, off2);
OUTREG(OV0_REG_LOAD_CNTL, 0);
}
@@ -679,7 +692,7 @@ static int radeon_vid_initialize(void)
{
radeon_vid_in_use = 0;
- RTRACE( "Radeon BES YUV Video interface v0.01 (c) Nick Kurshev\n");
+ printk( "radeon_vid: Radeon video overlay driver v"RADEON_VID_VERSION" (C) Nick Kurshev\n");
if(register_chrdev(RADEON_VID_MAJOR, "radeon_vid", &radeon_vid_fops))
{
printk( "radeon_vid: unable to get major: %d\n", RADEON_VID_MAJOR);