Merge branch 'master' of github.com:FreeRDP/FreeRDP
This commit is contained in:
commit
32732efe4c
@ -76,6 +76,13 @@
|
||||
|
||||
#define SCARD_INPUT_LINKED 0xFFFFFFFF
|
||||
|
||||
/* Decode Win CTL_CODE values */
|
||||
#define WIN_CTL_FUNCTION(ctl_code) ((ctl_code & 0x3FFC) >> 2)
|
||||
#define WIN_CTL_DEVICE_TYPE(ctl_code) (ctl_code >> 16)
|
||||
|
||||
#define WIN_FILE_DEVICE_SMARTCARD 0x00000031
|
||||
|
||||
|
||||
static uint32 sc_output_string(IRP* irp, char *src, boolean wide)
|
||||
{
|
||||
uint8* p;
|
||||
@ -352,7 +359,7 @@ static uint32 handle_ListReaders(IRP* irp, boolean wide)
|
||||
return rv;
|
||||
}
|
||||
|
||||
DEBUG_SCARD("Success 0x%08x %d %d", (unsigned) hContext, (unsigned) cchReaders, (int) strlen(readerList));
|
||||
/* DEBUG_SCARD("Success 0x%08x %d %d", (unsigned) hContext, (unsigned) cchReaders, (int) strlen(readerList));*/
|
||||
|
||||
poslen1 = stream_get_pos(irp->output);
|
||||
stream_seek_uint32(irp->output);
|
||||
@ -967,6 +974,7 @@ static uint32 handle_Control(IRP* irp)
|
||||
SCARDHANDLE hCard;
|
||||
uint32 map[3];
|
||||
uint32 controlCode;
|
||||
uint32 controlFunction;
|
||||
BYTE *recvBuffer = NULL, *sendBuffer = NULL;
|
||||
uint32 recvLength;
|
||||
DWORD nBytesReturned;
|
||||
@ -986,6 +994,14 @@ static uint32 handle_Control(IRP* irp)
|
||||
stream_seek(irp->input, 0x4);
|
||||
stream_read_uint32(irp->input, hCard);
|
||||
|
||||
/* Translate Windows SCARD_CTL_CODE's to corresponding local code */
|
||||
if (WIN_CTL_DEVICE_TYPE(controlCode) == WIN_FILE_DEVICE_SMARTCARD)
|
||||
{
|
||||
controlFunction = WIN_CTL_FUNCTION(controlCode);
|
||||
controlCode = SCARD_CTL_CODE(controlFunction);
|
||||
}
|
||||
DEBUG_SCARD("controlCode: 0x%08x", (unsigned) controlCode);
|
||||
|
||||
if (map[2] & SCARD_INPUT_LINKED)
|
||||
{
|
||||
/* read real input size */
|
||||
|
@ -25,6 +25,8 @@
|
||||
#include <WinDef.h>
|
||||
#endif
|
||||
|
||||
#include "config.h"
|
||||
|
||||
/* Base Types */
|
||||
|
||||
#ifdef HAVE_LIMITS_H
|
||||
|
@ -113,7 +113,7 @@ rfx_quantization_decode_NEON(sint16 * buffer, const uint32 * quantization_values
|
||||
rfx_quantization_decode_block_NEON(buffer + 3584, 256, quantization_values[6]); /* HH2 */
|
||||
rfx_quantization_decode_block_NEON(buffer + 3840, 64, quantization_values[2]); /* HL3 */
|
||||
rfx_quantization_decode_block_NEON(buffer + 3904, 64, quantization_values[1]); /* LH3 */
|
||||
rfx_quantization_decode_block_NEON(buffer + 3868, 64, quantization_values[3]); /* HH3 */
|
||||
rfx_quantization_decode_block_NEON(buffer + 3968, 64, quantization_values[3]); /* HH3 */
|
||||
rfx_quantization_decode_block_NEON(buffer + 4032, 64, quantization_values[0]); /* LL3 */
|
||||
}
|
||||
|
||||
@ -127,14 +127,6 @@ rfx_dwt_2d_decode_block_horiz_NEON(sint16 * l, sint16 * h, sint16 * dst, int sub
|
||||
sint16 * h_ptr = h;
|
||||
sint16 * dst_ptr = dst;
|
||||
|
||||
__asm__ __volatile__ (
|
||||
"mov r10, #1; "
|
||||
"vdup.16 q8, r10; "
|
||||
:
|
||||
:
|
||||
: "r10"
|
||||
);
|
||||
|
||||
for (y = 0; y < subband_width; y++)
|
||||
{
|
||||
/* Even coefficients */
|
||||
|
@ -288,7 +288,7 @@ static void rfx_quantization_encode_sse2(sint16* buffer, const uint32* quantizat
|
||||
rfx_quantization_encode_block_sse2(buffer + 3584, 256, quantization_values[6] - 6); /* HH2 */
|
||||
rfx_quantization_encode_block_sse2(buffer + 3840, 64, quantization_values[2] - 6); /* HL3 */
|
||||
rfx_quantization_encode_block_sse2(buffer + 3904, 64, quantization_values[1] - 6); /* LH3 */
|
||||
rfx_quantization_encode_block_sse2(buffer + 3868, 64, quantization_values[3] - 6); /* HH3 */
|
||||
rfx_quantization_encode_block_sse2(buffer + 3968, 64, quantization_values[3] - 6); /* HH3 */
|
||||
rfx_quantization_encode_block_sse2(buffer + 4032, 64, quantization_values[0] - 6); /* LL3 */
|
||||
|
||||
rfx_quantization_encode_block_sse2(buffer, 4096, 5);
|
||||
|
Loading…
Reference in New Issue
Block a user