diff options
author | alex <alex@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2003-04-09 17:09:20 +0000 |
---|---|---|
committer | alex <alex@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2003-04-09 17:09:20 +0000 |
commit | 9c0fe0747ba67c640187f8698f81aecb4d329f32 (patch) | |
tree | 35c0c1b7dc639d116a5a9f09e91ad5118493b9d6 /vidix/drivers/radeon_vid.c | |
parent | 2b1f95dcc2f80cd148ab9e70b9a3bece92541d59 (diff) | |
download | mpv-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.c | 19 |
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 { |