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

Macros

#define PRIM_TAG   FREERDP_TAG("primitives")
 

Typedefs

typedef BYTE *(* fkt_writePixel) (BYTE *, DWORD, UINT32, BYTE, BYTE, BYTE, BYTE)
 

Functions

static INLINE BYTE * writePixelBGRA (BYTE *dst, DWORD formatSize, UINT32 format, BYTE R, BYTE G, BYTE B, BYTE A)
 
static INLINE BYTE * writePixelBGRX (BYTE *dst, DWORD formatSize, UINT32 format, BYTE R, BYTE G, BYTE B, BYTE A)
 
static INLINE BYTE * writePixelRGBA (BYTE *dst, DWORD formatSize, UINT32 format, BYTE R, BYTE G, BYTE B, BYTE A)
 
static INLINE BYTE * writePixelRGBX (BYTE *dst, DWORD formatSize, UINT32 format, BYTE R, BYTE G, BYTE B, BYTE A)
 
static INLINE BYTE * writePixelABGR (BYTE *dst, DWORD formatSize, UINT32 format, BYTE R, BYTE G, BYTE B, BYTE A)
 
static INLINE BYTE * writePixelXBGR (BYTE *dst, DWORD formatSize, UINT32 format, BYTE R, BYTE G, BYTE B, BYTE A)
 
static INLINE BYTE * writePixelARGB (BYTE *dst, DWORD formatSize, UINT32 format, BYTE R, BYTE G, BYTE B, BYTE A)
 
static INLINE BYTE * writePixelXRGB (BYTE *dst, DWORD formatSize, UINT32 format, BYTE R, BYTE G, BYTE B, BYTE A)
 
static INLINE BYTE * writePixelGenericAlpha (BYTE *dst, DWORD formatSize, UINT32 format, BYTE R, BYTE G, BYTE B, BYTE A)
 
static INLINE BYTE * writePixelGeneric (BYTE *dst, DWORD formatSize, UINT32 format, BYTE R, BYTE G, BYTE B, BYTE A)
 
static INLINE fkt_writePixel getPixelWriteFunction (DWORD format, BOOL useAlpha)
 
static INLINE BYTE CLIP (INT64 X)
 
static INLINE BYTE CONDITIONAL_CLIP (INT32 in, BYTE original)
 
static INLINE INT32 C (INT32 Y)
 
static INLINE INT32 D (INT32 U)
 
static INLINE INT32 E (INT32 V)
 
static INLINE BYTE YUV2R (INT32 Y, INT32 U, INT32 V)
 
static INLINE BYTE YUV2G (INT32 Y, INT32 U, INT32 V)
 
static INLINE BYTE YUV2B (INT32 Y, INT32 U, INT32 V)
 
FREERDP_LOCAL void primitives_init_copy (primitives_t *prims)
 
FREERDP_LOCAL void primitives_init_set (primitives_t *prims)
 
FREERDP_LOCAL void primitives_init_add (primitives_t *prims)
 
FREERDP_LOCAL void primitives_init_andor (primitives_t *prims)
 
FREERDP_LOCAL void primitives_init_shift (primitives_t *prims)
 
FREERDP_LOCAL void primitives_init_sign (primitives_t *prims)
 
FREERDP_LOCAL void primitives_init_alphaComp (primitives_t *prims)
 
FREERDP_LOCAL void primitives_init_colors (primitives_t *prims)
 
FREERDP_LOCAL void primitives_init_YCoCg (primitives_t *prims)
 
FREERDP_LOCAL void primitives_init_YUV (primitives_t *prims)
 
FREERDP_LOCAL void primitives_init_copy_opt (primitives_t *prims)
 
FREERDP_LOCAL void primitives_init_set_opt (primitives_t *prims)
 
FREERDP_LOCAL void primitives_init_add_opt (primitives_t *prims)
 
FREERDP_LOCAL void primitives_init_andor_opt (primitives_t *prims)
 
FREERDP_LOCAL void primitives_init_shift_opt (primitives_t *prims)
 
FREERDP_LOCAL void primitives_init_sign_opt (primitives_t *prims)
 
FREERDP_LOCAL void primitives_init_alphaComp_opt (primitives_t *prims)
 
FREERDP_LOCAL void primitives_init_colors_opt (primitives_t *prims)
 
FREERDP_LOCAL void primitives_init_YCoCg_opt (primitives_t *prims)
 
FREERDP_LOCAL void primitives_init_YUV_opt (primitives_t *prims)
 
FREERDP_LOCAL primitives_t * primitives_get_by_type (DWORD type)
 

Macro Definition Documentation

◆ PRIM_TAG

#define PRIM_TAG   FREERDP_TAG("primitives")

Typedef Documentation

◆ fkt_writePixel

typedef BYTE*(* fkt_writePixel) (BYTE *, DWORD, UINT32, BYTE, BYTE, BYTE, BYTE)

Function Documentation

◆ C()

static INLINE INT32 C ( INT32  Y)
static

| R | ( | 256 0 403 | | Y | ) | G | = ( | 256 -48 -120 | | U - 128 | ) >> 8 | B | ( | 256 475 0 | | V - 128 | )

Here is the caller graph for this function:

◆ CLIP()

static INLINE BYTE CLIP ( INT64  X)
static
Here is the caller graph for this function:

◆ CONDITIONAL_CLIP()

