From 9c0fe0747ba67c640187f8698f81aecb4d329f32 Mon Sep 17 00:00:00 2001 From: alex Date: Wed, 9 Apr 2003 17:09:20 +0000 Subject: i420 fixed, needs some testing git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@9893 b3059339-0415-0410-9bf9-f77b7e298cf2 --- vidix/drivers/radeon_vid.c | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) (limited to 'vidix') 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 { -- cgit v1.2.3