FreeRDP
progressive.c File Reference
#include <freerdp/config.h>
#include <winpr/assert.h>
#include <winpr/crt.h>
#include <winpr/print.h>
#include <winpr/bitstream.h>
#include <freerdp/primitives.h>
#include <freerdp/codec/color.h>
#include <freerdp/codec/progressive.h>
#include <freerdp/codec/region.h>
#include <freerdp/log.h>
#include "rfx_differential.h"
#include "rfx_quantization.h"
#include "rfx_dwt.h"
#include "rfx_rlgr.h"
#include "rfx_constants.h"
#include "rfx_types.h"
#include "progressive.h"

Macros

#define TAG   FREERDP_TAG("codec.progressive")
 

Functions

static INLINE void progressive_component_codec_quant_read (wStream *s, RFX_COMPONENT_CODEC_QUANT *quantVal)
 
static INLINE void progressive_rfx_quant_ladd (RFX_COMPONENT_CODEC_QUANT *q, int val)
 
static INLINE void progressive_rfx_quant_add (const RFX_COMPONENT_CODEC_QUANT *q1, const RFX_COMPONENT_CODEC_QUANT *q2, RFX_COMPONENT_CODEC_QUANT *dst)
 
static INLINE void progressive_rfx_quant_lsub (RFX_COMPONENT_CODEC_QUANT *q, int val)
 
static INLINE void progressive_rfx_quant_sub (const RFX_COMPONENT_CODEC_QUANT *q1, const RFX_COMPONENT_CODEC_QUANT *q2, RFX_COMPONENT_CODEC_QUANT *dst)
 
static INLINE BOOL progressive_rfx_quant_lcmp_less_equal (const RFX_COMPONENT_CODEC_QUANT *q, int val)
 
static INLINE BOOL progressive_rfx_quant_cmp_less_equal (const RFX_COMPONENT_CODEC_QUANT *q1, const RFX_COMPONENT_CODEC_QUANT *q2)
 
static INLINE BOOL progressive_rfx_quant_lcmp_greater_equal (const RFX_COMPONENT_CODEC_QUANT *q, int val)
 
static INLINE BOOL progressive_rfx_quant_cmp_greater_equal (const RFX_COMPONENT_CODEC_QUANT *q1, const RFX_COMPONENT_CODEC_QUANT *q2)
 
static INLINE BOOL progressive_rfx_quant_cmp_equal (const RFX_COMPONENT_CODEC_QUANT *q1, const RFX_COMPONENT_CODEC_QUANT *q2)
 
static INLINE BOOL progressive_set_surface_data (PROGRESSIVE_CONTEXT *progressive, UINT16 surfaceId, void *pData)
 
static INLINE PROGRESSIVE_SURFACE_CONTEXTprogressive_get_surface_data (PROGRESSIVE_CONTEXT *progressive, UINT16 surfaceId)
 
static void progressive_tile_free (RFX_PROGRESSIVE_TILE *tile)
 
static void progressive_surface_context_free (void *ptr)
 
static INLINE RFX_PROGRESSIVE_TILEprogressive_tile_new (void)
 
static BOOL progressive_allocate_tile_cache (PROGRESSIVE_SURFACE_CONTEXT *surface, size_t min)
 
static PROGRESSIVE_SURFACE_CONTEXTprogressive_surface_context_new (UINT16 surfaceId, UINT32 width, UINT32 height)
 
static BOOL progressive_surface_tile_replace (PROGRESSIVE_SURFACE_CONTEXT *surface, PROGRESSIVE_BLOCK_REGION *region, const RFX_PROGRESSIVE_TILE *tile, BOOL upgrade)
 
INT32 progressive_create_surface_context (PROGRESSIVE_CONTEXT *progressive, UINT16 surfaceId, UINT32 width, UINT32 height)
 
int progressive_delete_surface_context (PROGRESSIVE_CONTEXT *progressive, UINT16 surfaceId)
 
static INLINE void progressive_rfx_idwt_x (const INT16 *pLowBand, size_t nLowStep, const INT16 *pHighBand, size_t nHighStep, INT16 *pDstBand, size_t nDstStep, size_t nLowCount, size_t nHighCount, size_t nDstCount)
 
static INLINE void progressive_rfx_idwt_y (const INT16 *pLowBand, size_t nLowStep, const INT16 *pHighBand, size_t nHighStep, INT16 *pDstBand, size_t nDstStep, size_t nLowCount, size_t nHighCount, size_t nDstCount)
 
