diff options
author | nick <nick@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2002-01-07 10:54:32 +0000 |
---|---|---|
committer | nick <nick@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2002-01-07 10:54:32 +0000 |
commit | d9517dea6af40848296dd7664dbb3475f6cc8521 (patch) | |
tree | 73ae45767d99228d4dbd9ec19068d1f1c1d31e0e /vidix | |
parent | 21699b7772911c35d2ce498c3eb01cfa7c878411 (diff) | |
download | mpv-d9517dea6af40848296dd7664dbb3475f6cc8521.tar.bz2 mpv-d9517dea6af40848296dd7664dbb3475f6cc8521.tar.xz |
double buffering fixing
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@4034 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'vidix')
-rw-r--r-- | vidix/drivers/radeon_vid.c | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/vidix/drivers/radeon_vid.c b/vidix/drivers/radeon_vid.c index 3ddc69c1ab..8ff6eadbf7 100644 --- a/vidix/drivers/radeon_vid.c +++ b/vidix/drivers/radeon_vid.c @@ -992,8 +992,17 @@ static void radeon_compute_framesize(vidix_playback_t *info) { unsigned pitch,awidth; pitch = radeon_query_pitch(info->fourcc); - awidth = info->src.w + ((pitch-1) & ~(pitch-1)); - info->frame_size = awidth*info->src.h+(awidth*info->src.h)/2; + awidth = (info->src.w + (pitch-1)) & ~(pitch-1); + switch(info->fourcc) + { + case IMGFMT_I420: + case IMGFMT_YV12: + case IMGFMT_IYUV: + info->frame_size = awidth*info->src.h+(awidth*info->src.h)/2; + break; + default: info->frame_size = awidth*info->src.h*2; + break; + } } int vixConfigPlayback(vidix_playback_t *info) @@ -1021,7 +1030,7 @@ int vixPlaybackOff( void ) return 0; } -int vixPlaybackFrameSel(unsigned frame) +int vixPlaybackFrameSelect(unsigned frame) { uint32_t off0,off1,off2; /* if(!besr.double_buff) return; */ |