FreeRDP
primitives.h File Reference
#include <freerdp/api.h>
#include <freerdp/types.h>
#include <freerdp/codec/color.h>
#include <winpr/platform.h>
This graph shows which files directly or indirectly include this file:

Data Structures

struct  prim_size_t
 
struct  primitives_t
 

Macros

#define FREERDP_PRIMITIVES_H
 
#define PRIMITIVES_SUCCESS   (0) /* match ippStsNoErr */
 
#define PIXMAP4_ADDR(_dst_, _x_, _y_, _span_)   ((void *) (((BYTE *) (_dst_)) + (((_x_) + (_y_)*(_span_)) << 2)))
 
#define PRIM_X86_MMX_AVAILABLE   (1U<<0)
 
#define PRIM_X86_3DNOW_AVAILABLE   (1U<<1)
 
#define PRIM_X86_3DNOW_PREFETCH_AVAILABLE   (1U<<2)
 
#define PRIM_X86_SSE_AVAILABLE   (1U<<3)
 
#define PRIM_X86_SSE2_AVAILABLE   (1U<<4)
 
#define PRIM_X86_SSE3_AVAILABLE   (1U<<5)
 
#define PRIM_X86_SSSE3_AVAILABLE   (1U<<6)
 
#define PRIM_X86_SSE41_AVAILABLE   (1U<<7)
 
#define PRIM_X86_SSE42_AVAILABLE   (1U<<8)
 
#define PRIM_X86_AVX_AVAILABLE   (1U<<9)
 
#define PRIM_X86_FMA_AVAILABLE   (1U<<10)
 
#define PRIM_X86_AVX_AES_AVAILABLE   (1U<<11)
 
#define PRIM_X86_AVX2_AVAILABLE   (1U<<12)
 
#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_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)
 

Typedefs

typedef INT32 pstatus_t
 
typedef pstatus_t(* __copy_t) (const void *pSrc, void *pDst, INT32 bytes)
 
typedef pstatus_t(* __copy_8u_t) (const BYTE *pSrc, BYTE *pDst, INT32 len)
 
typedef pstatus_t(* __copy_8u_AC4r_t) (const BYTE *pSrc, INT32 srcStep, BYTE *pDst, INT32 dstStep, INT32 width, INT32 height)
 
typedef pstatus_t(* __set_8u_t) (BYTE val, BYTE *pDst, UINT32 len)
 
typedef pstatus_t(* __set_32s_t) (INT32 val, INT32 *pDst, UINT32 len)
 
typedef pstatus_t(* __set_32u_t) (UINT32 val, UINT32 *pDst, UINT32 len)
 
typedef pstatus_t(* __zero_t) (void *pDst, size_t bytes)
 
typedef pstatus_t(* __alphaComp_argb_t) (const BYTE *pSrc1, UINT32 src1Step, const BYTE *pSrc2, UINT32 src2Step, BYTE *pDst, UINT32 dstStep, UINT32 width, UINT32 height)
 
typedef pstatus_t(* __add_16s_t) (const INT16 *pSrc1, const INT16 *pSrc2, INT16 *pDst, 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 *pDst, UINT32 len)
 
typedef pstatus_t(* __yCbCrToRGB_16s8u_P3AC4R_t) (const INT16 *pSrc[3], UINT32 srcStep, BYTE *pDst, UINT32 dstStep, UINT32 DstFormat, const prim_size_t *roi)
 
typedef pstatus_t(* __yCbCrToRGB_16s16s_P3P3_t) (const INT16 *pSrc[3], INT32 srcStep, INT16 *pDst[3], INT32 dstStep, const prim_size_t *roi)
 
typedef pstatus_t(* __RGBToYCbCr_16s16s_P3P3_t) (const INT16 *pSrc[3], INT32 srcStep, INT16 *pDst[3], INT32 dstStep, const prim_size_t *roi)
 
typedef pstatus_t(* __RGBToRGB_16s8u_P3AC4R_t) (const INT16 *const pSrc[3], UINT32 srcStep, BYTE *pDst, UINT32 dstStep, UINT32 DstFormat, const prim_size_t *roi)
 
typedef pstatus_t(* __YCoCgToRGB_8u_AC4R_t) (const BYTE *pSrc, INT32 srcStep, BYTE *pDst, UINT32 DstFormat, INT32 dstStep, UINT32 width, UINT32 height, UINT8 shift, BOOL withAlpha)
 
typedef pstatus_t(* __RGB565ToARGB_16u32u_C3C4_t) (const UINT16 *pSrc, INT32 srcStep, UINT32 *pDst, INT32 dstStep, UINT32 width, UINT32 height, UINT32 format)
 
typedef pstatus_t(* __YUV420ToRGB_8u_P3AC4R_t) (const BYTE *pSrc[3], const UINT32 srcStep[3], BYTE *pDst, UINT32 dstStep, UINT32 DstFormat, const prim_size_t *roi)
 
typedef pstatus_t(* __YUV444ToRGB_8u_P3AC4R_t) (const BYTE *pSrc[3], const UINT32 srcStep[3], BYTE *pDst, UINT32 dstStep, UINT32 DstFormat, const prim_size_t *roi)
 
typedef pstatus_t(* __RGBToYUV420_8u_P3AC4R_t) (const BYTE *pSrc, UINT32 SrcFormat, UINT32 srcStep, BYTE *pDst[3], UINT32 dstStep[3], const prim_size_t *roi)
 
typedef pstatus_t(* __RGBToYUV444_8u_P3AC4R_t) (const BYTE *pSrc, UINT32 SrcFormat, UINT32 srcStep, BYTE *pDst[3], UINT32 dstStep[3], const prim_size_t *roi)
 
typedef pstatus_t(* __YUV420CombineToYUV444_t) (avc444_frame_type type, const BYTE *pSrc[3], const UINT32 srcStep[3], UINT32 nWidth, UINT32 nHeight, BYTE *pDst[3], const UINT32 dstStep[3], const RECTANGLE_16 *roi)
 
typedef pstatus_t(* __YUV444SplitToYUV420_t) (const BYTE *pSrc[3], const UINT32 srcStep[3], BYTE *pMainDst[3], const UINT32 dstMainStep[3], BYTE *pAuxDst[3], const UINT32 srcAuxStep[3], const prim_size_t *roi)
 
typedef pstatus_t(* __RGBToAVC444YUV_t) (const BYTE *pSrc, UINT32 srcFormat, UINT32 srcStep, BYTE *pMainDst[3], const UINT32 dstMainStep[3], BYTE *pAuxDst[3], const UINT32 dstAuxStep[3], const prim_size_t *roi)
 
typedef pstatus_t(* __andC_32u_t) (const UINT32 *pSrc, UINT32 val, UINT32 *pDst, INT32 len)
 
typedef pstatus_t(* __orC_32u_t) (const UINT32 *pSrc, UINT32 val, UINT32 *pDst, INT32 len)
 

Enumerations

enum  avc444_frame_type { AVC444_LUMA, AVC444_CHROMAv1, AVC444_CHROMAv2 }
 

Functions

FREERDP_API primitives_tprimitives_get (void)
 
FREERDP_API primitives_tprimitives_get_generic (void)
 

Macro Definition Documentation

#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 Documentation

typedef pstatus_t(* __add_16s_t) (const INT16 *pSrc1, const INT16 *pSrc2, INT16 *pDst, UINT32 len)
typedef pstatus_t(* __alphaComp_argb_t) (const BYTE *pSrc1, UINT32 src1Step, const BYTE *pSrc2, UINT32 src2Step, BYTE *pDst, UINT32 dstStep, UINT32 width, UINT32 height)
typedef pstatus_t(* __andC_32u_t) (const UINT32 *pSrc, UINT32 val, UINT32 *pDst, INT32 len)
typedef pstatus_t(* __copy_8u_AC4r_t) (const BYTE *pSrc, INT32 srcStep,BYTE *pDst, INT32 dstStep,INT32 width, INT32 height)
typedef pstatus_t(* __copy_8u_t) (const BYTE *pSrc, BYTE *pDst, INT32 len)
typedef pstatus_t(* __copy_t) (const void *pSrc, void *pDst, INT32 bytes)
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(* __orC_32u_t) (const UINT32 *pSrc, UINT32 val, UINT32 *pDst, INT32 len)
typedef pstatus_t(* __RGB565ToARGB_16u32u_C3C4_t) (const UINT16 *pSrc, INT32 srcStep, UINT32 *pDst, INT32 dstStep, UINT32 width, UINT32 height, UINT32 format)
typedef pstatus_t(* __RGBToAVC444YUV_t) (const BYTE *pSrc, UINT32 srcFormat, UINT32 srcStep, BYTE *pMainDst[3], const UINT32 dstMainStep[3], BYTE *pAuxDst[3], const UINT32 dstAuxStep[3], const prim_size_t *roi)
typedef pstatus_t(* __RGBToRGB_16s8u_P3AC4R_t) (const INT16 *const pSrc[3], UINT32 srcStep, BYTE *pDst, UINT32 dstStep, UINT32 DstFormat, const prim_size_t *roi)
typedef pstatus_t(* __RGBToYCbCr_16s16s_P3P3_t) (const INT16 *pSrc[3], INT32 srcStep, INT16 *pDst[3], INT32 dstStep, const prim_size_t *roi)
typedef pstatus_t(* __RGBToYUV420_8u_P3AC4R_t) (const BYTE *pSrc, UINT32 SrcFormat, UINT32 srcStep, BYTE *pDst[3], UINT32 dstStep[3], const prim_size_t *roi)
typedef pstatus_t(* __RGBToYUV444_8u_P3AC4R_t) (const BYTE *pSrc, UINT32 SrcFormat, UINT32 srcStep, BYTE *pDst[3], UINT32 dstStep[3], const prim_size_t *roi)
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(* __set_32s_t) (INT32 val, INT32 *pDst, UINT32 len)
typedef pstatus_t(* __set_32u_t) (UINT32 val, UINT32 *pDst, UINT32 len)
typedef pstatus_t(* __set_8u_t) (BYTE val, BYTE *pDst, 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 *pDst, UINT32 len)
typedef pstatus_t(* __yCbCrToRGB_16s16s_P3P3_t) (const INT16 *pSrc[3], INT32 srcStep, INT16 *pDst[3], INT32 dstStep, const prim_size_t *roi)
typedef pstatus_t(* __yCbCrToRGB_16s8u_P3AC4R_t) (const INT16 *pSrc[3], UINT32 srcStep, BYTE *pDst, UINT32 dstStep, UINT32 DstFormat, const prim_size_t *roi)
typedef pstatus_t(* __YCoCgToRGB_8u_AC4R_t) (const BYTE *pSrc, INT32 srcStep, BYTE *pDst, UINT32 DstFormat, INT32 dstStep, UINT32 width, UINT32 height, UINT8 shift, BOOL withAlpha)
typedef pstatus_t(* __YUV420CombineToYUV444_t) (avc444_frame_type type, const BYTE *pSrc[3], const UINT32 srcStep[3], UINT32 nWidth, UINT32 nHeight, BYTE *pDst[3], const UINT32 dstStep[3], const RECTANGLE_16 *roi)
typedef pstatus_t(* __YUV420ToRGB_8u_P3AC4R_t) (const BYTE *pSrc[3], const UINT32 srcStep[3], BYTE *pDst, UINT32 dstStep, UINT32 DstFormat, const prim_size_t *roi)
typedef pstatus_t(* __YUV444SplitToYUV420_t) (const BYTE *pSrc[3], const UINT32 srcStep[3], BYTE *pMainDst[3], const UINT32 dstMainStep[3], BYTE *pAuxDst[3], const UINT32 srcAuxStep[3], const prim_size_t *roi)
typedef pstatus_t(* __YUV444ToRGB_8u_P3AC4R_t) (const BYTE *pSrc[3], const UINT32 srcStep[3], BYTE *pDst, UINT32 dstStep, UINT32 DstFormat, const prim_size_t *roi)
typedef pstatus_t(* __zero_t) (void *pDst, size_t bytes)
typedef INT32 pstatus_t

Enumeration Type Documentation

Enumerator
AVC444_LUMA 
AVC444_CHROMAv1 
AVC444_CHROMAv2 

Function Documentation

FREERDP_API primitives_t* primitives_get ( void  )

Here is the call graph for this function:

Here is the caller graph for this function:

FREERDP_API primitives_t* primitives_get_generic ( void  )

Here is the call graph for this function:

Here is the caller graph for this function: