summaryrefslogtreecommitdiffstats
path: root/vidix/drivers/radeon_vid.c
diff options
context:
space:
mode:
authoralex <alex@b3059339-0415-0410-9bf9-f77b7e298cf2>2003-04-09 17:09:20 +0000
committeralex <alex@b3059339-0415-0410-9bf9-f77b7e298cf2>2003-04-09 17:09:20 +0000
commit9c0fe0747ba67c640187f8698f81aecb4d329f32 (patch)
tree35c0c1b7dc639d116a5a9f09e91ad5118493b9d6 /vidix/drivers/radeon_vid.c
parent2b1f95dcc2f80cd148ab9e70b9a3bece92541d59 (diff)
downloadmpv-9c0fe0747ba67c640187f8698f81aecb4d329f32.tar.bz2
mpv-9c0fe0747ba67c640187f8698f81aecb4d329f32.tar.xz
i420 fixed, needs some testing
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@9893 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'vidix/drivers/radeon_vid.c')
-rw-r--r--vidix/drivers/radeon_vid.c19
1 files changed, 10 insertions, 9 deletions
diff --git a/vidix/drivers/radeon_vid.c b/vidix/drivers/radeon_vid.c
index 1981e42a68..2078670422 100644
--- a/vidix/drivers/radeon_vid.c
+++ b/vidix/drivers/radeon_vid.c
@@ -1494,8 +1494,16 @@ static int radeon_vid_init_video( vidix_playback_t *config )
}
else
{
- besr.vid_buf_base_adrs_v[i]=((radeon_overlay_off+config->offsets[i]+config->offset.v)&VIF_BUF1_BASE_ADRS_MASK)|VIF_BUF1_PITCH_SEL;
- besr.vid_buf_base_adrs_u[i]=((radeon_overlay_off+config->offsets[i]+config->offset.u)&VIF_BUF2_BASE_ADRS_MASK)|VIF_BUF2_PITCH_SEL;
+ if (besr.fourcc == IMGFMT_I420 || besr.fourcc == IMGFMT_IYUV)
+ {
+ besr.vid_buf_base_adrs_u[i]=((radeon_overlay_off+config->offsets[i]+config->offset.v)&VIF_BUF1_BASE_ADRS_MASK)|VIF_BUF1_PITCH_SEL;
+ besr.vid_buf_base_adrs_v[i]=((radeon_overlay_off+config->offsets[i]+config->offset.u)&VIF_BUF2_BASE_ADRS_MASK)|VIF_BUF2_PITCH_SEL;
+ }
+ else
+ {
+ besr.vid_buf_base_adrs_v[i]=((radeon_overlay_off+config->offsets[i]+config->offset.v)&VIF_BUF1_BASE_ADRS_MASK)|VIF_BUF1_PITCH_SEL;
+ besr.vid_buf_base_adrs_u[i]=((radeon_overlay_off+config->offsets[i]+config->offset.u)&VIF_BUF2_BASE_ADRS_MASK)|VIF_BUF2_PITCH_SEL;
+ }
}
}
config->offset.y = ((besr.vid_buf_base_adrs_y[0])&VIF_BUF0_BASE_ADRS_MASK) - radeon_overlay_off;
@@ -1509,13 +1517,6 @@ static int radeon_vid_init_video( vidix_playback_t *config )
config->offset.v = ((besr.vid_buf_base_adrs_v[0])&VIF_BUF1_BASE_ADRS_MASK) - radeon_overlay_off;
config->offset.u = ((besr.vid_buf_base_adrs_u[0])&VIF_BUF2_BASE_ADRS_MASK) - radeon_overlay_off;
}
- if(besr.fourcc == IMGFMT_I420 || besr.fourcc == IMGFMT_IYUV)
- {
- uint32_t tmp;
- tmp = config->offset.u;
- config->offset.u = config->offset.v;
- config->offset.v = tmp;
- }
}
else
{