summaryrefslogtreecommitdiffstats
path: root/vidix
diff options
context:
space:
mode:
authorfaust3 <faust3@b3059339-0415-0410-9bf9-f77b7e298cf2>2004-09-02 11:34:25 +0000
committerfaust3 <faust3@b3059339-0415-0410-9bf9-f77b7e298cf2>2004-09-02 11:34:25 +0000
commit0953591a535fcf58e09982fc42ad7c0eb9dc9703 (patch)
tree162b768f1b6f5bebfc589d649d80cb0ab05d5557 /vidix
parent3c4c49363fc91217ed09c26fe88192ff5d8f972c (diff)
downloadmpv-0953591a535fcf58e09982fc42ad7c0eb9dc9703.tar.bz2
mpv-0953591a535fcf58e09982fc42ad7c0eb9dc9703.tar.xz
fix for i420 format, initial patch by Aurelien Jacobs <aurel at gnuage.org> from the Geexbox mplayer patchset, some modification by me
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@13228 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'vidix')
-rw-r--r--vidix/drivers/mga_vid.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/vidix/drivers/mga_vid.c b/vidix/drivers/mga_vid.c
index 1e49def06c..73a5ebaad9 100644
--- a/vidix/drivers/mga_vid.c
+++ b/vidix/drivers/mga_vid.c
@@ -775,8 +775,15 @@ int vixConfigPlayback(vidix_playback_t *config)
config->offsets[i] = i*config->frame_size;
config->offset.y=0;
- config->offset.v=((sw + 31) & ~31) * sh;
- config->offset.u=config->offset.v+((sw + 31) & ~31) * sh /4;
+ if(config->fourcc == IMGFMT_I420 || config->fourcc == IMGFMT_IYUV)
+ {
+ config->offset.u=((sw + 31) & ~31) * sh;
+ config->offset.v=config->offset.u+((sw + 31) & ~31) * sh /4;
+ }
+ else {
+ config->offset.v=((sw + 31) & ~31) * sh;
+ config->offset.u=config->offset.v+((sw + 31) & ~31) * sh /4;
+ }
//FIXME figure out a better way to allocate memory on card
//allocate 2 megs