Displaying 3 results from an estimated 3 matches for "vuvud".
2013 Jul 29
3
[PATCH 1/2] xv: fix last pixel for big-endian machines in YV12 -> NV12 conversion
...insertions(+), 1 deletion(-)
diff --git a/src/nouveau_xv.c b/src/nouveau_xv.c
index 8eafcf0..567e30c 100644
--- a/src/nouveau_xv.c
+++ b/src/nouveau_xv.c
@@ -552,8 +552,11 @@ NVCopyNV12ColorPlanes(unsigned char *src1, unsigned char *src2,
if (e) {
unsigned short *vud = (unsigned short *) vuvud;
-
+#if X_BYTE_ORDER == X_BIG_ENDIAN
+ *vud = us[0] | (vs[0]<<8);
+#else
*vud = vs[0] | (us[0]<<8);
+#endif
}
dst += dstPitch;
--
1.8.1.5
2013 Jul 29
0
[PATCH 2/2] xv: speed up YV12 -> NV12 conversion using SSE2 if available
...rPlanes(unsigned char *src1, unsigned char *src2,
w >>= 1;
h >>= 1;
+#ifdef __SSE2__
+ l = w >> 3;
+ e = w & 7;
+#else
l = w >> 1;
e = w & 1;
+#endif
for (j = 0; j < h; j++) {
unsigned char *us = src1;
unsigned char *vs = src2;
unsigned int *vuvud = (unsigned int *) dst;
+ unsigned short *vud;
for (i = 0; i < l; i++) {
-#if X_BYTE_ORDER == X_BIG_ENDIAN
+#ifdef __SSE2__
+ _mm_storeu_si128(
+ (void*)vuvud,
+ _mm_unpacklo_epi8(
+ _mm_loadl_epi64((void*)vs),
+ _mm_loadl_epi64((void*)us)));
+ vuvud+=4;
+ us+=8;
+ vs...
2008 Jan 21
1
[Bug 14168] New: endian bug on powerpc
...ppc), it can be fixed by applying the following patch:
--- nv_video.c~ 2008-01-21 11:33:53.000000000 +0900
+++ nv_video.c 2008-01-21 19:02:27.000000000 +0900
@@ -689,11 +689,7 @@
}
if (e) {
unsigned short *vud = (unsigned short *) vuvud;
-#if X_BYTE_ORDER == X_BIG_ENDIAN
- *vud = (vs[0]<<8) | (us[0] << 0);
-#else
*vud = vs[0] | (us[0]<<8);
-#endif
}
dst += dstPitch ;
src1 += srcPitch2;
--
Configure bugmail: ht...