static INLINE size_t progressive_rfx_get_band_l_count (size_t level)
 
static INLINE size_t progressive_rfx_get_band_h_count (size_t level)
 
static INLINE void progressive_rfx_dwt_2d_decode_block (INT16 *buffer, INT16 *temp, size_t level)
 
void rfx_dwt_2d_extrapolate_decode (INT16 *buffer, INT16 *temp)
 
static INLINE int progressive_rfx_dwt_2d_decode (PROGRESSIVE_CONTEXT *progressive, INT16 *buffer, INT16 *current, BOOL coeffDiff, BOOL extrapolate, BOOL reverse)
 
static INLINE void progressive_rfx_decode_block (const primitives_t *prims, INT16 *buffer, UINT32 length, UINT32 shift)
 
static INLINE int progressive_rfx_decode_component (PROGRESSIVE_CONTEXT *progressive, const RFX_COMPONENT_CODEC_QUANT *shift, const BYTE *data, UINT32 length, INT16 *buffer, INT16 *current, INT16 *sign, BOOL coeffDiff, BOOL subbandDiff, BOOL extrapolate)
 
static INLINE int progressive_decompress_tile_first (PROGRESSIVE_CONTEXT *progressive, RFX_PROGRESSIVE_TILE *tile, PROGRESSIVE_BLOCK_REGION *region, const PROGRESSIVE_BLOCK_CONTEXT *context)
 
static INLINE INT16 progressive_rfx_srl_read (RFX_PROGRESSIVE_UPGRADE_STATE *state, UINT32 numBits)
 
static INLINE int progressive_rfx_upgrade_state_finish (RFX_PROGRESSIVE_UPGRADE_STATE *state)
 
static INLINE int progressive_rfx_upgrade_block (RFX_PROGRESSIVE_UPGRADE_STATE *state, INT16 *buffer, INT16 *sign, UINT32 length, UINT32 shift, UINT32 bitPos, UINT32 numBits)
 
static INLINE int progressive_rfx_upgrade_component (PROGRESSIVE_CONTEXT *progressive, const RFX_COMPONENT_CODEC_QUANT *shift, const RFX_COMPONENT_CODEC_QUANT *bitPos, const RFX_COMPONENT_CODEC_QUANT *numBits, INT16 *buffer, INT16 *current, INT16 *sign, const BYTE *srlData, UINT32 srlLen, const BYTE *rawData, UINT32 rawLen, BOOL coeffDiff, BOOL subbandDiff, BOOL extrapolate)
 
static INLINE int progressive_decompress_tile_upgrade (PROGRESSIVE_CONTEXT *progressive, RFX_PROGRESSIVE_TILE *tile, PROGRESSIVE_BLOCK_REGION *region, const PROGRESSIVE_BLOCK_CONTEXT *context)
 
static INLINE BOOL progressive_tile_read_upgrade (PROGRESSIVE_CONTEXT *progressive, wStream *s, UINT16 blockType, UINT32 blockLen, PROGRESSIVE_SURFACE_CONTEXT *surface, PROGRESSIVE_BLOCK_REGION *region, const PROGRESSIVE_BLOCK_CONTEXT *context)
 
static INLINE BOOL progressive_tile_read (PROGRESSIVE_CONTEXT *progressive, BOOL simple, wStream *s, UINT16 blockType, UINT32 blockLen, PROGRESSIVE_SURFACE_CONTEXT *surface, PROGRESSIVE_BLOCK_REGION *region, const PROGRESSIVE_BLOCK_CONTEXT *context)
 
static void CALLBACK progressive_process_tiles_tile_work_callback (PTP_CALLBACK_INSTANCE instance, void *context, PTP_WORK work)
 
static INLINE SSIZE_T progressive_process_tiles (PROGRESSIVE_CONTEXT *progressive, wStream *s, PROGRESSIVE_BLOCK_REGION *region, PROGRESSIVE_SURFACE_CONTEXT *surface, const PROGRESSIVE_BLOCK_CONTEXT *context)
 
static INLINE SSIZE_T progressive_wb_sync (PROGRESSIVE_CONTEXT *progressive, wStream *s, UINT16 blockType, UINT32 blockLen)
 
static INLINE SSIZE_T progressive_wb_frame_begin (PROGRESSIVE_CONTEXT *progressive, wStream *s, UINT16 blockType, UINT32 blockLen)
 
static INLINE SSIZE_T progressive_wb_frame_end (PROGRESSIVE_CONTEXT *progressive, wStream *s, UINT16 blockType, UINT32 blockLen)
 