static INLINE BYTE CONDITIONAL_CLIP ( INT32  in,
BYTE  original 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ D()

static INLINE INT32 D ( INT32  U)
static
Here is the caller graph for this function:

◆ E()

static INLINE INT32 E ( INT32  V)
static
Here is the caller graph for this function:

◆ getPixelWriteFunction()

static INLINE fkt_writePixel getPixelWriteFunction ( DWORD  format,
BOOL  useAlpha 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ primitives_get_by_type()

FREERDP_LOCAL primitives_t* primitives_get_by_type ( DWORD  type)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ primitives_init_add()

FREERDP_LOCAL void primitives_init_add ( primitives_t *  prims)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ primitives_init_add_opt()

FREERDP_LOCAL void primitives_init_add_opt ( primitives_t *  prims)

◆ primitives_init_alphaComp()

FREERDP_LOCAL void primitives_init_alphaComp ( primitives_t *  prims)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ primitives_init_alphaComp_opt()

FREERDP_LOCAL void primitives_init_alphaComp_opt ( primitives_t *  prims)

◆ primitives_init_andor()

FREERDP_LOCAL void primitives_init_andor ( primitives_t *  prims)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ primitives_init_andor_opt()

FREERDP_LOCAL void primitives_init_andor_opt ( primitives_t *  prims)

◆ primitives_init_colors()

FREERDP_LOCAL void primitives_init_colors ( primitives_t *  prims)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ primitives_init_colors_opt()

FREERDP_LOCAL void primitives_init_colors_opt ( primitives_t *  prims)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ primitives_init_copy()

FREERDP_LOCAL void primitives_init_copy ( primitives_t *  prims)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ primitives_init_copy_opt()

FREERDP_LOCAL void primitives_init_copy_opt ( primitives_t *  prims)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ primitives_init_set()

FREERDP_LOCAL void primitives_init_set ( primitives_t *  prims)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ primitives_init_set_opt()

FREERDP_LOCAL void primitives_init_set_opt ( primitives_t *  prims)
Here is the caller graph for this function:

◆ primitives_init_shift()

FREERDP_LOCAL void primitives_init_shift ( primitives_t *  prims)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ primitives_init_shift_opt()

FREERDP_LOCAL void primitives_init_shift_opt ( primitives_t *  prims)
Here is the caller graph for this function:

◆ primitives_init_sign()

FREERDP_LOCAL void primitives_init_sign ( primitives_t *  prims)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ primitives_init_sign_opt()

FREERDP_LOCAL void primitives_init_sign_opt ( primitives_t *  prims)
Here is the caller graph for this function:

◆ primitives_init_YCoCg()

FREERDP_LOCAL void primitives_init_YCoCg ( primitives_t *  prims)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ primitives_init_YCoCg_opt()

FREERDP_LOCAL void primitives_init_YCoCg_opt ( primitives_t *  prims)
Here is the caller graph for this function:

◆ primitives_init_YUV()

FREERDP_LOCAL void primitives_init_YUV ( primitives_t *  prims)
Here is the caller graph for this function:

◆ primitives_init_YUV_opt()

FREERDP_LOCAL void primitives_init_YUV_opt ( primitives_t *  prims)
Here is the caller graph for this function:

◆ writePixelABGR()

static INLINE BYTE* writePixelABGR ( BYTE *  dst,
DWORD  formatSize,
UINT32  format,
BYTE  R,
BYTE  G,
BYTE  B,
BYTE  A 
)
static
Here is the caller graph for this function:

◆ writePixelARGB()

static INLINE BYTE* writePixelARGB ( BYTE *  dst,
DWORD  formatSize,
UINT32  format,
BYTE  R,
BYTE  G,
BYTE  B,
BYTE  A 
)
static
Here is the caller graph for this function:

◆ writePixelBGRA()

static INLINE BYTE* writePixelBGRA ( BYTE *  dst,
DWORD  formatSize,
UINT32  format,
BYTE  R,
BYTE  G,
BYTE  B,
BYTE  A 
)
static
Here is the caller graph for this function:

◆ writePixelBGRX()

static INLINE BYTE* writePixelBGRX ( BYTE *  dst,
DWORD  formatSize,
UINT32  format,
BYTE  R,
BYTE  G,
BYTE  B,
BYTE  A 
)
static
Here is the caller graph for this function:

◆ writePixelGeneric()

static INLINE BYTE* writePixelGeneric ( BYTE *  dst,
DWORD  formatSize,
UINT32  format,
BYTE  R,
BYTE  G,
BYTE  B,
BYTE  A 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ writePixelGenericAlpha()

static INLINE BYTE* writePixelGenericAlpha ( BYTE *  dst,
DWORD  formatSize,
UINT32  format,
BYTE  R,
BYTE  G,
BYTE  B,
BYTE  A 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ writePixelRGBA()

static INLINE BYTE* writePixelRGBA ( BYTE *  dst,
DWORD  formatSize,
UINT32  format,
BYTE  R,
BYTE  G,
BYTE  B,
BYTE  A 
)
static
Here is the caller graph for this function:

◆ writePixelRGBX()

static INLINE BYTE* writePixelRGBX ( BYTE *  dst,
DWORD  formatSize,
UINT32  format,
BYTE  R,
BYTE  G,
BYTE  B,
BYTE  A 
)
static
Here is the caller graph for this function:

◆ writePixelXBGR()

static INLINE BYTE* writePixelXBGR ( BYTE *  dst,
DWORD  formatSize,
UINT32  format,
BYTE  R,
BYTE  G,
BYTE  B,
BYTE  A 
)
static
Here is the caller graph for this function:

◆ writePixelXRGB()

static INLINE BYTE* writePixelXRGB ( BYTE *  dst,
DWORD  formatSize,
UINT32  format,
BYTE  R,
BYTE  G,
BYTE  B,
BYTE  A 
)
static
Here is the caller graph for this function:

◆ YUV2B()

static INLINE BYTE YUV2B ( INT32  Y,
INT32  U,
INT32  V 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ YUV2G()

static INLINE BYTE YUV2G ( INT32  Y,
INT32  U,
INT32  V 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ YUV2R()

static INLINE BYTE YUV2R ( INT32  Y,
INT32  U,
INT32  V 
)
static
Here is the call graph for this function:
Here is the caller graph for this function: