FreeRDP
|
#include <winpr/wtypes.h>
#include <freerdp/api.h>
#include <freerdp/types.h>
#include <freerdp/codec/color.h>
#include <winpr/platform.h>
Data Structures | |
struct | prim_size_t |
struct | primitives_t |
Typedefs | |
typedef INT32 | pstatus_t |
typedef pstatus_t(* | __copy_t) (const void *WINPR_RESTRICT pSrc, void *WINPR_RESTRICT pDst, INT32 bytes) |
typedef pstatus_t(* | __copy_8u_t) (const BYTE *WINPR_RESTRICT pSrc, BYTE *WINPR_RESTRICT pDst, INT32 len) |
typedef pstatus_t(* | __copy_8u_AC4r_t) (const BYTE *WINPR_RESTRICT pSrc, INT32 srcStep, BYTE *WINPR_RESTRICT pDst, INT32 dstStep, INT32 width, INT32 height) |
typedef pstatus_t(* | __set_8u_t) (BYTE val, BYTE *WINPR_RESTRICT pDst, UINT32 len) |
typedef pstatus_t(* | __set_32s_t) (INT32 val, INT32 *WINPR_RESTRICT pDst, UINT32 len) |
typedef pstatus_t(* | __set_32u_t) (UINT32 val, UINT32 *WINPR_RESTRICT pDst, UINT32 len) |
typedef pstatus_t(* | __zero_t) (void *WINPR_RESTRICT pDst, size_t bytes) |
typedef pstatus_t(* | __alphaComp_argb_t) (const BYTE *WINPR_RESTRICT pSrc1, UINT32 src1Step, const BYTE *WINPR_RESTRICT pSrc2, UINT32 src2Step, BYTE *WINPR_RESTRICT pDst, UINT32 dstStep, UINT32 width, UINT32 height) |
typedef pstatus_t(* | __add_16s_t) (const INT16 *WINPR_RESTRICT pSrc1, const INT16 *WINPR_RESTRICT pSrc2, INT16 *WINPR_RESTRICT pDst, UINT32 len) |
typedef pstatus_t(* | __add_16s_inplace_t) (INT16 *WINPR_RESTRICT pSrcDst1, INT16 *WINPR_RESTRICT pSrcDst2, UINT32 len) |
typedef pstatus_t(* | __copy_no_overlap_t) (BYTE *WINPR_RESTRICT pDstData, DWORD DstFormat, UINT32 nDstStep, UINT32 nXDst, UINT32 nYDst, UINT32 nWidth, UINT32 nHeight, const BYTE *WINPR_RESTRICT pSrcData, DWORD SrcFormat, UINT32 nSrcStep, UINT32 nXSrc, UINT32 nYSrc, const gdiPalette *WINPR_RESTRICT palette, UINT32 flags) |
typedef pstatus_t(* | __lShiftC_16s_inplace_t) (INT16 *WINPR_RESTRICT pSrcDst, UINT32 val, UINT32 len) |
typedef pstatus_t(* | __lShiftC_16s_t) (const INT16 *pSrc, UINT32 val, INT16 *pSrcDst, UINT32 len) |
typedef pstatus_t(* | __lShiftC_16u_t) (const UINT16 *pSrc, UINT32 val, UINT16 *pSrcDst, UINT32 len) |
typedef pstatus_t(* | __rShiftC_16s_t) (const INT16 *pSrc, UINT32 val, INT16 *pSrcDst, UINT32 len) |
typedef pstatus_t(* | __rShiftC_16u_t) (const UINT16 *pSrc, UINT32 val, UINT16 *pSrcDst, UINT32 len) |
typedef pstatus_t(* | __shiftC_16s_t) (const INT16 *pSrc, INT32 val, INT16 *pSrcDst, UINT32 len) |
typedef pstatus_t(* | __shiftC_16u_t) (const UINT16 *pSrc, INT32 val, UINT16 *pSrcDst, UINT32 len) |
typedef pstatus_t(* | __sign_16s_t) (const INT16 *pSrc, INT16 *pSrcDst, UINT32 len) |
typedef pstatus_t(* | __yCbCrToRGB_16s8u_P3AC4R_t) (const INT16 *const WINPR_RESTRICT pSrc[3], UINT32 srcStep, BYTE *WINPR_RESTRICT pDst, UINT32 dstStep, UINT32 DstFormat, const prim_size_t *WINPR_RESTRICT roi) |
typedef pstatus_t(* | __yCbCrToRGB_16s16s_P3P3_t) (const INT16 *const WINPR_RESTRICT pSrc[3], INT32 srcStep, INT16 *WINPR_RESTRICT pDst[3], INT32 dstStep, const prim_size_t *WINPR_RESTRICT roi) |
typedef pstatus_t(* | __RGBToYCbCr_16s16s_P3P3_t) (const INT16 *const WINPR_RESTRICT pSrc[3], INT32 srcStep, INT16 *WINPR_RESTRICT pDst[3], INT32 dstStep, const prim_size_t *WINPR_RESTRICT roi) |
typedef pstatus_t(* | __RGBToRGB_16s8u_P3AC4R_t) (const INT16 *const WINPR_RESTRICT pSrc[3], UINT32 srcStep, BYTE *WINPR_RESTRICT pDst, UINT32 dstStep, UINT32 DstFormat, const prim_size_t *WINPR_RESTRICT roi) |
typedef pstatus_t(* | __YCoCgToRGB_8u_AC4R_t) (const BYTE *WINPR_RESTRICT pSrc, INT32 srcStep, BYTE *WINPR_RESTRICT pDst, UINT32 DstFormat, INT32 dstStep, UINT32 width, UINT32 height, UINT8 shift, BOOL withAlpha) |
typedef pstatus_t(* | __RGB565ToARGB_16u32u_C3C4_t) (const UINT16 *WINPR_RESTRICT pSrc, INT32 srcStep, UINT32 *WINPR_RESTRICT pDst, INT32 dstStep, UINT32 width, UINT32 height, UINT32 format) |
typedef pstatus_t(* | __YUV420ToRGB_8u_P3AC4R_t) (const BYTE *const WINPR_RESTRICT pSrc[3], const UINT32 srcStep[3], BYTE *WINPR_RESTRICT pDst, UINT32 dstStep, UINT32 DstFormat, const prim_size_t *WINPR_RESTRICT roi) |
typedef pstatus_t(* | __YUV444ToRGB_8u_P3AC4R_t) (const BYTE *const WINPR_RESTRICT pSrc[3], const UINT32 srcStep[3], BYTE *WINPR_RESTRICT pDst, UINT32 dstStep, UINT32 DstFormat, const prim_size_t *WINPR_RESTRICT roi) |
typedef pstatus_t(* | __RGBToYUV420_8u_P3AC4R_t) (const BYTE *WINPR_RESTRICT pSrc, UINT32 SrcFormat, UINT32 srcStep, BYTE *WINPR_RESTRICT pDst[3], const UINT32 dstStep[3], const prim_size_t *WINPR_RESTRICT roi) |
typedef pstatus_t(* | __RGBToYUV444_8u_P3AC4R_t) (const BYTE *WINPR_RESTRICT pSrc, UINT32 SrcFormat, UINT32 srcStep, BYTE *WINPR_RESTRICT pDst[3], UINT32 dstStep[3], const prim_size_t *WINPR_RESTRICT roi) |
typedef pstatus_t(* | __YUV420CombineToYUV444_t) (avc444_frame_type type, const BYTE *const WINPR_RESTRICT pSrc[3], const UINT32 srcStep[3], UINT32 nWidth, UINT32 nHeight, BYTE *WINPR_RESTRICT pDst[3], const UINT32 dstStep[3], const RECTANGLE_16 *WINPR_RESTRICT roi) |
typedef pstatus_t(* | __YUV444SplitToYUV420_t) (const BYTE *const WINPR_RESTRICT pSrc[3], const UINT32 srcStep[3], BYTE *WINPR_RESTRICT pMainDst[3], const UINT32 dstMainStep[3], BYTE *WINPR_RESTRICT pAuxDst[3], const UINT32 srcAuxStep[3], const prim_size_t *WINPR_RESTRICT roi) |
typedef pstatus_t(* | __RGBToAVC444YUV_t) (const BYTE *WINPR_RESTRICT pSrc, UINT32 srcFormat, UINT32 srcStep, BYTE *WINPR_RESTRICT pMainDst[3], const UINT32 dstMainStep[3], BYTE *WINPR_RESTRICT pAuxDst[3], const UINT32 dstAuxStep[3], const prim_size_t *WINPR_RESTRICT roi) |
typedef pstatus_t(* | __andC_32u_t) (const UINT32 *WINPR_RESTRICT pSrc, UINT32 val, UINT32 *WINPR_RESTRICT pDst, INT32 len) |
typedef pstatus_t(* | __orC_32u_t) (const UINT32 *WINPR_RESTRICT pSrc, UINT32 val, UINT32 *WINPR_RESTRICT pDst, INT32 len) |
typedef pstatus_t(* | primitives_uninit_t) (void) |
Enumerations | |
enum | { PRIM_FLAGS_HAVE_EXTCPU = (1U << 0) , PRIM_FLAGS_HAVE_EXTGPU = (1U << 1) } |
flags of primitives More... | |
enum | avc444_frame_type { AVC444_LUMA , AVC444_CHROMAv1 , AVC444_CHROMAv2 } |
enum | primitive_hints { PRIMITIVES_PURE_SOFT , PRIMITIVES_ONLY_CPU , PRIMITIVES_ONLY_GPU , PRIMITIVES_AUTODETECT } |
Functions | |
FREERDP_API primitives_t * | primitives_get (void) |
FREERDP_API void | primitives_set_hints (primitive_hints hints) |
FREERDP_API primitive_hints | primitives_get_hints (void) |
FREERDP_API primitives_t * | primitives_get_generic (void) |
FREERDP_API DWORD | primitives_flags (primitives_t *p) |
FREERDP_API BOOL | primitives_init (primitives_t *p, primitive_hints hints) |
FREERDP_API void | primitives_uninit (void) |
#define FREERDP_PRIMITIVES_H |
#define PIXMAP4_ADDR | ( | _dst_, | |
_x_, | |||
_y_, | |||
_span_ | |||
) | ((void*)(((BYTE*)(_dst_)) + (((_x_) + (_y_) * (_span_)) << 2))) |
#define PRIM_ARM_FPA_AVAILABLE (1U << 4) |
#define PRIM_ARM_FPE_AVAILABLE (1U << 5) |
#define PRIM_ARM_IWMMXT_AVAILABLE (1U << 6) |
#define PRIM_ARM_NEON_AVAILABLE (1U << 7) |
#define PRIM_ARM_VFP1_AVAILABLE (1U << 0) |
#define PRIM_ARM_VFP2_AVAILABLE (1U << 1) |
#define PRIM_ARM_VFP3_AVAILABLE (1U << 2) |
#define PRIM_ARM_VFP4_AVAILABLE (1U << 3) |
#define PRIM_X86_3DNOW_AVAILABLE (1U << 1) |
#define PRIM_X86_3DNOW_PREFETCH_AVAILABLE (1U << 2) |
#define PRIM_X86_AVX2_AVAILABLE (1U << 12) |
#define PRIM_X86_AVX_AES_AVAILABLE (1U << 11) |
#define PRIM_X86_AVX_AVAILABLE (1U << 9) |
#define PRIM_X86_FMA_AVAILABLE (1U << 10) |
#define PRIM_X86_MMX_AVAILABLE (1U << 0) |
#define PRIM_X86_SSE2_AVAILABLE (1U << 4) |
#define PRIM_X86_SSE3_AVAILABLE (1U << 5) |
#define PRIM_X86_SSE41_AVAILABLE (1U << 7) |
#define PRIM_X86_SSE42_AVAILABLE (1U << 8) |
#define PRIM_X86_SSE_AVAILABLE (1U << 3) |
#define PRIM_X86_SSSE3_AVAILABLE (1U << 6) |
#define PRIMITIVES_SUCCESS (0) /* match ippStsNoErr */ |
typedef pstatus_t(* __add_16s_inplace_t) (INT16 *WINPR_RESTRICT pSrcDst1, INT16 *WINPR_RESTRICT pSrcDst2, UINT32 len) |
typedef pstatus_t(* __add_16s_t) (const INT16 *WINPR_RESTRICT pSrc1, const INT16 *WINPR_RESTRICT pSrc2, INT16 *WINPR_RESTRICT pDst, UINT32 len) |
typedef pstatus_t(* __alphaComp_argb_t) (const BYTE *WINPR_RESTRICT pSrc1, UINT32 src1Step, const BYTE *WINPR_RESTRICT pSrc2, UINT32 src2Step, BYTE *WINPR_RESTRICT pDst, UINT32 dstStep, UINT32 width, UINT32 height) |
typedef pstatus_t(* __andC_32u_t) (const UINT32 *WINPR_RESTRICT pSrc, UINT32 val, UINT32 *WINPR_RESTRICT pDst, INT32 len) |
typedef pstatus_t(* __copy_8u_AC4r_t) (const BYTE *WINPR_RESTRICT pSrc, INT32 srcStep, BYTE *WINPR_RESTRICT pDst, INT32 dstStep, INT32 width, INT32 height) |
typedef pstatus_t(* __copy_8u_t) (const BYTE *WINPR_RESTRICT pSrc, BYTE *WINPR_RESTRICT pDst, INT32 len) |
typedef pstatus_t(* __copy_no_overlap_t) (BYTE *WINPR_RESTRICT pDstData, DWORD DstFormat, UINT32 nDstStep, UINT32 nXDst, UINT32 nYDst, UINT32 nWidth, UINT32 nHeight, const BYTE *WINPR_RESTRICT pSrcData, DWORD SrcFormat, UINT32 nSrcStep, UINT32 nXSrc, UINT32 nYSrc, const gdiPalette *WINPR_RESTRICT palette, UINT32 flags) |
typedef pstatus_t(* __copy_t) (const void *WINPR_RESTRICT pSrc, void *WINPR_RESTRICT pDst, INT32 bytes) |
typedef pstatus_t(* __lShiftC_16s_inplace_t) (INT16 *WINPR_RESTRICT pSrcDst, UINT32 val, UINT32 len) |
typedef pstatus_t(* __orC_32u_t) (const UINT32 *WINPR_RESTRICT pSrc, UINT32 val, UINT32 *WINPR_RESTRICT pDst, INT32 len) |
typedef pstatus_t(* __RGB565ToARGB_16u32u_C3C4_t) (const UINT16 *WINPR_RESTRICT pSrc, INT32 srcStep, UINT32 *WINPR_RESTRICT pDst, INT32 dstStep, UINT32 width, UINT32 height, UINT32 format) |
typedef pstatus_t(* __RGBToAVC444YUV_t) (const BYTE *WINPR_RESTRICT pSrc, UINT32 srcFormat, UINT32 srcStep, BYTE *WINPR_RESTRICT pMainDst[3], const UINT32 dstMainStep[3], BYTE *WINPR_RESTRICT pAuxDst[3], const UINT32 dstAuxStep[3], const prim_size_t *WINPR_RESTRICT roi) |
typedef pstatus_t(* __RGBToRGB_16s8u_P3AC4R_t) (const INT16 *const WINPR_RESTRICT pSrc[3], UINT32 srcStep, BYTE *WINPR_RESTRICT pDst, UINT32 dstStep, UINT32 DstFormat, const prim_size_t *WINPR_RESTRICT roi) |
typedef pstatus_t(* __RGBToYCbCr_16s16s_P3P3_t) (const INT16 *const WINPR_RESTRICT pSrc[3], INT32 srcStep, INT16 *WINPR_RESTRICT pDst[3], INT32 dstStep, const prim_size_t *WINPR_RESTRICT roi) |
typedef pstatus_t(* __RGBToYUV420_8u_P3AC4R_t) (const BYTE *WINPR_RESTRICT pSrc, UINT32 SrcFormat, UINT32 srcStep, BYTE *WINPR_RESTRICT pDst[3], const UINT32 dstStep[3], const prim_size_t *WINPR_RESTRICT roi) |
typedef pstatus_t(* __RGBToYUV444_8u_P3AC4R_t) (const BYTE *WINPR_RESTRICT pSrc, UINT32 SrcFormat, UINT32 srcStep, BYTE *WINPR_RESTRICT pDst[3], UINT32 dstStep[3], const prim_size_t *WINPR_RESTRICT roi) |
typedef pstatus_t(* __yCbCrToRGB_16s16s_P3P3_t) (const INT16 *const WINPR_RESTRICT pSrc[3], INT32 srcStep, INT16 *WINPR_RESTRICT pDst[3], INT32 dstStep, const prim_size_t *WINPR_RESTRICT roi) |
typedef pstatus_t(* __yCbCrToRGB_16s8u_P3AC4R_t) (const INT16 *const WINPR_RESTRICT pSrc[3], UINT32 srcStep, BYTE *WINPR_RESTRICT pDst, UINT32 dstStep, UINT32 DstFormat, const prim_size_t *WINPR_RESTRICT roi) |
typedef pstatus_t(* __YCoCgToRGB_8u_AC4R_t) (const BYTE *WINPR_RESTRICT pSrc, INT32 srcStep, BYTE *WINPR_RESTRICT pDst, UINT32 DstFormat, INT32 dstStep, UINT32 width, UINT32 height, UINT8 shift, BOOL withAlpha) |
typedef pstatus_t(* __YUV420CombineToYUV444_t) (avc444_frame_type type, const BYTE *const WINPR_RESTRICT pSrc[3], const UINT32 srcStep[3], UINT32 nWidth, UINT32 nHeight, BYTE *WINPR_RESTRICT pDst[3], const UINT32 dstStep[3], const RECTANGLE_16 *WINPR_RESTRICT roi) |
typedef pstatus_t(* __YUV420ToRGB_8u_P3AC4R_t) (const BYTE *const WINPR_RESTRICT pSrc[3], const UINT32 srcStep[3], BYTE *WINPR_RESTRICT pDst, UINT32 dstStep, UINT32 DstFormat, const prim_size_t *WINPR_RESTRICT roi) |
typedef pstatus_t(* __YUV444SplitToYUV420_t) (const BYTE *const WINPR_RESTRICT pSrc[3], const UINT32 srcStep[3], BYTE *WINPR_RESTRICT pMainDst[3], const UINT32 dstMainStep[3], BYTE *WINPR_RESTRICT pAuxDst[3], const UINT32 srcAuxStep[3], const prim_size_t *WINPR_RESTRICT roi) |
typedef pstatus_t(* __YUV444ToRGB_8u_P3AC4R_t) (const BYTE *const WINPR_RESTRICT pSrc[3], const UINT32 srcStep[3], BYTE *WINPR_RESTRICT pDst, UINT32 dstStep, UINT32 DstFormat, const prim_size_t *WINPR_RESTRICT roi) |
typedef pstatus_t(* __zero_t) (void *WINPR_RESTRICT pDst, size_t bytes) |
typedef pstatus_t(* primitives_uninit_t) (void) |
typedef INT32 pstatus_t |
enum avc444_frame_type |
enum primitive_hints |
FREERDP_API DWORD primitives_flags | ( | primitives_t * | p | ) |
FREERDP_API primitives_t* primitives_get | ( | void | ) |
FREERDP_API primitives_t* primitives_get_generic | ( | void | ) |
FREERDP_API primitive_hints primitives_get_hints | ( | void | ) |
FREERDP_API BOOL primitives_init | ( | primitives_t * | p, |
primitive_hints | hints | ||
) |
FREERDP_API void primitives_set_hints | ( | primitive_hints | hints | ) |
FREERDP_API void primitives_uninit | ( | void | ) |