static INLINE SSIZE_T progressive_wb_context (PROGRESSIVE_CONTEXT *progressive, wStream *s, UINT16 blockType, UINT32 blockLen)
 
static INLINE SSIZE_T progressive_wb_read_region_header (PROGRESSIVE_CONTEXT *progressive, wStream *s, UINT16 blockType, UINT32 blockLen, PROGRESSIVE_BLOCK_REGION *region)
 
static INLINE SSIZE_T progressive_wb_skip_region (PROGRESSIVE_CONTEXT *progressive, wStream *s, UINT16 blockType, UINT32 blockLen)
 
static INLINE SSIZE_T progressive_wb_region (PROGRESSIVE_CONTEXT *progressive, wStream *s, UINT16 blockType, UINT32 blockLen, PROGRESSIVE_SURFACE_CONTEXT *surface, PROGRESSIVE_BLOCK_REGION *region)
 
static SSIZE_T progressive_parse_block (PROGRESSIVE_CONTEXT *progressive, wStream *s, PROGRESSIVE_SURFACE_CONTEXT *surface, PROGRESSIVE_BLOCK_REGION *region)
 
static BOOL update_tiles (PROGRESSIVE_CONTEXT *progressive, PROGRESSIVE_SURFACE_CONTEXT *surface, BYTE *pDstData, UINT32 DstFormat, UINT32 nDstStep, UINT32 nXDst, UINT32 nYDst, PROGRESSIVE_BLOCK_REGION *region, REGION16 *invalidRegion)
 
INT32 progressive_decompress (PROGRESSIVE_CONTEXT *progressive, const BYTE *pSrcData, UINT32 SrcSize, BYTE *pDstData, UINT32 DstFormat, UINT32 nDstStep, UINT32 nXDst, UINT32 nYDst, REGION16 *invalidRegion, UINT16 surfaceId, UINT32 frameId)
 
BOOL progressive_rfx_write_message_progressive_simple (PROGRESSIVE_CONTEXT *progressive, wStream *s, const RFX_MESSAGE *msg)
 
int progressive_compress (PROGRESSIVE_CONTEXT *progressive, const BYTE *pSrcData, UINT32 SrcSize, UINT32 SrcFormat, UINT32 Width, UINT32 Height, UINT32 ScanLine, const REGION16 *invalidRegion, BYTE **ppDstData, UINT32 *pDstSize)
 
BOOL progressive_context_reset (PROGRESSIVE_CONTEXT *progressive)
 
PROGRESSIVE_CONTEXT * progressive_context_new (BOOL Compressor)
 
PROGRESSIVE_CONTEXT * progressive_context_new_ex (BOOL Compressor, UINT32 ThreadingFlags)
 
void progressive_context_free (PROGRESSIVE_CONTEXT *progressive)
 

Macro Definition Documentation

◆ TAG

#define TAG   FREERDP_TAG("codec.progressive")

FreeRDP: A Remote Desktop Protocol Implementation Progressive Codec Bitmap Compression

Copyright 2014 Marc-Andre Moreau marca.nosp@m.ndre.nosp@m..more.nosp@m.au@g.nosp@m.mail..nosp@m.com Copyright 2019 Armin Novak armin.nosp@m..nov.nosp@m.ak@th.nosp@m.inca.nosp@m.st.co.nosp@m.m Copyright 2019 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.

Function Documentation

◆ progressive_allocate_tile_cache()

static BOOL progressive_allocate_tile_cache ( PROGRESSIVE_SURFACE_CONTEXT surface,
size_t  min 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ progressive_component_codec_quant_read()

static INLINE void progressive_component_codec_quant_read ( wStream s,
RFX_COMPONENT_CODEC_QUANT quantVal 
)
static
Here is the caller graph for this function:

◆ progressive_compress()

int progressive_compress ( PROGRESSIVE_CONTEXT *  progressive,
const BYTE pSrcData,
UINT32  SrcSize,
UINT32  SrcFormat,
UINT32  Width,
UINT32  Height,
UINT32  ScanLine,
const REGION16 invalidRegion,
BYTE **  ppDstData,
UINT32 *  pDstSize 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ progressive_context_free()

void progressive_context_free ( PROGRESSIVE_CONTEXT *  progressive)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ progressive_context_new()

PROGRESSIVE_CONTEXT* progressive_context_new ( BOOL  Compressor)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ progressive_context_new_ex()

PROGRESSIVE_CONTEXT* progressive_context_new_ex ( BOOL  Compressor,
UINT32  ThreadingFlags 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ progressive_context_reset()

BOOL progressive_context_reset ( PROGRESSIVE_CONTEXT *  progressive)
Here is the caller graph for this function:

◆ progressive_create_surface_context()

INT32 progressive_create_surface_context ( PROGRESSIVE_CONTEXT *  progressive,
UINT16  surfaceId,
UINT32  width,
UINT32  height 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ progressive_decompress()

INT32 progressive_decompress ( PROGRESSIVE_CONTEXT *  progressive,
const BYTE pSrcData,
UINT32  SrcSize,
BYTE pDstData,
UINT32  DstFormat,
UINT32  nDstStep,
UINT32  nXDst,
UINT32  nYDst,
REGION16 invalidRegion,
UINT16  surfaceId,
UINT32  frameId 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ progressive_decompress_tile_first()

static INLINE int progressive_decompress_tile_first ( PROGRESSIVE_CONTEXT *  progressive,
RFX_PROGRESSIVE_TILE tile,
PROGRESSIVE_BLOCK_REGION region,
const PROGRESSIVE_BLOCK_CONTEXT context 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ progressive_decompress_tile_upgrade()

static INLINE int progressive_decompress_tile_upgrade ( PROGRESSIVE_CONTEXT *  progressive,
RFX_PROGRESSIVE_TILE tile,
PROGRESSIVE_BLOCK_REGION region,
const PROGRESSIVE_BLOCK_CONTEXT context 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ progressive_delete_surface_context()

int progressive_delete_surface_context ( PROGRESSIVE_CONTEXT *  progressive,
UINT16  surfaceId 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ progressive_get_surface_data()

static INLINE PROGRESSIVE_SURFACE_CONTEXT* progressive_get_surface_data ( PROGRESSIVE_CONTEXT *  progressive,
UINT16  surfaceId 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ progressive_parse_block()

static SSIZE_T progressive_parse_block ( PROGRESSIVE_CONTEXT *  progressive,
wStream s,
PROGRESSIVE_SURFACE_CONTEXT surface,
PROGRESSIVE_BLOCK_REGION region 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ progressive_process_tiles()

static INLINE SSIZE_T progressive_process_tiles ( PROGRESSIVE_CONTEXT *  progressive,
wStream s,
PROGRESSIVE_BLOCK_REGION region,
PROGRESSIVE_SURFACE_CONTEXT surface,
const PROGRESSIVE_BLOCK_CONTEXT context 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ progressive_process_tiles_tile_work_callback()

static void CALLBACK progressive_process_tiles_tile_work_callback ( PTP_CALLBACK_INSTANCE  instance,
void *  context,
PTP_WORK  work 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ progressive_rfx_decode_block()

static INLINE void progressive_rfx_decode_block ( const primitives_t prims,
INT16 *  buffer,
UINT32  length,
UINT32  shift 
)
static
Here is the caller graph for this function:

◆ progressive_rfx_decode_component()

static INLINE int progressive_rfx_decode_component ( PROGRESSIVE_CONTEXT *  progressive,
const RFX_COMPONENT_CODEC_QUANT shift,
const BYTE data,
UINT32  length,
INT16 *  buffer,
INT16 *  current,
INT16 *  sign,
BOOL  coeffDiff,
BOOL  subbandDiff,
BOOL  extrapolate 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ progressive_rfx_dwt_2d_decode()

static INLINE int progressive_rfx_dwt_2d_decode ( PROGRESSIVE_CONTEXT *  progressive,
INT16 *  buffer,
INT16 *  current,
BOOL  coeffDiff,
BOOL  extrapolate,
BOOL  reverse 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ progressive_rfx_dwt_2d_decode_block()

static INLINE void progressive_rfx_dwt_2d_decode_block ( INT16 *  buffer,
INT16 *  temp,
size_t  level 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ progressive_rfx_get_band_h_count()

static INLINE size_t progressive_rfx_get_band_h_count ( size_t  level)
static
Here is the caller graph for this function:

◆ progressive_rfx_get_band_l_count()

static INLINE size_t progressive_rfx_get_band_l_count ( size_t  level)
static
Here is the caller graph for this function:

◆ progressive_rfx_idwt_x()

static INLINE void progressive_rfx_idwt_x ( const INT16 *  pLowBand,
size_t  nLowStep,
const INT16 *  pHighBand,
size_t  nHighStep,
INT16 *  pDstBand,
size_t  nDstStep,
size_t  nLowCount,
size_t  nHighCount,
size_t  nDstCount 
)
static
Here is the caller graph for this function:

◆ progressive_rfx_idwt_y()

static INLINE void progressive_rfx_idwt_y ( const INT16 *  pLowBand,
size_t  nLowStep,
const INT16 *  pHighBand,
size_t  nHighStep,
INT16 *  pDstBand,
size_t  nDstStep,
size_t  nLowCount,
size_t  nHighCount,
size_t  nDstCount 
)
static
Here is the caller graph for this function:

◆ progressive_rfx_quant_add()

static INLINE void progressive_rfx_quant_add ( const RFX_COMPONENT_CODEC_QUANT q1,
const RFX_COMPONENT_CODEC_QUANT q2,
RFX_COMPONENT_CODEC_QUANT dst 
)
static
Here is the caller graph for this function:

◆ progressive_rfx_quant_cmp_equal()

static INLINE BOOL progressive_rfx_quant_cmp_equal ( const RFX_COMPONENT_CODEC_QUANT q1,
const RFX_COMPONENT_CODEC_QUANT q2 
)
static
Here is the caller graph for this function:

◆ progressive_rfx_quant_cmp_greater_equal()

static INLINE BOOL progressive_rfx_quant_cmp_greater_equal ( const RFX_COMPONENT_CODEC_QUANT q1,
const RFX_COMPONENT_CODEC_QUANT q2 
)
static

◆ progressive_rfx_quant_cmp_less_equal()

static INLINE BOOL progressive_rfx_quant_cmp_less_equal ( const RFX_COMPONENT_CODEC_QUANT q1,
const RFX_COMPONENT_CODEC_QUANT q2 
)
static

◆ progressive_rfx_quant_ladd()

static INLINE void progressive_rfx_quant_ladd ( RFX_COMPONENT_CODEC_QUANT q,
int  val 
)
static

◆ progressive_rfx_quant_lcmp_greater_equal()

static INLINE BOOL progressive_rfx_quant_lcmp_greater_equal ( const RFX_COMPONENT_CODEC_QUANT q,
int  val 
)
static
Here is the caller graph for this function:

◆ progressive_rfx_quant_lcmp_less_equal()

static INLINE BOOL progressive_rfx_quant_lcmp_less_equal ( const RFX_COMPONENT_CODEC_QUANT q,
int  val 
)
static
Here is the caller graph for this function:

◆ progressive_rfx_quant_lsub()

static INLINE void progressive_rfx_quant_lsub ( RFX_COMPONENT_CODEC_QUANT q,
int  val 
)
static
Here is the caller graph for this function:

◆ progressive_rfx_quant_sub()

static INLINE void progressive_rfx_quant_sub ( const RFX_COMPONENT_CODEC_QUANT q1,
const RFX_COMPONENT_CODEC_QUANT q2,
RFX_COMPONENT_CODEC_QUANT dst 
)
static
Here is the caller graph for this function:

◆ progressive_rfx_srl_read()

static INLINE INT16 progressive_rfx_srl_read ( RFX_PROGRESSIVE_UPGRADE_STATE *  state,
UINT32  numBits 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ progressive_rfx_upgrade_block()

static INLINE int progressive_rfx_upgrade_block ( RFX_PROGRESSIVE_UPGRADE_STATE *  state,
INT16 *  buffer,
INT16 *  sign,
UINT32  length,
UINT32  shift,
UINT32  bitPos,
UINT32  numBits 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ progressive_rfx_upgrade_component()

static INLINE int progressive_rfx_upgrade_component ( PROGRESSIVE_CONTEXT *  progressive,
const RFX_COMPONENT_CODEC_QUANT shift,
const RFX_COMPONENT_CODEC_QUANT bitPos,
const RFX_COMPONENT_CODEC_QUANT numBits,
INT16 *  buffer,
INT16 *  current,
INT16 *  sign,
const BYTE srlData,
UINT32  srlLen,
const BYTE rawData,
UINT32  rawLen,
BOOL  coeffDiff,
BOOL  subbandDiff,
BOOL  extrapolate 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ progressive_rfx_upgrade_state_finish()

static INLINE int progressive_rfx_upgrade_state_finish ( RFX_PROGRESSIVE_UPGRADE_STATE *  state)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ progressive_rfx_write_message_progressive_simple()

BOOL progressive_rfx_write_message_progressive_simple ( PROGRESSIVE_CONTEXT *  progressive,
wStream s,
const RFX_MESSAGE *  msg 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ progressive_set_surface_data()

static INLINE BOOL progressive_set_surface_data ( PROGRESSIVE_CONTEXT *  progressive,
UINT16  surfaceId,
void *  pData 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ progressive_surface_context_free()

static void progressive_surface_context_free ( void *  ptr)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ progressive_surface_context_new()

static PROGRESSIVE_SURFACE_CONTEXT* progressive_surface_context_new ( UINT16  surfaceId,
UINT32  width,
UINT32  height 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ progressive_surface_tile_replace()

static BOOL progressive_surface_tile_replace ( PROGRESSIVE_SURFACE_CONTEXT surface,
PROGRESSIVE_BLOCK_REGION region,
const RFX_PROGRESSIVE_TILE tile,
BOOL  upgrade 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ progressive_tile_free()

static void progressive_tile_free ( RFX_PROGRESSIVE_TILE tile)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ progressive_tile_new()

static INLINE RFX_PROGRESSIVE_TILE* progressive_tile_new ( void  )
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ progressive_tile_read()

static INLINE BOOL progressive_tile_read ( PROGRESSIVE_CONTEXT *  progressive,
BOOL  simple,
wStream s,
UINT16  blockType,
UINT32  blockLen,
PROGRESSIVE_SURFACE_CONTEXT surface,
PROGRESSIVE_BLOCK_REGION region,
const PROGRESSIVE_BLOCK_CONTEXT context 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ progressive_tile_read_upgrade()

static INLINE BOOL progressive_tile_read_upgrade ( PROGRESSIVE_CONTEXT *  progressive,
wStream s,
UINT16  blockType,
UINT32  blockLen,
PROGRESSIVE_SURFACE_CONTEXT surface,
PROGRESSIVE_BLOCK_REGION region,
const PROGRESSIVE_BLOCK_CONTEXT context 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ progressive_wb_context()

static INLINE SSIZE_T progressive_wb_context ( PROGRESSIVE_CONTEXT *  progressive,
wStream s,
UINT16  blockType,
UINT32  blockLen 
)
static
Here is the caller graph for this function:

◆ progressive_wb_frame_begin()

static INLINE SSIZE_T progressive_wb_frame_begin ( PROGRESSIVE_CONTEXT *  progressive,
wStream s,
UINT16  blockType,
UINT32  blockLen 
)
static

If the number of elements specified by the regionCount field is larger than the actual number of elements in the regions field, the decoder SHOULD ignore this inconsistency.

Here is the caller graph for this function:

◆ progressive_wb_frame_end()

static INLINE SSIZE_T progressive_wb_frame_end ( PROGRESSIVE_CONTEXT *  progressive,
wStream s,
UINT16  blockType,
UINT32  blockLen 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ progressive_wb_read_region_header()

static INLINE SSIZE_T progressive_wb_read_region_header ( PROGRESSIVE_CONTEXT *  progressive,
wStream s,
UINT16  blockType,
UINT32  blockLen,
PROGRESSIVE_BLOCK_REGION region 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ progressive_wb_region()

static INLINE SSIZE_T progressive_wb_region ( PROGRESSIVE_CONTEXT *  progressive,
wStream s,
UINT16  blockType,
UINT32  blockLen,
PROGRESSIVE_SURFACE_CONTEXT surface,
PROGRESSIVE_BLOCK_REGION region 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ progressive_wb_skip_region()

static INLINE SSIZE_T progressive_wb_skip_region ( PROGRESSIVE_CONTEXT *  progressive,
wStream s,
UINT16  blockType,
UINT32  blockLen 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ progressive_wb_sync()

static INLINE SSIZE_T progressive_wb_sync ( PROGRESSIVE_CONTEXT *  progressive,
wStream s,
UINT16  blockType,
UINT32  blockLen 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ rfx_dwt_2d_extrapolate_decode()

void rfx_dwt_2d_extrapolate_decode ( INT16 *  buffer,
INT16 *  temp 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ update_tiles()

static BOOL update_tiles ( PROGRESSIVE_CONTEXT *  progressive,
PROGRESSIVE_SURFACE_CONTEXT surface,
BYTE pDstData,
UINT32  DstFormat,
UINT32  nDstStep,
UINT32  nXDst,
UINT32  nYDst,
PROGRESSIVE_BLOCK_REGION region,
REGION16 invalidRegion 
)
static
Here is the call graph for this function:
Here is the caller graph for this function: