FreeRDP
nsc.c File Reference
#include <freerdp/config.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <winpr/crt.h>
#include <freerdp/codec/nsc.h>
#include <freerdp/codec/color.h>
#include "nsc_types.h"
#include "nsc_encode.h"
#include "sse/nsc_sse2.h"
#include "neon/nsc_neon.h"
#include <freerdp/log.h>

Macros

#define TAG   FREERDP_TAG("codec.nsc")
 
#define NSC_INIT_SIMD(_nsc_context)
 

Functions

static BOOL nsc_decode (NSC_CONTEXT *WINPR_RESTRICT context)
 
static BOOL nsc_rle_decode (const BYTE *WINPR_RESTRICT in, size_t inSize, BYTE *WINPR_RESTRICT out, UINT32 outSize, UINT32 originalSize)
 
static BOOL nsc_rle_decompress_data (NSC_CONTEXT *WINPR_RESTRICT context)
 
static BOOL nsc_stream_initialize (NSC_CONTEXT *WINPR_RESTRICT context, wStream *WINPR_RESTRICT s)
 
static BOOL nsc_context_initialize (NSC_CONTEXT *WINPR_RESTRICT context, wStream *WINPR_RESTRICT s)
 
static void nsc_profiler_print (NSC_CONTEXT_PRIV *WINPR_RESTRICT priv)
 
BOOL nsc_context_reset (NSC_CONTEXT *WINPR_RESTRICT context, UINT32 width, UINT32 height)
 
NSC_CONTEXT * nsc_context_new (void)
 
void nsc_context_free (NSC_CONTEXT *context)
 
BOOL nsc_context_set_parameters (NSC_CONTEXT *context, NSC_PARAMETER what, UINT32 value)
 
BOOL nsc_process_message (NSC_CONTEXT *context, UINT16 bpp, UINT32 width, UINT32 height, const BYTE *WINPR_RESTRICT data, UINT32 length, BYTE *WINPR_RESTRICT pDstData, UINT32 DstFormat, UINT32 nDstStride, UINT32 nXDst, UINT32 nYDst, UINT32 nWidth, UINT32 nHeight, UINT32 flip)
 

Macro Definition Documentation

◆ NSC_INIT_SIMD

#define NSC_INIT_SIMD (   _nsc_context)
Value:
do \
{ \
} while (0)

◆ TAG

#define TAG   FREERDP_TAG("codec.nsc")

FreeRDP: A Remote Desktop Protocol Implementation NSCodec Codec

Copyright 2011 Samsung, Author Jiten Pathy Copyright 2012 Vic Lee 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.

Function Documentation

◆ nsc_context_free()

void nsc_context_free ( NSC_CONTEXT *  context)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ nsc_context_initialize()

static BOOL nsc_context_initialize ( NSC_CONTEXT *WINPR_RESTRICT  context,
wStream *WINPR_RESTRICT  s 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ nsc_context_new()

NSC_CONTEXT* nsc_context_new ( void  )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ nsc_context_reset()

BOOL nsc_context_reset ( NSC_CONTEXT *WINPR_RESTRICT  context,
UINT32  width,
UINT32  height 
)
Here is the caller graph for this function:

◆ nsc_context_set_parameters()

BOOL nsc_context_set_parameters ( NSC_CONTEXT *  context,
NSC_PARAMETER  what,
UINT32  value 
)
Here is the call graph for this function:

◆ nsc_decode()

static BOOL nsc_decode ( NSC_CONTEXT *WINPR_RESTRICT  context)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ nsc_process_message()

BOOL nsc_process_message ( NSC_CONTEXT *  context,
UINT16  bpp,
UINT32  width,
UINT32  height,
const BYTE *WINPR_RESTRICT  data,
UINT32  length,
BYTE *WINPR_RESTRICT  pDstData,
UINT32  DstFormat,
UINT32  nDstStride,
UINT32  nXDst,
UINT32  nYDst,
UINT32  nWidth,
UINT32  nHeight,
UINT32  flip 
)
Here is the call graph for this function:

◆ nsc_profiler_print()

static void nsc_profiler_print ( NSC_CONTEXT_PRIV *WINPR_RESTRICT  priv)
static
Here is the caller graph for this function:

◆ nsc_rle_decode()

static BOOL nsc_rle_decode ( const BYTE *WINPR_RESTRICT  in,
size_t  inSize,
BYTE *WINPR_RESTRICT  out,
UINT32  outSize,
UINT32  originalSize 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ nsc_rle_decompress_data()

static BOOL nsc_rle_decompress_data ( NSC_CONTEXT *WINPR_RESTRICT  context)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ nsc_stream_initialize()

static BOOL nsc_stream_initialize ( NSC_CONTEXT *WINPR_RESTRICT  context,
wStream *WINPR_RESTRICT  s 
)
static
Here is the call graph for this function:
Here is the caller graph for this function: