FreeRDP
planar.h File Reference
#include <winpr/crt.h>
#include <freerdp/codec/color.h>
#include <freerdp/codec/bitmap.h>
This graph shows which files directly or indirectly include this file:

Data Structures

struct  RDP6_RLE_SEGMENT
 
struct  RDP6_RLE_SEGMENTS
 
struct  RDP6_BITMAP_STREAM
 
struct  BITMAP_PLANAR_CONTEXT
 

Macros

#define PLANAR_FORMAT_HEADER_CS   (1 << 3)
 
#define PLANAR_FORMAT_HEADER_RLE   (1 << 4)
 
#define PLANAR_FORMAT_HEADER_NA   (1 << 5)
 
#define PLANAR_FORMAT_HEADER_CLL_MASK   0x07
 
#define PLANAR_CONTROL_BYTE(_nRunLength, _cRawBytes)   (_nRunLength & 0x0F) | ((_cRawBytes & 0x0F) << 4)
 
#define PLANAR_CONTROL_BYTE_RUN_LENGTH(_controlByte)   (_controlByte & 0x0F)
 
#define PLANAR_CONTROL_BYTE_RAW_BYTES(_controlByte)   ((_controlByte >> 4) & 0x0F)
 

Functions

FREERDP_API BYTEfreerdp_bitmap_compress_planar (BITMAP_PLANAR_CONTEXT *context, const BYTE *data, UINT32 format, UINT32 width, UINT32 height, UINT32 scanline, BYTE *dstData, UINT32 *pDstSize)
 
FREERDP_API BOOL freerdp_bitmap_planar_context_reset (BITMAP_PLANAR_CONTEXT *context, UINT32 width, UINT32 height)
 
FREERDP_API BITMAP_PLANAR_CONTEXT * freerdp_bitmap_planar_context_new (DWORD flags, UINT32 width, UINT32 height)
 
FREERDP_API void freerdp_bitmap_planar_context_free (BITMAP_PLANAR_CONTEXT *context)
 
FREERDP_API void freerdp_planar_switch_bgr (BITMAP_PLANAR_CONTEXT *planar, BOOL bgr)
 
FREERDP_API void freerdp_planar_topdown_image (BITMAP_PLANAR_CONTEXT *planar, BOOL topdown)
 
FREERDP_API BOOL planar_decompress (BITMAP_PLANAR_CONTEXT *planar, const BYTE *pSrcData, UINT32 SrcSize, UINT32 nSrcWidth, UINT32 nSrcHeight, BYTE *pDstData, UINT32 DstFormat, UINT32 nDstStep, UINT32 nXDst, UINT32 nYDst, UINT32 nDstWidth, UINT32 nDstHeight, BOOL vFlip)
 

Macro Definition Documentation

◆ PLANAR_CONTROL_BYTE

#define PLANAR_CONTROL_BYTE (   _nRunLength,
  _cRawBytes 
)    (_nRunLength & 0x0F) | ((_cRawBytes & 0x0F) << 4)

◆ PLANAR_CONTROL_BYTE_RAW_BYTES

#define PLANAR_CONTROL_BYTE_RAW_BYTES (   _controlByte)    ((_controlByte >> 4) & 0x0F)

◆ PLANAR_CONTROL_BYTE_RUN_LENGTH

#define PLANAR_CONTROL_BYTE_RUN_LENGTH (   _controlByte)    (_controlByte & 0x0F)

◆ PLANAR_FORMAT_HEADER_CLL_MASK

#define PLANAR_FORMAT_HEADER_CLL_MASK   0x07

◆ PLANAR_FORMAT_HEADER_CS

#define PLANAR_FORMAT_HEADER_CS   (1 << 3)

◆ PLANAR_FORMAT_HEADER_NA

#define PLANAR_FORMAT_HEADER_NA   (1 << 5)

◆ PLANAR_FORMAT_HEADER_RLE

#define PLANAR_FORMAT_HEADER_RLE   (1 << 4)

Function Documentation

◆ freerdp_bitmap_compress_planar()

FREERDP_API BYTE* freerdp_bitmap_compress_planar ( BITMAP_PLANAR_CONTEXT *  context,
const BYTE data,
UINT32  format,
UINT32  width,
UINT32  height,
UINT32  scanline,
BYTE dstData,
UINT32 *  pDstSize 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ freerdp_bitmap_planar_context_free()

FREERDP_API void freerdp_bitmap_planar_context_free ( BITMAP_PLANAR_CONTEXT *  context)
Here is the caller graph for this function:

◆ freerdp_bitmap_planar_context_new()

FREERDP_API BITMAP_PLANAR_CONTEXT* freerdp_bitmap_planar_context_new ( DWORD  flags,
UINT32  width,
UINT32  height 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ freerdp_bitmap_planar_context_reset()

FREERDP_API BOOL freerdp_bitmap_planar_context_reset ( BITMAP_PLANAR_CONTEXT *  context,
UINT32  width,
UINT32  height 
)
Here is the caller graph for this function:

◆ freerdp_planar_switch_bgr()

FREERDP_API void freerdp_planar_switch_bgr ( BITMAP_PLANAR_CONTEXT *  planar,
BOOL  bgr 
)
Here is the caller graph for this function:

◆ freerdp_planar_topdown_image()

FREERDP_API void freerdp_planar_topdown_image ( BITMAP_PLANAR_CONTEXT *  planar,
BOOL  topdown 
)
Here is the caller graph for this function:

◆ planar_decompress()

FREERDP_API BOOL planar_decompress ( BITMAP_PLANAR_CONTEXT *  planar,
const BYTE pSrcData,
UINT32  SrcSize,
UINT32  nSrcWidth,
UINT32  nSrcHeight,
BYTE pDstData,
UINT32  DstFormat,
UINT32  nDstStep,
UINT32  nXDst,
UINT32  nYDst,
UINT32  nDstWidth,
UINT32  nDstHeight,
BOOL  vFlip 
)
Here is the call graph for this function:
Here is the caller graph for this function: