FreeRDP
rfx_sse2.c File Reference
#include <freerdp/config.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <winpr/sysinfo.h>
#include <xmmintrin.h>
#include <emmintrin.h>
#include "rfx_types.h"
#include "rfx_sse2.h"

Macros

#define CACHE_LINE_BYTES   64
 
#define ATTRIBUTES   __gnu_inline__, __always_inline__, __artificial__
 
#define _mm_between_epi16(_val, _min, _max)
 

Functions

static __inline void __attribute__ ((ATTRIBUTES))
 
static void rfx_quantization_decode_sse2 (INT16 *buffer, const UINT32 *WINPR_RESTRICT quantVals)
 
static void rfx_quantization_encode_sse2 (INT16 *buffer, const UINT32 *WINPR_RESTRICT quantization_values)
 
static void rfx_dwt_2d_decode_sse2 (INT16 *buffer, INT16 *dwt_buffer)
 
static void rfx_dwt_2d_encode_sse2 (INT16 *buffer, INT16 *dwt_buffer)
 
void rfx_init_sse2 (RFX_CONTEXT *context)
 

Macro Definition Documentation

◆ _mm_between_epi16

#define _mm_between_epi16 (   _val,
  _min,
  _max 
)
Value:
do \
{ \
_val = _mm_min_epi16(_max, _mm_max_epi16(_val, _min)); \
} while (0)

◆ ATTRIBUTES

#define ATTRIBUTES   __gnu_inline__, __always_inline__, __artificial__

◆ CACHE_LINE_BYTES

#define CACHE_LINE_BYTES   64

FreeRDP: A Remote Desktop Protocol Implementation RemoteFX Codec Library - SSE2 Optimizations

Copyright 2011 Stephen Erisman Copyright 2011 Norbert Federa norbe.nosp@m.rt.f.nosp@m.edera.nosp@m.@thi.nosp@m.ncast.nosp@m..com

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

◆ __attribute__()

static __inline void __attribute__ ( (ATTRIBUTES )
static

◆ rfx_dwt_2d_decode_sse2()

static void rfx_dwt_2d_decode_sse2 ( INT16 *  buffer,
INT16 *  dwt_buffer 
)
static
Here is the caller graph for this function:

◆ rfx_dwt_2d_encode_sse2()

static void rfx_dwt_2d_encode_sse2 ( INT16 *  buffer,
INT16 *  dwt_buffer 
)
static
Here is the caller graph for this function:

◆ rfx_init_sse2()

void rfx_init_sse2 ( RFX_CONTEXT *  context)

FreeRDP: A Remote Desktop Protocol Implementation RemoteFX Codec Library - SSE2 Optimizations

Copyright 2011 Stephen Erisman

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.

Here is the call graph for this function:

◆ rfx_quantization_decode_sse2()

static void rfx_quantization_decode_sse2 ( INT16 *  buffer,
const UINT32 *WINPR_RESTRICT  quantVals 
)
static
Here is the caller graph for this function:

◆ rfx_quantization_encode_sse2()

static void rfx_quantization_encode_sse2 ( INT16 *  buffer,
const UINT32 *WINPR_RESTRICT  quantization_values 
)
static
Here is the caller graph for this function: