Let non-x86_32 use the reference yuv2rgb conversion function.

The yuv2rgb_sse2 implementation is x86_32 only, so x86_64 can't take advantage of this optimized code path.

This requires the architecture defines to be working fully, so this can't be merged until it is fixed on the Windows side of things.
This commit is contained in:
Ryan Houdek 2014-07-15 15:25:53 -05:00
parent 69f57351b2
commit a143a8b1f6
2 changed files with 7 additions and 2 deletions

View File

@ -58,6 +58,7 @@ void yuv2rgb_reference(void)
} }
} }
#ifdef _M_X86_32
// Everything below is bit accurate to the IPU specification (except maybe rounding). // Everything below is bit accurate to the IPU specification (except maybe rounding).
// Know the specification before you touch it. // Know the specification before you touch it.
#define SSE_BYTES(x) {x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x} #define SSE_BYTES(x) {x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x}
@ -403,3 +404,4 @@ ihatemsvc:
# error Unsupported compiler # error Unsupported compiler
#endif #endif
} }
#endif

View File

@ -15,7 +15,10 @@
#pragma once #pragma once
#define yuv2rgb yuv2rgb_sse2
extern void yuv2rgb_reference(); extern void yuv2rgb_reference();
#ifdef _M_X86_32
#define yuv2rgb yuv2rgb_sse2
extern void yuv2rgb_sse2(); extern void yuv2rgb_sse2();
#else
#define yuv2rgb yuv2rgb_reference
#endif