21 #ifndef FREERDP_LIB_CODEC_NSC_TYPES_H
22 #define FREERDP_LIB_CODEC_NSC_TYPES_H
24 #include <freerdp/config.h>
26 #include <winpr/crt.h>
27 #include <winpr/wlog.h>
28 #include <winpr/collections.h>
30 #include <freerdp/utils/profiler.h>
31 #include <freerdp/codec/nsc.h>
33 #define ROUND_UP_TO(_b, _n) (_b + ((~(_b & (_n - 1)) + 0x1) & (_n - 1)))
34 #define MINMAX(_v, _l, _h) ((_v) < (_l) ? (_l) : ((_v) > (_h) ? (_h) : (_v)))
40 BYTE* PlaneBuffers[5];
41 UINT32 PlaneBuffersLength;
44 PROFILER_DEFINE(prof_nsc_rle_decompress_data)
45 PROFILER_DEFINE(prof_nsc_decode)
46 PROFILER_DEFINE(prof_nsc_rle_compress_data)
47 PROFILER_DEFINE(prof_nsc_encode)
52 UINT32 OrgByteCount[4];
57 size_t BitmapDataLength;
61 UINT32 PlaneByteCount[4];
62 UINT32 ColorLossLevel;
63 UINT32 ChromaSubsamplingLevel;
64 BOOL DynamicColorFidelity;
69 BOOL (*decode)(NSC_CONTEXT* WINPR_RESTRICT context);
71 (NSC_CONTEXT* WINPR_RESTRICT context,
const BYTE* WINPR_RESTRICT BitmapData, UINT32 rowstride);