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 *WINPR_RESTRICT context, const BYTE *WINPR_RESTRICT data, UINT32 format, UINT32 width, UINT32 height, UINT32 scanline, BYTE *WINPR_RESTRICT dstData, UINT32 *WINPR_RESTRICT pDstSize)
 
FREERDP_API BOOL freerdp_bitmap_planar_context_reset (BITMAP_PLANAR_CONTEXT *WINPR_RESTRICT 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 *WINPR_RESTRICT planar, BOOL bgr)
 
FREERDP_API void freerdp_planar_topdown_image (BITMAP_PLANAR_CONTEXT *WINPR_RESTRICT planar, BOOL topdown)
 
FREERDP_API BOOL planar_decompress (BITMAP_PLANAR_CONTEXT *WINPR_RESTRICT planar, const BYTE *WINPR_RESTRICT pSrcData, UINT32 SrcSize, UINT32 nSrcWidth, UINT32 nSrcHeight, BYTE *WINPR_RESTRICT 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 *WINPR_RESTRICT  context,
const BYTE *WINPR_RESTRICT  data,
UINT32  format,
UINT32  width,
UINT32  height,
UINT32  scanline,
BYTE *WINPR_RESTRICT  dstData,
UINT32 *WINPR_RESTRICT  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 *WINPR_RESTRICT  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 *WINPR_RESTRICT  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 *WINPR_RESTRICT  planar,
BOOL  topdown 
)
Here is the caller graph for this function:

◆ planar_decompress()

FREERDP_API BOOL planar_decompress ( BITMAP_PLANAR_CONTEXT *WINPR_RESTRICT  planar,
const BYTE *WINPR_RESTRICT  pSrcData,
UINT32  SrcSize,
UINT32  nSrcWidth,
UINT32  nSrcHeight,
BYTE *WINPR_RESTRICT  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: