summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/libFLAC/ia32/lpc_asm.nasm58
-rw-r--r--src/share/utf8/utf8.c10
2 files changed, 30 insertions, 38 deletions
diff --git a/src/libFLAC/ia32/lpc_asm.nasm b/src/libFLAC/ia32/lpc_asm.nasm
index 8539d9b3..272fb7bd 100644
--- a/src/libFLAC/ia32/lpc_asm.nasm
+++ b/src/libFLAC/ia32/lpc_asm.nasm
@@ -637,7 +637,7 @@ cident FLAC__lpc_compute_autocorrelation_asm_ia32_sse_lag_16_old
sub esp, 32
;ASSERT(lag > 0)
- ;ASSERT(lag <= 12)
+ ;ASSERT(lag <= 16)
;ASSERT(lag <= data_len)
;ASSERT(data_len > 0)
@@ -654,7 +654,7 @@ cident FLAC__lpc_compute_autocorrelation_asm_ia32_sse_lag_16_old
movss xmm0, [eax] ; xmm0 = 0,0,0,data[0]
add eax, 4
movaps xmm1, xmm0 ; xmm1 = 0,0,0,data[0]
- shufps xmm0, xmm0, 0 ; xmm0 == data[sample],data[sample],data[sample],data[sample] = data[0],data[0],data[0],data[0]
+ shufps xmm0, xmm0, 0 ; xmm0 == data[sample],data[sample],data[sample],data[sample] = data[0],data[0],data[0],data[0]
xorps xmm2, xmm2 ; xmm2 = 0,0,0,0
xorps xmm3, xmm3 ; xmm3 = 0,0,0,0
xorps xmm4, xmm4 ; xmm4 = 0,0,0,0
@@ -666,7 +666,7 @@ cident FLAC__lpc_compute_autocorrelation_asm_ia32_sse_lag_16_old
ALIGN 16
.loop_start:
; start by reading the next sample
- movss xmm0, [eax] ; xmm0 = 0,0,0,data[sample]
+ movss xmm0, [eax] ; xmm0 = 0,0,0,data[sample]
add eax, 4
shufps xmm0, xmm0, 0 ; xmm0 = data[sample],data[sample],data[sample],data[sample]
@@ -699,7 +699,7 @@ cident FLAC__lpc_compute_autocorrelation_asm_ia32_sse_lag_16_old
jnz .loop_start
.loop_end:
; store autoc
- mov edx, [ebp + 20] ; edx == autoc
+ mov edx, [ebp + 20] ; edx == autoc
movups [edx], xmm5
movups [edx + 16], xmm6
movaps xmm5, [esp]
@@ -1520,7 +1520,7 @@ cident FLAC__lpc_compute_residual_from_qlp_coefficients_wide_asm_ia32
mov ebx, [esp + 24] ; ebx = data_len
test ebx, ebx
- jz near .end ; do nothing if data_len == 0
+ jz near .end ; do nothing if data_len == 0
.begin:
mov eax, [esp + 32] ; eax = order
@@ -1530,13 +1530,13 @@ cident FLAC__lpc_compute_residual_from_qlp_coefficients_wide_asm_ia32
mov esi, [esp + 40] ; esi = residual[]
mov edi, [esp + 20] ; edi = data[]
mov ecx, [esp + 28] ; ecx = qlp_coeff[]
- mov ebp, [ecx] ; ebp = qlp_coeff[0]
+ mov ebp, [ecx] ; ebp = qlp_coeff[0]
mov eax, [edi - 4] ; eax = data[-1]
mov ecx, [esp + 36] ; cl = lp_quantization
ALIGN 16
.i_1_loop_i:
- imul ebp ; edx:eax = qlp_coeff[0] * (FLAC__int64)data[i-1]
- shrd eax, edx, cl ; 0 <= lp_quantization <= 15
+ imul ebp ; edx:eax = qlp_coeff[0] * (FLAC__int64)data[i-1]
+ shrd eax, edx, cl ; 0 <= lp_quantization <= 15
neg eax
add eax, [edi]
mov [esi], eax
@@ -1577,15 +1577,15 @@ cident FLAC__lpc_compute_residual_from_qlp_coefficients_wide_asm_ia32
;edi = data[]
;ebp = @address
- mov eax, [ebx + 124] ; eax = qlp_coeff[31]
+ mov eax, [ebx + 124] ; eax = qlp_coeff[31]
imul dword [edi - 128] ; edx:eax = qlp_coeff[31] * data[i-32]
add ecx, eax
- adc esi, edx ; sum += qlp_coeff[31] * data[i-32]
+ adc esi, edx ; sum += qlp_coeff[31] * data[i-32]
- mov eax, [ebx + 120] ; eax = qlp_coeff[30]
+ mov eax, [ebx + 120] ; eax = qlp_coeff[30]
imul dword [edi - 124] ; edx:eax = qlp_coeff[30] * data[i-31]
add ecx, eax
- adc esi, edx ; sum += qlp_coeff[30] * data[i-31]
+ adc esi, edx ; sum += qlp_coeff[30] * data[i-31]
mov eax, [ebx + 116]
imul dword [edi - 120]
@@ -1732,23 +1732,23 @@ cident FLAC__lpc_compute_residual_from_qlp_coefficients_wide_asm_ia32
add ecx, eax
adc esi, edx
- mov eax, [ebx] ; eax = qlp_coeff[ 0] (NOTE: one byte missing from instruction)
+ mov eax, [ebx] ; eax = qlp_coeff[ 0] (NOTE: one byte missing from instruction)
imul dword [edi - 4] ; edx:eax = qlp_coeff[ 0] * data[i- 1]
add ecx, eax
- adc esi, edx ; sum += qlp_coeff[ 0] * data[i- 1]
+ adc esi, edx ; sum += qlp_coeff[ 0] * data[i- 1]
.jumper_0:
mov edx, ecx
;esi:edx = sum
mov ecx, [esp + 36] ; cl = lp_quantization
- shrd edx, esi, cl ; edx = (sum >> lp_quantization)
+ shrd edx, esi, cl ; edx = (sum >> lp_quantization)
;eax = --
;ecx = --
;edx = sum >> lp_q
;esi = --
- neg edx ; edx = -(sum >> lp_quantization)
+ neg edx ; edx = -(sum >> lp_quantization)
mov eax, [esp + 40] ; residual[] - data[]
- add edx, [edi] ; edx = data[i] - (sum >> lp_quantization)
+ add edx, [edi] ; edx = data[i] - (sum >> lp_quantization)
mov [edi + eax], edx
add edi, 4
@@ -1801,7 +1801,7 @@ cident FLAC__lpc_restore_signal_wide_asm_ia32
mov ebx, [esp + 24] ; ebx = data_len
test ebx, ebx
- jz near .end ; do nothing if data_len == 0
+ jz near .end ; do nothing if data_len == 0
.begin:
mov eax, [esp + 32] ; eax = order
@@ -1811,13 +1811,13 @@ cident FLAC__lpc_restore_signal_wide_asm_ia32
mov esi, [esp + 20] ; esi = residual[]
mov edi, [esp + 40] ; edi = data[]
mov ecx, [esp + 28] ; ecx = qlp_coeff[]
- mov ebp, [ecx] ; ebp = qlp_coeff[0]
+ mov ebp, [ecx] ; ebp = qlp_coeff[0]
mov eax, [edi - 4] ; eax = data[-1]
mov ecx, [esp + 36] ; cl = lp_quantization
ALIGN 16
.x87_1_loop_i:
- imul ebp ; edx:eax = qlp_coeff[0] * (FLAC__int64)data[i-1]
- shrd eax, edx, cl ; 0 <= lp_quantization <= 15
+ imul ebp ; edx:eax = qlp_coeff[0] * (FLAC__int64)data[i-1]
+ shrd eax, edx, cl ; 0 <= lp_quantization <= 15
;
add eax, [esi]
mov [edi], eax
@@ -1858,15 +1858,15 @@ cident FLAC__lpc_restore_signal_wide_asm_ia32
;edi = data[]
;ebp = @address
- mov eax, [ebx + 124] ; eax = qlp_coeff[31]
+ mov eax, [ebx + 124] ; eax = qlp_coeff[31]
imul dword [edi - 128] ; edx:eax = qlp_coeff[31] * data[i-32]
add ecx, eax
- adc esi, edx ; sum += qlp_coeff[31] * data[i-32]
+ adc esi, edx ; sum += qlp_coeff[31] * data[i-32]
- mov eax, [ebx + 120] ; eax = qlp_coeff[30]
+ mov eax, [ebx + 120] ; eax = qlp_coeff[30]
imul dword [edi - 124] ; edx:eax = qlp_coeff[30] * data[i-31]
add ecx, eax
- adc esi, edx ; sum += qlp_coeff[30] * data[i-31]
+ adc esi, edx ; sum += qlp_coeff[30] * data[i-31]
mov eax, [ebx + 116]
imul dword [edi - 120]
@@ -2013,16 +2013,16 @@ cident FLAC__lpc_restore_signal_wide_asm_ia32
add ecx, eax
adc esi, edx
- mov eax, [ebx] ; eax = qlp_coeff[ 0] (NOTE: one byte missing from instruction)
+ mov eax, [ebx] ; eax = qlp_coeff[ 0] (NOTE: one byte missing from instruction)
imul dword [edi - 4] ; edx:eax = qlp_coeff[ 0] * data[i- 1]
add ecx, eax
- adc esi, edx ; sum += qlp_coeff[ 0] * data[i- 1]
+ adc esi, edx ; sum += qlp_coeff[ 0] * data[i- 1]
.jumper_0:
mov edx, ecx
;esi:edx = sum
mov ecx, [esp + 36] ; cl = lp_quantization
- shrd edx, esi, cl ; edx = (sum >> lp_quantization)
+ shrd edx, esi, cl ; edx = (sum >> lp_quantization)
;eax = --
;ecx = --
;edx = sum >> lp_q
@@ -2030,7 +2030,7 @@ cident FLAC__lpc_restore_signal_wide_asm_ia32
;
mov eax, [esp + 20] ; residual[] - data[]
add edx, [edi + eax] ; edx = residual[i] + (sum >> lp_quantization)
- mov [edi], edx ; data[i] = residual[i] + (sum >> lp_quantization)
+ mov [edi], edx ; data[i] = residual[i] + (sum >> lp_quantization)
add edi, 4
dec dword [esp + 24]
diff --git a/src/share/utf8/utf8.c b/src/share/utf8/utf8.c
index 0519d8e1..98a0b648 100644
--- a/src/share/utf8/utf8.c
+++ b/src/share/utf8/utf8.c
@@ -49,26 +49,22 @@ int utf8_encode(const char *from, char **to)
len = MultiByteToWideChar(CP_ACP, MB_PRECOMPOSED, from, -1, NULL, 0);
if(len == 0) break;
-
unicode = (wchar_t*) safe_malloc_mul_2op_((size_t)len, sizeof(wchar_t));
if(unicode == NULL) break;
-
len = MultiByteToWideChar(CP_ACP, MB_PRECOMPOSED, from, -1, unicode, len);
if(len == 0) break;
len = WideCharToMultiByte(CP_UTF8, 0, unicode, -1, NULL, 0, NULL, NULL);
if(len == 0) break;
-
utf8 = (char*) safe_malloc_mul_2op_((size_t)len, sizeof(char));
if(utf8 == NULL) break;
-
len = WideCharToMultiByte(CP_UTF8, 0, unicode, -1, utf8, len, NULL, NULL);
if(len == 0) break;
ret = 0;
} while(0);
-
+
free(unicode);
if(ret == 0) {
@@ -92,19 +88,15 @@ int utf8_decode(const char *from, char **to)
len = MultiByteToWideChar(CP_UTF8, 0, from, -1, NULL, 0);
if(len == 0) break;
-
unicode = (wchar_t*) safe_malloc_mul_2op_((size_t)len, sizeof(wchar_t));
if(unicode == NULL) break;
-
len = MultiByteToWideChar(CP_UTF8, 0, from, -1, unicode, len);
if(len == 0) break;
len = WideCharToMultiByte(CP_ACP, WC_COMPOSITECHECK, unicode, -1, NULL, 0, NULL, NULL);
if(len == 0) break;
-
acp = (char*) safe_malloc_mul_2op_((size_t)len, sizeof(char));
if(acp == NULL) break;
-
len = WideCharToMultiByte(CP_ACP, WC_COMPOSITECHECK, unicode, -1, acp, len, NULL, NULL);
if(len == 0) break;