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:

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 void freerdp_bitmap_planar_context_free (BITMAP_PLANAR_CONTEXT *context)
 
FREERDP_API BITMAP_PLANAR_CONTEXT * freerdp_bitmap_planar_context_new (DWORD flags, UINT32 width, UINT32 height)
 
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)

FreeRDP: A Remote Desktop Protocol Implementation RDP6 Planar Codec

Copyright 2013 Marc-Andre Moreau marca.nosp@m.ndre.nosp@m..more.nosp@m.au@g.nosp@m.mail..nosp@m.com Copyright 2016 Armin Novak armin.nosp@m..nov.nosp@m.ak@th.nosp@m.inca.nosp@m.st.co.nosp@m.m Copyright 2016 Thincast Technologies GmbH

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

◆ 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 call graph for this function:
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 call graph for this function:
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: