summaryrefslogtreecommitdiffstats
path: root/vidix
diff options
context:
space:
mode:
authornick <nick@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-01-07 10:54:32 +0000
committernick <nick@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-01-07 10:54:32 +0000
commitd9517dea6af40848296dd7664dbb3475f6cc8521 (patch)
tree73ae45767d99228d4dbd9ec19068d1f1c1d31e0e /vidix
parent21699b7772911c35d2ce498c3eb01cfa7c878411 (diff)
downloadmpv-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.c15
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; */