FreeRDP
|
#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"
Functions | |
static BOOL | nsc_write_message (NSC_CONTEXT *WINPR_RESTRICT context, wStream *WINPR_RESTRICT s, const NSC_MESSAGE *WINPR_RESTRICT message) |
static BOOL | nsc_context_initialize_encode (NSC_CONTEXT *WINPR_RESTRICT context) |
static BOOL | nsc_encode_argb_to_aycocg (NSC_CONTEXT *WINPR_RESTRICT context, const BYTE *WINPR_RESTRICT data, UINT32 scanline) |
static BOOL | nsc_encode_subsampling (NSC_CONTEXT *WINPR_RESTRICT context) |
BOOL | nsc_encode (NSC_CONTEXT *WINPR_RESTRICT context, const BYTE *WINPR_RESTRICT bmpdata, UINT32 rowstride) |
static UINT32 | nsc_rle_encode (const BYTE *WINPR_RESTRICT in, BYTE *WINPR_RESTRICT out, UINT32 originalSize) |
static void | nsc_rle_compress_data (NSC_CONTEXT *WINPR_RESTRICT context) |
static UINT32 | nsc_compute_byte_count (NSC_CONTEXT *WINPR_RESTRICT context, UINT32 *WINPR_RESTRICT ByteCount, UINT32 width, UINT32 height) |
BOOL | nsc_compose_message (NSC_CONTEXT *WINPR_RESTRICT context, wStream *WINPR_RESTRICT s, const BYTE *WINPR_RESTRICT data, UINT32 width, UINT32 height, UINT32 scanline) |
BOOL | nsc_decompose_message (NSC_CONTEXT *WINPR_RESTRICT context, wStream *WINPR_RESTRICT s, BYTE *WINPR_RESTRICT bmpdata, UINT32 x, UINT32 y, UINT32 width, UINT32 height, UINT32 rowstride, UINT32 format, UINT32 flip) |
BOOL nsc_compose_message | ( | NSC_CONTEXT *WINPR_RESTRICT | context, |
wStream *WINPR_RESTRICT | s, | ||
const BYTE *WINPR_RESTRICT | data, | ||
UINT32 | width, | ||
UINT32 | height, | ||
UINT32 | scanline | ||
) |
|
static |
|
static |
BOOL nsc_decompose_message | ( | NSC_CONTEXT *WINPR_RESTRICT | context, |
wStream *WINPR_RESTRICT | s, | ||
BYTE *WINPR_RESTRICT | bmpdata, | ||
UINT32 | x, | ||
UINT32 | y, | ||
UINT32 | width, | ||
UINT32 | height, | ||
UINT32 | rowstride, | ||
UINT32 | format, | ||
UINT32 | flip | ||
) |
BOOL nsc_encode | ( | NSC_CONTEXT *WINPR_RESTRICT | context, |
const BYTE *WINPR_RESTRICT | bmpdata, | ||
UINT32 | rowstride | ||
) |
FreeRDP: A Remote Desktop Protocol Implementation NSCodec Encoder
Copyright 2012 Vic Lee Copyright 2016 Armin Novak armin Copyright 2016 Thincast Technologies GmbH .nov ak@th inca st.co m
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.
|
static |
|
static |
|
static |
|
static |
We quit the loop if the running compressed size is larger than the original. In such cases data will be sent uncompressed.
|
static |