1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 |
- #pragma once
- #ifndef __spoutCopy__
- #define __spoutCopy__
- #include "SpoutCommon.h"
- #include <windows.h>
- #include <stdio.h>
- #include <gl/gl.h>
- #include <intrin.h>
- #include <emmintrin.h>
- #include <tmmintrin.h>
- class SPOUT_DLLEXP spoutCopy {
- public:
- spoutCopy();
- ~spoutCopy();
- void CopyPixels(const unsigned char *src, unsigned char *dst,
- unsigned int width, unsigned int height,
- GLenum glFormat = GL_RGBA, bool bInvert = false);
- bool FlipBuffer(const unsigned char *src, unsigned char *dst,
- unsigned int width, unsigned int height,
- GLenum glFormat = GL_RGBA);
- void memcpy_sse2(void* dst, void* src, size_t size);
- void rgba2bgra(void* rgba_source, void *bgra_dest, unsigned int width, unsigned int height, bool bInvert = false);
- void bgra2rgba(void* bgra_source, void *rgba_dest, unsigned int width, unsigned int height, bool bInvert = false);
- void rgba_bgra(void *rgba_source, void *bgra_dest, unsigned int width, unsigned int height, bool bInvert = false);
- void rgba_bgra_sse2(void *rgba_source, void *rgba_dest, unsigned int width, unsigned int height, bool bInvert = false);
- void rgba_bgra_ssse3(void *rgba_source, void *rgba_dest, unsigned int width, unsigned int height, bool bInvert = false);
-
-
- void rgb2rgba (void* rgb_source, void *rgba_dest, unsigned int width, unsigned int height, bool bInvert = false);
- void bgr2rgba (void* bgr_source, void *rgba_dest, unsigned int width, unsigned int height, bool bInvert = false);
- void rgb2bgra (void* rgb_source, void *bgra_dest, unsigned int width, unsigned int height, bool bInvert = false);
- void bgr2bgra (void* bgr_source, void *bgra_dest, unsigned int width, unsigned int height, bool bInvert = false);
- void rgba2rgb (void* rgba_source, void *rgb_dest, unsigned int width, unsigned int height, bool bInvert = false);
- void rgba2bgr (void* rgba_source, void *bgr_dest, unsigned int width, unsigned int height, bool bInvert = false);
- void bgra2rgb (void* bgra_source, void *rgb_dest, unsigned int width, unsigned int height, bool bInvert = false);
- void bgra2bgr (void* bgra_source, void *bgr_dest, unsigned int width, unsigned int height, bool bInvert = false);
- private :
- void CheckSSE();
- bool m_bSSE2;
- bool m_bSSE3;
- bool m_bSSSE3;
- };
- #endif
|