summaryrefslogtreecommitdiff
path: root/src/xvmc
diff options
context:
space:
mode:
authorDaniel Vetter <daniel.vetter@ffwll.ch>2010-03-08 23:22:53 +0100
committerCarl Worth <cworth@cworth.org>2010-03-08 16:38:46 -0800
commit318aa9ed799197810e2039dbe3ec51559dcc888c (patch)
tree685e8fedb3950036604e1813397560378b06abde /src/xvmc
parent68629b63740fb6e62c258b8a46669e77660fa4e4 (diff)
i915 XvMC: fixup colors
My cleanup accidently created a inconsistency in the YUV plane ordering. I think we can safely assume that I'm colorblind ;) As Carl Worth rightly pointed out, this change deserves a more elaborate explanation: For Xv planar formats, the three planes are stored consecutively in memory, ordered Y U V. Now for some totally odd reason (= none at all), i915 xvmc stored it in Y V U order. Right after the release of 2.10, with commit "Xv: consolidate xmvc passthrough handling" I've inadvertently broken xvmc support (which started this whole odyssey into xvmc). When fixing stuff up, I neglected this special plane ordering and simply assumed it to be the same as Xv and dropped that special case for i915 in src/i830_video.c. This patch completes the change to standard YUV plane ordering by making the corresponding change in src/xvmc/i915_xvmc.c. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'src/xvmc')
-rw-r--r--src/xvmc/i915_xvmc.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/xvmc/i915_xvmc.c b/src/xvmc/i915_xvmc.c
index 190b7369..0888d639 100644
--- a/src/xvmc/i915_xvmc.c
+++ b/src/xvmc/i915_xvmc.c
@@ -31,9 +31,9 @@
#include "i915_structs.h"
#include "i915_program.h"
-#define UOFFSET(surface) (SIZE_Y420(surface->width, surface->height) + \
+#define UOFFSET(surface) (SIZE_Y420(surface->width, surface->height))
+#define VOFFSET(surface) (SIZE_Y420(surface->width, surface->height) + \
SIZE_UV420(surface->width, surface->height))
-#define VOFFSET(surface) (SIZE_Y420(surface->width, surface->height))
typedef union {
int16_t component[2];