summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--media/libstagefright/codecs/aacenc/Android.mk2
-rw-r--r--media/libstagefright/codecs/aacenc/SampleCode/AAC_E_SAMPLES.c8
-rw-r--r--media/libstagefright/codecs/aacenc/basic_op/basic_op.h222
-rw-r--r--media/libstagefright/codecs/aacenc/basic_op/basicop2.c4
-rw-r--r--media/libstagefright/codecs/aacenc/basic_op/oper_32b.c152
-rw-r--r--media/libstagefright/codecs/aacenc/basic_op/oper_32b.h16
-rw-r--r--media/libstagefright/codecs/aacenc/basic_op/typedef.h2
-rw-r--r--media/libstagefright/codecs/aacenc/basic_op/typedefs.h10
-rw-r--r--media/libstagefright/codecs/aacenc/inc/aac_rom.h2
-rw-r--r--media/libstagefright/codecs/aacenc/inc/aacenc_core.h2
-rw-r--r--media/libstagefright/codecs/aacenc/inc/adj_thr.h4
-rw-r--r--media/libstagefright/codecs/aacenc/inc/adj_thr_data.h2
-rw-r--r--media/libstagefright/codecs/aacenc/inc/bitenc.h2
-rw-r--r--media/libstagefright/codecs/aacenc/inc/interface.h8
-rw-r--r--media/libstagefright/codecs/aacenc/inc/line_pe.h6
-rw-r--r--media/libstagefright/codecs/aacenc/inc/psy_const.h2
-rw-r--r--media/libstagefright/codecs/aacenc/inc/psy_main.h4
-rw-r--r--media/libstagefright/codecs/aacenc/inc/qc_main.h2
-rw-r--r--media/libstagefright/codecs/aacenc/inc/quantize.h2
-rw-r--r--media/libstagefright/codecs/aacenc/inc/sf_estim.h2
-rw-r--r--media/libstagefright/codecs/aacenc/inc/stat_bits.h2
-rw-r--r--media/libstagefright/codecs/aacenc/inc/tns_param.h2
-rw-r--r--media/libstagefright/codecs/aacenc/inc/transform.h2
-rw-r--r--media/libstagefright/codecs/aacenc/src/aac_rom.c2460
-rw-r--r--media/libstagefright/codecs/aacenc/src/aacenc.c48
-rw-r--r--media/libstagefright/codecs/aacenc/src/aacenc_core.c42
-rw-r--r--media/libstagefright/codecs/aacenc/src/adj_thr.c364
-rw-r--r--media/libstagefright/codecs/aacenc/src/asm/ARMV5E/AutoCorrelation_v5.s206
-rw-r--r--media/libstagefright/codecs/aacenc/src/asm/ARMV5E/CalcWindowEnergy_v5.s80
-rw-r--r--media/libstagefright/codecs/aacenc/src/asm/ARMV5E/PrePostMDCT_v5.s66
-rw-r--r--media/libstagefright/codecs/aacenc/src/asm/ARMV5E/R4R8First_v5.s154
-rw-r--r--media/libstagefright/codecs/aacenc/src/asm/ARMV5E/Radix4FFT_v5.s144
-rw-r--r--media/libstagefright/codecs/aacenc/src/asm/ARMV5E/band_nrg_v5.s138
-rw-r--r--media/libstagefright/codecs/aacenc/src/asm/ARMV7/PrePostMDCT_v7.s72
-rw-r--r--media/libstagefright/codecs/aacenc/src/asm/ARMV7/R4R8First_v7.s88
-rw-r--r--media/libstagefright/codecs/aacenc/src/asm/ARMV7/Radix4FFT_v7.s120
-rw-r--r--media/libstagefright/codecs/aacenc/src/band_nrg.c30
-rw-r--r--media/libstagefright/codecs/aacenc/src/bit_cnt.c780
-rw-r--r--media/libstagefright/codecs/aacenc/src/bitbuffer.c64
-rw-r--r--media/libstagefright/codecs/aacenc/src/bitenc.c110
-rw-r--r--media/libstagefright/codecs/aacenc/src/block_switch.c146
-rw-r--r--media/libstagefright/codecs/aacenc/src/channel_map.c46
-rw-r--r--media/libstagefright/codecs/aacenc/src/dyn_bits.c146
-rw-r--r--media/libstagefright/codecs/aacenc/src/grp_data.c72
-rw-r--r--media/libstagefright/codecs/aacenc/src/interface.c36
-rw-r--r--media/libstagefright/codecs/aacenc/src/line_pe.c52
-rw-r--r--media/libstagefright/codecs/aacenc/src/memalign.c2
-rw-r--r--media/libstagefright/codecs/aacenc/src/ms_stereo.c60
-rw-r--r--media/libstagefright/codecs/aacenc/src/pre_echo_control.c26
-rw-r--r--media/libstagefright/codecs/aacenc/src/psy_configuration.c104
-rw-r--r--media/libstagefright/codecs/aacenc/src/psy_main.c88
-rw-r--r--media/libstagefright/codecs/aacenc/src/qc_main.c144
-rw-r--r--media/libstagefright/codecs/aacenc/src/quantize.c130
-rw-r--r--media/libstagefright/codecs/aacenc/src/sf_estim.c506
-rw-r--r--media/libstagefright/codecs/aacenc/src/stat_bits.c58
-rw-r--r--media/libstagefright/codecs/aacenc/src/tns.c256
-rw-r--r--media/libstagefright/codecs/aacenc/src/transform.c160
-rw-r--r--media/libstagefright/codecs/amrwbenc/Android.mk4
-rw-r--r--media/libstagefright/codecs/amrwbenc/inc/basic_op.h8
-rw-r--r--media/libstagefright/codecs/amrwbenc/inc/homing.tab86
-rw-r--r--media/libstagefright/codecs/amrwbenc/inc/isp_isf.tab2
-rw-r--r--media/libstagefright/codecs/amrwbenc/inc/log2.h6
-rw-r--r--media/libstagefright/codecs/amrwbenc/inc/mime_io.tab8
-rw-r--r--media/libstagefright/codecs/amrwbenc/inc/stream.h4
-rw-r--r--media/libstagefright/codecs/amrwbenc/inc/typedef.h2
-rw-r--r--media/libstagefright/codecs/amrwbenc/inc/typedefs.h6
-rw-r--r--media/libstagefright/codecs/amrwbenc/src/asm/ARMV5E/Deemph_32_opt.s12
-rw-r--r--media/libstagefright/codecs/amrwbenc/src/asm/ARMV5E/Dot_p_opt.s16
-rw-r--r--media/libstagefright/codecs/amrwbenc/src/asm/ARMV5E/Filt_6k_7k_opt.s46
-rw-r--r--media/libstagefright/codecs/amrwbenc/src/asm/ARMV5E/Norm_Corr_opt.s50
-rw-r--r--media/libstagefright/codecs/amrwbenc/src/asm/ARMV5E/Syn_filt_32_opt.s44
-rw-r--r--media/libstagefright/codecs/amrwbenc/src/asm/ARMV5E/convolve_opt.s56
-rw-r--r--media/libstagefright/codecs/amrwbenc/src/asm/ARMV5E/cor_h_vec_opt.s32
-rw-r--r--media/libstagefright/codecs/amrwbenc/src/asm/ARMV5E/pred_lt4_1_opt.s10
-rw-r--r--media/libstagefright/codecs/amrwbenc/src/asm/ARMV5E/residu_asm_opt.s108
-rw-r--r--media/libstagefright/codecs/amrwbenc/src/asm/ARMV5E/scale_sig_opt.s12
-rw-r--r--media/libstagefright/codecs/amrwbenc/src/asm/ARMV5E/syn_filt_opt.s60
-rw-r--r--media/libstagefright/codecs/amrwbenc/src/asm/ARMV7/Deemph_32_neon.s12
-rw-r--r--media/libstagefright/codecs/amrwbenc/src/asm/ARMV7/Dot_p_neon.s24
-rw-r--r--media/libstagefright/codecs/amrwbenc/src/asm/ARMV7/Filt_6k_7k_neon.s70
-rw-r--r--media/libstagefright/codecs/amrwbenc/src/asm/ARMV7/Norm_Corr_neon.s56
-rw-r--r--media/libstagefright/codecs/amrwbenc/src/asm/ARMV7/Syn_filt_32_neon.s28
-rw-r--r--media/libstagefright/codecs/amrwbenc/src/asm/ARMV7/convolve_neon.s70
-rw-r--r--media/libstagefright/codecs/amrwbenc/src/asm/ARMV7/cor_h_vec_neon.s34
-rw-r--r--media/libstagefright/codecs/amrwbenc/src/asm/ARMV7/pred_lt4_1_neon.s32
-rw-r--r--media/libstagefright/codecs/amrwbenc/src/asm/ARMV7/residu_asm_neon.s52
-rw-r--r--media/libstagefright/codecs/amrwbenc/src/asm/ARMV7/scale_sig_neon.s36
-rw-r--r--media/libstagefright/codecs/amrwbenc/src/asm/ARMV7/syn_filt_neon.s30
-rw-r--r--media/libstagefright/codecs/amrwbenc/src/autocorr.c8
-rw-r--r--media/libstagefright/codecs/amrwbenc/src/az_isp.c52
-rw-r--r--media/libstagefright/codecs/amrwbenc/src/bits.c20
-rw-r--r--media/libstagefright/codecs/amrwbenc/src/c2t64fx.c110
-rw-r--r--media/libstagefright/codecs/amrwbenc/src/c4t64fx.c330
-rw-r--r--media/libstagefright/codecs/amrwbenc/src/convolve.c10
-rw-r--r--media/libstagefright/codecs/amrwbenc/src/cor_h_x.c22
-rw-r--r--media/libstagefright/codecs/amrwbenc/src/decim54.c4
-rw-r--r--media/libstagefright/codecs/amrwbenc/src/deemph.c22
-rw-r--r--media/libstagefright/codecs/amrwbenc/src/dtx.c90
-rw-r--r--media/libstagefright/codecs/amrwbenc/src/g_pitch.c12
-rw-r--r--media/libstagefright/codecs/amrwbenc/src/gpclip.c18
-rw-r--r--media/libstagefright/codecs/amrwbenc/src/hp400.c6
-rw-r--r--media/libstagefright/codecs/amrwbenc/src/hp50.c4
-rw-r--r--media/libstagefright/codecs/amrwbenc/src/hp6k.c4
-rw-r--r--media/libstagefright/codecs/amrwbenc/src/hp_wsp.c54
-rw-r--r--media/libstagefright/codecs/amrwbenc/src/int_lpc.c6
-rw-r--r--media/libstagefright/codecs/amrwbenc/src/isp_az.c24
-rw-r--r--media/libstagefright/codecs/amrwbenc/src/isp_isf.c8
-rw-r--r--media/libstagefright/codecs/amrwbenc/src/levinson.c24
-rw-r--r--media/libstagefright/codecs/amrwbenc/src/log2.c8
-rw-r--r--media/libstagefright/codecs/amrwbenc/src/lp_dec2.c12
-rw-r--r--media/libstagefright/codecs/amrwbenc/src/math_op.c14
-rw-r--r--media/libstagefright/codecs/amrwbenc/src/mem_align.c2
-rw-r--r--media/libstagefright/codecs/amrwbenc/src/p_med_ol.c50
-rw-r--r--media/libstagefright/codecs/amrwbenc/src/pitch_f4.c16
-rw-r--r--media/libstagefright/codecs/amrwbenc/src/pred_lt4.c4
-rw-r--r--media/libstagefright/codecs/amrwbenc/src/preemph.c16
-rw-r--r--media/libstagefright/codecs/amrwbenc/src/q_gain2.c62
-rw-r--r--media/libstagefright/codecs/amrwbenc/src/q_pulse.c56
-rw-r--r--media/libstagefright/codecs/amrwbenc/src/qisf_ns.c24
-rw-r--r--media/libstagefright/codecs/amrwbenc/src/qpisf_2s.c144
-rw-r--r--media/libstagefright/codecs/amrwbenc/src/residu.c2
-rw-r--r--media/libstagefright/codecs/amrwbenc/src/scale.c8
-rw-r--r--media/libstagefright/codecs/amrwbenc/src/stream.c6
-rw-r--r--media/libstagefright/codecs/amrwbenc/src/syn_filt.c14
-rw-r--r--media/libstagefright/codecs/amrwbenc/src/updt_tar.c2
-rw-r--r--media/libstagefright/codecs/amrwbenc/src/voAMRWBEnc.c202
-rw-r--r--media/libstagefright/codecs/amrwbenc/src/voicefac.c2
-rw-r--r--media/libstagefright/codecs/amrwbenc/src/wb_vad.c166
-rw-r--r--media/libstagefright/codecs/amrwbenc/src/weight_a.c2
-rw-r--r--media/libstagefright/codecs/common/Config.mk6
-rw-r--r--media/libstagefright/codecs/common/include/voAMRWB.h18
-rw-r--r--media/libstagefright/codecs/common/include/voAudio.h2
-rw-r--r--media/libstagefright/codecs/common/include/voIndex.h2
133 files changed, 5071 insertions, 5071 deletions
diff --git a/media/libstagefright/codecs/aacenc/Android.mk b/media/libstagefright/codecs/aacenc/Android.mk
index f9cc6a3..8318ba4 100644
--- a/media/libstagefright/codecs/aacenc/Android.mk
+++ b/media/libstagefright/codecs/aacenc/Android.mk
@@ -59,7 +59,7 @@ LOCAL_MODULE := libstagefright_aacenc
LOCAL_ARM_MODE := arm
-LOCAL_STATIC_LIBRARIES :=
+LOCAL_STATIC_LIBRARIES :=
LOCAL_SHARED_LIBRARIES :=
diff --git a/media/libstagefright/codecs/aacenc/SampleCode/AAC_E_SAMPLES.c b/media/libstagefright/codecs/aacenc/SampleCode/AAC_E_SAMPLES.c
index 2ea9449..2f31de4 100644
--- a/media/libstagefright/codecs/aacenc/SampleCode/AAC_E_SAMPLES.c
+++ b/media/libstagefright/codecs/aacenc/SampleCode/AAC_E_SAMPLES.c
@@ -29,11 +29,11 @@
#include "cmnMemory.h"
#define VO_AAC_E_OUTPUT 1
-#define READ_SIZE (1024*8)
+#define READ_SIZE (1024*8)
unsigned char outBuf[1024*8];
unsigned char inBuf[READ_SIZE];
-const char* HelpString =
+const char* HelpString =
"VisualOn AAC encoder Usage:\n"
"voAACEncTest -if <inputfile.pcm> -of <outputfile.aac> -sr <samplerate> -ch <channel> -br <bitrate> -adts <adts> \n"
"-if input file name \n"
@@ -49,7 +49,7 @@ static int parsecmdline(int argc, char **argv,char **input_filename, char **ou
{
// notice that:
// bitRate/nChannels > 8000
- // bitRate/nChannels < 160000
+ // bitRate/nChannels < 160000
// bitRate/nChannels < sampleRate*6
param->adtsUsed = 1;
param->bitRate = 0;
@@ -69,7 +69,7 @@ static int parsecmdline(int argc, char **argv,char **input_filename, char **ou
{
argv++;
argc--;
- *input_filename = *argv;
+ *input_filename = *argv;
}
else if (!strcmp(*argv, "-of"))
{
diff --git a/media/libstagefright/codecs/aacenc/basic_op/basic_op.h b/media/libstagefright/codecs/aacenc/basic_op/basic_op.h
index 8291684..ef3c31b 100644
--- a/media/libstagefright/codecs/aacenc/basic_op/basic_op.h
+++ b/media/libstagefright/codecs/aacenc/basic_op/basic_op.h
@@ -91,7 +91,7 @@ __inline Word32 L_msu (Word32 L_var3, Word16 var1, Word16 var2);
#else
Word32 L_msu (Word32 L_var3, Word16 var1, Word16 var2);
#endif
-
+
/* Long sub, 2 */
#if (L_SUB_IS_INLINE)
__inline Word32 L_sub(Word32 L_var1, Word32 L_var2);
@@ -119,7 +119,7 @@ __inline Word16 add (Word16 var1, Word16 var2);
#else
Word16 add (Word16 var1, Word16 var2);
#endif
-
+
/* Short sub, 1 */
#if (SUB_IS_INLINE)
__inline Word16 sub(Word16 var1, Word16 var2);
@@ -227,48 +227,48 @@ Word32 L_shr_r (Word32 L_var1, Word16 var2);
#if ARMV4_INASM
__inline Word32 ASM_L_shr(Word32 L_var1, Word16 var2)
{
- Word32 result;
- asm volatile(
- "MOV %[result], %[L_var1], ASR %[var2] \n"
+ Word32 result;
+ asm volatile(
+ "MOV %[result], %[L_var1], ASR %[var2] \n"
:[result]"=r"(result)
:[L_var1]"r"(L_var1), [var2]"r"(var2)
- );
- return result;
+ );
+ return result;
}
-
+
__inline Word32 ASM_L_shl(Word32 L_var1, Word16 var2)
{
- Word32 result;
- asm volatile(
+ Word32 result;
+ asm volatile(
"MOV r2, %[L_var1] \n"
"MOV r3, #0x7fffffff\n"
- "MOV %[result], %[L_var1], ASL %[var2] \n"
+ "MOV %[result], %[L_var1], ASL %[var2] \n"
"TEQ r2, %[result], ASR %[var2]\n"
"EORNE %[result],r3,r2,ASR#31\n"
:[result]"+r"(result)
:[L_var1]"r"(L_var1), [var2]"r"(var2)
:"r2", "r3"
- );
- return result;
+ );
+ return result;
}
__inline Word32 ASM_shr(Word32 L_var1, Word16 var2)
{
- Word32 result;
- asm volatile(
+ Word32 result;
+ asm volatile(
"CMP %[var2], #15\n"
"MOVGE %[var2], #15\n"
"MOV %[result], %[L_var1], ASR %[var2]\n"
:[result]"=r"(result)
- :[L_var1]"r"(L_var1), [var2]"r"(var2)
- );
- return result;
-}
+ :[L_var1]"r"(L_var1), [var2]"r"(var2)
+ );
+ return result;
+}
__inline Word32 ASM_shl(Word32 L_var1, Word16 var2)
{
- Word32 result;
- asm volatile(
+ Word32 result;
+ asm volatile(
"CMP %[var2], #16\n"
"MOVGE %[var2], #16\n"
"MOV %[result], %[L_var1], ASL %[var2]\n"
@@ -280,9 +280,9 @@ __inline Word32 ASM_shl(Word32 L_var1, Word16 var2)
:[result]"+r"(result)
:[L_var1]"r"(L_var1), [var2]"r"(var2)
:"r2", "r3"
- );
- return result;
-}
+ );
+ return result;
+}
#endif
/*___________________________________________________________________________
@@ -300,17 +300,17 @@ __inline Word16 saturate(Word32 L_var1)
"MOV r3, #1\n"
"MOV r2,%[L_var1],ASR#15\n"
"RSB r3, r3, r3, LSL #15\n"
- "TEQ r2,%[L_var1],ASR#31\n"
+ "TEQ r2,%[L_var1],ASR#31\n"
"EORNE %[result],r3,%[L_var1],ASR#31\n"
:[result]"+r"(result)
:[L_var1]"r"(L_var1)
- :"r2", "r3"
+ :"r2", "r3"
);
return result;
#else
Word16 var_out;
-
+
//var_out = (L_var1 > (Word32)0X00007fffL) ? (MAX_16) : ((L_var1 < (Word32)0xffff8000L) ? (MIN_16) : ((Word16)L_var1));
if (L_var1 > 0X00007fffL)
@@ -419,13 +419,13 @@ __inline Word16 shr (Word16 var1, Word16 var2)
__inline Word32 L_mult(Word16 var1, Word16 var2)
{
#if ARMV5TE_L_MULT
- Word32 result;
- asm volatile(
- "SMULBB %[result], %[var1], %[var2] \n"
- "QADD %[result], %[result], %[result] \n"
+ Word32 result;
+ asm volatile(
+ "SMULBB %[result], %[var1], %[var2] \n"
+ "QADD %[result], %[result], %[result] \n"
:[result]"+r"(result)
:[var1]"r"(var1), [var2]"r"(var2)
- );
+ );
return result;
#else
Word32 L_var_out;
@@ -449,14 +449,14 @@ __inline Word32 L_mult(Word16 var1, Word16 var2)
__inline Word32 L_msu (Word32 L_var3, Word16 var1, Word16 var2)
{
#if ARMV5TE_L_MSU
- Word32 result;
- asm volatile(
- "SMULBB %[result], %[var1], %[var2] \n"
+ Word32 result;
+ asm volatile(
+ "SMULBB %[result], %[var1], %[var2] \n"
"QADD %[result], %[result], %[result] \n"
"QSUB %[result], %[L_var3], %[result]\n"
:[result]"+r"(result)
:[L_var3]"r"(L_var3), [var1]"r"(var1), [var2]"r"(var2)
- );
+ );
return result;
#else
Word32 L_var_out;
@@ -473,12 +473,12 @@ __inline Word32 L_msu (Word32 L_var3, Word16 var1, Word16 var2)
__inline Word32 L_sub(Word32 L_var1, Word32 L_var2)
{
#if ARMV5TE_L_SUB
- Word32 result;
- asm volatile(
+ Word32 result;
+ asm volatile(
"QSUB %[result], %[L_var1], %[L_var2]\n"
:[result]"+r"(result)
:[L_var1]"r"(L_var1), [L_var2]"r"(L_var2)
- );
+ );
return result;
#else
Word32 L_var_out;
@@ -588,9 +588,9 @@ __inline Word32 L_shr (Word32 L_var1, Word16 var2)
__inline Word16 add (Word16 var1, Word16 var2)
{
#if ARMV5TE_ADD
- Word32 result;
- asm volatile(
- "ADD %[result], %[var1], %[var2] \n"
+ Word32 result;
+ asm volatile(
+ "ADD %[result], %[var1], %[var2] \n"
"MOV r3, #0x1\n"
"MOV r2, %[result], ASR #15\n"
"RSB r3, r3, r3, LSL, #15\n"
@@ -599,7 +599,7 @@ __inline Word16 add (Word16 var1, Word16 var2)
:[result]"+r"(result)
:[var1]"r"(var1), [var2]"r"(var2)
:"r2", "r3"
- );
+ );
return result;
#else
Word16 var_out;
@@ -618,18 +618,18 @@ __inline Word16 add (Word16 var1, Word16 var2)
__inline Word16 sub(Word16 var1, Word16 var2)
{
#if ARMV5TE_SUB
- Word32 result;
- asm volatile(
+ Word32 result;
+ asm volatile(
"MOV r3, #1\n"
- "SUB %[result], %[var1], %[var2] \n"
+ "SUB %[result], %[var1], %[var2] \n"
"RSB r3,r3,r3,LSL#15\n"
- "MOV r2, %[var1], ASR #15 \n"
+ "MOV r2, %[var1], ASR #15 \n"
"TEQ r2, %[var1], ASR #31 \n"
"EORNE %[result], r3, %[result], ASR #31 \n"
:[result]"+r"(result)
:[var1]"r"(var1), [var2]"r"(var2)
:"r2", "r3"
- );
+ );
return result;
#else
Word16 var_out;
@@ -637,7 +637,7 @@ __inline Word16 sub(Word16 var1, Word16 var2)
L_diff = (Word32) var1 - var2;
var_out = saturate(L_diff);
-
+
return (var_out);
#endif
}
@@ -657,16 +657,16 @@ __inline Word16 div_s (Word16 var1, Word16 var2)
{
var_out = 0;
L_num = (Word32) var1;
-
+
L_denom = (Word32) var2;
-
+
//return (L_num<<15)/var2;
for (iteration = 0; iteration < 15; iteration++)
{
var_out <<= 1;
L_num <<= 1;
-
+
if (L_num >= L_denom)
{
L_num -= L_denom;
@@ -683,8 +683,8 @@ __inline Word16 div_s (Word16 var1, Word16 var2)
__inline Word16 mult (Word16 var1, Word16 var2)
{
#if ARMV5TE_MULT
- Word32 result;
- asm volatile(
+ Word32 result;
+ asm volatile(
"SMULBB r2, %[var1], %[var2] \n"
"MOV r3, #1\n"
"MOV %[result], r2, ASR #15\n"
@@ -695,7 +695,7 @@ __inline Word16 mult (Word16 var1, Word16 var2)
:[result]"+r"(result)
:[var1]"r"(var1), [var2]"r"(var2)
:"r2", "r3"
- );
+ );
return result;
#else
Word16 var_out;
@@ -718,8 +718,8 @@ __inline Word16 mult (Word16 var1, Word16 var2)
__inline Word16 norm_s (Word16 var1)
{
#if ARMV5TE_NORM_S
- Word16 result;
- asm volatile(
+ Word16 result;
+ asm volatile(
"MOV r2,%[var1] \n"
"CMP r2, #0\n"
"RSBLT %[var1], %[var1], #0 \n"
@@ -727,11 +727,11 @@ __inline Word16 norm_s (Word16 var1)
"SUBNE %[result], %[result], #17\n"
"MOVEQ %[result], #0\n"
"CMP r2, #-1\n"
- "MOVEQ %[result], #15\n"
+ "MOVEQ %[result], #15\n"
:[result]"+r"(result)
:[var1]"r"(var1)
:"r2"
- );
+ );
return result;
#else
Word16 var_out;
@@ -768,15 +768,15 @@ __inline Word16 norm_s (Word16 var1)
__inline Word16 norm_l (Word32 L_var1)
{
#if ARMV5TE_NORM_L
- Word16 result;
- asm volatile(
+ Word16 result;
+ asm volatile(
"CMP %[L_var1], #0\n"
"CLZNE %[result], %[L_var1]\n"
- "SUBNE %[result], %[result], #1\n"
+ "SUBNE %[result], %[result], #1\n"
"MOVEQ %[result], #0\n"
:[result]"+r"(result)
:[L_var1]"r"(L_var1)
- );
+ );
return result;
#else
//Word16 var_out;
@@ -805,84 +805,84 @@ __inline Word16 norm_l (Word32 L_var1)
//}
//return (var_out);
Word16 a16;
- Word16 r = 0 ;
+ Word16 r = 0 ;
+
-
if ( L_var1 < 0 ) {
- L_var1 = ~L_var1;
+ L_var1 = ~L_var1;
}
if (0 == (L_var1 & 0x7fff8000)) {
a16 = extract_l(L_var1);
r += 16;
-
+
if (0 == (a16 & 0x7f80)) {
r += 8;
-
+
if (0 == (a16 & 0x0078)) {
r += 4;
-
+
if (0 == (a16 & 0x0006)) {
r += 2;
-
+
if (0 == (a16 & 0x0001)) {
r += 1;
}
}
else {
-
+
if (0 == (a16 & 0x0004)) {
r += 1;
}
}
}
else {
-
+
if (0 == (a16 & 0x0060)) {
r += 2;
-
+
if (0 == (a16 & 0x0010)) {
r += 1;
}
}
else {
-
+
if (0 == (a16 & 0x0040)) {
r += 1;
}
}
}
- }
- else {
-
+ }
+ else {
+
if (0 == (a16 & 0x7800)) {
r += 4;
-
+
if (0 == (a16 & 0x0600)) {
r += 2;
-
+
if (0 == (a16 & 0x0100)) {
r += 1;
}
}
else {
-
+
if (0 == (a16 & 0x0400)) {
r += 1;
}
}
}
else {
-
+
if (0 == (a16 & 0x6000)) {
r += 2;
-
+
if (0 == (a16 & 0x1000)) {
r += 1;
}
}
else {
-
+
if (0 == (a16 & 0x4000)) {
r += 1;
}
@@ -892,38 +892,38 @@ __inline Word16 norm_l (Word32 L_var1)
}
else {
a16 = extract_h(L_var1);
-
+
if (0 == (a16 & 0x7f80)) {
r += 8;
-
+
if (0 == (a16 & 0x0078)) {
r += 4 ;
-
+
if (0 == (a16 & 0x0006)) {
r += 2;
-
+
if (0 == (a16 & 0x0001)) {
r += 1;
}
}
else {
-
+
if (0 == (a16 & 0x0004)) {
r += 1;
}
}
}
else {
-
+
if (0 == (a16 & 0x0060)) {
r += 2;
-
+
if (0 == (a16 & 0x0010)) {
r += 1;
}
}
else {
-
+
if (0 == (a16 & 0x0040)) {
r += 1;
}
@@ -931,35 +931,35 @@ __inline Word16 norm_l (Word32 L_var1)
}
}
else {
-
+
if (0 == (a16 & 0x7800)) {
r += 4;
-
+
if (0 == (a16 & 0x0600)) {
r += 2;
-
+
if (0 == (a16 & 0x0100)) {
r += 1;
}
}
else {
-
+
if (0 == (a16 & 0x0400)) {
r += 1;
}
}
}
else {
-
+
if (0 == (a16 & 0x6000)) {
r += 2;
-
+
if (0 == (a16 & 0x1000)) {
r += 1;
}
}
else {
-
+
if (0 == (a16 & 0x4000)) {
return 1;
}
@@ -967,7 +967,7 @@ __inline Word16 norm_l (Word32 L_var1)
}
}
}
-
+
return r ;
#endif
}
@@ -978,17 +978,17 @@ __inline Word16 norm_l (Word32 L_var1)
__inline Word16 round16(Word32 L_var1)
{
#if ARMV5TE_ROUND
- Word16 result;
- asm volatile(
+ Word16 result;
+ asm volatile(
"MOV r1,#0x00008000\n"
"QADD %[result], %[L_var1], r1\n"
- "MOV %[result], %[result], ASR #16 \n"
+ "MOV %[result], %[result], ASR #16 \n"
:[result]"+r"(result)
:[L_var1]"r"(L_var1)
:"r1"
- );
+ );
return result;
-#else
+#else
Word16 var_out;
Word32 L_rounded;
@@ -1004,14 +1004,14 @@ __inline Word16 round16(Word32 L_var1)
__inline Word32 L_mac (Word32 L_var3, Word16 var1, Word16 var2)
{
#if ARMV5TE_L_MAC
- Word32 result;
- asm volatile(
+ Word32 result;
+ asm volatile(
"SMULBB %[result], %[var1], %[var2]\n"
"QADD %[result], %[result], %[result]\n"
"QADD %[result], %[result], %[L_var3]\n"
:[result]"+r"(result)
: [L_var3]"r"(L_var3), [var1]"r"(var1), [var2]"r"(var2)
- );
+ );
return result;
#else
Word32 L_var_out;
@@ -1028,12 +1028,12 @@ __inline Word32 L_mac (Word32 L_var3, Word16 var1, Word16 var2)
__inline Word32 L_add (Word32 L_var1, Word32 L_var2)
{
#if ARMV5TE_L_ADD
- Word32 result;
- asm volatile(
+ Word32 result;
+ asm volatile(
"QADD %[result], %[L_var1], %[L_var2]\n"
:[result]"+r"(result)
:[L_var1]"r"(L_var1), [L_var2]"r"(L_var2)
- );
+ );
return result;
#else
Word32 L_var_out;
@@ -1114,7 +1114,7 @@ __inline Word16 msu_r (Word32 L_var3, Word16 var1, Word16 var2)
L_var3 = L_msu (L_var3, var1, var2);
var_out = (Word16)((L_var3 + 0x8000L) >> 16);
-
+
return (var_out);
}
#endif
diff --git a/media/libstagefright/codecs/aacenc/basic_op/basicop2.c b/media/libstagefright/codecs/aacenc/basic_op/basicop2.c
index 82d3f38..d43bbd9 100644
--- a/media/libstagefright/codecs/aacenc/basic_op/basicop2.c
+++ b/media/libstagefright/codecs/aacenc/basic_op/basicop2.c
@@ -16,7 +16,7 @@
/*******************************************************************************
File: basicop2.c
- Content: Basic arithmetic operators.
+ Content: Basic arithmetic operators.
*******************************************************************************/
@@ -462,7 +462,7 @@ Word32 L_mult(Word16 var1, Word16 var2)
{
L_var_out = MAX_32;
}
-
+
return (L_var_out);
}
#endif
diff --git a/media/libstagefright/codecs/aacenc/basic_op/oper_32b.c b/media/libstagefright/codecs/aacenc/basic_op/oper_32b.c
index 0ad82f0..e48af9d 100644
--- a/media/libstagefright/codecs/aacenc/basic_op/oper_32b.c
+++ b/media/libstagefright/codecs/aacenc/basic_op/oper_32b.c
@@ -17,7 +17,7 @@
File: oper_32b.c
Content: This file contains operations in double precision.
-
+
*******************************************************************************/
#include "typedef.h"
@@ -200,12 +200,12 @@ Word32 Div_32 (Word32 L_num, Word32 denom)
}
/*!
-
- \brief calculates the log dualis times 4 of argument
+
+ \brief calculates the log dualis times 4 of argument
iLog4(x) = (Word32)(4 * log(value)/log(2.0))
\return ilog4 value
-
+
*/
Word16 iLog4(Word32 value)
{
@@ -225,7 +225,7 @@ Word16 iLog4(Word32 value)
iLog4 = (-(iLog4 << 2) - norm_s(tmp16)) - 1;
}
else {
- iLog4 = -128; /* -(INT_BITS*4); */
+ iLog4 = -128; /* -(INT_BITS*4); */
}
return iLog4;
@@ -268,79 +268,79 @@ Word32 rsqrt(Word32 value, /*!< Operand to square root (0.0 ... 1) */
}
static const Word32 pow2Table[POW2_TABLE_SIZE] = {
-0x7fffffff, 0x7fa765ad, 0x7f4f08ae, 0x7ef6e8da,
-0x7e9f0606, 0x7e476009, 0x7deff6b6, 0x7d98c9e6,
-0x7d41d96e, 0x7ceb2523, 0x7c94acde, 0x7c3e7073,
-0x7be86fb9, 0x7b92aa88, 0x7b3d20b6, 0x7ae7d21a,
-0x7a92be8b, 0x7a3de5df, 0x79e947ef, 0x7994e492,
-0x7940bb9e, 0x78ecccec, 0x78991854, 0x78459dac,
-0x77f25cce, 0x779f5591, 0x774c87cc, 0x76f9f359,
-0x76a7980f, 0x765575c8, 0x76038c5b, 0x75b1dba2,
-0x75606374, 0x750f23ab, 0x74be1c20, 0x746d4cac,
-0x741cb528, 0x73cc556d, 0x737c2d55, 0x732c3cba,
-0x72dc8374, 0x728d015d, 0x723db650, 0x71eea226,
-0x719fc4b9, 0x71511de4, 0x7102ad80, 0x70b47368,
-0x70666f76, 0x7018a185, 0x6fcb096f, 0x6f7da710,
-0x6f307a41, 0x6ee382de, 0x6e96c0c3, 0x6e4a33c9,
-0x6dfddbcc, 0x6db1b8a8, 0x6d65ca38, 0x6d1a1057,
-0x6cce8ae1, 0x6c8339b2, 0x6c381ca6, 0x6bed3398,
-0x6ba27e66, 0x6b57fce9, 0x6b0daeff, 0x6ac39485,
-0x6a79ad56, 0x6a2ff94f, 0x69e6784d, 0x699d2a2c,
-0x69540ec9, 0x690b2601, 0x68c26fb1, 0x6879ebb6,
-0x683199ed, 0x67e97a34, 0x67a18c68, 0x6759d065,
-0x6712460b, 0x66caed35, 0x6683c5c3, 0x663ccf92,
-0x65f60a80, 0x65af766a, 0x6569132f, 0x6522e0ad,
-0x64dcdec3, 0x64970d4f, 0x64516c2e, 0x640bfb41,
-0x63c6ba64, 0x6381a978, 0x633cc85b, 0x62f816eb,
-0x62b39509, 0x626f4292, 0x622b1f66, 0x61e72b65,
-0x61a3666d, 0x615fd05f, 0x611c6919, 0x60d9307b,
-0x60962665, 0x60534ab7, 0x60109d51, 0x5fce1e12,
-0x5f8bccdb, 0x5f49a98c, 0x5f07b405, 0x5ec5ec26,
-0x5e8451d0, 0x5e42e4e3, 0x5e01a540, 0x5dc092c7,
-0x5d7fad59, 0x5d3ef4d7, 0x5cfe6923, 0x5cbe0a1c,
-0x5c7dd7a4, 0x5c3dd19c, 0x5bfdf7e5, 0x5bbe4a61,
-0x5b7ec8f2, 0x5b3f7377, 0x5b0049d4, 0x5ac14bea,
-0x5a82799a, 0x5a43d2c6, 0x5a055751, 0x59c7071c,
-0x5988e209, 0x594ae7fb, 0x590d18d3, 0x58cf7474,
-0x5891fac1, 0x5854ab9b, 0x581786e6, 0x57da8c83,
-0x579dbc57, 0x57611642, 0x57249a29, 0x56e847ef,
-0x56ac1f75, 0x567020a0, 0x56344b52, 0x55f89f70,
-0x55bd1cdb, 0x5581c378, 0x55469329, 0x550b8bd4,
-0x54d0ad5b, 0x5495f7a1, 0x545b6a8b, 0x542105fd,
-0x53e6c9db, 0x53acb607, 0x5372ca68, 0x533906e0,
-0x52ff6b55, 0x52c5f7aa, 0x528cabc3, 0x52538786,
-0x521a8ad7, 0x51e1b59a, 0x51a907b4, 0x5170810b,
-0x51382182, 0x50ffe8fe, 0x50c7d765, 0x508fec9c,
-0x50582888, 0x50208b0e, 0x4fe91413, 0x4fb1c37c,
-0x4f7a9930, 0x4f439514, 0x4f0cb70c, 0x4ed5ff00,
-0x4e9f6cd4, 0x4e69006e, 0x4e32b9b4, 0x4dfc988c,
-0x4dc69cdd, 0x4d90c68b, 0x4d5b157e, 0x4d25899c,
-0x4cf022ca, 0x4cbae0ef, 0x4c85c3f1, 0x4c50cbb8,
-0x4c1bf829, 0x4be7492b, 0x4bb2bea5, 0x4b7e587d,
-0x4b4a169c, 0x4b15f8e6, 0x4ae1ff43, 0x4aae299b,
-0x4a7a77d5, 0x4a46e9d6, 0x4a137f88, 0x49e038d0,
-0x49ad1598, 0x497a15c4, 0x4947393f, 0x49147fee,
-0x48e1e9ba, 0x48af768a, 0x487d2646, 0x484af8d6,
-0x4818ee22, 0x47e70611, 0x47b5408c, 0x47839d7b,
-0x47521cc6, 0x4720be55, 0x46ef8210, 0x46be67e0,
-0x468d6fae, 0x465c9961, 0x462be4e2, 0x45fb521a,
-0x45cae0f2, 0x459a9152, 0x456a6323, 0x453a564d,
-0x450a6abb, 0x44daa054, 0x44aaf702, 0x447b6ead,
-0x444c0740, 0x441cc0a3, 0x43ed9ac0, 0x43be9580,
-0x438fb0cb, 0x4360ec8d, 0x433248ae, 0x4303c517,
-0x42d561b4, 0x42a71e6c, 0x4278fb2b, 0x424af7da,
-0x421d1462, 0x41ef50ae, 0x41c1aca8, 0x41942839,
-0x4166c34c, 0x41397dcc, 0x410c57a2, 0x40df50b8,
-0x40b268fa, 0x4085a051, 0x4058f6a8, 0x402c6be9
+0x7fffffff, 0x7fa765ad, 0x7f4f08ae, 0x7ef6e8da,
+0x7e9f0606, 0x7e476009, 0x7deff6b6, 0x7d98c9e6,
+0x7d41d96e, 0x7ceb2523, 0x7c94acde, 0x7c3e7073,
+0x7be86fb9, 0x7b92aa88, 0x7b3d20b6, 0x7ae7d21a,
+0x7a92be8b, 0x7a3de5df, 0x79e947ef, 0x7994e492,
+0x7940bb9e, 0x78ecccec, 0x78991854, 0x78459dac,
+0x77f25cce, 0x779f5591, 0x774c87cc, 0x76f9f359,
+0x76a7980f, 0x765575c8, 0x76038c5b, 0x75b1dba2,
+0x75606374, 0x750f23ab, 0x74be1c20, 0x746d4cac,
+0x741cb528, 0x73cc556d, 0x737c2d55, 0x732c3cba,
+0x72dc8374, 0x728d015d, 0x723db650, 0x71eea226,
+0x719fc4b9, 0x71511de4, 0x7102ad80, 0x70b47368,
+0x70666f76, 0x7018a185, 0x6fcb096f, 0x6f7da710,
+0x6f307a41, 0x6ee382de, 0x6e96c0c3, 0x6e4a33c9,
+0x6dfddbcc, 0x6db1b8a8, 0x6d65ca38, 0x6d1a1057,
+0x6cce8ae1, 0x6c8339b2, 0x6c381ca6, 0x6bed3398,
+0x6ba27e66, 0x6b57fce9, 0x6b0daeff, 0x6ac39485,
+0x6a79ad56, 0x6a2ff94f, 0x69e6784d, 0x699d2a2c,
+0x69540ec9, 0x690b2601, 0x68c26fb1, 0x6879ebb6,
+0x683199ed, 0x67e97a34, 0x67a18c68, 0x6759d065,
+0x6712460b, 0x66caed35, 0x6683c5c3, 0x663ccf92,
+0x65f60a80, 0x65af766a, 0x6569132f, 0x6522e0ad,
+0x64dcdec3, 0x64970d4f, 0x64516c2e, 0x640bfb41,
+0x63c6ba64, 0x6381a978, 0x633cc85b, 0x62f816eb,
+0x62b39509, 0x626f4292, 0x622b1f66, 0x61e72b65,
+0x61a3666d, 0x615fd05f, 0x611c6919, 0x60d9307b,
+0x60962665, 0x60534ab7, 0x60109d51, 0x5fce1e12,
+0x5f8bccdb, 0x5f49a98c, 0x5f07b405, 0x5ec5ec26,
+0x5e8451d0, 0x5e42e4e3, 0x5e01a540, 0x5dc092c7,
+0x5d7fad59, 0x5d3ef4d7, 0x5cfe6923, 0x5cbe0a1c,
+0x5c7dd7a4, 0x5c3dd19c, 0x5bfdf7e5, 0x5bbe4a61,
+0x5b7ec8f2, 0x5b3f7377, 0x5b0049d4, 0x5ac14bea,
+0x5a82799a, 0x5a43d2c6, 0x5a055751, 0x59c7071c,
+0x5988e209, 0x594ae7fb, 0x590d18d3, 0x58cf7474,
+0x5891fac1, 0x5854ab9b, 0x581786e6, 0x57da8c83,
+0x579dbc57, 0x57611642, 0x57249a29, 0x56e847ef,
+0x56ac1f75, 0x567020a0, 0x56344b52, 0x55f89f70,
+0x55bd1cdb, 0x5581c378, 0x55469329, 0x550b8bd4,
+0x54d0ad5b, 0x5495f7a1, 0x545b6a8b, 0x542105fd,
+0x53e6c9db, 0x53acb607, 0x5372ca68, 0x533906e0,
+0x52ff6b55, 0x52c5f7aa, 0x528cabc3, 0x52538786,
+0x521a8ad7, 0x51e1b59a, 0x51a907b4, 0x5170810b,
+0x51382182, 0x50ffe8fe, 0x50c7d765, 0x508fec9c,
+0x50582888, 0x50208b0e, 0x4fe91413, 0x4fb1c37c,
+0x4f7a9930, 0x4f439514, 0x4f0cb70c, 0x4ed5ff00,
+0x4e9f6cd4, 0x4e69006e, 0x4e32b9b4, 0x4dfc988c,
+0x4dc69cdd, 0x4d90c68b, 0x4d5b157e, 0x4d25899c,
+0x4cf022ca, 0x4cbae0ef, 0x4c85c3f1, 0x4c50cbb8,
+0x4c1bf829, 0x4be7492b, 0x4bb2bea5, 0x4b7e587d,
+0x4b4a169c, 0x4b15f8e6, 0x4ae1ff43, 0x4aae299b,
+0x4a7a77d5, 0x4a46e9d6, 0x4a137f88, 0x49e038d0,
+0x49ad1598, 0x497a15c4, 0x4947393f, 0x49147fee,
+0x48e1e9ba, 0x48af768a, 0x487d2646, 0x484af8d6,
+0x4818ee22, 0x47e70611, 0x47b5408c, 0x47839d7b,
+0x47521cc6, 0x4720be55, 0x46ef8210, 0x46be67e0,
+0x468d6fae, 0x465c9961, 0x462be4e2, 0x45fb521a,
+0x45cae0f2, 0x459a9152, 0x456a6323, 0x453a564d,
+0x450a6abb, 0x44daa054, 0x44aaf702, 0x447b6ead,
+0x444c0740, 0x441cc0a3, 0x43ed9ac0, 0x43be9580,
+0x438fb0cb, 0x4360ec8d, 0x433248ae, 0x4303c517,
+0x42d561b4, 0x42a71e6c, 0x4278fb2b, 0x424af7da,
+0x421d1462, 0x41ef50ae, 0x41c1aca8, 0x41942839,
+0x4166c34c, 0x41397dcc, 0x410c57a2, 0x40df50b8,
+0x40b268fa, 0x4085a051, 0x4058f6a8, 0x402c6be9
};
/*!
-
- \brief calculates 2 ^ (x/y) for x<=0, y > 0, x <= 32768 * y
-
+
+ \brief calculates 2 ^ (x/y) for x<=0, y > 0, x <= 32768 * y
+
avoids integer division
-
- \return
+
+ \return
*/
Word32 pow2_xy(Word32 x, Word32 y)
{
@@ -355,7 +355,7 @@ Word32 pow2_xy(Word32 x, Word32 y)
fPart = tmp2 - iPart*y;
iPart = min(iPart,INT_BITS-1);
- res = pow2Table[(POW2_TABLE_SIZE*fPart)/y] >> iPart;
-
+ res = pow2Table[(POW2_TABLE_SIZE*fPart)/y] >> iPart;
+
return(res);
} \ No newline at end of file
diff --git a/media/libstagefright/codecs/aacenc/basic_op/oper_32b.h b/media/libstagefright/codecs/aacenc/basic_op/oper_32b.h
index 1d35e5e..9ebd1c2 100644
--- a/media/libstagefright/codecs/aacenc/basic_op/oper_32b.h
+++ b/media/libstagefright/codecs/aacenc/basic_op/oper_32b.h
@@ -51,21 +51,21 @@ __inline Word32 L_mpy_ls(Word32 L_var2, Word16 var1)
swHigh1 = (Word16)(L_var2 >> 16);
l_var_out = (long)swLow1 * (long)var1 >> 15;
-
+
l_var_out += swHigh1 * var1 << 1;
-
+
return(l_var_out);
}
__inline Word32 L_mpy_wx(Word32 L_var2, Word16 var1)
{
#if ARMV5TE_L_MPY_LS
- Word32 result;
- asm volatile(
- "SMULWB %[result], %[L_var2], %[var1] \n"
+ Word32 result;
+ asm volatile(
+ "SMULWB %[result], %[L_var2], %[var1] \n"
:[result]"+r"(result)
:[L_var2]"r"(L_var2), [var1]"r"(var1)
- );
+ );
return result;
#else
unsigned short swLow1;
@@ -75,9 +75,9 @@ __inline Word32 L_mpy_wx(Word32 L_var2, Word16 var1)
swLow1 = (unsigned short)(L_var2);
swHigh1 = (Word16)(L_var2 >> 16);
- l_var_out = (long)swLow1 * (long)var1 >> 16;
+ l_var_out = (long)swLow1 * (long)var1 >> 16;
l_var_out += swHigh1 * var1;
-
+
return(l_var_out);
#endif
}
diff --git a/media/libstagefright/codecs/aacenc/basic_op/typedef.h b/media/libstagefright/codecs/aacenc/basic_op/typedef.h
index 1030803..b1f8225 100644
--- a/media/libstagefright/codecs/aacenc/basic_op/typedef.h
+++ b/media/libstagefright/codecs/aacenc/basic_op/typedef.h
@@ -30,7 +30,7 @@
/*
* this is the original code from the ETSI file typedef.h
*/
-
+
#if defined(__BORLANDC__) || defined(__WATCOMC__) || defined(_MSC_VER) || defined(__ZTC__)
typedef signed char Word8;
typedef short Word16;
diff --git a/media/libstagefright/codecs/aacenc/basic_op/typedefs.h b/media/libstagefright/codecs/aacenc/basic_op/typedefs.h
index c7e774b..c924e2c 100644
--- a/media/libstagefright/codecs/aacenc/basic_op/typedefs.h
+++ b/media/libstagefright/codecs/aacenc/basic_op/typedefs.h
@@ -55,7 +55,7 @@
#define INT_BITS 32
/*
********************************************************************************
-* DEFINITION OF CONSTANTS
+* DEFINITION OF CONSTANTS
********************************************************************************
*/
/*
@@ -120,12 +120,12 @@ typedef unsigned __int64 UWord64;
#define ARMV5TE_L_MULT 1
#define ARMV5TE_L_MAC 1
#define ARMV5TE_L_MSU 1
-
-
+
+
#define ARMV5TE_DIV_S 1
#define ARMV5TE_ROUND 1
#define ARMV5TE_MULT 1
-
+
#define ARMV5TE_NORM_S 1
#define ARMV5TE_NORM_L 1
#define ARMV5TE_L_MPY_LS 1
@@ -149,7 +149,7 @@ typedef unsigned __int64 UWord64;
#define ROUND_IS_INLINE 1 //define round as inline function
#define L_MAC_IS_INLINE 1 //define L_mac as inline function
#define L_ADD_IS_INLINE 1 //define L_add as inline function
-#define EXTRACT_H_IS_INLINE 1 //define extract_h as inline function
+#define EXTRACT_H_IS_INLINE 1 //define extract_h as inline function
#define EXTRACT_L_IS_INLINE 1 //define extract_l as inline function //???
#define MULT_R_IS_INLINE 1 //define mult_r as inline function
#define SHR_R_IS_INLINE 1 //define shr_r as inline function
diff --git a/media/libstagefright/codecs/aacenc/inc/aac_rom.h b/media/libstagefright/codecs/aacenc/inc/aac_rom.h
index 784bb70..8e206b7 100644
--- a/media/libstagefright/codecs/aacenc/inc/aac_rom.h
+++ b/media/libstagefright/codecs/aacenc/inc/aac_rom.h
@@ -16,7 +16,7 @@
/*******************************************************************************
File: aac_rom.h
- Content: constant tables
+ Content: constant tables
*******************************************************************************/
diff --git a/media/libstagefright/codecs/aacenc/inc/aacenc_core.h b/media/libstagefright/codecs/aacenc/inc/aacenc_core.h
index 41ba756..1acdbbc 100644
--- a/media/libstagefright/codecs/aacenc/inc/aacenc_core.h
+++ b/media/libstagefright/codecs/aacenc/inc/aacenc_core.h
@@ -47,7 +47,7 @@ typedef struct {
typedef struct {
-
+
AACENC_CONFIG config; /* Word16 size: 8 */
ELEMENT_INFO elInfo; /* Word16 size: 4 */
diff --git a/media/libstagefright/codecs/aacenc/inc/adj_thr.h b/media/libstagefright/codecs/aacenc/inc/adj_thr.h
index f7cb888..0f4bb5e 100644
--- a/media/libstagefright/codecs/aacenc/inc/adj_thr.h
+++ b/media/libstagefright/codecs/aacenc/inc/adj_thr.h
@@ -16,7 +16,7 @@
/*******************************************************************************
File: adj_thr.h
- Content: Threshold compensation function
+ Content: Threshold compensation function
*******************************************************************************/
@@ -44,7 +44,7 @@ void AdjustThresholds(ADJ_THR_STATE *adjThrState,
PSY_OUT_ELEMENT *psyOutElement,
Word16 *chBitDistribution,
Word16 logSfbEnergy[MAX_CHANNELS][MAX_GROUPED_SFB],
- Word16 sfbNRelevantLines[MAX_CHANNELS][MAX_GROUPED_SFB],
+ Word16 sfbNRelevantLines[MAX_CHANNELS][MAX_GROUPED_SFB],
QC_OUT_ELEMENT* qcOE,
ELEMENT_BITS* elBits,
const Word16 nChannels,
diff --git a/media/libstagefright/codecs/aacenc/inc/adj_thr_data.h b/media/libstagefright/codecs/aacenc/inc/adj_thr_data.h
index 9ac4664..30132d8 100644
--- a/media/libstagefright/codecs/aacenc/inc/adj_thr_data.h
+++ b/media/libstagefright/codecs/aacenc/inc/adj_thr_data.h
@@ -16,7 +16,7 @@
/*******************************************************************************
File: adj_thr_data.h
- Content: Threshold compensation parameter
+ Content: Threshold compensation parameter
*******************************************************************************/
diff --git a/media/libstagefright/codecs/aacenc/inc/bitenc.h b/media/libstagefright/codecs/aacenc/inc/bitenc.h
index 6ded3c6..6a58aeb 100644
--- a/media/libstagefright/codecs/aacenc/inc/bitenc.h
+++ b/media/libstagefright/codecs/aacenc/inc/bitenc.h
@@ -26,7 +26,7 @@
#include "qc_data.h"
#include "tns.h"
#include "channel_map.h"
-#include "interface.h"
+#include "interface.h"
struct BITSTREAMENCODER_INIT
{
diff --git a/media/libstagefright/codecs/aacenc/inc/interface.h b/media/libstagefright/codecs/aacenc/inc/interface.h
index 966ac99..a42e6a9 100644
--- a/media/libstagefright/codecs/aacenc/inc/interface.h
+++ b/media/libstagefright/codecs/aacenc/inc/interface.h
@@ -55,11 +55,11 @@ typedef struct {
Word16 windowShape;
Word16 groupingMask;
Word16 sfbOffsets[MAX_GROUPED_SFB+1];
- Word16 mdctScale;
- Word32 *sfbEnergy;
+ Word16 mdctScale;
+ Word32 *sfbEnergy;
Word32 *sfbSpreadedEnergy;
- Word32 *sfbThreshold;
- Word32 *mdctSpectrum;
+ Word32 *sfbThreshold;
+ Word32 *mdctSpectrum;
Word32 sfbEnSumLR;
Word32 sfbEnSumMS;
Word32 sfbDist[MAX_GROUPED_SFB];
diff --git a/media/libstagefright/codecs/aacenc/inc/line_pe.h b/media/libstagefright/codecs/aacenc/inc/line_pe.h
index 038d5a3..116d5a8 100644
--- a/media/libstagefright/codecs/aacenc/inc/line_pe.h
+++ b/media/libstagefright/codecs/aacenc/inc/line_pe.h
@@ -24,8 +24,8 @@
#define __LINE_PE_H
-#include "psy_const.h"
-#include "interface.h"
+#include "psy_const.h"
+#include "interface.h"
typedef struct {
@@ -72,4 +72,4 @@ void calcSfbPe(PE_DATA *peData,
-#endif
+#endif
diff --git a/media/libstagefright/codecs/aacenc/inc/psy_const.h b/media/libstagefright/codecs/aacenc/inc/psy_const.h
index b05d683..19fb9b2 100644
--- a/media/libstagefright/codecs/aacenc/inc/psy_const.h
+++ b/media/libstagefright/codecs/aacenc/inc/psy_const.h
@@ -69,7 +69,7 @@ enum
#define BLOCK_SWITCHING_OFFSET (1*1024+3*128+64+128)
#define BLOCK_SWITCHING_DATA_SIZE FRAME_LEN_LONG
-
+
#define TRANSFORM_OFFSET_LONG 0
#define TRANSFORM_OFFSET_SHORT 448
diff --git a/media/libstagefright/codecs/aacenc/inc/psy_main.h b/media/libstagefright/codecs/aacenc/inc/psy_main.h
index 5fcbe13..2ccac60 100644
--- a/media/libstagefright/codecs/aacenc/inc/psy_main.h
+++ b/media/libstagefright/codecs/aacenc/inc/psy_main.h
@@ -54,9 +54,9 @@ Word16 psyMainInit( PSY_KERNEL *hPsy,
Word16 bandwidth);
-Word16 psyMain(Word16 nChannels, /*!< total number of channels */
+Word16 psyMain(Word16 nChannels, /*!< total number of channels */
ELEMENT_INFO *elemInfo,
- Word16 *timeSignal, /*!< interleaved time signal */
+ Word16 *timeSignal, /*!< interleaved time signal */
PSY_DATA psyData[MAX_CHANNELS],
TNS_DATA tnsData[MAX_CHANNELS],
PSY_CONFIGURATION_LONG* psyConfLong,
diff --git a/media/libstagefright/codecs/aacenc/inc/qc_main.h b/media/libstagefright/codecs/aacenc/inc/qc_main.h
index 924a06d..8f83973 100644
--- a/media/libstagefright/codecs/aacenc/inc/qc_main.h
+++ b/media/libstagefright/codecs/aacenc/inc/qc_main.h
@@ -35,7 +35,7 @@ void QCOutDelete(QC_OUT *hQC, VO_MEM_OPERATOR *pMemOP);
Word16 QCNew(QC_STATE *hQC, VO_MEM_OPERATOR *pMemOP);
-Word16 QCInit(QC_STATE *hQC,
+Word16 QCInit(QC_STATE *hQC,
struct QC_INIT *init);
void QCDelete(QC_STATE *hQC, VO_MEM_OPERATOR *pMemOP);
diff --git a/media/libstagefright/codecs/aacenc/inc/quantize.h b/media/libstagefright/codecs/aacenc/inc/quantize.h
index 7dac2bf..1cafef6 100644
--- a/media/libstagefright/codecs/aacenc/inc/quantize.h
+++ b/media/libstagefright/codecs/aacenc/inc/quantize.h
@@ -28,7 +28,7 @@
#define MAX_QUANT 8191
-void QuantizeSpectrum(Word16 sfbCnt,
+void QuantizeSpectrum(Word16 sfbCnt,
Word16 maxSfbPerGroup,
Word16 sfbPerGroup,
Word16 *sfbOffset, Word32 *mdctSpectrum,
diff --git a/media/libstagefright/codecs/aacenc/inc/sf_estim.h b/media/libstagefright/codecs/aacenc/inc/sf_estim.h
index 11436a2..9039f25 100644
--- a/media/libstagefright/codecs/aacenc/inc/sf_estim.h
+++ b/media/libstagefright/codecs/aacenc/inc/sf_estim.h
@@ -23,7 +23,7 @@
#ifndef __SF_ESTIM_H__
#define __SF_ESTIM_H__
/*
- Scale factor estimation
+ Scale factor estimation
*/
#include "psy_const.h"
#include "interface.h"
diff --git a/media/libstagefright/codecs/aacenc/inc/stat_bits.h b/media/libstagefright/codecs/aacenc/inc/stat_bits.h
index fff3d14..9cddc1d 100644
--- a/media/libstagefright/codecs/aacenc/inc/stat_bits.h
+++ b/media/libstagefright/codecs/aacenc/inc/stat_bits.h
@@ -28,7 +28,7 @@
Word16 countStaticBitdemand(PSY_OUT_CHANNEL psyOutChannel[MAX_CHANNELS],
PSY_OUT_ELEMENT *psyOutElement,
- Word16 nChannels,
+ Word16 nChannels,
Word16 adtsUsed);
#endif /* __STAT_BITS_H */
diff --git a/media/libstagefright/codecs/aacenc/inc/tns_param.h b/media/libstagefright/codecs/aacenc/inc/tns_param.h
index 78265bb..0aa33c3 100644
--- a/media/libstagefright/codecs/aacenc/inc/tns_param.h
+++ b/media/libstagefright/codecs/aacenc/inc/tns_param.h
@@ -44,7 +44,7 @@ typedef struct{
}TNS_INFO_TAB;
-void GetTnsParam(TNS_CONFIG_TABULATED *tnsConfigTab,
+void GetTnsParam(TNS_CONFIG_TABULATED *tnsConfigTab,
Word32 bitRate, Word16 channels, Word16 blockType);
void GetTnsMaxBands(Word32 samplingRate, Word16 blockType, Word16* tnsMaxSfb);
diff --git a/media/libstagefright/codecs/aacenc/inc/transform.h b/media/libstagefright/codecs/aacenc/inc/transform.h
index 93d5ffe..fbac7aa 100644
--- a/media/libstagefright/codecs/aacenc/inc/transform.h
+++ b/media/libstagefright/codecs/aacenc/inc/transform.h
@@ -24,7 +24,7 @@
#define __TRANSFORM_H__
#include "typedef.h"
-
+
void Transform_Real(Word16 *mdctDelayBuffer,
Word16 *timeSignal,
Word16 chIncrement, /*! channel increment */
diff --git a/media/libstagefright/codecs/aacenc/src/aac_rom.c b/media/libstagefright/codecs/aacenc/src/aac_rom.c
index 16b44e0..08792e8 100644
--- a/media/libstagefright/codecs/aacenc/src/aac_rom.c
+++ b/media/libstagefright/codecs/aacenc/src/aac_rom.c
@@ -24,14 +24,14 @@
#if defined (ARMV5E) && !defined (ARMV7Neon)
-/*
- * Q30 for 128 and 1024
+/*
+ * Q30 for 128 and 1024
*
* for (i = 0; i < num/4; i++) {
* angle = (i + 0.125) * M_PI / num;
* x = cos(angle) * (1 << 30);
* x = sin(angle) * (1 << 30);
- *
+ *
* angle = (num/2 - 1 - i + 0.125) * M_PI / num;
* x = cos(angle) * (1 << 30);
* x = sin(angle) * (1 << 30);
@@ -39,313 +39,313 @@
*/
const int cossintab[128 + 1024] = {
/* 128 */
- 0x3fffec43, 0x003243f1, 0x015fd4d2, 0x3ffc38d1, 0x3ff9c13a, 0x01c454f5, 0x02f1b755, 0x3feea776,
- 0x3fe9b8a9, 0x03562038, 0x0483259d, 0x3fd73a4a, 0x3fcfd50b, 0x04e767c5, 0x0613e1c5, 0x3fb5f4ea,
- 0x3fac1a5b, 0x0677edbb, 0x07a3adff, 0x3f8adc77, 0x3f7e8e1e, 0x08077457, 0x09324ca7, 0x3f55f796,
- 0x3f473759, 0x0995bdfd, 0x0abf8043, 0x3f174e70, 0x3f061e95, 0x0b228d42, 0x0c4b0b94, 0x3eceeaad,
- 0x3ebb4ddb, 0x0cada4f5, 0x0dd4b19a, 0x3e7cd778, 0x3e66d0b4, 0x0e36c82a, 0x0f5c35a3, 0x3e212179,
- 0x3e08b42a, 0x0fbdba40, 0x10e15b4e, 0x3dbbd6d4, 0x3da106bd, 0x11423ef0, 0x1263e699, 0x3d4d0728,
- 0x3d2fd86c, 0x12c41a4f, 0x13e39be9, 0x3cd4c38b, 0x3cb53aaa, 0x144310dd, 0x15604013, 0x3c531e88,
- 0x3c314060, 0x15bee78c, 0x16d99864, 0x3bc82c1f, 0x3ba3fde7, 0x173763c9, 0x184f6aab, 0x3b3401bb,
- 0x3b0d8909, 0x18ac4b87, 0x19c17d44, 0x3a96b636, 0x3a6df8f8, 0x1a1d6544, 0x1b2f971e, 0x39f061d2,
- 0x39c5664f, 0x1b8a7815, 0x1c997fc4, 0x39411e33, 0x3913eb0e, 0x1cf34baf, 0x1dfeff67, 0x38890663,
- 0x3859a292, 0x1e57a86d, 0x1f5fdee6, 0x37c836c2, 0x3796a996, 0x1fb7575c, 0x20bbe7d8, 0x36fecd0e,
- 0x36cb1e2a, 0x21122240, 0x2212e492, 0x362ce855, 0x35f71fb1, 0x2267d3a0, 0x2364a02e, 0x3552a8f4,
- 0x351acedd, 0x23b836ca, 0x24b0e699, 0x34703095, 0x34364da6, 0x250317df, 0x25f78497, 0x3385a222,
- 0x3349bf48, 0x264843d9, 0x273847c8, 0x329321c7, 0x32554840, 0x27878893, 0x2872feb6, 0x3198d4ea,
- 0x31590e3e, 0x28c0b4d2, 0x29a778db, 0x3096e223, 0x30553828, 0x29f3984c, 0x2ad586a3, 0x2f8d713a,
- 0x2f49ee0f, 0x2b2003ac, 0x2bfcf97c, 0x2e7cab1c, 0x2e37592c, 0x2c45c8a0, 0x2d1da3d5, 0x2d64b9da,
+ 0x3fffec43, 0x003243f1, 0x015fd4d2, 0x3ffc38d1, 0x3ff9c13a, 0x01c454f5, 0x02f1b755, 0x3feea776,
+ 0x3fe9b8a9, 0x03562038, 0x0483259d, 0x3fd73a4a, 0x3fcfd50b, 0x04e767c5, 0x0613e1c5, 0x3fb5f4ea,
+ 0x3fac1a5b, 0x0677edbb, 0x07a3adff, 0x3f8adc77, 0x3f7e8e1e, 0x08077457, 0x09324ca7, 0x3f55f796,
+ 0x3f473759, 0x0995bdfd, 0x0abf8043, 0x3f174e70, 0x3f061e95, 0x0b228d42, 0x0c4b0b94, 0x3eceeaad,
+ 0x3ebb4ddb, 0x0cada4f5, 0x0dd4b19a, 0x3e7cd778, 0x3e66d0b4, 0x0e36c82a, 0x0f5c35a3, 0x3e212179,
+ 0x3e08b42a, 0x0fbdba40, 0x10e15b4e, 0x3dbbd6d4, 0x3da106bd, 0x11423ef0, 0x1263e699, 0x3d4d0728,
+ 0x3d2fd86c, 0x12c41a4f, 0x13e39be9, 0x3cd4c38b, 0x3cb53aaa, 0x144310dd, 0x15604013, 0x3c531e88,
+ 0x3c314060, 0x15bee78c, 0x16d99864, 0x3bc82c1f, 0x3ba3fde7, 0x173763c9, 0x184f6aab, 0x3b3401bb,
+ 0x3b0d8909, 0x18ac4b87, 0x19c17d44, 0x3a96b636, 0x3a6df8f8, 0x1a1d6544, 0x1b2f971e, 0x39f061d2,
+ 0x39c5664f, 0x1b8a7815, 0x1c997fc4, 0x39411e33, 0x3913eb0e, 0x1cf34baf, 0x1dfeff67, 0x38890663,
+ 0x3859a292, 0x1e57a86d, 0x1f5fdee6, 0x37c836c2, 0x3796a996, 0x1fb7575c, 0x20bbe7d8, 0x36fecd0e,
+ 0x36cb1e2a, 0x21122240, 0x2212e492, 0x362ce855, 0x35f71fb1, 0x2267d3a0, 0x2364a02e, 0x3552a8f4,
+ 0x351acedd, 0x23b836ca, 0x24b0e699, 0x34703095, 0x34364da6, 0x250317df, 0x25f78497, 0x3385a222,
+ 0x3349bf48, 0x264843d9, 0x273847c8, 0x329321c7, 0x32554840, 0x27878893, 0x2872feb6, 0x3198d4ea,
+ 0x31590e3e, 0x28c0b4d2, 0x29a778db, 0x3096e223, 0x30553828, 0x29f3984c, 0x2ad586a3, 0x2f8d713a,
+ 0x2f49ee0f, 0x2b2003ac, 0x2bfcf97c, 0x2e7cab1c, 0x2e37592c, 0x2c45c8a0, 0x2d1da3d5, 0x2d64b9da,
/* 1024 */
- 0x3fffffb1, 0x0006487f, 0x002bfb74, 0x3ffff0e3, 0x3fffe705, 0x00388c6e, 0x005e3f4c, 0x3fffba9b,
- 0x3fffa6de, 0x006ad03b, 0x009082ea, 0x3fff5cd8, 0x3fff3f3c, 0x009d13c5, 0x00c2c62f, 0x3ffed79b,
- 0x3ffeb021, 0x00cf56ef, 0x00f508fc, 0x3ffe2ae5, 0x3ffdf98c, 0x01019998, 0x01274b31, 0x3ffd56b5,
- 0x3ffd1b7e, 0x0133dba3, 0x01598cb1, 0x3ffc5b0c, 0x3ffc15f7, 0x01661cf0, 0x018bcd5b, 0x3ffb37ec,
- 0x3ffae8f9, 0x01985d60, 0x01be0d11, 0x3ff9ed53, 0x3ff99483, 0x01ca9cd4, 0x01f04bb4, 0x3ff87b44,
- 0x3ff81896, 0x01fcdb2e, 0x02228924, 0x3ff6e1bf, 0x3ff67534, 0x022f184d, 0x0254c544, 0x3ff520c5,
- 0x3ff4aa5d, 0x02615414, 0x0286fff3, 0x3ff33858, 0x3ff2b813, 0x02938e62, 0x02b93914, 0x3ff12878,
- 0x3ff09e56, 0x02c5c71a, 0x02eb7086, 0x3feef126, 0x3fee5d28, 0x02f7fe1c, 0x031da62b, 0x3fec9265,
- 0x3febf48b, 0x032a3349, 0x034fd9e5, 0x3fea0c35, 0x3fe96480, 0x035c6682, 0x03820b93, 0x3fe75e98,
- 0x3fe6ad08, 0x038e97a9, 0x03b43b17, 0x3fe48990, 0x3fe3ce26, 0x03c0c69e, 0x03e66852, 0x3fe18d1f,
- 0x3fe0c7da, 0x03f2f342, 0x04189326, 0x3fde6945, 0x3fdd9a27, 0x04251d77, 0x044abb73, 0x3fdb1e06,
- 0x3fda450f, 0x0457451d, 0x047ce11a, 0x3fd7ab64, 0x3fd6c894, 0x04896a16, 0x04af03fc, 0x3fd4115f,
- 0x3fd324b7, 0x04bb8c42, 0x04e123fa, 0x3fd04ffc, 0x3fcf597c, 0x04edab83, 0x051340f6, 0x3fcc673b,
- 0x3fcb66e4, 0x051fc7b9, 0x05455ad1, 0x3fc8571f, 0x3fc74cf3, 0x0551e0c7, 0x0577716b, 0x3fc41fac,
- 0x3fc30baa, 0x0583f68c, 0x05a984a6, 0x3fbfc0e3, 0x3fbea30c, 0x05b608eb, 0x05db9463, 0x3fbb3ac7,
- 0x3fba131b, 0x05e817c3, 0x060da083, 0x3fb68d5b, 0x3fb55bdc, 0x061a22f7, 0x063fa8e7, 0x3fb1b8a2,
- 0x3fb07d50, 0x064c2a67, 0x0671ad71, 0x3facbc9f, 0x3fab777b, 0x067e2df5, 0x06a3ae00, 0x3fa79954,
- 0x3fa64a5f, 0x06b02d81, 0x06d5aa77, 0x3fa24ec6, 0x3fa0f600, 0x06e228ee, 0x0707a2b7, 0x3f9cdcf7,
- 0x3f9b7a62, 0x0714201b, 0x073996a1, 0x3f9743eb, 0x3f95d787, 0x074612eb, 0x076b8616, 0x3f9183a5,
- 0x3f900d72, 0x0778013d, 0x079d70f7, 0x3f8b9c28, 0x3f8a1c29, 0x07a9eaf5, 0x07cf5726, 0x3f858d79,
- 0x3f8403ae, 0x07dbcff2, 0x08013883, 0x3f7f579b, 0x3f7dc405, 0x080db016, 0x083314f1, 0x3f78fa92,
- 0x3f775d31, 0x083f8b43, 0x0864ec4f, 0x3f727661, 0x3f70cf38, 0x08716159, 0x0896be80, 0x3f6bcb0e,
- 0x3f6a1a1c, 0x08a3323a, 0x08c88b65, 0x3f64f89b, 0x3f633de2, 0x08d4fdc6, 0x08fa52de, 0x3f5dff0e,
- 0x3f5c3a8f, 0x0906c3e0, 0x092c14ce, 0x3f56de6a, 0x3f551026, 0x09388469, 0x095dd116, 0x3f4f96b4,
- 0x3f4dbeac, 0x096a3f42, 0x098f8796, 0x3f4827f0, 0x3f464626, 0x099bf44c, 0x09c13831, 0x3f409223,
- 0x3f3ea697, 0x09cda368, 0x09f2e2c7, 0x3f38d552, 0x3f36e006, 0x09ff4c78, 0x0a24873a, 0x3f30f181,
- 0x3f2ef276, 0x0a30ef5e, 0x0a56256c, 0x3f28e6b6, 0x3f26ddec, 0x0a628bfa, 0x0a87bd3d, 0x3f20b4f5,
- 0x3f1ea26e, 0x0a94222f, 0x0ab94e8f, 0x3f185c43, 0x3f164001, 0x0ac5b1dc, 0x0aead944, 0x3f0fdca5,
- 0x3f0db6a9, 0x0af73ae5, 0x0b1c5d3d, 0x3f073621, 0x3f05066d, 0x0b28bd2a, 0x0b4dda5c, 0x3efe68bc,
- 0x3efc2f50, 0x0b5a388d, 0x0b7f5081, 0x3ef5747b, 0x3ef3315a, 0x0b8bacf0, 0x0bb0bf8f, 0x3eec5965,
- 0x3eea0c8e, 0x0bbd1a33, 0x0be22766, 0x3ee3177e, 0x3ee0c0f4, 0x0bee8038, 0x0c1387e9, 0x3ed9aecc,
- 0x3ed74e91, 0x0c1fdee1, 0x0c44e0f9, 0x3ed01f55, 0x3ecdb56a, 0x0c513610, 0x0c763278, 0x3ec66920,
- 0x3ec3f585, 0x0c8285a5, 0x0ca77c47, 0x3ebc8c31, 0x3eba0ee9, 0x0cb3cd84, 0x0cd8be47, 0x3eb2888f,
- 0x3eb0019c, 0x0ce50d8c, 0x0d09f85b, 0x3ea85e41, 0x3ea5cda3, 0x0d1645a0, 0x0d3b2a64, 0x3e9e0d4c,
- 0x3e9b7306, 0x0d4775a1, 0x0d6c5443, 0x3e9395b7, 0x3e90f1ca, 0x0d789d71, 0x0d9d75db, 0x3e88f788,
- 0x3e8649f5, 0x0da9bcf2, 0x0dce8f0d, 0x3e7e32c6, 0x3e7b7b90, 0x0ddad406, 0x0dff9fba, 0x3e734778,
- 0x3e70869f, 0x0e0be28e, 0x0e30a7c5, 0x3e6835a4, 0x3e656b2b, 0x0e3ce86b, 0x0e61a70f, 0x3e5cfd51,
- 0x3e5a2939, 0x0e6de580, 0x0e929d7a, 0x3e519e86, 0x3e4ec0d1, 0x0e9ed9af, 0x0ec38ae8, 0x3e46194a,
- 0x3e4331fa, 0x0ecfc4d9, 0x0ef46f3b, 0x3e3a6da4, 0x3e377cbb, 0x0f00a6df, 0x0f254a53, 0x3e2e9b9c,
- 0x3e2ba11b, 0x0f317fa5, 0x0f561c15, 0x3e22a338, 0x3e1f9f21, 0x0f624f0c, 0x0f86e460, 0x3e168480,
- 0x3e1376d5, 0x0f9314f5, 0x0fb7a317, 0x3e0a3f7b, 0x3e07283f, 0x0fc3d143, 0x0fe8581d, 0x3dfdd432,
- 0x3dfab365, 0x0ff483d7, 0x10190352, 0x3df142ab, 0x3dee1851, 0x10252c94, 0x1049a49a, 0x3de48aef,
- 0x3de15708, 0x1055cb5b, 0x107a3bd5, 0x3dd7ad05, 0x3dd46f94, 0x1086600e, 0x10aac8e6, 0x3dcaa8f5,
- 0x3dc761fc, 0x10b6ea90, 0x10db4baf, 0x3dbd7ec7, 0x3dba2e48, 0x10e76ac3, 0x110bc413, 0x3db02e84,
- 0x3dacd481, 0x1117e088, 0x113c31f3, 0x3da2b834, 0x3d9f54af, 0x11484bc2, 0x116c9531, 0x3d951bde,
- 0x3d91aed9, 0x1178ac53, 0x119cedaf, 0x3d87598c, 0x3d83e309, 0x11a9021d, 0x11cd3b50, 0x3d797145,
- 0x3d75f147, 0x11d94d02, 0x11fd7df6, 0x3d6b6313, 0x3d67d99b, 0x12098ce5, 0x122db583, 0x3d5d2efe,
- 0x3d599c0e, 0x1239c1a7, 0x125de1da, 0x3d4ed50f, 0x3d4b38aa, 0x1269eb2b, 0x128e02dc, 0x3d40554e,
- 0x3d3caf76, 0x129a0954, 0x12be186c, 0x3d31afc5, 0x3d2e007c, 0x12ca1c03, 0x12ee226c, 0x3d22e47c,
- 0x3d1f2bc5, 0x12fa231b, 0x131e20c0, 0x3d13f37e, 0x3d10315a, 0x132a1e7e, 0x134e1348, 0x3d04dcd2,
- 0x3d011145, 0x135a0e0e, 0x137df9e7, 0x3cf5a082, 0x3cf1cb8e, 0x1389f1af, 0x13add481, 0x3ce63e98,
- 0x3ce2603f, 0x13b9c943, 0x13dda2f7, 0x3cd6b71e, 0x3cd2cf62, 0x13e994ab, 0x140d652c, 0x3cc70a1c,
- 0x3cc318ff, 0x141953cb, 0x143d1b02, 0x3cb7379c, 0x3cb33d22, 0x14490685, 0x146cc45c, 0x3ca73fa9,
- 0x3ca33bd3, 0x1478acbc, 0x149c611d, 0x3c97224c, 0x3c93151d, 0x14a84652, 0x14cbf127, 0x3c86df8e,
- 0x3c82c909, 0x14d7d32a, 0x14fb745e, 0x3c76777b, 0x3c7257a2, 0x15075327, 0x152aeaa3, 0x3c65ea1c,
- 0x3c61c0f1, 0x1536c62b, 0x155a53d9, 0x3c55377b, 0x3c510501, 0x15662c18, 0x1589afe3, 0x3c445fa2,
- 0x3c4023dd, 0x159584d3, 0x15b8fea4, 0x3c33629d, 0x3c2f1d8e, 0x15c4d03e, 0x15e83fff, 0x3c224075,
- 0x3c1df21f, 0x15f40e3a, 0x161773d6, 0x3c10f935, 0x3c0ca19b, 0x16233eac, 0x16469a0d, 0x3bff8ce8,
- 0x3bfb2c0c, 0x16526176, 0x1675b286, 0x3bedfb99, 0x3be9917e, 0x1681767c, 0x16a4bd25, 0x3bdc4552,
- 0x3bd7d1fa, 0x16b07d9f, 0x16d3b9cc, 0x3bca6a1d, 0x3bc5ed8d, 0x16df76c3, 0x1702a85e, 0x3bb86a08,
- 0x3bb3e440, 0x170e61cc, 0x173188be, 0x3ba6451b, 0x3ba1b620, 0x173d3e9b, 0x17605ad0, 0x3b93fb63,
- 0x3b8f6337, 0x176c0d15, 0x178f1e76, 0x3b818ceb, 0x3b7ceb90, 0x179acd1c, 0x17bdd394, 0x3b6ef9be,
- 0x3b6a4f38, 0x17c97e93, 0x17ec7a0d, 0x3b5c41e8, 0x3b578e39, 0x17f8215e, 0x181b11c4, 0x3b496574,
- 0x3b44a8a0, 0x1826b561, 0x18499a9d, 0x3b36646e, 0x3b319e77, 0x18553a7d, 0x1878147a, 0x3b233ee1,
- 0x3b1e6fca, 0x1883b097, 0x18a67f3f, 0x3b0ff4d9, 0x3b0b1ca6, 0x18b21791, 0x18d4dad0, 0x3afc8663,
- 0x3af7a516, 0x18e06f50, 0x1903270f, 0x3ae8f38b, 0x3ae40926, 0x190eb7b7, 0x193163e1, 0x3ad53c5b,
- 0x3ad048e3, 0x193cf0a9, 0x195f9128, 0x3ac160e1, 0x3abc6458, 0x196b1a09, 0x198daec8, 0x3aad6129,
- 0x3aa85b92, 0x199933bb, 0x19bbbca6, 0x3a993d3e, 0x3a942e9d, 0x19c73da3, 0x19e9baa3, 0x3a84f52f,
- 0x3a7fdd86, 0x19f537a4, 0x1a17a8a5, 0x3a708906, 0x3a6b6859, 0x1a2321a2, 0x1a45868e, 0x3a5bf8d1,
- 0x3a56cf23, 0x1a50fb81, 0x1a735442, 0x3a47449c, 0x3a4211f0, 0x1a7ec524, 0x1aa111a6, 0x3a326c74,
- 0x3a2d30cd, 0x1aac7e6f, 0x1acebe9d, 0x3a1d7066, 0x3a182bc8, 0x1ada2746, 0x1afc5b0a, 0x3a08507f,
- 0x3a0302ed, 0x1b07bf8c, 0x1b29e6d2, 0x39f30ccc, 0x39edb649, 0x1b354727, 0x1b5761d8, 0x39dda55a,
- 0x39d845e9, 0x1b62bdf8, 0x1b84cc01, 0x39c81a36, 0x39c2b1da, 0x1b9023e5, 0x1bb22530, 0x39b26b6d,
- 0x39acfa2b, 0x1bbd78d2, 0x1bdf6d4a, 0x399c990d, 0x39971ee7, 0x1beabca1, 0x1c0ca432, 0x3986a324,
- 0x3981201e, 0x1c17ef39, 0x1c39c9cd, 0x397089bf, 0x396afddc, 0x1c45107c, 0x1c66ddfe, 0x395a4ceb,
- 0x3954b82e, 0x1c72204f, 0x1c93e0ab, 0x3943ecb6, 0x393e4f23, 0x1c9f1e96, 0x1cc0d1b6, 0x392d692f,
- 0x3927c2c9, 0x1ccc0b35, 0x1cedb106, 0x3916c262, 0x3911132d, 0x1cf8e611, 0x1d1a7e7d, 0x38fff85e,
- 0x38fa405e, 0x1d25af0d, 0x1d473a00, 0x38e90b31, 0x38e34a69, 0x1d52660f, 0x1d73e374, 0x38d1fae9,
- 0x38cc315d, 0x1d7f0afb, 0x1da07abc, 0x38bac795, 0x38b4f547, 0x1dab9db5, 0x1dccffbf, 0x38a37142,
- 0x389d9637, 0x1dd81e21, 0x1df9725f, 0x388bf7ff, 0x3886143b, 0x1e048c24, 0x1e25d282, 0x38745bdb,
- 0x386e6f60, 0x1e30e7a4, 0x1e52200c, 0x385c9ce3, 0x3856a7b6, 0x1e5d3084, 0x1e7e5ae2, 0x3844bb28,
- 0x383ebd4c, 0x1e8966a8, 0x1eaa82e9, 0x382cb6b7, 0x3826b030, 0x1eb589f7, 0x1ed69805, 0x38148f9f,
- 0x380e8071, 0x1ee19a54, 0x1f029a1c, 0x37fc45ef, 0x37f62e1d, 0x1f0d97a5, 0x1f2e8911, 0x37e3d9b7,
- 0x37ddb945, 0x1f3981ce, 0x1f5a64cb, 0x37cb4b04, 0x37c521f6, 0x1f6558b5, 0x1f862d2d, 0x37b299e7,
- 0x37ac6841, 0x1f911c3d, 0x1fb1e21d, 0x3799c66f, 0x37938c34, 0x1fbccc4d, 0x1fdd8381, 0x3780d0aa,
- 0x377a8ddf, 0x1fe868c8, 0x2009113c, 0x3767b8a9, 0x37616d51, 0x2013f196, 0x20348b35, 0x374e7e7b,
- 0x37482a9a, 0x203f6699, 0x205ff14f, 0x3735222f, 0x372ec5c9, 0x206ac7b8, 0x208b4372, 0x371ba3d4,
- 0x37153eee, 0x209614d9, 0x20b68181, 0x3702037c, 0x36fb9618, 0x20c14ddf, 0x20e1ab63, 0x36e84135,
- 0x36e1cb58, 0x20ec72b1, 0x210cc0fc, 0x36ce5d10, 0x36c7debd, 0x21178334, 0x2137c232, 0x36b4571b,
- 0x36add058, 0x21427f4d, 0x2162aeea, 0x369a2f69, 0x3693a038, 0x216d66e2, 0x218d870b, 0x367fe608,
- 0x36794e6e, 0x219839d8, 0x21b84a79, 0x36657b08, 0x365edb09, 0x21c2f815, 0x21e2f91a, 0x364aee7b,
- 0x3644461b, 0x21eda17f, 0x220d92d4, 0x36304070, 0x36298fb4, 0x221835fb, 0x2238178d, 0x361570f8,
- 0x360eb7e3, 0x2242b56f, 0x22628729, 0x35fa8023, 0x35f3beba, 0x226d1fc1, 0x228ce191, 0x35df6e03,
- 0x35d8a449, 0x229774d7, 0x22b726a8, 0x35c43aa7, 0x35bd68a1, 0x22c1b496, 0x22e15655, 0x35a8e621,
- 0x35a20bd3, 0x22ebdee5, 0x230b707e, 0x358d7081, 0x35868def, 0x2315f3a8, 0x23357509, 0x3571d9d9,
- 0x356aef08, 0x233ff2c8, 0x235f63dc, 0x35562239, 0x354f2f2c, 0x2369dc29, 0x23893cdd, 0x353a49b2,
- 0x35334e6f, 0x2393afb2, 0x23b2fff3, 0x351e5056, 0x35174ce0, 0x23bd6d48, 0x23dcad03, 0x35023636,
- 0x34fb2a92, 0x23e714d3, 0x240643f4, 0x34e5fb63, 0x34dee795, 0x2410a639, 0x242fc4ad, 0x34c99fef,
- 0x34c283fb, 0x243a215f, 0x24592f13, 0x34ad23eb, 0x34a5ffd5, 0x2463862c, 0x2482830d, 0x34908768,
- 0x34895b36, 0x248cd487, 0x24abc082, 0x3473ca79, 0x346c962f, 0x24b60c57, 0x24d4e757, 0x3456ed2f,
- 0x344fb0d1, 0x24df2d81, 0x24fdf775, 0x3439ef9c, 0x3432ab2e, 0x250837ed, 0x2526f0c1, 0x341cd1d2,
- 0x34158559, 0x25312b81, 0x254fd323, 0x33ff93e2, 0x33f83f62, 0x255a0823, 0x25789e80, 0x33e235df,
- 0x33dad95e, 0x2582cdbc, 0x25a152c0, 0x33c4b7db, 0x33bd535c, 0x25ab7c30, 0x25c9efca, 0x33a719e8,
- 0x339fad70, 0x25d41369, 0x25f27584, 0x33895c18, 0x3381e7ac, 0x25fc934b, 0x261ae3d6, 0x336b7e7e,
- 0x33640223, 0x2624fbbf, 0x26433aa7, 0x334d812d, 0x3345fce6, 0x264d4cac, 0x266b79dd, 0x332f6435,
- 0x3327d808, 0x267585f8, 0x2693a161, 0x331127ab, 0x3309939c, 0x269da78b, 0x26bbb119, 0x32f2cba1,
- 0x32eb2fb5, 0x26c5b14c, 0x26e3a8ec, 0x32d45029, 0x32ccac64, 0x26eda322, 0x270b88c2, 0x32b5b557,
- 0x32ae09be, 0x27157cf5, 0x27335082, 0x3296fb3d, 0x328f47d5, 0x273d3eac, 0x275b0014, 0x327821ee,
- 0x327066bc, 0x2764e82f, 0x27829760, 0x3259297d, 0x32516686, 0x278c7965, 0x27aa164c, 0x323a11fe,
- 0x32324746, 0x27b3f235, 0x27d17cc1, 0x321adb83, 0x3213090f, 0x27db5288, 0x27f8caa5, 0x31fb8620,
- 0x31f3abf5, 0x28029a45, 0x281fffe2, 0x31dc11e8, 0x31d4300b, 0x2829c954, 0x28471c5e, 0x31bc7eee,
- 0x31b49564, 0x2850df9d, 0x286e2002, 0x319ccd46, 0x3194dc14, 0x2877dd07, 0x28950ab6, 0x317cfd04,
- 0x3175042e, 0x289ec17a, 0x28bbdc61, 0x315d0e3b, 0x31550dc6, 0x28c58cdf, 0x28e294eb, 0x313d00ff,
- 0x3134f8f1, 0x28ec3f1e, 0x2909343e, 0x311cd564, 0x3114c5c0, 0x2912d81f, 0x292fba40, 0x30fc8b7d,
- 0x30f47449, 0x293957c9, 0x295626da, 0x30dc235e, 0x30d404a0, 0x295fbe06, 0x297c79f5, 0x30bb9d1c,
- 0x30b376d8, 0x29860abd, 0x29a2b378, 0x309af8ca, 0x3092cb05, 0x29ac3dd7, 0x29c8d34d, 0x307a367c,
- 0x3072013c, 0x29d2573c, 0x29eed95b, 0x30595648, 0x30511991, 0x29f856d5, 0x2a14c58b, 0x30385840,
- 0x30301418, 0x2a1e3c8a, 0x2a3a97c7, 0x30173c7a, 0x300ef0e5, 0x2a440844, 0x2a604ff5, 0x2ff6030a,
- 0x2fedb00d, 0x2a69b9ec, 0x2a85ee00, 0x2fd4ac04, 0x2fcc51a5, 0x2a8f516b, 0x2aab71d0, 0x2fb3377c,
- 0x2faad5c1, 0x2ab4cea9, 0x2ad0db4e, 0x2f91a589, 0x2f893c75, 0x2ada318e, 0x2af62a63, 0x2f6ff63d,
- 0x2f6785d7, 0x2aff7a05, 0x2b1b5ef8, 0x2f4e29af, 0x2f45b1fb, 0x2b24a7f6, 0x2b4078f5, 0x2f2c3ff2,
- 0x2f23c0f6, 0x2b49bb4a, 0x2b657844, 0x2f0a391d, 0x2f01b2de, 0x2b6eb3ea, 0x2b8a5cce, 0x2ee81543,
- 0x2edf87c6, 0x2b9391c0, 0x2baf267d, 0x2ec5d479, 0x2ebd3fc4, 0x2bb854b4, 0x2bd3d53a, 0x2ea376d6,
- 0x2e9adaee, 0x2bdcfcb0, 0x2bf868ed, 0x2e80fc6e, 0x2e785958, 0x2c01899e, 0x2c1ce181, 0x2e5e6556,
- 0x2e55bb17, 0x2c25fb66, 0x2c413edf, 0x2e3bb1a4, 0x2e330042, 0x2c4a51f3, 0x2c6580f1, 0x2e18e16d,
- 0x2e1028ed, 0x2c6e8d2e, 0x2c89a79f, 0x2df5f4c7, 0x2ded352f, 0x2c92ad01, 0x2cadb2d5, 0x2dd2ebc7,
- 0x2dca251c, 0x2cb6b155, 0x2cd1a27b, 0x2dafc683, 0x2da6f8ca, 0x2cda9a14, 0x2cf5767c, 0x2d8c8510,
+ 0x3fffffb1, 0x0006487f, 0x002bfb74, 0x3ffff0e3, 0x3fffe705, 0x00388c6e, 0x005e3f4c, 0x3fffba9b,
+ 0x3fffa6de, 0x006ad03b, 0x009082ea, 0x3fff5cd8, 0x3fff3f3c, 0x009d13c5, 0x00c2c62f, 0x3ffed79b,
+ 0x3ffeb021, 0x00cf56ef, 0x00f508fc, 0x3ffe2ae5, 0x3ffdf98c, 0x01019998, 0x01274b31, 0x3ffd56b5,
+ 0x3ffd1b7e, 0x0133dba3, 0x01598cb1, 0x3ffc5b0c, 0x3ffc15f7, 0x01661cf0, 0x018bcd5b, 0x3ffb37ec,
+ 0x3ffae8f9, 0x01985d60, 0x01be0d11, 0x3ff9ed53, 0x3ff99483, 0x01ca9cd4, 0x01f04bb4, 0x3ff87b44,
+ 0x3ff81896, 0x01fcdb2e, 0x02228924, 0x3ff6e1bf, 0x3ff67534, 0x022f184d, 0x0254c544, 0x3ff520c5,
+ 0x3ff4aa5d, 0x02615414, 0x0286fff3, 0x3ff33858, 0x3ff2b813, 0x02938e62, 0x02b93914, 0x3ff12878,
+ 0x3ff09e56, 0x02c5c71a, 0x02eb7086, 0x3feef126, 0x3fee5d28, 0x02f7fe1c, 0x031da62b, 0x3fec9265,
+ 0x3febf48b, 0x032a3349, 0x034fd9e5, 0x3fea0c35, 0x3fe96480, 0x035c6682, 0x03820b93, 0x3fe75e98,
+ 0x3fe6ad08, 0x038e97a9, 0x03b43b17, 0x3fe48990, 0x3fe3ce26, 0x03c0c69e, 0x03e66852, 0x3fe18d1f,
+ 0x3fe0c7da, 0x03f2f342, 0x04189326, 0x3fde6945, 0x3fdd9a27, 0x04251d77, 0x044abb73, 0x3fdb1e06,
+ 0x3fda450f, 0x0457451d, 0x047ce11a, 0x3fd7ab64, 0x3fd6c894, 0x04896a16, 0x04af03fc, 0x3fd4115f,
+ 0x3fd324b7, 0x04bb8c42, 0x04e123fa, 0x3fd04ffc, 0x3fcf597c, 0x04edab83, 0x051340f6, 0x3fcc673b,
+ 0x3fcb66e4, 0x051fc7b9, 0x05455ad1, 0x3fc8571f, 0x3fc74cf3, 0x0551e0c7, 0x0577716b, 0x3fc41fac,
+ 0x3fc30baa, 0x0583f68c, 0x05a984a6, 0x3fbfc0e3, 0x3fbea30c, 0x05b608eb, 0x05db9463, 0x3fbb3ac7,
+ 0x3fba131b, 0x05e817c3, 0x060da083, 0x3fb68d5b, 0x3fb55bdc, 0x061a22f7, 0x063fa8e7, 0x3fb1b8a2,
+ 0x3fb07d50, 0x064c2a67, 0x0671ad71, 0x3facbc9f, 0x3fab777b, 0x067e2df5, 0x06a3ae00, 0x3fa79954,
+ 0x3fa64a5f, 0x06b02d81, 0x06d5aa77, 0x3fa24ec6, 0x3fa0f600, 0x06e228ee, 0x0707a2b7, 0x3f9cdcf7,
+ 0x3f9b7a62, 0x0714201b, 0x073996a1, 0x3f9743eb, 0x3f95d787, 0x074612eb, 0x076b8616, 0x3f9183a5,
+ 0x3f900d72, 0x0778013d, 0x079d70f7, 0x3f8b9c28, 0x3f8a1c29, 0x07a9eaf5, 0x07cf5726, 0x3f858d79,
+ 0x3f8403ae, 0x07dbcff2, 0x08013883, 0x3f7f579b, 0x3f7dc405, 0x080db016, 0x083314f1, 0x3f78fa92,
+ 0x3f775d31, 0x083f8b43, 0x0864ec4f, 0x3f727661, 0x3f70cf38, 0x08716159, 0x0896be80, 0x3f6bcb0e,
+ 0x3f6a1a1c, 0x08a3323a, 0x08c88b65, 0x3f64f89b, 0x3f633de2, 0x08d4fdc6, 0x08fa52de, 0x3f5dff0e,
+ 0x3f5c3a8f, 0x0906c3e0, 0x092c14ce, 0x3f56de6a, 0x3f551026, 0x09388469, 0x095dd116, 0x3f4f96b4,
+ 0x3f4dbeac, 0x096a3f42, 0x098f8796, 0x3f4827f0, 0x3f464626, 0x099bf44c, 0x09c13831, 0x3f409223,
+ 0x3f3ea697, 0x09cda368, 0x09f2e2c7, 0x3f38d552, 0x3f36e006, 0x09ff4c78, 0x0a24873a, 0x3f30f181,
+ 0x3f2ef276, 0x0a30ef5e, 0x0a56256c, 0x3f28e6b6, 0x3f26ddec, 0x0a628bfa, 0x0a87bd3d, 0x3f20b4f5,
+ 0x3f1ea26e, 0x0a94222f, 0x0ab94e8f, 0x3f185c43, 0x3f164001, 0x0ac5b1dc, 0x0aead944, 0x3f0fdca5,
+ 0x3f0db6a9, 0x0af73ae5, 0x0b1c5d3d, 0x3f073621, 0x3f05066d, 0x0b28bd2a, 0x0b4dda5c, 0x3efe68bc,
+ 0x3efc2f50, 0x0b5a388d, 0x0b7f5081, 0x3ef5747b, 0x3ef3315a, 0x0b8bacf0, 0x0bb0bf8f, 0x3eec5965,
+ 0x3eea0c8e, 0x0bbd1a33, 0x0be22766, 0x3ee3177e, 0x3ee0c0f4, 0x0bee8038, 0x0c1387e9, 0x3ed9aecc,
+ 0x3ed74e91, 0x0c1fdee1, 0x0c44e0f9, 0x3ed01f55, 0x3ecdb56a, 0x0c513610, 0x0c763278, 0x3ec66920,
+ 0x3ec3f585, 0x0c8285a5, 0x0ca77c47, 0x3ebc8c31, 0x3eba0ee9, 0x0cb3cd84, 0x0cd8be47, 0x3eb2888f,
+ 0x3eb0019c, 0x0ce50d8c, 0x0d09f85b, 0x3ea85e41, 0x3ea5cda3, 0x0d1645a0, 0x0d3b2a64, 0x3e9e0d4c,
+ 0x3e9b7306, 0x0d4775a1, 0x0d6c5443, 0x3e9395b7, 0x3e90f1ca, 0x0d789d71, 0x0d9d75db, 0x3e88f788,
+ 0x3e8649f5, 0x0da9bcf2, 0x0dce8f0d, 0x3e7e32c6, 0x3e7b7b90, 0x0ddad406, 0x0dff9fba, 0x3e734778,
+ 0x3e70869f, 0x0e0be28e, 0x0e30a7c5, 0x3e6835a4, 0x3e656b2b, 0x0e3ce86b, 0x0e61a70f, 0x3e5cfd51,
+ 0x3e5a2939, 0x0e6de580, 0x0e929d7a, 0x3e519e86, 0x3e4ec0d1, 0x0e9ed9af, 0x0ec38ae8, 0x3e46194a,
+ 0x3e4331fa, 0x0ecfc4d9, 0x0ef46f3b, 0x3e3a6da4, 0x3e377cbb, 0x0f00a6df, 0x0f254a53, 0x3e2e9b9c,
+ 0x3e2ba11b, 0x0f317fa5, 0x0f561c15, 0x3e22a338, 0x3e1f9f21, 0x0f624f0c, 0x0f86e460, 0x3e168480,
+ 0x3e1376d5, 0x0f9314f5, 0x0fb7a317, 0x3e0a3f7b, 0x3e07283f, 0x0fc3d143, 0x0fe8581d, 0x3dfdd432,
+ 0x3dfab365, 0x0ff483d7, 0x10190352, 0x3df142ab, 0x3dee1851, 0x10252c94, 0x1049a49a, 0x3de48aef,
+ 0x3de15708, 0x1055cb5b, 0x107a3bd5, 0x3dd7ad05, 0x3dd46f94, 0x1086600e, 0x10aac8e6, 0x3dcaa8f5,
+ 0x3dc761fc, 0x10b6ea90, 0x10db4baf, 0x3dbd7ec7, 0x3dba2e48, 0x10e76ac3, 0x110bc413, 0x3db02e84,
+ 0x3dacd481, 0x1117e088, 0x113c31f3, 0x3da2b834, 0x3d9f54af, 0x11484bc2, 0x116c9531, 0x3d951bde,
+ 0x3d91aed9, 0x1178ac53, 0x119cedaf, 0x3d87598c, 0x3d83e309, 0x11a9021d, 0x11cd3b50, 0x3d797145,
+ 0x3d75f147, 0x11d94d02, 0x11fd7df6, 0x3d6b6313, 0x3d67d99b, 0x12098ce5, 0x122db583, 0x3d5d2efe,
+ 0x3d599c0e, 0x1239c1a7, 0x125de1da, 0x3d4ed50f, 0x3d4b38aa, 0x1269eb2b, 0x128e02dc, 0x3d40554e,
+ 0x3d3caf76, 0x129a0954, 0x12be186c, 0x3d31afc5, 0x3d2e007c, 0x12ca1c03, 0x12ee226c, 0x3d22e47c,
+ 0x3d1f2bc5, 0x12fa231b, 0x131e20c0, 0x3d13f37e, 0x3d10315a, 0x132a1e7e, 0x134e1348, 0x3d04dcd2,
+ 0x3d011145, 0x135a0e0e, 0x137df9e7, 0x3cf5a082, 0x3cf1cb8e, 0x1389f1af, 0x13add481, 0x3ce63e98,
+ 0x3ce2603f, 0x13b9c943, 0x13dda2f7, 0x3cd6b71e, 0x3cd2cf62, 0x13e994ab, 0x140d652c, 0x3cc70a1c,
+ 0x3cc318ff, 0x141953cb, 0x143d1b02, 0x3cb7379c, 0x3cb33d22, 0x14490685, 0x146cc45c, 0x3ca73fa9,
+ 0x3ca33bd3, 0x1478acbc, 0x149c611d, 0x3c97224c, 0x3c93151d, 0x14a84652, 0x14cbf127, 0x3c86df8e,
+ 0x3c82c909, 0x14d7d32a, 0x14fb745e, 0x3c76777b, 0x3c7257a2, 0x15075327, 0x152aeaa3, 0x3c65ea1c,
+ 0x3c61c0f1, 0x1536c62b, 0x155a53d9, 0x3c55377b, 0x3c510501, 0x15662c18, 0x1589afe3, 0x3c445fa2,
+ 0x3c4023dd, 0x159584d3, 0x15b8fea4, 0x3c33629d, 0x3c2f1d8e, 0x15c4d03e, 0x15e83fff, 0x3c224075,
+ 0x3c1df21f, 0x15f40e3a, 0x161773d6, 0x3c10f935, 0x3c0ca19b, 0x16233eac, 0x16469a0d, 0x3bff8ce8,
+ 0x3bfb2c0c, 0x16526176, 0x1675b286, 0x3bedfb99, 0x3be9917e, 0x1681767c, 0x16a4bd25, 0x3bdc4552,
+ 0x3bd7d1fa, 0x16b07d9f, 0x16d3b9cc, 0x3bca6a1d, 0x3bc5ed8d, 0x16df76c3, 0x1702a85e, 0x3bb86a08,
+ 0x3bb3e440, 0x170e61cc, 0x173188be, 0x3ba6451b, 0x3ba1b620, 0x173d3e9b, 0x17605ad0, 0x3b93fb63,
+ 0x3b8f6337, 0x176c0d15, 0x178f1e76, 0x3b818ceb, 0x3b7ceb90, 0x179acd1c, 0x17bdd394, 0x3b6ef9be,
+ 0x3b6a4f38, 0x17c97e93, 0x17ec7a0d, 0x3b5c41e8, 0x3b578e39, 0x17f8215e, 0x181b11c4, 0x3b496574,
+ 0x3b44a8a0, 0x1826b561, 0x18499a9d, 0x3b36646e, 0x3b319e77, 0x18553a7d, 0x1878147a, 0x3b233ee1,
+ 0x3b1e6fca, 0x1883b097, 0x18a67f3f, 0x3b0ff4d9, 0x3b0b1ca6, 0x18b21791, 0x18d4dad0, 0x3afc8663,
+ 0x3af7a516, 0x18e06f50, 0x1903270f, 0x3ae8f38b, 0x3ae40926, 0x190eb7b7, 0x193163e1, 0x3ad53c5b,
+ 0x3ad048e3, 0x193cf0a9, 0x195f9128, 0x3ac160e1, 0x3abc6458, 0x196b1a09, 0x198daec8, 0x3aad6129,
+ 0x3aa85b92, 0x199933bb, 0x19bbbca6, 0x3a993d3e, 0x3a942e9d, 0x19c73da3, 0x19e9baa3, 0x3a84f52f,
+ 0x3a7fdd86, 0x19f537a4, 0x1a17a8a5, 0x3a708906, 0x3a6b6859, 0x1a2321a2, 0x1a45868e, 0x3a5bf8d1,
+ 0x3a56cf23, 0x1a50fb81, 0x1a735442, 0x3a47449c, 0x3a4211f0, 0x1a7ec524, 0x1aa111a6, 0x3a326c74,
+ 0x3a2d30cd, 0x1aac7e6f, 0x1acebe9d, 0x3a1d7066, 0x3a182bc8, 0x1ada2746, 0x1afc5b0a, 0x3a08507f,
+ 0x3a0302ed, 0x1b07bf8c, 0x1b29e6d2, 0x39f30ccc, 0x39edb649, 0x1b354727, 0x1b5761d8, 0x39dda55a,
+ 0x39d845e9, 0x1b62bdf8, 0x1b84cc01, 0x39c81a36, 0x39c2b1da, 0x1b9023e5, 0x1bb22530, 0x39b26b6d,
+ 0x39acfa2b, 0x1bbd78d2, 0x1bdf6d4a, 0x399c990d, 0x39971ee7, 0x1beabca1, 0x1c0ca432, 0x3986a324,
+ 0x3981201e, 0x1c17ef39, 0x1c39c9cd, 0x397089bf, 0x396afddc, 0x1c45107c, 0x1c66ddfe, 0x395a4ceb,
+ 0x3954b82e, 0x1c72204f, 0x1c93e0ab, 0x3943ecb6, 0x393e4f23, 0x1c9f1e96, 0x1cc0d1b6, 0x392d692f,
+ 0x3927c2c9, 0x1ccc0b35, 0x1cedb106, 0x3916c262, 0x3911132d, 0x1cf8e611, 0x1d1a7e7d, 0x38fff85e,
+ 0x38fa405e, 0x1d25af0d, 0x1d473a00, 0x38e90b31, 0x38e34a69, 0x1d52660f, 0x1d73e374, 0x38d1fae9,
+ 0x38cc315d, 0x1d7f0afb, 0x1da07abc, 0x38bac795, 0x38b4f547, 0x1dab9db5, 0x1dccffbf, 0x38a37142,
+ 0x389d9637, 0x1dd81e21, 0x1df9725f, 0x388bf7ff, 0x3886143b, 0x1e048c24, 0x1e25d282, 0x38745bdb,
+ 0x386e6f60, 0x1e30e7a4, 0x1e52200c, 0x385c9ce3, 0x3856a7b6, 0x1e5d3084, 0x1e7e5ae2, 0x3844bb28,
+ 0x383ebd4c, 0x1e8966a8, 0x1eaa82e9, 0x382cb6b7, 0x3826b030, 0x1eb589f7, 0x1ed69805, 0x38148f9f,
+ 0x380e8071, 0x1ee19a54, 0x1f029a1c, 0x37fc45ef, 0x37f62e1d, 0x1f0d97a5, 0x1f2e8911, 0x37e3d9b7,
+ 0x37ddb945, 0x1f3981ce, 0x1f5a64cb, 0x37cb4b04, 0x37c521f6, 0x1f6558b5, 0x1f862d2d, 0x37b299e7,
+ 0x37ac6841, 0x1f911c3d, 0x1fb1e21d, 0x3799c66f, 0x37938c34, 0x1fbccc4d, 0x1fdd8381, 0x3780d0aa,
+ 0x377a8ddf, 0x1fe868c8, 0x2009113c, 0x3767b8a9, 0x37616d51, 0x2013f196, 0x20348b35, 0x374e7e7b,
+ 0x37482a9a, 0x203f6699, 0x205ff14f, 0x3735222f, 0x372ec5c9, 0x206ac7b8, 0x208b4372, 0x371ba3d4,
+ 0x37153eee, 0x209614d9, 0x20b68181, 0x3702037c, 0x36fb9618, 0x20c14ddf, 0x20e1ab63, 0x36e84135,
+ 0x36e1cb58, 0x20ec72b1, 0x210cc0fc, 0x36ce5d10, 0x36c7debd, 0x21178334, 0x2137c232, 0x36b4571b,
+ 0x36add058, 0x21427f4d, 0x2162aeea, 0x369a2f69, 0x3693a038, 0x216d66e2, 0x218d870b, 0x367fe608,
+ 0x36794e6e, 0x219839d8, 0x21b84a79, 0x36657b08, 0x365edb09, 0x21c2f815, 0x21e2f91a, 0x364aee7b,
+ 0x3644461b, 0x21eda17f, 0x220d92d4, 0x36304070, 0x36298fb4, 0x221835fb, 0x2238178d, 0x361570f8,
+ 0x360eb7e3, 0x2242b56f, 0x22628729, 0x35fa8023, 0x35f3beba, 0x226d1fc1, 0x228ce191, 0x35df6e03,
+ 0x35d8a449, 0x229774d7, 0x22b726a8, 0x35c43aa7, 0x35bd68a1, 0x22c1b496, 0x22e15655, 0x35a8e621,
+ 0x35a20bd3, 0x22ebdee5, 0x230b707e, 0x358d7081, 0x35868def, 0x2315f3a8, 0x23357509, 0x3571d9d9,
+ 0x356aef08, 0x233ff2c8, 0x235f63dc, 0x35562239, 0x354f2f2c, 0x2369dc29, 0x23893cdd, 0x353a49b2,
+ 0x35334e6f, 0x2393afb2, 0x23b2fff3, 0x351e5056, 0x35174ce0, 0x23bd6d48, 0x23dcad03, 0x35023636,
+ 0x34fb2a92, 0x23e714d3, 0x240643f4, 0x34e5fb63, 0x34dee795, 0x2410a639, 0x242fc4ad, 0x34c99fef,
+ 0x34c283fb, 0x243a215f, 0x24592f13, 0x34ad23eb, 0x34a5ffd5, 0x2463862c, 0x2482830d, 0x34908768,
+ 0x34895b36, 0x248cd487, 0x24abc082, 0x3473ca79, 0x346c962f, 0x24b60c57, 0x24d4e757, 0x3456ed2f,
+ 0x344fb0d1, 0x24df2d81, 0x24fdf775, 0x3439ef9c, 0x3432ab2e, 0x250837ed, 0x2526f0c1, 0x341cd1d2,
+ 0x34158559, 0x25312b81, 0x254fd323, 0x33ff93e2, 0x33f83f62, 0x255a0823, 0x25789e80, 0x33e235df,
+ 0x33dad95e, 0x2582cdbc, 0x25a152c0, 0x33c4b7db, 0x33bd535c, 0x25ab7c30, 0x25c9efca, 0x33a719e8,
+ 0x339fad70, 0x25d41369, 0x25f27584, 0x33895c18, 0x3381e7ac, 0x25fc934b, 0x261ae3d6, 0x336b7e7e,
+ 0x33640223, 0x2624fbbf, 0x26433aa7, 0x334d812d, 0x3345fce6, 0x264d4cac, 0x266b79dd, 0x332f6435,
+ 0x3327d808, 0x267585f8, 0x2693a161, 0x331127ab, 0x3309939c, 0x269da78b, 0x26bbb119, 0x32f2cba1,
+ 0x32eb2fb5, 0x26c5b14c, 0x26e3a8ec, 0x32d45029, 0x32ccac64, 0x26eda322, 0x270b88c2, 0x32b5b557,
+ 0x32ae09be, 0x27157cf5, 0x27335082, 0x3296fb3d, 0x328f47d5, 0x273d3eac, 0x275b0014, 0x327821ee,
+ 0x327066bc, 0x2764e82f, 0x27829760, 0x3259297d, 0x32516686, 0x278c7965, 0x27aa164c, 0x323a11fe,
+ 0x32324746, 0x27b3f235, 0x27d17cc1, 0x321adb83, 0x3213090f, 0x27db5288, 0x27f8caa5, 0x31fb8620,
+ 0x31f3abf5, 0x28029a45, 0x281fffe2, 0x31dc11e8, 0x31d4300b, 0x2829c954, 0x28471c5e, 0x31bc7eee,
+ 0x31b49564, 0x2850df9d, 0x286e2002, 0x319ccd46, 0x3194dc14, 0x2877dd07, 0x28950ab6, 0x317cfd04,
+ 0x3175042e, 0x289ec17a, 0x28bbdc61, 0x315d0e3b, 0x31550dc6, 0x28c58cdf, 0x28e294eb, 0x313d00ff,
+ 0x3134f8f1, 0x28ec3f1e, 0x2909343e, 0x311cd564, 0x3114c5c0, 0x2912d81f, 0x292fba40, 0x30fc8b7d,
+ 0x30f47449, 0x293957c9, 0x295626da, 0x30dc235e, 0x30d404a0, 0x295fbe06, 0x297c79f5, 0x30bb9d1c,
+ 0x30b376d8, 0x29860abd, 0x29a2b378, 0x309af8ca, 0x3092cb05, 0x29ac3dd7, 0x29c8d34d, 0x307a367c,
+ 0x3072013c, 0x29d2573c, 0x29eed95b, 0x30595648, 0x30511991, 0x29f856d5, 0x2a14c58b, 0x30385840,
+ 0x30301418, 0x2a1e3c8a, 0x2a3a97c7, 0x30173c7a, 0x300ef0e5, 0x2a440844, 0x2a604ff5, 0x2ff6030a,
+ 0x2fedb00d, 0x2a69b9ec, 0x2a85ee00, 0x2fd4ac04, 0x2fcc51a5, 0x2a8f516b, 0x2aab71d0, 0x2fb3377c,
+ 0x2faad5c1, 0x2ab4cea9, 0x2ad0db4e, 0x2f91a589, 0x2f893c75, 0x2ada318e, 0x2af62a63, 0x2f6ff63d,
+ 0x2f6785d7, 0x2aff7a05, 0x2b1b5ef8, 0x2f4e29af, 0x2f45b1fb, 0x2b24a7f6, 0x2b4078f5, 0x2f2c3ff2,
+ 0x2f23c0f6, 0x2b49bb4a, 0x2b657844, 0x2f0a391d, 0x2f01b2de, 0x2b6eb3ea, 0x2b8a5cce, 0x2ee81543,
+ 0x2edf87c6, 0x2b9391c0, 0x2baf267d, 0x2ec5d479, 0x2ebd3fc4, 0x2bb854b4, 0x2bd3d53a, 0x2ea376d6,
+ 0x2e9adaee, 0x2bdcfcb0, 0x2bf868ed, 0x2e80fc6e, 0x2e785958, 0x2c01899e, 0x2c1ce181, 0x2e5e6556,
+ 0x2e55bb17, 0x2c25fb66, 0x2c413edf, 0x2e3bb1a4, 0x2e330042, 0x2c4a51f3, 0x2c6580f1, 0x2e18e16d,
+ 0x2e1028ed, 0x2c6e8d2e, 0x2c89a79f, 0x2df5f4c7, 0x2ded352f, 0x2c92ad01, 0x2cadb2d5, 0x2dd2ebc7,
+ 0x2dca251c, 0x2cb6b155, 0x2cd1a27b, 0x2dafc683, 0x2da6f8ca, 0x2cda9a14, 0x2cf5767c, 0x2d8c8510,
0x2d83b04f, 0x2cfe6728, 0x2d192ec1, 0x2d692784, 0x2d604bc0, 0x2d22187a, 0x2d3ccb34, 0x2d45adf6
};
const int twidTab512[(8*6 + 32*6 + 128*6)/2] = {
- 0x40000000, 0x40000000, 0x40000000, 0x3b20187d,
- 0x3ec50c7c, 0x3536238e, 0x2d412d41, 0x3b20187d,
- 0x187d3b20, 0x187d3b20, 0x3536238e, 0xf3843ec5,
- 0x00004000, 0x2d412d41, 0xd2bf2d41, 0xe7833b20,
- 0x238e3536, 0xc13b0c7c, 0xd2bf2d41, 0x187d3b20,
- 0xc4e0e783, 0xc4e0187d, 0x0c7c3ec5, 0xdc72caca,
-
- 0x40000000, 0x40000000, 0x40000000, 0x3fb10645,
- 0x3fec0323, 0x3f4e0964, 0x3ec50c7c, 0x3fb10645,
- 0x3d3e1294, 0x3d3e1294, 0x3f4e0964, 0x39da1b5d,
- 0x3b20187d, 0x3ec50c7c, 0x3536238e, 0x38711e2b,
- 0x3e140f8c, 0x2f6b2afa, 0x3536238e, 0x3d3e1294,
- 0x28993179, 0x31792899, 0x3c42158f, 0x20e736e5,
- 0x2d412d41, 0x3b20187d, 0x187d3b20, 0x28993179,
- 0x39da1b5d, 0x0f8c3e14, 0x238e3536, 0x38711e2b,
- 0x06453fb1, 0x1e2b3871, 0x36e520e7, 0xfcdd3fec,
- 0x187d3b20, 0x3536238e, 0xf3843ec5, 0x12943d3e,
- 0x3367261f, 0xea713c42, 0x0c7c3ec5, 0x31792899,
- 0xe1d53871, 0x06453fb1, 0x2f6b2afa, 0xd9e13367,
- 0x00004000, 0x2d412d41, 0xd2bf2d41, 0xf9bb3fb1,
- 0x2afa2f6b, 0xcc99261f, 0xf3843ec5, 0x28993179,
- 0xc78f1e2b, 0xed6c3d3e, 0x261f3367, 0xc3be158f,
- 0xe7833b20, 0x238e3536, 0xc13b0c7c, 0xe1d53871,
- 0x20e736e5, 0xc0140323, 0xdc723536, 0x1e2b3871,
- 0xc04ff9bb, 0xd7673179, 0x1b5d39da, 0xc1ecf074,
- 0xd2bf2d41, 0x187d3b20, 0xc4e0e783, 0xce872899,
- 0x158f3c42, 0xc91bdf19, 0xcaca238e, 0x12943d3e,
- 0xce87d767, 0xc78f1e2b, 0x0f8c3e14, 0xd506d095,
- 0xc4e0187d, 0x0c7c3ec5, 0xdc72caca, 0xc2c21294,
- 0x09643f4e, 0xe4a3c626, 0xc13b0c7c, 0x06453fb1,
- 0xed6cc2c2, 0xc04f0645, 0x03233fec, 0xf69cc0b2,
-
- 0x40000000, 0x40000000, 0x40000000, 0x3ffb0192,
- 0x3ffe00c9, 0x3ff4025b, 0x3fec0323, 0x3ffb0192,
- 0x3fd304b5, 0x3fd304b5, 0x3ff4025b, 0x3f9c070d,
- 0x3fb10645, 0x3fec0323, 0x3f4e0964, 0x3f8407d5,
- 0x3fe103ec, 0x3eeb0bb6, 0x3f4e0964, 0x3fd304b5,
- 0x3e710e05, 0x3f0e0af1, 0x3fc3057d, 0x3de2104f,
- 0x3ec50c7c, 0x3fb10645, 0x3d3e1294, 0x3e710e05,
- 0x3f9c070d, 0x3c8414d1, 0x3e140f8c, 0x3f8407d5,
- 0x3bb61708, 0x3dae1111, 0x3f6a089c, 0x3ad21937,
- 0x3d3e1294, 0x3f4e0964, 0x39da1b5d, 0x3cc51413,
- 0x3f2f0a2a, 0x38cf1d79, 0x3c42158f, 0x3f0e0af1,
- 0x37af1f8b, 0x3bb61708, 0x3eeb0bb6, 0x367c2192,
- 0x3b20187d, 0x3ec50c7c, 0x3536238e, 0x3a8219ef,
- 0x3e9c0d41, 0x33de257d, 0x39da1b5d, 0x3e710e05,
- 0x3274275f, 0x392a1cc6, 0x3e440ec9, 0x30f82934,
- 0x38711e2b, 0x3e140f8c, 0x2f6b2afa, 0x37af1f8b,
- 0x3de2104f, 0x2dce2cb2, 0x36e520e7, 0x3dae1111,
- 0x2c212e5a, 0x3612223d, 0x3d7711d3, 0x2a652ff1,
- 0x3536238e, 0x3d3e1294, 0x28993179, 0x345324da,
- 0x3d021354, 0x26c032ee, 0x3367261f, 0x3cc51413,
- 0x24da3453, 0x3274275f, 0x3c8414d1, 0x22e635a5,
- 0x31792899, 0x3c42158f, 0x20e736e5, 0x307629cd,
- 0x3bfd164c, 0x1edc3811, 0x2f6b2afa, 0x3bb61708,
- 0x1cc6392a, 0x2e5a2c21, 0x3b6c17c3, 0x1aa63a2f,
- 0x2d412d41, 0x3b20187d, 0x187d3b20, 0x2c212e5a,
- 0x3ad21937, 0x164c3bfd, 0x2afa2f6b, 0x3a8219ef,
- 0x14133cc5, 0x29cd3076, 0x3a2f1aa6, 0x11d33d77,
- 0x28993179, 0x39da1b5d, 0x0f8c3e14, 0x275f3274,
- 0x39831c12, 0x0d413e9c, 0x261f3367, 0x392a1cc6,
- 0x0af13f0e, 0x24da3453, 0x38cf1d79, 0x089c3f6a,
- 0x238e3536, 0x38711e2b, 0x06453fb1, 0x223d3612,
- 0x38111edc, 0x03ec3fe1, 0x20e736e5, 0x37af1f8b,
- 0x01923ffb, 0x1f8b37af, 0x374b2039, 0xff373ffe,
- 0x1e2b3871, 0x36e520e7, 0xfcdd3fec, 0x1cc6392a,
- 0x367c2192, 0xfa833fc3, 0x1b5d39da, 0x3612223d,
- 0xf82b3f84, 0x19ef3a82, 0x35a522e6, 0xf5d63f2f,
- 0x187d3b20, 0x3536238e, 0xf3843ec5, 0x17083bb6,
- 0x34c62434, 0xf1373e44, 0x158f3c42, 0x345324da,
- 0xeeef3dae, 0x14133cc5, 0x33de257d, 0xecac3d02,
- 0x12943d3e, 0x3367261f, 0xea713c42, 0x11113dae,
- 0x32ee26c0, 0xe83d3b6c, 0x0f8c3e14, 0x3274275f,
- 0xe6113a82, 0x0e053e71, 0x31f727fd, 0xe3ee3983,
- 0x0c7c3ec5, 0x31792899, 0xe1d53871, 0x0af13f0e,
- 0x30f82934, 0xdfc7374b, 0x09643f4e, 0x307629cd,
- 0xddc33612, 0x07d53f84, 0x2ff12a65, 0xdbcc34c6,
- 0x06453fb1, 0x2f6b2afa, 0xd9e13367, 0x04b53fd3,
- 0x2ee32b8e, 0xd80331f7, 0x03233fec, 0x2e5a2c21,
- 0xd6333076, 0x01923ffb, 0x2dce2cb2, 0xd4722ee3,
- 0x00004000, 0x2d412d41, 0xd2bf2d41, 0xfe6e3ffb,
- 0x2cb22dce, 0xd11d2b8e, 0xfcdd3fec, 0x2c212e5a,
- 0xcf8a29cd, 0xfb4b3fd3, 0x2b8e2ee3, 0xce0927fd,
- 0xf9bb3fb1, 0x2afa2f6b, 0xcc99261f, 0xf82b3f84,
- 0x2a652ff1, 0xcb3a2434, 0xf69c3f4e, 0x29cd3076,
- 0xc9ee223d, 0xf50f3f0e, 0x293430f8, 0xc8b52039,
- 0xf3843ec5, 0x28993179, 0xc78f1e2b, 0xf1fb3e71,
- 0x27fd31f7, 0xc67d1c12, 0xf0743e14, 0x275f3274,
- 0xc57e19ef, 0xeeef3dae, 0x26c032ee, 0xc49417c3,
- 0xed6c3d3e, 0x261f3367, 0xc3be158f, 0xebed3cc5,
- 0x257d33de, 0xc2fe1354, 0xea713c42, 0x24da3453,
- 0xc2521111, 0xe8f83bb6, 0x243434c6, 0xc1bc0ec9,
- 0xe7833b20, 0x238e3536, 0xc13b0c7c, 0xe6113a82,
- 0x22e635a5, 0xc0d10a2a, 0xe4a339da, 0x223d3612,
- 0xc07c07d5, 0xe33a392a, 0x2192367c, 0xc03d057d,
- 0xe1d53871, 0x20e736e5, 0xc0140323, 0xe07537af,
- 0x2039374b, 0xc00200c9, 0xdf1936e5, 0x1f8b37af,
- 0xc005fe6e, 0xddc33612, 0x1edc3811, 0xc01ffc14,
- 0xdc723536, 0x1e2b3871, 0xc04ff9bb, 0xdb263453,
- 0x1d7938cf, 0xc096f764, 0xd9e13367, 0x1cc6392a,
- 0xc0f2f50f, 0xd8a13274, 0x1c123983, 0xc164f2bf,
- 0xd7673179, 0x1b5d39da, 0xc1ecf074, 0xd6333076,
- 0x1aa63a2f, 0xc289ee2d, 0xd5062f6b, 0x19ef3a82,
- 0xc33bebed, 0xd3df2e5a, 0x19373ad2, 0xc403e9b4,
- 0xd2bf2d41, 0x187d3b20, 0xc4e0e783, 0xd1a62c21,
- 0x17c33b6c, 0xc5d1e55a, 0xd0952afa, 0x17083bb6,
- 0xc6d6e33a, 0xcf8a29cd, 0x164c3bfd, 0xc7efe124,
- 0xce872899, 0x158f3c42, 0xc91bdf19, 0xcd8c275f,
- 0x14d13c84, 0xca5bdd1a, 0xcc99261f, 0x14133cc5,
- 0xcbaddb26, 0xcbad24da, 0x13543d02, 0xcd12d940,
- 0xcaca238e, 0x12943d3e, 0xce87d767, 0xc9ee223d,
- 0x11d33d77, 0xd00fd59b, 0xc91b20e7, 0x11113dae,
- 0xd1a6d3df, 0xc8511f8b, 0x104f3de2, 0xd34ed232,
- 0xc78f1e2b, 0x0f8c3e14, 0xd506d095, 0xc6d61cc6,
- 0x0ec93e44, 0xd6cccf08, 0xc6261b5d, 0x0e053e71,
- 0xd8a1cd8c, 0xc57e19ef, 0x0d413e9c, 0xda83cc22,
- 0xc4e0187d, 0x0c7c3ec5, 0xdc72caca, 0xc44a1708,
- 0x0bb63eeb, 0xde6ec984, 0xc3be158f, 0x0af13f0e,
- 0xe075c851, 0xc33b1413, 0x0a2a3f2f, 0xe287c731,
- 0xc2c21294, 0x09643f4e, 0xe4a3c626, 0xc2521111,
- 0x089c3f6a, 0xe6c9c52e, 0xc1ec0f8c, 0x07d53f84,
- 0xe8f8c44a, 0xc18f0e05, 0x070d3f9c, 0xeb2fc37c,
- 0xc13b0c7c, 0x06453fb1, 0xed6cc2c2, 0xc0f20af1,
- 0x057d3fc3, 0xefb1c21e, 0xc0b20964, 0x04b53fd3,
- 0xf1fbc18f, 0xc07c07d5, 0x03ec3fe1, 0xf44ac115,
- 0xc04f0645, 0x03233fec, 0xf69cc0b2, 0xc02d04b5,
- 0x025b3ff4, 0xf8f3c064, 0xc0140323, 0x01923ffb,
- 0xfb4bc02d, 0xc0050192, 0x00c93ffe, 0xfda5c00c
+ 0x40000000, 0x40000000, 0x40000000, 0x3b20187d,
+ 0x3ec50c7c, 0x3536238e, 0x2d412d41, 0x3b20187d,
+ 0x187d3b20, 0x187d3b20, 0x3536238e, 0xf3843ec5,
+ 0x00004000, 0x2d412d41, 0xd2bf2d41, 0xe7833b20,
+ 0x238e3536, 0xc13b0c7c, 0xd2bf2d41, 0x187d3b20,
+ 0xc4e0e783, 0xc4e0187d, 0x0c7c3ec5, 0xdc72caca,
+
+ 0x40000000, 0x40000000, 0x40000000, 0x3fb10645,
+ 0x3fec0323, 0x3f4e0964, 0x3ec50c7c, 0x3fb10645,
+ 0x3d3e1294, 0x3d3e1294, 0x3f4e0964, 0x39da1b5d,
+ 0x3b20187d, 0x3ec50c7c, 0x3536238e, 0x38711e2b,
+ 0x3e140f8c, 0x2f6b2afa, 0x3536238e, 0x3d3e1294,
+ 0x28993179, 0x31792899, 0x3c42158f, 0x20e736e5,
+ 0x2d412d41, 0x3b20187d, 0x187d3b20, 0x28993179,
+ 0x39da1b5d, 0x0f8c3e14, 0x238e3536, 0x38711e2b,
+ 0x06453fb1, 0x1e2b3871, 0x36e520e7, 0xfcdd3fec,
+ 0x187d3b20, 0x3536238e, 0xf3843ec5, 0x12943d3e,
+ 0x3367261f, 0xea713c42, 0x0c7c3ec5, 0x31792899,
+ 0xe1d53871, 0x06453fb1, 0x2f6b2afa, 0xd9e13367,
+ 0x00004000, 0x2d412d41, 0xd2bf2d41, 0xf9bb3fb1,
+ 0x2afa2f6b, 0xcc99261f, 0xf3843ec5, 0x28993179,
+ 0xc78f1e2b, 0xed6c3d3e, 0x261f3367, 0xc3be158f,
+ 0xe7833b20, 0x238e3536, 0xc13b0c7c, 0xe1d53871,
+ 0x20e736e5, 0xc0140323, 0xdc723536, 0x1e2b3871,
+ 0xc04ff9bb, 0xd7673179, 0x1b5d39da, 0xc1ecf074,
+ 0xd2bf2d41, 0x187d3b20, 0xc4e0e783, 0xce872899,
+ 0x158f3c42, 0xc91bdf19, 0xcaca238e, 0x12943d3e,
+ 0xce87d767, 0xc78f1e2b, 0x0f8c3e14, 0xd506d095,
+ 0xc4e0187d, 0x0c7c3ec5, 0xdc72caca, 0xc2c21294,
+ 0x09643f4e, 0xe4a3c626, 0xc13b0c7c, 0x06453fb1,
+ 0xed6cc2c2, 0xc04f0645, 0x03233fec, 0xf69cc0b2,
+
+ 0x40000000, 0x40000000, 0x40000000, 0x3ffb0192,
+ 0x3ffe00c9, 0x3ff4025b, 0x3fec0323, 0x3ffb0192,
+ 0x3fd304b5, 0x3fd304b5, 0x3ff4025b, 0x3f9c070d,
+ 0x3fb10645, 0x3fec0323, 0x3f4e0964, 0x3f8407d5,
+ 0x3fe103ec, 0x3eeb0bb6, 0x3f4e0964, 0x3fd304b5,
+ 0x3e710e05, 0x3f0e0af1, 0x3fc3057d, 0x3de2104f,
+ 0x3ec50c7c, 0x3fb10645, 0x3d3e1294, 0x3e710e05,
+ 0x3f9c070d, 0x3c8414d1, 0x3e140f8c, 0x3f8407d5,
+ 0x3bb61708, 0x3dae1111, 0x3f6a089c, 0x3ad21937,
+ 0x3d3e1294, 0x3f4e0964, 0x39da1b5d, 0x3cc51413,
+ 0x3f2f0a2a, 0x38cf1d79, 0x3c42158f, 0x3f0e0af1,
+ 0x37af1f8b, 0x3bb61708, 0x3eeb0bb6, 0x367c2192,
+ 0x3b20187d, 0x3ec50c7c, 0x3536238e, 0x3a8219ef,
+ 0x3e9c0d41, 0x33de257d, 0x39da1b5d, 0x3e710e05,
+ 0x3274275f, 0x392a1cc6, 0x3e440ec9, 0x30f82934,
+ 0x38711e2b, 0x3e140f8c, 0x2f6b2afa, 0x37af1f8b,
+ 0x3de2104f, 0x2dce2cb2, 0x36e520e7, 0x3dae1111,
+ 0x2c212e5a, 0x3612223d, 0x3d7711d3, 0x2a652ff1,
+ 0x3536238e, 0x3d3e1294, 0x28993179, 0x345324da,
+ 0x3d021354, 0x26c032ee, 0x3367261f, 0x3cc51413,
+ 0x24da3453, 0x3274275f, 0x3c8414d1, 0x22e635a5,
+ 0x31792899, 0x3c42158f, 0x20e736e5, 0x307629cd,
+ 0x3bfd164c, 0x1edc3811, 0x2f6b2afa, 0x3bb61708,
+ 0x1cc6392a, 0x2e5a2c21, 0x3b6c17c3, 0x1aa63a2f,
+ 0x2d412d41, 0x3b20187d, 0x187d3b20, 0x2c212e5a,
+ 0x3ad21937, 0x164c3bfd, 0x2afa2f6b, 0x3a8219ef,
+ 0x14133cc5, 0x29cd3076, 0x3a2f1aa6, 0x11d33d77,
+ 0x28993179, 0x39da1b5d, 0x0f8c3e14, 0x275f3274,
+ 0x39831c12, 0x0d413e9c, 0x261f3367, 0x392a1cc6,
+ 0x0af13f0e, 0x24da3453, 0x38cf1d79, 0x089c3f6a,
+ 0x238e3536, 0x38711e2b, 0x06453fb1, 0x223d3612,
+ 0x38111edc, 0x03ec3fe1, 0x20e736e5, 0x37af1f8b,
+ 0x01923ffb, 0x1f8b37af, 0x374b2039, 0xff373ffe,
+ 0x1e2b3871, 0x36e520e7, 0xfcdd3fec, 0x1cc6392a,
+ 0x367c2192, 0xfa833fc3, 0x1b5d39da, 0x3612223d,
+ 0xf82b3f84, 0x19ef3a82, 0x35a522e6, 0xf5d63f2f,
+ 0x187d3b20, 0x3536238e, 0xf3843ec5, 0x17083bb6,
+ 0x34c62434, 0xf1373e44, 0x158f3c42, 0x345324da,
+ 0xeeef3dae, 0x14133cc5, 0x33de257d, 0xecac3d02,
+ 0x12943d3e, 0x3367261f, 0xea713c42, 0x11113dae,
+ 0x32ee26c0, 0xe83d3b6c, 0x0f8c3e14, 0x3274275f,
+ 0xe6113a82, 0x0e053e71, 0x31f727fd, 0xe3ee3983,
+ 0x0c7c3ec5, 0x31792899, 0xe1d53871, 0x0af13f0e,
+ 0x30f82934, 0xdfc7374b, 0x09643f4e, 0x307629cd,
+ 0xddc33612, 0x07d53f84, 0x2ff12a65, 0xdbcc34c6,
+ 0x06453fb1, 0x2f6b2afa, 0xd9e13367, 0x04b53fd3,
+ 0x2ee32b8e, 0xd80331f7, 0x03233fec, 0x2e5a2c21,
+ 0xd6333076, 0x01923ffb, 0x2dce2cb2, 0xd4722ee3,
+ 0x00004000, 0x2d412d41, 0xd2bf2d41, 0xfe6e3ffb,
+ 0x2cb22dce, 0xd11d2b8e, 0xfcdd3fec, 0x2c212e5a,
+ 0xcf8a29cd, 0xfb4b3fd3, 0x2b8e2ee3, 0xce0927fd,
+ 0xf9bb3fb1, 0x2afa2f6b, 0xcc99261f, 0xf82b3f84,
+ 0x2a652ff1, 0xcb3a2434, 0xf69c3f4e, 0x29cd3076,
+ 0xc9ee223d, 0xf50f3f0e, 0x293430f8, 0xc8b52039,
+ 0xf3843ec5, 0x28993179, 0xc78f1e2b, 0xf1fb3e71,
+ 0x27fd31f7, 0xc67d1c12, 0xf0743e14, 0x275f3274,
+ 0xc57e19ef, 0xeeef3dae, 0x26c032ee, 0xc49417c3,
+ 0xed6c3d3e, 0x261f3367, 0xc3be158f, 0xebed3cc5,
+ 0x257d33de, 0xc2fe1354, 0xea713c42, 0x24da3453,
+ 0xc2521111, 0xe8f83bb6, 0x243434c6, 0xc1bc0ec9,
+ 0xe7833b20, 0x238e3536, 0xc13b0c7c, 0xe6113a82,
+ 0x22e635a5, 0xc0d10a2a, 0xe4a339da, 0x223d3612,
+ 0xc07c07d5, 0xe33a392a, 0x2192367c, 0xc03d057d,
+ 0xe1d53871, 0x20e736e5, 0xc0140323, 0xe07537af,
+ 0x2039374b, 0xc00200c9, 0xdf1936e5, 0x1f8b37af,
+ 0xc005fe6e, 0xddc33612, 0x1edc3811, 0xc01ffc14,
+ 0xdc723536, 0x1e2b3871, 0xc04ff9bb, 0xdb263453,
+ 0x1d7938cf, 0xc096f764, 0xd9e13367, 0x1cc6392a,
+ 0xc0f2f50f, 0xd8a13274, 0x1c123983, 0xc164f2bf,
+ 0xd7673179, 0x1b5d39da, 0xc1ecf074, 0xd6333076,
+ 0x1aa63a2f, 0xc289ee2d, 0xd5062f6b, 0x19ef3a82,
+ 0xc33bebed, 0xd3df2e5a, 0x19373ad2, 0xc403e9b4,
+ 0xd2bf2d41, 0x187d3b20, 0xc4e0e783, 0xd1a62c21,
+ 0x17c33b6c, 0xc5d1e55a, 0xd0952afa, 0x17083bb6,
+ 0xc6d6e33a, 0xcf8a29cd, 0x164c3bfd, 0xc7efe124,
+ 0xce872899, 0x158f3c42, 0xc91bdf19, 0xcd8c275f,
+ 0x14d13c84, 0xca5bdd1a, 0xcc99261f, 0x14133cc5,
+ 0xcbaddb26, 0xcbad24da, 0x13543d02, 0xcd12d940,
+ 0xcaca238e, 0x12943d3e, 0xce87d767, 0xc9ee223d,
+ 0x11d33d77, 0xd00fd59b, 0xc91b20e7, 0x11113dae,
+ 0xd1a6d3df, 0xc8511f8b, 0x104f3de2, 0xd34ed232,
+ 0xc78f1e2b, 0x0f8c3e14, 0xd506d095, 0xc6d61cc6,
+ 0x0ec93e44, 0xd6cccf08, 0xc6261b5d, 0x0e053e71,
+ 0xd8a1cd8c, 0xc57e19ef, 0x0d413e9c, 0xda83cc22,
+ 0xc4e0187d, 0x0c7c3ec5, 0xdc72caca, 0xc44a1708,
+ 0x0bb63eeb, 0xde6ec984, 0xc3be158f, 0x0af13f0e,
+ 0xe075c851, 0xc33b1413, 0x0a2a3f2f, 0xe287c731,
+ 0xc2c21294, 0x09643f4e, 0xe4a3c626, 0xc2521111,
+ 0x089c3f6a, 0xe6c9c52e, 0xc1ec0f8c, 0x07d53f84,
+ 0xe8f8c44a, 0xc18f0e05, 0x070d3f9c, 0xeb2fc37c,
+ 0xc13b0c7c, 0x06453fb1, 0xed6cc2c2, 0xc0f20af1,
+ 0x057d3fc3, 0xefb1c21e, 0xc0b20964, 0x04b53fd3,
+ 0xf1fbc18f, 0xc07c07d5, 0x03ec3fe1, 0xf44ac115,
+ 0xc04f0645, 0x03233fec, 0xf69cc0b2, 0xc02d04b5,
+ 0x025b3ff4, 0xf8f3c064, 0xc0140323, 0x01923ffb,
+ 0xfb4bc02d, 0xc0050192, 0x00c93ffe, 0xfda5c00c
};
const int twidTab64[(4*6 + 16*6)/2] = {
- 0x40000000, 0x40000000, 0x40000000, 0x2d412d41,
- 0x3b20187d, 0x187d3b20, 0x00004000, 0x2d412d41,
- 0xd2bf2d41, 0xd2bf2d41, 0x187d3b20, 0xc4e0e783,
-
- 0x40000000, 0x40000000, 0x40000000, 0x3ec50c7c,
- 0x3fb10645, 0x3d3e1294, 0x3b20187d, 0x3ec50c7c,
- 0x3536238e, 0x3536238e, 0x3d3e1294, 0x28993179,
- 0x2d412d41, 0x3b20187d, 0x187d3b20, 0x238e3536,
- 0x38711e2b, 0x06453fb1, 0x187d3b20, 0x3536238e,
- 0xf3843ec5, 0x0c7c3ec5, 0x31792899, 0xe1d53871,
- 0x00004000, 0x2d412d41, 0xd2bf2d41, 0xf3843ec5,
- 0x28993179, 0xc78f1e2b, 0xe7833b20, 0x238e3536,
- 0xc13b0c7c, 0xdc723536, 0x1e2b3871, 0xc04ff9bb,
- 0xd2bf2d41, 0x187d3b20, 0xc4e0e783, 0xcaca238e,
- 0x12943d3e, 0xce87d767, 0xc4e0187d, 0x0c7c3ec5,
- 0xdc72caca, 0xc13b0c7c, 0x06453fb1, 0xed6cc2c2
+ 0x40000000, 0x40000000, 0x40000000, 0x2d412d41,
+ 0x3b20187d, 0x187d3b20, 0x00004000, 0x2d412d41,
+ 0xd2bf2d41, 0xd2bf2d41, 0x187d3b20, 0xc4e0e783,
+
+ 0x40000000, 0x40000000, 0x40000000, 0x3ec50c7c,
+ 0x3fb10645, 0x3d3e1294, 0x3b20187d, 0x3ec50c7c,
+ 0x3536238e, 0x3536238e, 0x3d3e1294, 0x28993179,
+ 0x2d412d41, 0x3b20187d, 0x187d3b20, 0x238e3536,
+ 0x38711e2b, 0x06453fb1, 0x187d3b20, 0x3536238e,
+ 0xf3843ec5, 0x0c7c3ec5, 0x31792899, 0xe1d53871,
+ 0x00004000, 0x2d412d41, 0xd2bf2d41, 0xf3843ec5,
+ 0x28993179, 0xc78f1e2b, 0xe7833b20, 0x238e3536,
+ 0xc13b0c7c, 0xdc723536, 0x1e2b3871, 0xc04ff9bb,
+ 0xd2bf2d41, 0x187d3b20, 0xc4e0e783, 0xcaca238e,
+ 0x12943d3e, 0xce87d767, 0xc4e0187d, 0x0c7c3ec5,
+ 0xdc72caca, 0xc13b0c7c, 0x06453fb1, 0xed6cc2c2
};
#elif defined ARMV7Neon
-/*
- * Q29 for 128 and 1024
+/*
+ * Q29 for 128 and 1024
*
* for (i = 0; i < num/4; i++) {
* angle = (i + 0.125) * M_PI / num;
* x = cos(angle) * (1 << 29);
* x = sin(angle) * (1 << 29);
- *
+ *
* angle = (num/2 - 1 - i + 0.125) * M_PI / num;
* x = cos(angle) * (1 << 29);
* x = sin(angle) * (1 << 29);
@@ -353,313 +353,313 @@ const int twidTab64[(4*6 + 16*6)/2] = {
*/
const int cossintab[128 + 1024] = {
/* 128 */
- 0x1ffff621, 0x001921f9, 0x00afea69, 0x1ffe1c68, 0x1ffce09d, 0x00e22a7a, 0x0178dbaa, 0x1ff753bb,
- 0x1ff4dc55, 0x01ab101c, 0x024192cf, 0x1feb9d25, 0x1fe7ea85, 0x0273b3e2, 0x0309f0e2, 0x1fdafa75,
- 0x1fd60d2e, 0x033bf6dd, 0x03d1d700, 0x1fc56e3b, 0x1fbf470f, 0x0403ba2b, 0x04992653, 0x1faafbcb,
- 0x1fa39bac, 0x04cadefe, 0x055fc022, 0x1f8ba738, 0x1f830f4a, 0x059146a1, 0x062585ca, 0x1f677557,
- 0x1f5da6ed, 0x0656d27a, 0x06ea58cd, 0x1f3e6bbc, 0x1f33685a, 0x071b6415, 0x07ae1ad2, 0x1f1090bd,
- 0x1f045a15, 0x07dedd20, 0x0870ada7, 0x1eddeb6a, 0x1ed0835f, 0x08a11f78, 0x0931f34d, 0x1ea68394,
- 0x1e97ec36, 0x09620d27, 0x09f1cdf5, 0x1e6a61c5, 0x1e5a9d55, 0x0a21886e, 0x0ab02009, 0x1e298f44,
- 0x1e18a030, 0x0adf73c6, 0x0b6ccc32, 0x1de4160f, 0x1dd1fef4, 0x0b9bb1e5, 0x0c27b555, 0x1d9a00de,
- 0x1d86c484, 0x0c5625c3, 0x0ce0bea2, 0x1d4b5b1b, 0x1d36fc7c, 0x0d0eb2a2, 0x0d97cb8f, 0x1cf830e9,
- 0x1ce2b328, 0x0dc53c0a, 0x0e4cbfe2, 0x1ca08f1a, 0x1c89f587, 0x0e79a5d7, 0x0eff7fb3, 0x1c448331,
- 0x1c2cd149, 0x0f2bd437, 0x0fafef73, 0x1be41b61, 0x1bcb54cb, 0x0fdbabae, 0x105df3ec, 0x1b7f6687,
- 0x1b658f15, 0x10891120, 0x11097249, 0x1b16742a, 0x1afb8fd9, 0x1133e9d0, 0x11b25017, 0x1aa9547a,
- 0x1a8d676e, 0x11dc1b65, 0x1258734d, 0x1a38184a, 0x1a1b26d3, 0x12818bef, 0x12fbc24b, 0x19c2d111,
- 0x19a4dfa4, 0x132421ec, 0x139c23e4, 0x194990e4, 0x192aa420, 0x13c3c44a, 0x14397f5b, 0x18cc6a75,
- 0x18ac871f, 0x14605a69, 0x14d3bc6d, 0x184b7112, 0x182a9c14, 0x14f9cc26, 0x156ac352, 0x17c6b89d,
+ 0x1ffff621, 0x001921f9, 0x00afea69, 0x1ffe1c68, 0x1ffce09d, 0x00e22a7a, 0x0178dbaa, 0x1ff753bb,
+ 0x1ff4dc55, 0x01ab101c, 0x024192cf, 0x1feb9d25, 0x1fe7ea85, 0x0273b3e2, 0x0309f0e2, 0x1fdafa75,
+ 0x1fd60d2e, 0x033bf6dd, 0x03d1d700, 0x1fc56e3b, 0x1fbf470f, 0x0403ba2b, 0x04992653, 0x1faafbcb,
+ 0x1fa39bac, 0x04cadefe, 0x055fc022, 0x1f8ba738, 0x1f830f4a, 0x059146a1, 0x062585ca, 0x1f677557,
+ 0x1f5da6ed, 0x0656d27a, 0x06ea58cd, 0x1f3e6bbc, 0x1f33685a, 0x071b6415, 0x07ae1ad2, 0x1f1090bd,
+ 0x1f045a15, 0x07dedd20, 0x0870ada7, 0x1eddeb6a, 0x1ed0835f, 0x08a11f78, 0x0931f34d, 0x1ea68394,
+ 0x1e97ec36, 0x09620d27, 0x09f1cdf5, 0x1e6a61c5, 0x1e5a9d55, 0x0a21886e, 0x0ab02009, 0x1e298f44,
+ 0x1e18a030, 0x0adf73c6, 0x0b6ccc32, 0x1de4160f, 0x1dd1fef4, 0x0b9bb1e5, 0x0c27b555, 0x1d9a00de,
+ 0x1d86c484, 0x0c5625c3, 0x0ce0bea2, 0x1d4b5b1b, 0x1d36fc7c, 0x0d0eb2a2, 0x0d97cb8f, 0x1cf830e9,
+ 0x1ce2b328, 0x0dc53c0a, 0x0e4cbfe2, 0x1ca08f1a, 0x1c89f587, 0x0e79a5d7, 0x0eff7fb3, 0x1c448331,
+ 0x1c2cd149, 0x0f2bd437, 0x0fafef73, 0x1be41b61, 0x1bcb54cb, 0x0fdbabae, 0x105df3ec, 0x1b7f6687,
+ 0x1b658f15, 0x10891120, 0x11097249, 0x1b16742a, 0x1afb8fd9, 0x1133e9d0, 0x11b25017, 0x1aa9547a,
+ 0x1a8d676e, 0x11dc1b65, 0x1258734d, 0x1a38184a, 0x1a1b26d3, 0x12818bef, 0x12fbc24b, 0x19c2d111,
+ 0x19a4dfa4, 0x132421ec, 0x139c23e4, 0x194990e4, 0x192aa420, 0x13c3c44a, 0x14397f5b, 0x18cc6a75,
+ 0x18ac871f, 0x14605a69, 0x14d3bc6d, 0x184b7112, 0x182a9c14, 0x14f9cc26, 0x156ac352, 0x17c6b89d,
0x17a4f708, 0x159001d6, 0x15fe7cbe, 0x173e558e, 0x171bac96, 0x1622e450, 0x168ed1eb, 0x16b25ced,
/* 1024 */
- 0x1fffffd9, 0x0003243f, 0x0015fdba, 0x1ffff872, 0x1ffff382, 0x001c4637, 0x002f1fa6, 0x1fffdd4d,
- 0x1fffd36f, 0x0035681d, 0x00484175, 0x1fffae6c, 0x1fff9f9e, 0x004e89e3, 0x00616318, 0x1fff6bce,
- 0x1fff5811, 0x0067ab77, 0x007a847e, 0x1fff1572, 0x1ffefcc6, 0x0080cccc, 0x0093a599, 0x1ffeab5b,
- 0x1ffe8dbf, 0x0099edd2, 0x00acc658, 0x1ffe2d86, 0x1ffe0afc, 0x00b30e78, 0x00c5e6ad, 0x1ffd9bf6,
- 0x1ffd747c, 0x00cc2eb0, 0x00df0688, 0x1ffcf6aa, 0x1ffcca41, 0x00e54e6a, 0x00f825da, 0x1ffc3da2,
- 0x1ffc0c4b, 0x00fe6d97, 0x01114492, 0x1ffb70e0, 0x1ffb3a9a, 0x01178c27, 0x012a62a2, 0x1ffa9063,
- 0x1ffa552e, 0x0130aa0a, 0x01437ffa, 0x1ff99c2c, 0x1ff95c09, 0x0149c731, 0x015c9c8a, 0x1ff8943c,
- 0x1ff84f2b, 0x0162e38d, 0x0175b843, 0x1ff77893, 0x1ff72e94, 0x017bff0e, 0x018ed316, 0x1ff64932,
- 0x1ff5fa46, 0x019519a5, 0x01a7ecf2, 0x1ff5061b, 0x1ff4b240, 0x01ae3341, 0x01c105c9, 0x1ff3af4c,
- 0x1ff35684, 0x01c74bd5, 0x01da1d8c, 0x1ff244c8, 0x1ff1e713, 0x01e0634f, 0x01f33429, 0x1ff0c68f,
- 0x1ff063ed, 0x01f979a1, 0x020c4993, 0x1fef34a3, 0x1feecd14, 0x02128ebb, 0x02255db9, 0x1fed8f03,
- 0x1fed2287, 0x022ba28f, 0x023e708d, 0x1febd5b2, 0x1feb644a, 0x0244b50b, 0x025781fe, 0x1fea08b0,
- 0x1fe9925c, 0x025dc621, 0x027091fd, 0x1fe827fe, 0x1fe7acbe, 0x0276d5c1, 0x0289a07b, 0x1fe6339d,
- 0x1fe5b372, 0x028fe3dd, 0x02a2ad69, 0x1fe42b90, 0x1fe3a679, 0x02a8f063, 0x02bbb8b6, 0x1fe20fd6,
- 0x1fe185d5, 0x02c1fb46, 0x02d4c253, 0x1fdfe071, 0x1fdf5186, 0x02db0475, 0x02edca32, 0x1fdd9d64,
- 0x1fdd098e, 0x02f40be2, 0x0306d042, 0x1fdb46ae, 0x1fdaadee, 0x030d117c, 0x031fd474, 0x1fd8dc51,
- 0x1fd83ea8, 0x03261534, 0x0338d6b8, 0x1fd65e4f, 0x1fd5bbbd, 0x033f16fb, 0x0351d700, 0x1fd3ccaa,
- 0x1fd32530, 0x035816c1, 0x036ad53c, 0x1fd12763, 0x1fd07b00, 0x03711477, 0x0383d15c, 0x1fce6e7c,
- 0x1fcdbd31, 0x038a100e, 0x039ccb51, 0x1fcba1f5, 0x1fcaebc3, 0x03a30975, 0x03b5c30b, 0x1fc8c1d2,
- 0x1fc806b9, 0x03bc009f, 0x03ceb87c, 0x1fc5ce14, 0x1fc50e14, 0x03d4f57a, 0x03e7ab93, 0x1fc2c6bd,
- 0x1fc201d7, 0x03ede7f9, 0x04009c42, 0x1fbfabcd, 0x1fbee202, 0x0406d80b, 0x04198a78, 0x1fbc7d49,
- 0x1fbbae99, 0x041fc5a1, 0x04327628, 0x1fb93b31, 0x1fb8679c, 0x0438b0ac, 0x044b5f40, 0x1fb5e587,
- 0x1fb50d0e, 0x0451991d, 0x046445b2, 0x1fb27c4e, 0x1fb19ef1, 0x046a7ee3, 0x047d296f, 0x1faeff87,
- 0x1fae1d47, 0x048361f0, 0x04960a67, 0x1fab6f35, 0x1faa8813, 0x049c4235, 0x04aee88b, 0x1fa7cb5a,
- 0x1fa6df56, 0x04b51fa1, 0x04c7c3cb, 0x1fa413f8, 0x1fa32313, 0x04cdfa26, 0x04e09c18, 0x1fa04912,
- 0x1f9f534c, 0x04e6d1b4, 0x04f97163, 0x1f9c6aa9, 0x1f9b7003, 0x04ffa63c, 0x0512439d, 0x1f9878c1,
- 0x1f97793b, 0x051877af, 0x052b12b6, 0x1f94735b, 0x1f936ef6, 0x053145fd, 0x0543de9e, 0x1f905a7a,
- 0x1f8f5137, 0x054a1117, 0x055ca748, 0x1f8c2e21, 0x1f8b2000, 0x0562d8ee, 0x05756ca2, 0x1f87ee52,
- 0x1f86db55, 0x057b9d73, 0x058e2e9f, 0x1f839b10, 0x1f828336, 0x05945e95, 0x05a6ed2e, 0x1f7f345e,
- 0x1f7e17a8, 0x05ad1c47, 0x05bfa840, 0x1f7aba3e, 0x1f7998ad, 0x05c5d678, 0x05d85fc7, 0x1f762cb2,
- 0x1f750647, 0x05de8d19, 0x05f113b3, 0x1f718bbf, 0x1f70607a, 0x05f7401c, 0x0609c3f5, 0x1f6cd766,
- 0x1f6ba748, 0x060fef71, 0x0622707d, 0x1f680fab, 0x1f66dab5, 0x06289b08, 0x063b193c, 0x1f633490,
- 0x1f61fac3, 0x064142d3, 0x0653be23, 0x1f5e4619, 0x1f5d0775, 0x0659e6c2, 0x066c5f24, 0x1f594448,
- 0x1f5800ce, 0x067286c6, 0x0684fc2e, 0x1f542f21, 0x1f52e6d2, 0x068b22d0, 0x069d9532, 0x1f4f06a6,
- 0x1f4db983, 0x06a3bad0, 0x06b62a22, 0x1f49cadc, 0x1f4878e5, 0x06bc4eb9, 0x06cebaee, 0x1f447bc4,
- 0x1f4324fb, 0x06d4de79, 0x06e74786, 0x1f3f1963, 0x1f3dbdc8, 0x06ed6a03, 0x06ffcfdd, 0x1f39a3bc,
- 0x1f384350, 0x0705f147, 0x071853e3, 0x1f341ad2, 0x1f32b595, 0x071e7436, 0x0730d388, 0x1f2e7ea9,
- 0x1f2d149d, 0x0736f2c0, 0x07494ebd, 0x1f28cf43, 0x1f276069, 0x074f6cd7, 0x0761c574, 0x1f230ca5,
- 0x1f2198fd, 0x0767e26c, 0x077a379d, 0x1f1d36d2, 0x1f1bbe5d, 0x07805370, 0x0792a52a, 0x1f174dce,
- 0x1f15d08d, 0x0798bfd3, 0x07ab0e0a, 0x1f11519c, 0x1f0fcf91, 0x07b12786, 0x07c37230, 0x1f0b4240,
- 0x1f09bb6b, 0x07c98a7a, 0x07dbd18c, 0x1f051fbe, 0x1f03941f, 0x07e1e8a1, 0x07f42c0e, 0x1efeea19,
- 0x1efd59b3, 0x07fa41eb, 0x080c81a9, 0x1ef8a155, 0x1ef70c28, 0x0812964a, 0x0824d24d, 0x1ef24577,
- 0x1ef0ab84, 0x082ae5ad, 0x083d1dea, 0x1eebd682, 0x1eea37ca, 0x08433007, 0x08556473, 0x1ee5547a,
- 0x1ee3b0fe, 0x085b7548, 0x086da5d8, 0x1edebf64, 0x1edd1724, 0x0873b562, 0x0885e209, 0x1ed81742,
- 0x1ed66a41, 0x088bf044, 0x089e18f9, 0x1ed15c1a, 0x1ecfaa57, 0x08a425e1, 0x08b64a98, 0x1eca8def,
- 0x1ec8d76c, 0x08bc562a, 0x08ce76d8, 0x1ec3acc6, 0x1ec1f184, 0x08d4810f, 0x08e69da8, 0x1ebcb8a3,
- 0x1ebaf8a3, 0x08eca681, 0x08febefb, 0x1eb5b18a, 0x1eb3eccd, 0x0904c673, 0x0916dac2, 0x1eae977f,
- 0x1eacce07, 0x091ce0d4, 0x092ef0ed, 0x1ea76a87, 0x1ea59c55, 0x0934f596, 0x0947016e, 0x1ea02aa7,
- 0x1e9e57bb, 0x094d04aa, 0x095f0c36, 0x1e98d7e2, 0x1e97003e, 0x09650e01, 0x09771136, 0x1e91723e,
- 0x1e8f95e3, 0x097d118d, 0x098f1060, 0x1e89f9bf, 0x1e8818ad, 0x09950f3f, 0x09a709a4, 0x1e826e69,
- 0x1e8088a2, 0x09ad0707, 0x09befcf4, 0x1e7ad041, 0x1e78e5c7, 0x09c4f8d8, 0x09d6ea40, 0x1e731f4c,
- 0x1e71301f, 0x09dce4a1, 0x09eed17b, 0x1e6b5b8f, 0x1e6967b1, 0x09f4ca56, 0x0a06b296, 0x1e63850e,
- 0x1e618c80, 0x0a0ca9e6, 0x0a1e8d81, 0x1e5b9bce, 0x1e599e91, 0x0a248343, 0x0a36622e, 0x1e539fd4,
- 0x1e519dea, 0x0a3c565e, 0x0a4e308f, 0x1e4b9126, 0x1e498a8e, 0x0a542329, 0x0a65f894, 0x1e436fc7,
- 0x1e416485, 0x0a6be995, 0x0a7dba2f, 0x1e3b3bbd, 0x1e392bd1, 0x0a83a993, 0x0a957551, 0x1e32f50e,
- 0x1e30e079, 0x0a9b6315, 0x0aad29ec, 0x1e2a9bbd, 0x1e288281, 0x0ab3160c, 0x0ac4d7f1, 0x1e222fd1,
- 0x1e2011ee, 0x0acac26a, 0x0adc7f52, 0x1e19b14f, 0x1e178ec7, 0x0ae2681f, 0x0af41fff, 0x1e11203b,
- 0x1e0ef910, 0x0afa071d, 0x0b0bb9eb, 0x1e087c9b, 0x1e0650ce, 0x0b119f56, 0x0b234d07, 0x1dffc674,
- 0x1dfd9606, 0x0b2930bb, 0x0b3ad943, 0x1df6fdcc, 0x1df4c8bf, 0x0b40bb3e, 0x0b525e92, 0x1dee22a9,
- 0x1debe8fd, 0x0b583ecf, 0x0b69dce6, 0x1de5350f, 0x1de2f6c6, 0x0b6fbb62, 0x0b81542f, 0x1ddc3504,
- 0x1dd9f220, 0x0b8730e6, 0x0b98c45f, 0x1dd3228e, 0x1dd0db10, 0x0b9e9f4d, 0x0bb02d68, 0x1dc9fdb2,
- 0x1dc7b19b, 0x0bb6068a, 0x0bc78f3b, 0x1dc0c676, 0x1dbe75c8, 0x0bcd668e, 0x0bdee9ca, 0x1db77cdf,
- 0x1db5279c, 0x0be4bf4a, 0x0bf63d07, 0x1dae20f4, 0x1dabc71d, 0x0bfc10af, 0x0c0d88e2, 0x1da4b2ba,
- 0x1da25450, 0x0c135ab0, 0x0c24cd4e, 0x1d9b3237, 0x1d98cf3b, 0x0c2a9d3e, 0x0c3c0a3d, 0x1d919f70,
- 0x1d8f37e5, 0x0c41d84b, 0x0c533fa0, 0x1d87fa6d, 0x1d858e53, 0x0c590bc9, 0x0c6a6d68, 0x1d7e4332,
- 0x1d7bd28b, 0x0c7037a8, 0x0c819388, 0x1d7479c5, 0x1d720493, 0x0c875bdb, 0x0c98b1f0, 0x1d6a9e2e,
- 0x1d682472, 0x0c9e7854, 0x0cafc894, 0x1d60b070, 0x1d5e322c, 0x0cb58d04, 0x0cc6d764, 0x1d56b094,
- 0x1d542dc9, 0x0ccc99de, 0x0cddde53, 0x1d4c9e9f, 0x1d4a174f, 0x0ce39ed2, 0x0cf4dd52, 0x1d427a97,
- 0x1d3feec3, 0x0cfa9bd2, 0x0d0bd452, 0x1d384483, 0x1d35b42d, 0x0d1190d1, 0x0d22c347, 0x1d2dfc68,
- 0x1d2b6791, 0x0d287dc1, 0x0d39aa21, 0x1d23a24e, 0x1d2108f8, 0x0d3f6292, 0x0d5088d3, 0x1d19363a,
- 0x1d169867, 0x0d563f38, 0x0d675f4e, 0x1d0eb833, 0x1d0c15e4, 0x0d6d13a3, 0x0d7e2d85, 0x1d04283f,
- 0x1d018176, 0x0d83dfc6, 0x0d94f369, 0x1cf98666, 0x1cf6db24, 0x0d9aa393, 0x0dabb0ec, 0x1ceed2ad,
- 0x1cec22f4, 0x0db15efc, 0x0dc26600, 0x1ce40d1b, 0x1ce158ed, 0x0dc811f3, 0x0dd91298, 0x1cd935b7,
- 0x1cd67d15, 0x0ddebc69, 0x0defb6a5, 0x1cce4c87, 0x1ccb8f74, 0x0df55e51, 0x0e065219, 0x1cc35192,
- 0x1cc0900f, 0x0e0bf79c, 0x0e1ce4e6, 0x1cb844df, 0x1cb57eee, 0x0e22883e, 0x0e336eff, 0x1cad2675,
- 0x1caa5c17, 0x0e391027, 0x0e49f055, 0x1ca1f65b, 0x1c9f2792, 0x0e4f8f4b, 0x0e6068db, 0x1c96b497,
- 0x1c93e165, 0x0e66059a, 0x0e76d883, 0x1c8b6131, 0x1c888997, 0x0e7c7308, 0x0e8d3f3e, 0x1c7ffc2f,
- 0x1c7d202f, 0x0e92d787, 0x0ea39d00, 0x1c748599, 0x1c71a535, 0x0ea93308, 0x0eb9f1ba, 0x1c68fd75,
- 0x1c6618ae, 0x0ebf857d, 0x0ed03d5e, 0x1c5d63ca, 0x1c5a7aa4, 0x0ed5ceda, 0x0ee67fdf, 0x1c51b8a1,
- 0x1c4ecb1c, 0x0eec0f10, 0x0efcb92f, 0x1c45fc00, 0x1c430a1d, 0x0f024612, 0x0f12e941, 0x1c3a2ded,
- 0x1c3737b0, 0x0f1873d2, 0x0f291006, 0x1c2e4e72, 0x1c2b53db, 0x0f2e9842, 0x0f3f2d71, 0x1c225d94,
- 0x1c1f5ea6, 0x0f44b354, 0x0f554175, 0x1c165b5b, 0x1c135818, 0x0f5ac4fc, 0x0f6b4c03, 0x1c0a47cf,
- 0x1c074038, 0x0f70cd2a, 0x0f814d0e, 0x1bfe22f8, 0x1bfb170f, 0x0f86cbd3, 0x0f974489, 0x1bf1ecdb,
- 0x1beedca2, 0x0f9cc0e7, 0x0fad3265, 0x1be5a582, 0x1be290fb, 0x0fb2ac5a, 0x0fc31697, 0x1bd94cf4,
- 0x1bd63421, 0x0fc88e1e, 0x0fd8f10f, 0x1bcce337, 0x1bc9c61a, 0x0fde6626, 0x0feec1c0, 0x1bc06855,
- 0x1bbd46f0, 0x0ff43464, 0x1004889e, 0x1bb3dc55, 0x1bb0b6a9, 0x1009f8cb, 0x101a459a, 0x1ba73f3d,
- 0x1ba4154d, 0x101fb34d, 0x102ff8a8, 0x1b9a9117, 0x1b9762e4, 0x103563dc, 0x1045a1b9, 0x1b8dd1ea,
- 0x1b8a9f77, 0x104b0a6c, 0x105b40c1, 0x1b8101be, 0x1b7dcb0c, 0x1060a6ef, 0x1070d5b1, 0x1b74209b,
- 0x1b70e5ac, 0x10763958, 0x1086607e, 0x1b672e88, 0x1b63ef5f, 0x108bc19a, 0x109be119, 0x1b5a2b8e,
- 0x1b56e82c, 0x10a13fa6, 0x10b15775, 0x1b4d17b4, 0x1b49d01c, 0x10b6b371, 0x10c6c385, 0x1b3ff304,
- 0x1b3ca737, 0x10cc1cec, 0x10dc253c, 0x1b32bd84, 0x1b2f6d85, 0x10e17c0b, 0x10f17c8d, 0x1b25773d,
- 0x1b22230e, 0x10f6d0c0, 0x1106c96a, 0x1b182038, 0x1b14c7da, 0x110c1afe, 0x111c0bc6, 0x1b0ab87c,
- 0x1b075bf1, 0x11215ab8, 0x11314395, 0x1afd4012, 0x1af9df5d, 0x11368fe1, 0x114670c8, 0x1aefb702,
- 0x1aec5225, 0x114bba6b, 0x115b9354, 0x1ae21d54, 0x1adeb451, 0x1160da4b, 0x1170ab2a, 0x1ad47311,
- 0x1ad105e9, 0x1175ef72, 0x1185b83f, 0x1ac6b841, 0x1ac346f8, 0x118af9d4, 0x119aba84, 0x1ab8ecec,
- 0x1ab57784, 0x119ff964, 0x11afb1ee, 0x1aab111c, 0x1aa79796, 0x11b4ee14, 0x11c49e6f, 0x1a9d24d9,
- 0x1a99a737, 0x11c9d7d9, 0x11d97ff9, 0x1a8f282b, 0x1a8ba670, 0x11deb6a4, 0x11ee5682, 0x1a811b1b,
- 0x1a7d9549, 0x11f38a6a, 0x120321fa, 0x1a72fdb2, 0x1a6f73ca, 0x1208531c, 0x1217e256, 0x1a64cff8,
- 0x1a6141fd, 0x121d10af, 0x122c9789, 0x1a5691f5, 0x1a52ffeb, 0x1231c316, 0x12414186, 0x1a4843b4,
- 0x1a44ad9b, 0x12466a44, 0x1255e041, 0x1a39e53d, 0x1a364b17, 0x125b062b, 0x126a73ac, 0x1a2b7698,
- 0x1a27d868, 0x126f96c1, 0x127efbbb, 0x1a1cf7ce, 0x1a195597, 0x12841bf6, 0x12937861, 0x1a0e68e9,
- 0x1a0ac2ac, 0x129895c0, 0x12a7e991, 0x19ffc9f1, 0x19fc1fb1, 0x12ad0412, 0x12bc4f40, 0x19f11af0,
- 0x19ed6caf, 0x12c166de, 0x12d0a960, 0x19e25bee, 0x19dea9ae, 0x12d5be18, 0x12e4f7e5, 0x19d38cf4,
- 0x19cfd6b8, 0x12ea09b4, 0x12f93ac2, 0x19c4ae0c, 0x19c0f3d6, 0x12fe49a6, 0x130d71eb, 0x19b5bf3f,
- 0x19b20111, 0x13127de0, 0x13219d53, 0x19a6c096, 0x19a2fe73, 0x1326a656, 0x1335bcef, 0x1997b21b,
- 0x1993ec04, 0x133ac2fc, 0x1349d0b0, 0x198893d6, 0x1984c9ce, 0x134ed3c5, 0x135dd88c, 0x197965d0,
- 0x197597da, 0x1362d8a6, 0x1371d476, 0x196a2815, 0x19665632, 0x1376d191, 0x1385c461, 0x195adaab,
- 0x195704df, 0x138abe7b, 0x1399a841, 0x194b7d9e, 0x1947a3eb, 0x139e9f56, 0x13ad800a, 0x193c10f7,
- 0x1938335e, 0x13b27417, 0x13c14bb0, 0x192c94bf, 0x1928b343, 0x13c63cb2, 0x13d50b26, 0x191d08ff,
- 0x191923a3, 0x13d9f91b, 0x13e8be60, 0x190d6dc1, 0x19098488, 0x13eda944, 0x13fc6553, 0x18fdc310,
- 0x18f9d5fa, 0x14014d23, 0x140ffff1, 0x18ee08f4, 0x18ea1805, 0x1414e4aa, 0x14238e2f, 0x18de3f77,
- 0x18da4ab2, 0x14286fce, 0x14371001, 0x18ce66a3, 0x18ca6e0a, 0x143bee83, 0x144a855b, 0x18be7e82,
- 0x18ba8217, 0x144f60bd, 0x145dee30, 0x18ae871e, 0x18aa86e3, 0x1462c670, 0x14714a76, 0x189e8080,
- 0x189a7c78, 0x14761f8f, 0x14849a1f, 0x188e6ab2, 0x188a62e0, 0x14896c0f, 0x1497dd20, 0x187e45be,
- 0x187a3a25, 0x149cabe4, 0x14ab136d, 0x186e11af, 0x186a0250, 0x14afdf03, 0x14be3cfa, 0x185dce8e,
- 0x1859bb6c, 0x14c3055e, 0x14d159bc, 0x184d7c65, 0x18496583, 0x14d61eeb, 0x14e469a6, 0x183d1b3e,
- 0x1839009e, 0x14e92b9e, 0x14f76cad, 0x182cab24, 0x18288cc8, 0x14fc2b6a, 0x150a62c6, 0x181c2c20,
- 0x18180a0c, 0x150f1e45, 0x151d4be3, 0x180b9e3d, 0x18077873, 0x15220422, 0x153027fb, 0x17fb0185,
- 0x17f6d807, 0x1534dcf6, 0x1542f700, 0x17ea5602, 0x17e628d3, 0x1547a8b5, 0x1555b8e8, 0x17d99bbe,
- 0x17d56ae0, 0x155a6754, 0x15686da7, 0x17c8d2c4, 0x17c49e3b, 0x156d18c7, 0x157b1532, 0x17b7fb1f,
- 0x17b3c2ec, 0x157fbd03, 0x158daf7c, 0x17a714d7, 0x17a2d8fe, 0x159253fb, 0x15a03c7a, 0x17961ff9,
- 0x1791e07b, 0x15a4dda5, 0x15b2bc22, 0x17851c8e, 0x1780d96f, 0x15b759f5, 0x15c52e67, 0x17740aa1,
- 0x176fc3e3, 0x15c9c8e0, 0x15d7933f, 0x1762ea3d, 0x175e9fe2, 0x15dc2a5a, 0x15e9ea9d, 0x1751bb6b,
- 0x174d6d77, 0x15ee7e58, 0x15fc3477, 0x17407e37, 0x173c2cac, 0x1600c4cf, 0x160e70c1, 0x172f32ab,
- 0x172add8c, 0x1612fdb3, 0x16209f70, 0x171dd8d2, 0x17198021, 0x162528fa, 0x1632c078, 0x170c70b7,
- 0x17081477, 0x16374697, 0x1644d3d0, 0x16fafa64, 0x16f69a97, 0x16495680, 0x1656d96a, 0x16e975e4,
- 0x16e5128e, 0x165b58aa, 0x1668d13e, 0x16d7e341, 0x16d37c65, 0x166d4d0a, 0x167abb3e, 0x16c64288,
+ 0x1fffffd9, 0x0003243f, 0x0015fdba, 0x1ffff872, 0x1ffff382, 0x001c4637, 0x002f1fa6, 0x1fffdd4d,
+ 0x1fffd36f, 0x0035681d, 0x00484175, 0x1fffae6c, 0x1fff9f9e, 0x004e89e3, 0x00616318, 0x1fff6bce,
+ 0x1fff5811, 0x0067ab77, 0x007a847e, 0x1fff1572, 0x1ffefcc6, 0x0080cccc, 0x0093a599, 0x1ffeab5b,
+ 0x1ffe8dbf, 0x0099edd2, 0x00acc658, 0x1ffe2d86, 0x1ffe0afc, 0x00b30e78, 0x00c5e6ad, 0x1ffd9bf6,
+ 0x1ffd747c, 0x00cc2eb0, 0x00df0688, 0x1ffcf6aa, 0x1ffcca41, 0x00e54e6a, 0x00f825da, 0x1ffc3da2,
+ 0x1ffc0c4b, 0x00fe6d97, 0x01114492, 0x1ffb70e0, 0x1ffb3a9a, 0x01178c27, 0x012a62a2, 0x1ffa9063,
+ 0x1ffa552e, 0x0130aa0a, 0x01437ffa, 0x1ff99c2c, 0x1ff95c09, 0x0149c731, 0x015c9c8a, 0x1ff8943c,
+ 0x1ff84f2b, 0x0162e38d, 0x0175b843, 0x1ff77893, 0x1ff72e94, 0x017bff0e, 0x018ed316, 0x1ff64932,
+ 0x1ff5fa46, 0x019519a5, 0x01a7ecf2, 0x1ff5061b, 0x1ff4b240, 0x01ae3341, 0x01c105c9, 0x1ff3af4c,
+ 0x1ff35684, 0x01c74bd5, 0x01da1d8c, 0x1ff244c8, 0x1ff1e713, 0x01e0634f, 0x01f33429, 0x1ff0c68f,
+ 0x1ff063ed, 0x01f979a1, 0x020c4993, 0x1fef34a3, 0x1feecd14, 0x02128ebb, 0x02255db9, 0x1fed8f03,
+ 0x1fed2287, 0x022ba28f, 0x023e708d, 0x1febd5b2, 0x1feb644a, 0x0244b50b, 0x025781fe, 0x1fea08b0,
+ 0x1fe9925c, 0x025dc621, 0x027091fd, 0x1fe827fe, 0x1fe7acbe, 0x0276d5c1, 0x0289a07b, 0x1fe6339d,
+ 0x1fe5b372, 0x028fe3dd, 0x02a2ad69, 0x1fe42b90, 0x1fe3a679, 0x02a8f063, 0x02bbb8b6, 0x1fe20fd6,
+ 0x1fe185d5, 0x02c1fb46, 0x02d4c253, 0x1fdfe071, 0x1fdf5186, 0x02db0475, 0x02edca32, 0x1fdd9d64,
+ 0x1fdd098e, 0x02f40be2, 0x0306d042, 0x1fdb46ae, 0x1fdaadee, 0x030d117c, 0x031fd474, 0x1fd8dc51,
+ 0x1fd83ea8, 0x03261534, 0x0338d6b8, 0x1fd65e4f, 0x1fd5bbbd, 0x033f16fb, 0x0351d700, 0x1fd3ccaa,
+ 0x1fd32530, 0x035816c1, 0x036ad53c, 0x1fd12763, 0x1fd07b00, 0x03711477, 0x0383d15c, 0x1fce6e7c,
+ 0x1fcdbd31, 0x038a100e, 0x039ccb51, 0x1fcba1f5, 0x1fcaebc3, 0x03a30975, 0x03b5c30b, 0x1fc8c1d2,
+ 0x1fc806b9, 0x03bc009f, 0x03ceb87c, 0x1fc5ce14, 0x1fc50e14, 0x03d4f57a, 0x03e7ab93, 0x1fc2c6bd,
+ 0x1fc201d7, 0x03ede7f9, 0x04009c42, 0x1fbfabcd, 0x1fbee202, 0x0406d80b, 0x04198a78, 0x1fbc7d49,
+ 0x1fbbae99, 0x041fc5a1, 0x04327628, 0x1fb93b31, 0x1fb8679c, 0x0438b0ac, 0x044b5f40, 0x1fb5e587,
+ 0x1fb50d0e, 0x0451991d, 0x046445b2, 0x1fb27c4e, 0x1fb19ef1, 0x046a7ee3, 0x047d296f, 0x1faeff87,
+ 0x1fae1d47, 0x048361f0, 0x04960a67, 0x1fab6f35, 0x1faa8813, 0x049c4235, 0x04aee88b, 0x1fa7cb5a,
+ 0x1fa6df56, 0x04b51fa1, 0x04c7c3cb, 0x1fa413f8, 0x1fa32313, 0x04cdfa26, 0x04e09c18, 0x1fa04912,
+ 0x1f9f534c, 0x04e6d1b4, 0x04f97163, 0x1f9c6aa9, 0x1f9b7003, 0x04ffa63c, 0x0512439d, 0x1f9878c1,
+ 0x1f97793b, 0x051877af, 0x052b12b6, 0x1f94735b, 0x1f936ef6, 0x053145fd, 0x0543de9e, 0x1f905a7a,
+ 0x1f8f5137, 0x054a1117, 0x055ca748, 0x1f8c2e21, 0x1f8b2000, 0x0562d8ee, 0x05756ca2, 0x1f87ee52,
+ 0x1f86db55, 0x057b9d73, 0x058e2e9f, 0x1f839b10, 0x1f828336, 0x05945e95, 0x05a6ed2e, 0x1f7f345e,
+ 0x1f7e17a8, 0x05ad1c47, 0x05bfa840, 0x1f7aba3e, 0x1f7998ad, 0x05c5d678, 0x05d85fc7, 0x1f762cb2,
+ 0x1f750647, 0x05de8d19, 0x05f113b3, 0x1f718bbf, 0x1f70607a, 0x05f7401c, 0x0609c3f5, 0x1f6cd766,
+ 0x1f6ba748, 0x060fef71, 0x0622707d, 0x1f680fab, 0x1f66dab5, 0x06289b08, 0x063b193c, 0x1f633490,
+ 0x1f61fac3, 0x064142d3, 0x0653be23, 0x1f5e4619, 0x1f5d0775, 0x0659e6c2, 0x066c5f24, 0x1f594448,
+ 0x1f5800ce, 0x067286c6, 0x0684fc2e, 0x1f542f21, 0x1f52e6d2, 0x068b22d0, 0x069d9532, 0x1f4f06a6,
+ 0x1f4db983, 0x06a3bad0, 0x06b62a22, 0x1f49cadc, 0x1f4878e5, 0x06bc4eb9, 0x06cebaee, 0x1f447bc4,
+ 0x1f4324fb, 0x06d4de79, 0x06e74786, 0x1f3f1963, 0x1f3dbdc8, 0x06ed6a03, 0x06ffcfdd, 0x1f39a3bc,
+ 0x1f384350, 0x0705f147, 0x071853e3, 0x1f341ad2, 0x1f32b595, 0x071e7436, 0x0730d388, 0x1f2e7ea9,
+ 0x1f2d149d, 0x0736f2c0, 0x07494ebd, 0x1f28cf43, 0x1f276069, 0x074f6cd7, 0x0761c574, 0x1f230ca5,
+ 0x1f2198fd, 0x0767e26c, 0x077a379d, 0x1f1d36d2, 0x1f1bbe5d, 0x07805370, 0x0792a52a, 0x1f174dce,
+ 0x1f15d08d, 0x0798bfd3, 0x07ab0e0a, 0x1f11519c, 0x1f0fcf91, 0x07b12786, 0x07c37230, 0x1f0b4240,
+ 0x1f09bb6b, 0x07c98a7a, 0x07dbd18c, 0x1f051fbe, 0x1f03941f, 0x07e1e8a1, 0x07f42c0e, 0x1efeea19,
+ 0x1efd59b3, 0x07fa41eb, 0x080c81a9, 0x1ef8a155, 0x1ef70c28, 0x0812964a, 0x0824d24d, 0x1ef24577,
+ 0x1ef0ab84, 0x082ae5ad, 0x083d1dea, 0x1eebd682, 0x1eea37ca, 0x08433007, 0x08556473, 0x1ee5547a,
+ 0x1ee3b0fe, 0x085b7548, 0x086da5d8, 0x1edebf64, 0x1edd1724, 0x0873b562, 0x0885e209, 0x1ed81742,
+ 0x1ed66a41, 0x088bf044, 0x089e18f9, 0x1ed15c1a, 0x1ecfaa57, 0x08a425e1, 0x08b64a98, 0x1eca8def,
+ 0x1ec8d76c, 0x08bc562a, 0x08ce76d8, 0x1ec3acc6, 0x1ec1f184, 0x08d4810f, 0x08e69da8, 0x1ebcb8a3,
+ 0x1ebaf8a3, 0x08eca681, 0x08febefb, 0x1eb5b18a, 0x1eb3eccd, 0x0904c673, 0x0916dac2, 0x1eae977f,
+ 0x1eacce07, 0x091ce0d4, 0x092ef0ed, 0x1ea76a87, 0x1ea59c55, 0x0934f596, 0x0947016e, 0x1ea02aa7,
+ 0x1e9e57bb, 0x094d04aa, 0x095f0c36, 0x1e98d7e2, 0x1e97003e, 0x09650e01, 0x09771136, 0x1e91723e,
+ 0x1e8f95e3, 0x097d118d, 0x098f1060, 0x1e89f9bf, 0x1e8818ad, 0x09950f3f, 0x09a709a4, 0x1e826e69,
+ 0x1e8088a2, 0x09ad0707, 0x09befcf4, 0x1e7ad041, 0x1e78e5c7, 0x09c4f8d8, 0x09d6ea40, 0x1e731f4c,
+ 0x1e71301f, 0x09dce4a1, 0x09eed17b, 0x1e6b5b8f, 0x1e6967b1, 0x09f4ca56, 0x0a06b296, 0x1e63850e,
+ 0x1e618c80, 0x0a0ca9e6, 0x0a1e8d81, 0x1e5b9bce, 0x1e599e91, 0x0a248343, 0x0a36622e, 0x1e539fd4,
+ 0x1e519dea, 0x0a3c565e, 0x0a4e308f, 0x1e4b9126, 0x1e498a8e, 0x0a542329, 0x0a65f894, 0x1e436fc7,
+ 0x1e416485, 0x0a6be995, 0x0a7dba2f, 0x1e3b3bbd, 0x1e392bd1, 0x0a83a993, 0x0a957551, 0x1e32f50e,
+ 0x1e30e079, 0x0a9b6315, 0x0aad29ec, 0x1e2a9bbd, 0x1e288281, 0x0ab3160c, 0x0ac4d7f1, 0x1e222fd1,
+ 0x1e2011ee, 0x0acac26a, 0x0adc7f52, 0x1e19b14f, 0x1e178ec7, 0x0ae2681f, 0x0af41fff, 0x1e11203b,
+ 0x1e0ef910, 0x0afa071d, 0x0b0bb9eb, 0x1e087c9b, 0x1e0650ce, 0x0b119f56, 0x0b234d07, 0x1dffc674,
+ 0x1dfd9606, 0x0b2930bb, 0x0b3ad943, 0x1df6fdcc, 0x1df4c8bf, 0x0b40bb3e, 0x0b525e92, 0x1dee22a9,
+ 0x1debe8fd, 0x0b583ecf, 0x0b69dce6, 0x1de5350f, 0x1de2f6c6, 0x0b6fbb62, 0x0b81542f, 0x1ddc3504,
+ 0x1dd9f220, 0x0b8730e6, 0x0b98c45f, 0x1dd3228e, 0x1dd0db10, 0x0b9e9f4d, 0x0bb02d68, 0x1dc9fdb2,
+ 0x1dc7b19b, 0x0bb6068a, 0x0bc78f3b, 0x1dc0c676, 0x1dbe75c8, 0x0bcd668e, 0x0bdee9ca, 0x1db77cdf,
+ 0x1db5279c, 0x0be4bf4a, 0x0bf63d07, 0x1dae20f4, 0x1dabc71d, 0x0bfc10af, 0x0c0d88e2, 0x1da4b2ba,
+ 0x1da25450, 0x0c135ab0, 0x0c24cd4e, 0x1d9b3237, 0x1d98cf3b, 0x0c2a9d3e, 0x0c3c0a3d, 0x1d919f70,
+ 0x1d8f37e5, 0x0c41d84b, 0x0c533fa0, 0x1d87fa6d, 0x1d858e53, 0x0c590bc9, 0x0c6a6d68, 0x1d7e4332,
+ 0x1d7bd28b, 0x0c7037a8, 0x0c819388, 0x1d7479c5, 0x1d720493, 0x0c875bdb, 0x0c98b1f0, 0x1d6a9e2e,
+ 0x1d682472, 0x0c9e7854, 0x0cafc894, 0x1d60b070, 0x1d5e322c, 0x0cb58d04, 0x0cc6d764, 0x1d56b094,
+ 0x1d542dc9, 0x0ccc99de, 0x0cddde53, 0x1d4c9e9f, 0x1d4a174f, 0x0ce39ed2, 0x0cf4dd52, 0x1d427a97,
+ 0x1d3feec3, 0x0cfa9bd2, 0x0d0bd452, 0x1d384483, 0x1d35b42d, 0x0d1190d1, 0x0d22c347, 0x1d2dfc68,
+ 0x1d2b6791, 0x0d287dc1, 0x0d39aa21, 0x1d23a24e, 0x1d2108f8, 0x0d3f6292, 0x0d5088d3, 0x1d19363a,
+ 0x1d169867, 0x0d563f38, 0x0d675f4e, 0x1d0eb833, 0x1d0c15e4, 0x0d6d13a3, 0x0d7e2d85, 0x1d04283f,
+ 0x1d018176, 0x0d83dfc6, 0x0d94f369, 0x1cf98666, 0x1cf6db24, 0x0d9aa393, 0x0dabb0ec, 0x1ceed2ad,
+ 0x1cec22f4, 0x0db15efc, 0x0dc26600, 0x1ce40d1b, 0x1ce158ed, 0x0dc811f3, 0x0dd91298, 0x1cd935b7,
+ 0x1cd67d15, 0x0ddebc69, 0x0defb6a5, 0x1cce4c87, 0x1ccb8f74, 0x0df55e51, 0x0e065219, 0x1cc35192,
+ 0x1cc0900f, 0x0e0bf79c, 0x0e1ce4e6, 0x1cb844df, 0x1cb57eee, 0x0e22883e, 0x0e336eff, 0x1cad2675,
+ 0x1caa5c17, 0x0e391027, 0x0e49f055, 0x1ca1f65b, 0x1c9f2792, 0x0e4f8f4b, 0x0e6068db, 0x1c96b497,
+ 0x1c93e165, 0x0e66059a, 0x0e76d883, 0x1c8b6131, 0x1c888997, 0x0e7c7308, 0x0e8d3f3e, 0x1c7ffc2f,
+ 0x1c7d202f, 0x0e92d787, 0x0ea39d00, 0x1c748599, 0x1c71a535, 0x0ea93308, 0x0eb9f1ba, 0x1c68fd75,
+ 0x1c6618ae, 0x0ebf857d, 0x0ed03d5e, 0x1c5d63ca, 0x1c5a7aa4, 0x0ed5ceda, 0x0ee67fdf, 0x1c51b8a1,
+ 0x1c4ecb1c, 0x0eec0f10, 0x0efcb92f, 0x1c45fc00, 0x1c430a1d, 0x0f024612, 0x0f12e941, 0x1c3a2ded,
+ 0x1c3737b0, 0x0f1873d2, 0x0f291006, 0x1c2e4e72, 0x1c2b53db, 0x0f2e9842, 0x0f3f2d71, 0x1c225d94,
+ 0x1c1f5ea6, 0x0f44b354, 0x0f554175, 0x1c165b5b, 0x1c135818, 0x0f5ac4fc, 0x0f6b4c03, 0x1c0a47cf,
+ 0x1c074038, 0x0f70cd2a, 0x0f814d0e, 0x1bfe22f8, 0x1bfb170f, 0x0f86cbd3, 0x0f974489, 0x1bf1ecdb,
+ 0x1beedca2, 0x0f9cc0e7, 0x0fad3265, 0x1be5a582, 0x1be290fb, 0x0fb2ac5a, 0x0fc31697, 0x1bd94cf4,
+ 0x1bd63421, 0x0fc88e1e, 0x0fd8f10f, 0x1bcce337, 0x1bc9c61a, 0x0fde6626, 0x0feec1c0, 0x1bc06855,
+ 0x1bbd46f0, 0x0ff43464, 0x1004889e, 0x1bb3dc55, 0x1bb0b6a9, 0x1009f8cb, 0x101a459a, 0x1ba73f3d,
+ 0x1ba4154d, 0x101fb34d, 0x102ff8a8, 0x1b9a9117, 0x1b9762e4, 0x103563dc, 0x1045a1b9, 0x1b8dd1ea,
+ 0x1b8a9f77, 0x104b0a6c, 0x105b40c1, 0x1b8101be, 0x1b7dcb0c, 0x1060a6ef, 0x1070d5b1, 0x1b74209b,
+ 0x1b70e5ac, 0x10763958, 0x1086607e, 0x1b672e88, 0x1b63ef5f, 0x108bc19a, 0x109be119, 0x1b5a2b8e,
+ 0x1b56e82c, 0x10a13fa6, 0x10b15775, 0x1b4d17b4, 0x1b49d01c, 0x10b6b371, 0x10c6c385, 0x1b3ff304,
+ 0x1b3ca737, 0x10cc1cec, 0x10dc253c, 0x1b32bd84, 0x1b2f6d85, 0x10e17c0b, 0x10f17c8d, 0x1b25773d,
+ 0x1b22230e, 0x10f6d0c0, 0x1106c96a, 0x1b182038, 0x1b14c7da, 0x110c1afe, 0x111c0bc6, 0x1b0ab87c,
+ 0x1b075bf1, 0x11215ab8, 0x11314395, 0x1afd4012, 0x1af9df5d, 0x11368fe1, 0x114670c8, 0x1aefb702,
+ 0x1aec5225, 0x114bba6b, 0x115b9354, 0x1ae21d54, 0x1adeb451, 0x1160da4b, 0x1170ab2a, 0x1ad47311,
+ 0x1ad105e9, 0x1175ef72, 0x1185b83f, 0x1ac6b841, 0x1ac346f8, 0x118af9d4, 0x119aba84, 0x1ab8ecec,
+ 0x1ab57784, 0x119ff964, 0x11afb1ee, 0x1aab111c, 0x1aa79796, 0x11b4ee14, 0x11c49e6f, 0x1a9d24d9,
+ 0x1a99a737, 0x11c9d7d9, 0x11d97ff9, 0x1a8f282b, 0x1a8ba670, 0x11deb6a4, 0x11ee5682, 0x1a811b1b,
+ 0x1a7d9549, 0x11f38a6a, 0x120321fa, 0x1a72fdb2, 0x1a6f73ca, 0x1208531c, 0x1217e256, 0x1a64cff8,
+ 0x1a6141fd, 0x121d10af, 0x122c9789, 0x1a5691f5, 0x1a52ffeb, 0x1231c316, 0x12414186, 0x1a4843b4,
+ 0x1a44ad9b, 0x12466a44, 0x1255e041, 0x1a39e53d, 0x1a364b17, 0x125b062b, 0x126a73ac, 0x1a2b7698,
+ 0x1a27d868, 0x126f96c1, 0x127efbbb, 0x1a1cf7ce, 0x1a195597, 0x12841bf6, 0x12937861, 0x1a0e68e9,
+ 0x1a0ac2ac, 0x129895c0, 0x12a7e991, 0x19ffc9f1, 0x19fc1fb1, 0x12ad0412, 0x12bc4f40, 0x19f11af0,
+ 0x19ed6caf, 0x12c166de, 0x12d0a960, 0x19e25bee, 0x19dea9ae, 0x12d5be18, 0x12e4f7e5, 0x19d38cf4,
+ 0x19cfd6b8, 0x12ea09b4, 0x12f93ac2, 0x19c4ae0c, 0x19c0f3d6, 0x12fe49a6, 0x130d71eb, 0x19b5bf3f,
+ 0x19b20111, 0x13127de0, 0x13219d53, 0x19a6c096, 0x19a2fe73, 0x1326a656, 0x1335bcef, 0x1997b21b,
+ 0x1993ec04, 0x133ac2fc, 0x1349d0b0, 0x198893d6, 0x1984c9ce, 0x134ed3c5, 0x135dd88c, 0x197965d0,
+ 0x197597da, 0x1362d8a6, 0x1371d476, 0x196a2815, 0x19665632, 0x1376d191, 0x1385c461, 0x195adaab,
+ 0x195704df, 0x138abe7b, 0x1399a841, 0x194b7d9e, 0x1947a3eb, 0x139e9f56, 0x13ad800a, 0x193c10f7,
+ 0x1938335e, 0x13b27417, 0x13c14bb0, 0x192c94bf, 0x1928b343, 0x13c63cb2, 0x13d50b26, 0x191d08ff,
+ 0x191923a3, 0x13d9f91b, 0x13e8be60, 0x190d6dc1, 0x19098488, 0x13eda944, 0x13fc6553, 0x18fdc310,
+ 0x18f9d5fa, 0x14014d23, 0x140ffff1, 0x18ee08f4, 0x18ea1805, 0x1414e4aa, 0x14238e2f, 0x18de3f77,
+ 0x18da4ab2, 0x14286fce, 0x14371001, 0x18ce66a3, 0x18ca6e0a, 0x143bee83, 0x144a855b, 0x18be7e82,
+ 0x18ba8217, 0x144f60bd, 0x145dee30, 0x18ae871e, 0x18aa86e3, 0x1462c670, 0x14714a76, 0x189e8080,
+ 0x189a7c78, 0x14761f8f, 0x14849a1f, 0x188e6ab2, 0x188a62e0, 0x14896c0f, 0x1497dd20, 0x187e45be,
+ 0x187a3a25, 0x149cabe4, 0x14ab136d, 0x186e11af, 0x186a0250, 0x14afdf03, 0x14be3cfa, 0x185dce8e,
+ 0x1859bb6c, 0x14c3055e, 0x14d159bc, 0x184d7c65, 0x18496583, 0x14d61eeb, 0x14e469a6, 0x183d1b3e,
+ 0x1839009e, 0x14e92b9e, 0x14f76cad, 0x182cab24, 0x18288cc8, 0x14fc2b6a, 0x150a62c6, 0x181c2c20,
+ 0x18180a0c, 0x150f1e45, 0x151d4be3, 0x180b9e3d, 0x18077873, 0x15220422, 0x153027fb, 0x17fb0185,
+ 0x17f6d807, 0x1534dcf6, 0x1542f700, 0x17ea5602, 0x17e628d3, 0x1547a8b5, 0x1555b8e8, 0x17d99bbe,
+ 0x17d56ae0, 0x155a6754, 0x15686da7, 0x17c8d2c4, 0x17c49e3b, 0x156d18c7, 0x157b1532, 0x17b7fb1f,
+ 0x17b3c2ec, 0x157fbd03, 0x158daf7c, 0x17a714d7, 0x17a2d8fe, 0x159253fb, 0x15a03c7a, 0x17961ff9,
+ 0x1791e07b, 0x15a4dda5, 0x15b2bc22, 0x17851c8e, 0x1780d96f, 0x15b759f5, 0x15c52e67, 0x17740aa1,
+ 0x176fc3e3, 0x15c9c8e0, 0x15d7933f, 0x1762ea3d, 0x175e9fe2, 0x15dc2a5a, 0x15e9ea9d, 0x1751bb6b,
+ 0x174d6d77, 0x15ee7e58, 0x15fc3477, 0x17407e37, 0x173c2cac, 0x1600c4cf, 0x160e70c1, 0x172f32ab,
+ 0x172add8c, 0x1612fdb3, 0x16209f70, 0x171dd8d2, 0x17198021, 0x162528fa, 0x1632c078, 0x170c70b7,
+ 0x17081477, 0x16374697, 0x1644d3d0, 0x16fafa64, 0x16f69a97, 0x16495680, 0x1656d96a, 0x16e975e4,
+ 0x16e5128e, 0x165b58aa, 0x1668d13e, 0x16d7e341, 0x16d37c65, 0x166d4d0a, 0x167abb3e, 0x16c64288,
0x16c1d827, 0x167f3394, 0x168c9760, 0x16b493c2, 0x16b025e0, 0x16910c3d, 0x169e659a, 0x16a2d6fb
};
const int twidTab512[8*6 + 32*6 + 128*6] = {
- 0x20000000, 0x00000000, 0x1d906bcf, 0x0c3ef153, 0x16a09e66, 0x16a09e66, 0x0c3ef153, 0x1d906bcf,
- 0x20000000, 0x00000000, 0x1f6297d0, 0x063e2e0f, 0x1d906bcf, 0x0c3ef153, 0x1a9b6629, 0x11c73b3a,
- 0x20000000, 0x00000000, 0x1a9b6629, 0x11c73b3a, 0x0c3ef153, 0x1d906bcf, 0xf9c1d1f1, 0x1f6297d0,
- 0x00000000, 0x20000000, 0xf3c10ead, 0x1d906bcf, 0xe95f619a, 0x16a09e66, 0xe26f9431, 0x0c3ef153,
- 0x16a09e66, 0x16a09e66, 0x11c73b3a, 0x1a9b6629, 0x0c3ef153, 0x1d906bcf, 0x063e2e0f, 0x1f6297d0,
- 0xe95f619a, 0x16a09e66, 0xe09d6830, 0x063e2e0f, 0xe26f9431, 0xf3c10ead, 0xee38c4c6, 0xe56499d7,
-
- 0x20000000, 0x00000000, 0x1fd88da4, 0x0322f4d8, 0x1f6297d0, 0x063e2e0f, 0x1e9f4157, 0x094a0317,
- 0x20000000, 0x00000000, 0x1ff621e3, 0x0191f65f, 0x1fd88da4, 0x0322f4d8, 0x1fa7557f, 0x04b2041c,
- 0x20000000, 0x00000000, 0x1fa7557f, 0x04b2041c, 0x1e9f4157, 0x094a0317, 0x1ced7af4, 0x0dae8805,
- 0x1d906bcf, 0x0c3ef153, 0x1c38b2f2, 0x0f15ae9c, 0x1a9b6629, 0x11c73b3a, 0x18bc806b, 0x144cf325,
- 0x1f6297d0, 0x063e2e0f, 0x1f0a7efc, 0x07c67e5f, 0x1e9f4157, 0x094a0317, 0x1e212105, 0x0ac7cd3b,
- 0x1a9b6629, 0x11c73b3a, 0x17b5df22, 0x157d6935, 0x144cf325, 0x18bc806b, 0x10738799, 0x1b728345,
- 0x16a09e66, 0x16a09e66, 0x144cf325, 0x18bc806b, 0x11c73b3a, 0x1a9b6629, 0x0f15ae9c, 0x1c38b2f2,
- 0x1d906bcf, 0x0c3ef153, 0x1ced7af4, 0x0dae8805, 0x1c38b2f2, 0x0f15ae9c, 0x1b728345, 0x10738799,
- 0x0c3ef153, 0x1d906bcf, 0x07c67e5f, 0x1f0a7efc, 0x0322f4d8, 0x1fd88da4, 0xfe6e09a1, 0x1ff621e3,
- 0x0c3ef153, 0x1d906bcf, 0x094a0317, 0x1e9f4157, 0x063e2e0f, 0x1f6297d0, 0x0322f4d8, 0x1fd88da4,
- 0x1a9b6629, 0x11c73b3a, 0x19b3e048, 0x130ff7fd, 0x18bc806b, 0x144cf325, 0x17b5df22, 0x157d6935,
- 0xf9c1d1f1, 0x1f6297d0, 0xf53832c5, 0x1e212105, 0xf0ea5164, 0x1c38b2f2, 0xecf00803, 0x19b3e048,
- 0x00000000, 0x20000000, 0xfcdd0b28, 0x1fd88da4, 0xf9c1d1f1, 0x1f6297d0, 0xf6b5fce9, 0x1e9f4157,
- 0x16a09e66, 0x16a09e66, 0x157d6935, 0x17b5df22, 0x144cf325, 0x18bc806b, 0x130ff7fd, 0x19b3e048,
- 0xe95f619a, 0x16a09e66, 0xe64c1fb8, 0x130ff7fd, 0xe3c74d0e, 0x0f15ae9c, 0xe1dedefb, 0x0ac7cd3b,
- 0xf3c10ead, 0x1d906bcf, 0xf0ea5164, 0x1c38b2f2, 0xee38c4c6, 0x1a9b6629, 0xebb30cdb, 0x18bc806b,
- 0x11c73b3a, 0x1a9b6629, 0x10738799, 0x1b728345, 0x0f15ae9c, 0x1c38b2f2, 0x0dae8805, 0x1ced7af4,
- 0xe09d6830, 0x063e2e0f, 0xe009de1d, 0x0191f65f, 0xe027725c, 0xfcdd0b28, 0xe0f58104, 0xf83981a1,
- 0xe95f619a, 0x16a09e66, 0xe7437f95, 0x144cf325, 0xe56499d7, 0x11c73b3a, 0xe3c74d0e, 0x0f15ae9c,
- 0x0c3ef153, 0x1d906bcf, 0x0ac7cd3b, 0x1e212105, 0x094a0317, 0x1e9f4157, 0x07c67e5f, 0x1f0a7efc,
- 0xe26f9431, 0xf3c10ead, 0xe48d7cbb, 0xef8c7867, 0xe7437f95, 0xebb30cdb, 0xea8296cb, 0xe84a20de,
- 0xe26f9431, 0x0c3ef153, 0xe160bea9, 0x094a0317, 0xe09d6830, 0x063e2e0f, 0xe027725c, 0x0322f4d8,
- 0x063e2e0f, 0x1f6297d0, 0x04b2041c, 0x1fa7557f, 0x0322f4d8, 0x1fd88da4, 0x0191f65f, 0x1ff621e3,
- 0xee38c4c6, 0xe56499d7, 0xf25177fb, 0xe312850c, 0xf6b5fce9, 0xe160bea9, 0xfb4dfbe4, 0xe058aa81,
-
- 0x20000000, 0x00000000, 0x1ffd8861, 0x00c90ab0, 0x1ff621e3, 0x0191f65f, 0x1fe9cdad, 0x025aa412,
- 0x20000000, 0x00000000, 0x1fff6217, 0x00648748, 0x1ffd8861, 0x00c90ab0, 0x1ffa72f0, 0x012d8657,
- 0x20000000, 0x00000000, 0x1ffa72f0, 0x012d8657, 0x1fe9cdad, 0x025aa412, 0x1fce15fd, 0x0386f0b9,
- 0x1fd88da4, 0x0322f4d8, 0x1fc26471, 0x03eac9cb, 0x1fa7557f, 0x04b2041c, 0x1f8764fa, 0x05788511,
- 0x1ff621e3, 0x0191f65f, 0x1ff09566, 0x01f656e8, 0x1fe9cdad, 0x025aa412, 0x1fe1cafd, 0x02beda01,
- 0x1fa7557f, 0x04b2041c, 0x1f7599a4, 0x05db7678, 0x1f38f3ac, 0x0702e09b, 0x1ef178a4, 0x0827dc07,
- 0x1f6297d0, 0x063e2e0f, 0x1f38f3ac, 0x0702e09b, 0x1f0a7efc, 0x07c67e5f, 0x1ed740e7, 0x0888e931,
- 0x1fd88da4, 0x0322f4d8, 0x1fce15fd, 0x0386f0b9, 0x1fc26471, 0x03eac9cb, 0x1fb57972, 0x044e7c34,
- 0x1e9f4157, 0x094a0317, 0x1e426a4b, 0x0a68f121, 0x1ddb13b7, 0x0b844298, 0x1d696174, 0x0c9b9532,
- 0x1e9f4157, 0x094a0317, 0x1e6288ec, 0x0a09ae4a, 0x1e212105, 0x0ac7cd3b, 0x1ddb13b7, 0x0b844298,
- 0x1fa7557f, 0x04b2041c, 0x1f97f925, 0x05155dac, 0x1f8764fa, 0x05788511, 0x1f7599a4, 0x05db7678,
- 0x1ced7af4, 0x0dae8805, 0x1c678b35, 0x0ebcbbae, 0x1bd7c0ac, 0x0fc5d26e, 0x1b3e4d3f, 0x10c9704d,
- 0x1d906bcf, 0x0c3ef153, 0x1d4134d1, 0x0cf7bca2, 0x1ced7af4, 0x0dae8805, 0x1c954b21, 0x0e63374d,
- 0x1f6297d0, 0x063e2e0f, 0x1f4e603b, 0x06a0a809, 0x1f38f3ac, 0x0702e09b, 0x1f2252f7, 0x0764d3f9,
- 0x1a9b6629, 0x11c73b3a, 0x19ef43ef, 0x12bedb26, 0x193a224a, 0x13affa29, 0x187c4010, 0x149a449c,
- 0x1c38b2f2, 0x0f15ae9c, 0x1bd7c0ac, 0x0fc5d26e, 0x1b728345, 0x10738799, 0x1b090a58, 0x111eb354,
- 0x1f0a7efc, 0x07c67e5f, 0x1ef178a4, 0x0827dc07, 0x1ed740e7, 0x0888e931, 0x1ebbd8c9, 0x08e9a220,
- 0x17b5df22, 0x157d6935, 0x16e74455, 0x16591926, 0x1610b755, 0x172d0838, 0x15328293, 0x17f8ece3,
- 0x1a9b6629, 0x11c73b3a, 0x1a29a7a0, 0x126d054d, 0x19b3e048, 0x130ff7fd, 0x193a224a, 0x13affa29,
- 0x1e9f4157, 0x094a0317, 0x1e817bab, 0x09aa0861, 0x1e6288ec, 0x0a09ae4a, 0x1e426a4b, 0x0a68f121,
- 0x144cf325, 0x18bc806b, 0x136058b1, 0x19777ef5, 0x126d054d, 0x1a29a7a0, 0x11734d64, 0x1ad2bc9e,
- 0x18bc806b, 0x144cf325, 0x183b0e0c, 0x14e6cabc, 0x17b5df22, 0x157d6935, 0x172d0838, 0x1610b755,
- 0x1e212105, 0x0ac7cd3b, 0x1dfeae62, 0x0b263eef, 0x1ddb13b7, 0x0b844298, 0x1db65262, 0x0be1d499,
- 0x10738799, 0x1b728345, 0x0f6e0ca9, 0x1c08c426, 0x0e63374d, 0x1c954b21, 0x0d536416, 0x1d17e774,
- 0x16a09e66, 0x16a09e66, 0x1610b755, 0x172d0838, 0x157d6935, 0x17b5df22, 0x14e6cabc, 0x183b0e0c,
- 0x1d906bcf, 0x0c3ef153, 0x1d696174, 0x0c9b9532, 0x1d4134d1, 0x0cf7bca2, 0x1d17e774, 0x0d536416,
- 0x0c3ef153, 0x1d906bcf, 0x0b263eef, 0x1dfeae62, 0x0a09ae4a, 0x1e6288ec, 0x08e9a220, 0x1ebbd8c9,
- 0x144cf325, 0x18bc806b, 0x13affa29, 0x193a224a, 0x130ff7fd, 0x19b3e048, 0x126d054d, 0x1a29a7a0,
- 0x1ced7af4, 0x0dae8805, 0x1cc1f0f4, 0x0e0924ec, 0x1c954b21, 0x0e63374d, 0x1c678b35, 0x0ebcbbae,
- 0x07c67e5f, 0x1f0a7efc, 0x06a0a809, 0x1f4e603b, 0x05788511, 0x1f8764fa, 0x044e7c34, 0x1fb57972,
- 0x11c73b3a, 0x1a9b6629, 0x111eb354, 0x1b090a58, 0x10738799, 0x1b728345, 0x0fc5d26e, 0x1bd7c0ac,
- 0x1c38b2f2, 0x0f15ae9c, 0x1c08c426, 0x0f6e0ca9, 0x1bd7c0ac, 0x0fc5d26e, 0x1ba5aa67, 0x101cfc87,
- 0x0322f4d8, 0x1fd88da4, 0x01f656e8, 0x1ff09566, 0x00c90ab0, 0x1ffd8861, 0xff9b78b8, 0x1fff6217,
- 0x0f15ae9c, 0x1c38b2f2, 0x0e63374d, 0x1c954b21, 0x0dae8805, 0x1ced7af4, 0x0cf7bca2, 0x1d4134d1,
- 0x1b728345, 0x10738799, 0x1b3e4d3f, 0x10c9704d, 0x1b090a58, 0x111eb354, 0x1ad2bc9e, 0x11734d64,
- 0xfe6e09a1, 0x1ff621e3, 0xfd4125ff, 0x1fe1cafd, 0xfc153635, 0x1fc26471, 0xfaeaa254, 0x1f97f925,
- 0x0c3ef153, 0x1d906bcf, 0x0b844298, 0x1ddb13b7, 0x0ac7cd3b, 0x1e212105, 0x0a09ae4a, 0x1e6288ec,
- 0x1a9b6629, 0x11c73b3a, 0x1a63091b, 0x121a7999, 0x1a29a7a0, 0x126d054d, 0x19ef43ef, 0x12bedb26,
- 0xf9c1d1f1, 0x1f6297d0, 0xf89b2c07, 0x1f2252f7, 0xf77716cf, 0x1ed740e7, 0xf655f79f, 0x1e817bab,
- 0x094a0317, 0x1e9f4157, 0x0888e931, 0x1ed740e7, 0x07c67e5f, 0x1f0a7efc, 0x0702e09b, 0x1f38f3ac,
- 0x19b3e048, 0x130ff7fd, 0x19777ef5, 0x136058b1, 0x193a224a, 0x13affa29, 0x18fbcca4, 0x13fed953,
- 0xf53832c5, 0x1e212105, 0xf41e2b67, 0x1db65262, 0xf308435e, 0x1d4134d1, 0xf1f6db14, 0x1cc1f0f4,
- 0x063e2e0f, 0x1f6297d0, 0x05788511, 0x1f8764fa, 0x04b2041c, 0x1fa7557f, 0x03eac9cb, 0x1fc26471,
- 0x18bc806b, 0x144cf325, 0x187c4010, 0x149a449c, 0x183b0e0c, 0x14e6cabc, 0x17f8ece3, 0x15328293,
- 0xf0ea5164, 0x1c38b2f2, 0xefe30379, 0x1ba5aa67, 0xeee14cac, 0x1b090a58, 0xede58667, 0x1a63091b,
- 0x0322f4d8, 0x1fd88da4, 0x025aa412, 0x1fe9cdad, 0x0191f65f, 0x1ff621e3, 0x00c90ab0, 0x1ffd8861,
- 0x17b5df22, 0x157d6935, 0x1771e75f, 0x15c77bbe, 0x172d0838, 0x1610b755, 0x16e74455, 0x16591926,
- 0xecf00803, 0x19b3e048, 0xec0126ad, 0x18fbcca4, 0xeb193544, 0x183b0e0c, 0xea388442, 0x1771e75f,
- 0x00000000, 0x20000000, 0xff36f550, 0x1ffd8861, 0xfe6e09a1, 0x1ff621e3, 0xfda55bee, 0x1fe9cdad,
- 0x16a09e66, 0x16a09e66, 0x16591926, 0x16e74455, 0x1610b755, 0x172d0838, 0x15c77bbe, 0x1771e75f,
- 0xe95f619a, 0x16a09e66, 0xe88e18a1, 0x15c77bbe, 0xe7c4f1f4, 0x14e6cabc, 0xe704335c, 0x13fed953,
- 0xfcdd0b28, 0x1fd88da4, 0xfc153635, 0x1fc26471, 0xfb4dfbe4, 0x1fa7557f, 0xfa877aef, 0x1f8764fa,
- 0x157d6935, 0x17b5df22, 0x15328293, 0x17f8ece3, 0x14e6cabc, 0x183b0e0c, 0x149a449c, 0x187c4010,
- 0xe64c1fb8, 0x130ff7fd, 0xe59cf6e5, 0x121a7999, 0xe4f6f5a8, 0x111eb354, 0xe45a5599, 0x101cfc87,
- 0xf9c1d1f1, 0x1f6297d0, 0xf8fd1f65, 0x1f38f3ac, 0xf83981a1, 0x1f0a7efc, 0xf77716cf, 0x1ed740e7,
- 0x144cf325, 0x18bc806b, 0x13fed953, 0x18fbcca4, 0x13affa29, 0x193a224a, 0x136058b1, 0x19777ef5,
- 0xe3c74d0e, 0x0f15ae9c, 0xe33e0f0c, 0x0e0924ec, 0xe2becb2f, 0x0cf7bca2, 0xe249ad9e, 0x0be1d499,
- 0xf6b5fce9, 0x1e9f4157, 0xf5f651b6, 0x1e6288ec, 0xf53832c5, 0x1e212105, 0xf47bbd68, 0x1ddb13b7,
- 0x130ff7fd, 0x19b3e048, 0x12bedb26, 0x19ef43ef, 0x126d054d, 0x1a29a7a0, 0x121a7999, 0x1a63091b,
- 0xe1dedefb, 0x0ac7cd3b, 0xe17e8455, 0x09aa0861, 0xe128bf19, 0x0888e931, 0xe0ddad09, 0x0764d3f9,
- 0xf3c10ead, 0x1d906bcf, 0xf308435e, 0x1d4134d1, 0xf25177fb, 0x1ced7af4, 0xf19cc8b3, 0x1c954b21,
- 0x11c73b3a, 0x1a9b6629, 0x11734d64, 0x1ad2bc9e, 0x111eb354, 0x1b090a58, 0x10c9704d, 0x1b3e4d3f,
- 0xe09d6830, 0x063e2e0f, 0xe06806db, 0x05155dac, 0xe03d9b8f, 0x03eac9cb, 0xe01e3503, 0x02beda01,
- 0xf0ea5164, 0x1c38b2f2, 0xf03a2d92, 0x1bd7c0ac, 0xef8c7867, 0x1b728345, 0xeee14cac, 0x1b090a58,
- 0x10738799, 0x1b728345, 0x101cfc87, 0x1ba5aa67, 0x0fc5d26e, 0x1bd7c0ac, 0x0f6e0ca9, 0x1c08c426,
- 0xe009de1d, 0x0191f65f, 0xe0009de9, 0x00648748, 0xe002779f, 0xff36f550, 0xe00f6a9a, 0xfe09a918,
- 0xee38c4c6, 0x1a9b6629, 0xed92fab3, 0x1a29a7a0, 0xecf00803, 0x19b3e048, 0xec5005d7, 0x193a224a,
- 0x0f15ae9c, 0x1c38b2f2, 0x0ebcbbae, 0x1c678b35, 0x0e63374d, 0x1c954b21, 0x0e0924ec, 0x1cc1f0f4,
- 0xe027725c, 0xfcdd0b28, 0xe04a868e, 0xfbb183cc, 0xe0789b06, 0xfa877aef, 0xe0b19fc5, 0xf95f57f7,
- 0xebb30cdb, 0x18bc806b, 0xeb193544, 0x183b0e0c, 0xea8296cb, 0x17b5df22, 0xe9ef48ab, 0x172d0838,
- 0x0dae8805, 0x1ced7af4, 0x0d536416, 0x1d17e774, 0x0cf7bca2, 0x1d4134d1, 0x0c9b9532, 0x1d696174,
- 0xe0f58104, 0xf83981a1, 0xe1442737, 0xf7165de0, 0xe19d7714, 0xf5f651b6, 0xe201519e, 0xf4d9c111,
- 0xe95f619a, 0x16a09e66, 0xe8d2f7c8, 0x1610b755, 0xe84a20de, 0x157d6935, 0xe7c4f1f4, 0x14e6cabc,
- 0x0c3ef153, 0x1d906bcf, 0x0be1d499, 0x1db65262, 0x0b844298, 0x1ddb13b7, 0x0b263eef, 0x1dfeae62,
- 0xe26f9431, 0xf3c10ead, 0xe2e8188c, 0xf2ac9bea, 0xe36ab4df, 0xf19cc8b3, 0xe3f73bda, 0xf091f357,
- 0xe7437f95, 0x144cf325, 0xe6c5ddb6, 0x13affa29, 0xe64c1fb8, 0x130ff7fd, 0xe5d65860, 0x126d054d,
- 0x0ac7cd3b, 0x1e212105, 0x0a68f121, 0x1e426a4b, 0x0a09ae4a, 0x1e6288ec, 0x09aa0861, 0x1e817bab,
- 0xe48d7cbb, 0xef8c7867, 0xe52d4362, 0xee8cb29c, 0xe5d65860, 0xed92fab3, 0xe688810b, 0xec9fa74f,
- 0xe56499d7, 0x11c73b3a, 0xe4f6f5a8, 0x111eb354, 0xe48d7cbb, 0x10738799, 0xe4283f54, 0x0fc5d26e,
- 0x094a0317, 0x1e9f4157, 0x08e9a220, 0x1ebbd8c9, 0x0888e931, 0x1ed740e7, 0x0827dc07, 0x1ef178a4,
- 0xe7437f95, 0xebb30cdb, 0xe807131d, 0xeacd7d6d, 0xe8d2f7c8, 0xe9ef48ab, 0xe9a6e6da, 0xe918bbab,
- 0xe3c74d0e, 0x0f15ae9c, 0xe36ab4df, 0x0e63374d, 0xe312850c, 0x0dae8805, 0xe2becb2f, 0x0cf7bca2,
- 0x07c67e5f, 0x1f0a7efc, 0x0764d3f9, 0x1f2252f7, 0x0702e09b, 0x1f38f3ac, 0x06a0a809, 0x1f4e603b,
- 0xea8296cb, 0xe84a20de, 0xeb65bb64, 0xe783bff0, 0xec5005d7, 0xe6c5ddb6, 0xed4124da, 0xe610bc11,
- 0xe26f9431, 0x0c3ef153, 0xe224ec49, 0x0b844298, 0xe1dedefb, 0x0ac7cd3b, 0xe19d7714, 0x0a09ae4a,
- 0x063e2e0f, 0x1f6297d0, 0x05db7678, 0x1f7599a4, 0x05788511, 0x1f8764fa, 0x05155dac, 0x1f97f925,
- 0xee38c4c6, 0xe56499d7, 0xef368fb3, 0xe4c1b2c1, 0xf03a2d92, 0xe4283f54, 0xf1434452, 0xe39874cb,
- 0xe160bea9, 0x094a0317, 0xe128bf19, 0x0888e931, 0xe0f58104, 0x07c67e5f, 0xe0c70c54, 0x0702e09b,
- 0x04b2041c, 0x1fa7557f, 0x044e7c34, 0x1fb57972, 0x03eac9cb, 0x1fc26471, 0x0386f0b9, 0x1fce15fd,
- 0xf25177fb, 0xe312850c, 0xf3646ace, 0xe2969e8c, 0xf47bbd68, 0xe224ec49, 0xf5970edf, 0xe1bd95b5,
- 0xe09d6830, 0x063e2e0f, 0xe0789b06, 0x05788511, 0xe058aa81, 0x04b2041c, 0xe03d9b8f, 0x03eac9cb,
- 0x0322f4d8, 0x1fd88da4, 0x02beda01, 0x1fe1cafd, 0x025aa412, 0x1fe9cdad, 0x01f656e8, 0x1ff09566,
- 0xf6b5fce9, 0xe160bea9, 0xf7d823f9, 0xe10e875c, 0xf8fd1f65, 0xe0c70c54, 0xfa248988, 0xe08a665c,
- 0xe027725c, 0x0322f4d8, 0xe0163253, 0x025aa412, 0xe009de1d, 0x0191f65f, 0xe002779f, 0x00c90ab0,
- 0x0191f65f, 0x1ff621e3, 0x012d8657, 0x1ffa72f0, 0x00c90ab0, 0x1ffd8861, 0x00648748, 0x1fff6217,
+ 0x20000000, 0x00000000, 0x1d906bcf, 0x0c3ef153, 0x16a09e66, 0x16a09e66, 0x0c3ef153, 0x1d906bcf,
+ 0x20000000, 0x00000000, 0x1f6297d0, 0x063e2e0f, 0x1d906bcf, 0x0c3ef153, 0x1a9b6629, 0x11c73b3a,
+ 0x20000000, 0x00000000, 0x1a9b6629, 0x11c73b3a, 0x0c3ef153, 0x1d906bcf, 0xf9c1d1f1, 0x1f6297d0,
+ 0x00000000, 0x20000000, 0xf3c10ead, 0x1d906bcf, 0xe95f619a, 0x16a09e66, 0xe26f9431, 0x0c3ef153,
+ 0x16a09e66, 0x16a09e66, 0x11c73b3a, 0x1a9b6629, 0x0c3ef153, 0x1d906bcf, 0x063e2e0f, 0x1f6297d0,
+ 0xe95f619a, 0x16a09e66, 0xe09d6830, 0x063e2e0f, 0xe26f9431, 0xf3c10ead, 0xee38c4c6, 0xe56499d7,
+
+ 0x20000000, 0x00000000, 0x1fd88da4, 0x0322f4d8, 0x1f6297d0, 0x063e2e0f, 0x1e9f4157, 0x094a0317,
+ 0x20000000, 0x00000000, 0x1ff621e3, 0x0191f65f, 0x1fd88da4, 0x0322f4d8, 0x1fa7557f, 0x04b2041c,
+ 0x20000000, 0x00000000, 0x1fa7557f, 0x04b2041c, 0x1e9f4157, 0x094a0317, 0x1ced7af4, 0x0dae8805,
+ 0x1d906bcf, 0x0c3ef153, 0x1c38b2f2, 0x0f15ae9c, 0x1a9b6629, 0x11c73b3a, 0x18bc806b, 0x144cf325,
+ 0x1f6297d0, 0x063e2e0f, 0x1f0a7efc, 0x07c67e5f, 0x1e9f4157, 0x094a0317, 0x1e212105, 0x0ac7cd3b,
+ 0x1a9b6629, 0x11c73b3a, 0x17b5df22, 0x157d6935, 0x144cf325, 0x18bc806b, 0x10738799, 0x1b728345,
+ 0x16a09e66, 0x16a09e66, 0x144cf325, 0x18bc806b, 0x11c73b3a, 0x1a9b6629, 0x0f15ae9c, 0x1c38b2f2,
+ 0x1d906bcf, 0x0c3ef153, 0x1ced7af4, 0x0dae8805, 0x1c38b2f2, 0x0f15ae9c, 0x1b728345, 0x10738799,
+ 0x0c3ef153, 0x1d906bcf, 0x07c67e5f, 0x1f0a7efc, 0x0322f4d8, 0x1fd88da4, 0xfe6e09a1, 0x1ff621e3,
+ 0x0c3ef153, 0x1d906bcf, 0x094a0317, 0x1e9f4157, 0x063e2e0f, 0x1f6297d0, 0x0322f4d8, 0x1fd88da4,
+ 0x1a9b6629, 0x11c73b3a, 0x19b3e048, 0x130ff7fd, 0x18bc806b, 0x144cf325, 0x17b5df22, 0x157d6935,
+ 0xf9c1d1f1, 0x1f6297d0, 0xf53832c5, 0x1e212105, 0xf0ea5164, 0x1c38b2f2, 0xecf00803, 0x19b3e048,
+ 0x00000000, 0x20000000, 0xfcdd0b28, 0x1fd88da4, 0xf9c1d1f1, 0x1f6297d0, 0xf6b5fce9, 0x1e9f4157,
+ 0x16a09e66, 0x16a09e66, 0x157d6935, 0x17b5df22, 0x144cf325, 0x18bc806b, 0x130ff7fd, 0x19b3e048,
+ 0xe95f619a, 0x16a09e66, 0xe64c1fb8, 0x130ff7fd, 0xe3c74d0e, 0x0f15ae9c, 0xe1dedefb, 0x0ac7cd3b,
+ 0xf3c10ead, 0x1d906bcf, 0xf0ea5164, 0x1c38b2f2, 0xee38c4c6, 0x1a9b6629, 0xebb30cdb, 0x18bc806b,
+ 0x11c73b3a, 0x1a9b6629, 0x10738799, 0x1b728345, 0x0f15ae9c, 0x1c38b2f2, 0x0dae8805, 0x1ced7af4,
+ 0xe09d6830, 0x063e2e0f, 0xe009de1d, 0x0191f65f, 0xe027725c, 0xfcdd0b28, 0xe0f58104, 0xf83981a1,
+ 0xe95f619a, 0x16a09e66, 0xe7437f95, 0x144cf325, 0xe56499d7, 0x11c73b3a, 0xe3c74d0e, 0x0f15ae9c,
+ 0x0c3ef153, 0x1d906bcf, 0x0ac7cd3b, 0x1e212105, 0x094a0317, 0x1e9f4157, 0x07c67e5f, 0x1f0a7efc,
+ 0xe26f9431, 0xf3c10ead, 0xe48d7cbb, 0xef8c7867, 0xe7437f95, 0xebb30cdb, 0xea8296cb, 0xe84a20de,
+ 0xe26f9431, 0x0c3ef153, 0xe160bea9, 0x094a0317, 0xe09d6830, 0x063e2e0f, 0xe027725c, 0x0322f4d8,
+ 0x063e2e0f, 0x1f6297d0, 0x04b2041c, 0x1fa7557f, 0x0322f4d8, 0x1fd88da4, 0x0191f65f, 0x1ff621e3,
+ 0xee38c4c6, 0xe56499d7, 0xf25177fb, 0xe312850c, 0xf6b5fce9, 0xe160bea9, 0xfb4dfbe4, 0xe058aa81,
+
+ 0x20000000, 0x00000000, 0x1ffd8861, 0x00c90ab0, 0x1ff621e3, 0x0191f65f, 0x1fe9cdad, 0x025aa412,
+ 0x20000000, 0x00000000, 0x1fff6217, 0x00648748, 0x1ffd8861, 0x00c90ab0, 0x1ffa72f0, 0x012d8657,
+ 0x20000000, 0x00000000, 0x1ffa72f0, 0x012d8657, 0x1fe9cdad, 0x025aa412, 0x1fce15fd, 0x0386f0b9,
+ 0x1fd88da4, 0x0322f4d8, 0x1fc26471, 0x03eac9cb, 0x1fa7557f, 0x04b2041c, 0x1f8764fa, 0x05788511,
+ 0x1ff621e3, 0x0191f65f, 0x1ff09566, 0x01f656e8, 0x1fe9cdad, 0x025aa412, 0x1fe1cafd, 0x02beda01,
+ 0x1fa7557f, 0x04b2041c, 0x1f7599a4, 0x05db7678, 0x1f38f3ac, 0x0702e09b, 0x1ef178a4, 0x0827dc07,
+ 0x1f6297d0, 0x063e2e0f, 0x1f38f3ac, 0x0702e09b, 0x1f0a7efc, 0x07c67e5f, 0x1ed740e7, 0x0888e931,
+ 0x1fd88da4, 0x0322f4d8, 0x1fce15fd, 0x0386f0b9, 0x1fc26471, 0x03eac9cb, 0x1fb57972, 0x044e7c34,
+ 0x1e9f4157, 0x094a0317, 0x1e426a4b, 0x0a68f121, 0x1ddb13b7, 0x0b844298, 0x1d696174, 0x0c9b9532,
+ 0x1e9f4157, 0x094a0317, 0x1e6288ec, 0x0a09ae4a, 0x1e212105, 0x0ac7cd3b, 0x1ddb13b7, 0x0b844298,
+ 0x1fa7557f, 0x04b2041c, 0x1f97f925, 0x05155dac, 0x1f8764fa, 0x05788511, 0x1f7599a4, 0x05db7678,
+ 0x1ced7af4, 0x0dae8805, 0x1c678b35, 0x0ebcbbae, 0x1bd7c0ac, 0x0fc5d26e, 0x1b3e4d3f, 0x10c9704d,
+ 0x1d906bcf, 0x0c3ef153, 0x1d4134d1, 0x0cf7bca2, 0x1ced7af4, 0x0dae8805, 0x1c954b21, 0x0e63374d,
+ 0x1f6297d0, 0x063e2e0f, 0x1f4e603b, 0x06a0a809, 0x1f38f3ac, 0x0702e09b, 0x1f2252f7, 0x0764d3f9,
+ 0x1a9b6629, 0x11c73b3a, 0x19ef43ef, 0x12bedb26, 0x193a224a, 0x13affa29, 0x187c4010, 0x149a449c,
+ 0x1c38b2f2, 0x0f15ae9c, 0x1bd7c0ac, 0x0fc5d26e, 0x1b728345, 0x10738799, 0x1b090a58, 0x111eb354,
+ 0x1f0a7efc, 0x07c67e5f, 0x1ef178a4, 0x0827dc07, 0x1ed740e7, 0x0888e931, 0x1ebbd8c9, 0x08e9a220,
+ 0x17b5df22, 0x157d6935, 0x16e74455, 0x16591926, 0x1610b755, 0x172d0838, 0x15328293, 0x17f8ece3,
+ 0x1a9b6629, 0x11c73b3a, 0x1a29a7a0, 0x126d054d, 0x19b3e048, 0x130ff7fd, 0x193a224a, 0x13affa29,
+ 0x1e9f4157, 0x094a0317, 0x1e817bab, 0x09aa0861, 0x1e6288ec, 0x0a09ae4a, 0x1e426a4b, 0x0a68f121,
+ 0x144cf325, 0x18bc806b, 0x136058b1, 0x19777ef5, 0x126d054d, 0x1a29a7a0, 0x11734d64, 0x1ad2bc9e,
+ 0x18bc806b, 0x144cf325, 0x183b0e0c, 0x14e6cabc, 0x17b5df22, 0x157d6935, 0x172d0838, 0x1610b755,
+ 0x1e212105, 0x0ac7cd3b, 0x1dfeae62, 0x0b263eef, 0x1ddb13b7, 0x0b844298, 0x1db65262, 0x0be1d499,
+ 0x10738799, 0x1b728345, 0x0f6e0ca9, 0x1c08c426, 0x0e63374d, 0x1c954b21, 0x0d536416, 0x1d17e774,
+ 0x16a09e66, 0x16a09e66, 0x1610b755, 0x172d0838, 0x157d6935, 0x17b5df22, 0x14e6cabc, 0x183b0e0c,
+ 0x1d906bcf, 0x0c3ef153, 0x1d696174, 0x0c9b9532, 0x1d4134d1, 0x0cf7bca2, 0x1d17e774, 0x0d536416,
+ 0x0c3ef153, 0x1d906bcf, 0x0b263eef, 0x1dfeae62, 0x0a09ae4a, 0x1e6288ec, 0x08e9a220, 0x1ebbd8c9,
+ 0x144cf325, 0x18bc806b, 0x13affa29, 0x193a224a, 0x130ff7fd, 0x19b3e048, 0x126d054d, 0x1a29a7a0,
+ 0x1ced7af4, 0x0dae8805, 0x1cc1f0f4, 0x0e0924ec, 0x1c954b21, 0x0e63374d, 0x1c678b35, 0x0ebcbbae,
+ 0x07c67e5f, 0x1f0a7efc, 0x06a0a809, 0x1f4e603b, 0x05788511, 0x1f8764fa, 0x044e7c34, 0x1fb57972,
+ 0x11c73b3a, 0x1a9b6629, 0x111eb354, 0x1b090a58, 0x10738799, 0x1b728345, 0x0fc5d26e, 0x1bd7c0ac,
+ 0x1c38b2f2, 0x0f15ae9c, 0x1c08c426, 0x0f6e0ca9, 0x1bd7c0ac, 0x0fc5d26e, 0x1ba5aa67, 0x101cfc87,
+ 0x0322f4d8, 0x1fd88da4, 0x01f656e8, 0x1ff09566, 0x00c90ab0, 0x1ffd8861, 0xff9b78b8, 0x1fff6217,
+ 0x0f15ae9c, 0x1c38b2f2, 0x0e63374d, 0x1c954b21, 0x0dae8805, 0x1ced7af4, 0x0cf7bca2, 0x1d4134d1,
+ 0x1b728345, 0x10738799, 0x1b3e4d3f, 0x10c9704d, 0x1b090a58, 0x111eb354, 0x1ad2bc9e, 0x11734d64,
+ 0xfe6e09a1, 0x1ff621e3, 0xfd4125ff, 0x1fe1cafd, 0xfc153635, 0x1fc26471, 0xfaeaa254, 0x1f97f925,
+ 0x0c3ef153, 0x1d906bcf, 0x0b844298, 0x1ddb13b7, 0x0ac7cd3b, 0x1e212105, 0x0a09ae4a, 0x1e6288ec,
+ 0x1a9b6629, 0x11c73b3a, 0x1a63091b, 0x121a7999, 0x1a29a7a0, 0x126d054d, 0x19ef43ef, 0x12bedb26,
+ 0xf9c1d1f1, 0x1f6297d0, 0xf89b2c07, 0x1f2252f7, 0xf77716cf, 0x1ed740e7, 0xf655f79f, 0x1e817bab,
+ 0x094a0317, 0x1e9f4157, 0x0888e931, 0x1ed740e7, 0x07c67e5f, 0x1f0a7efc, 0x0702e09b, 0x1f38f3ac,
+ 0x19b3e048, 0x130ff7fd, 0x19777ef5, 0x136058b1, 0x193a224a, 0x13affa29, 0x18fbcca4, 0x13fed953,
+ 0xf53832c5, 0x1e212105, 0xf41e2b67, 0x1db65262, 0xf308435e, 0x1d4134d1, 0xf1f6db14, 0x1cc1f0f4,
+ 0x063e2e0f, 0x1f6297d0, 0x05788511, 0x1f8764fa, 0x04b2041c, 0x1fa7557f, 0x03eac9cb, 0x1fc26471,
+ 0x18bc806b, 0x144cf325, 0x187c4010, 0x149a449c, 0x183b0e0c, 0x14e6cabc, 0x17f8ece3, 0x15328293,
+ 0xf0ea5164, 0x1c38b2f2, 0xefe30379, 0x1ba5aa67, 0xeee14cac, 0x1b090a58, 0xede58667, 0x1a63091b,
+ 0x0322f4d8, 0x1fd88da4, 0x025aa412, 0x1fe9cdad, 0x0191f65f, 0x1ff621e3, 0x00c90ab0, 0x1ffd8861,
+ 0x17b5df22, 0x157d6935, 0x1771e75f, 0x15c77bbe, 0x172d0838, 0x1610b755, 0x16e74455, 0x16591926,
+ 0xecf00803, 0x19b3e048, 0xec0126ad, 0x18fbcca4, 0xeb193544, 0x183b0e0c, 0xea388442, 0x1771e75f,
+ 0x00000000, 0x20000000, 0xff36f550, 0x1ffd8861, 0xfe6e09a1, 0x1ff621e3, 0xfda55bee, 0x1fe9cdad,
+ 0x16a09e66, 0x16a09e66, 0x16591926, 0x16e74455, 0x1610b755, 0x172d0838, 0x15c77bbe, 0x1771e75f,
+ 0xe95f619a, 0x16a09e66, 0xe88e18a1, 0x15c77bbe, 0xe7c4f1f4, 0x14e6cabc, 0xe704335c, 0x13fed953,
+ 0xfcdd0b28, 0x1fd88da4, 0xfc153635, 0x1fc26471, 0xfb4dfbe4, 0x1fa7557f, 0xfa877aef, 0x1f8764fa,
+ 0x157d6935, 0x17b5df22, 0x15328293, 0x17f8ece3, 0x14e6cabc, 0x183b0e0c, 0x149a449c, 0x187c4010,
+ 0xe64c1fb8, 0x130ff7fd, 0xe59cf6e5, 0x121a7999, 0xe4f6f5a8, 0x111eb354, 0xe45a5599, 0x101cfc87,
+ 0xf9c1d1f1, 0x1f6297d0, 0xf8fd1f65, 0x1f38f3ac, 0xf83981a1, 0x1f0a7efc, 0xf77716cf, 0x1ed740e7,
+ 0x144cf325, 0x18bc806b, 0x13fed953, 0x18fbcca4, 0x13affa29, 0x193a224a, 0x136058b1, 0x19777ef5,
+ 0xe3c74d0e, 0x0f15ae9c, 0xe33e0f0c, 0x0e0924ec, 0xe2becb2f, 0x0cf7bca2, 0xe249ad9e, 0x0be1d499,
+ 0xf6b5fce9, 0x1e9f4157, 0xf5f651b6, 0x1e6288ec, 0xf53832c5, 0x1e212105, 0xf47bbd68, 0x1ddb13b7,
+ 0x130ff7fd, 0x19b3e048, 0x12bedb26, 0x19ef43ef, 0x126d054d, 0x1a29a7a0, 0x121a7999, 0x1a63091b,
+ 0xe1dedefb, 0x0ac7cd3b, 0xe17e8455, 0x09aa0861, 0xe128bf19, 0x0888e931, 0xe0ddad09, 0x0764d3f9,
+ 0xf3c10ead, 0x1d906bcf, 0xf308435e, 0x1d4134d1, 0xf25177fb, 0x1ced7af4, 0xf19cc8b3, 0x1c954b21,
+ 0x11c73b3a, 0x1a9b6629, 0x11734d64, 0x1ad2bc9e, 0x111eb354, 0x1b090a58, 0x10c9704d, 0x1b3e4d3f,
+ 0xe09d6830, 0x063e2e0f, 0xe06806db, 0x05155dac, 0xe03d9b8f, 0x03eac9cb, 0xe01e3503, 0x02beda01,
+ 0xf0ea5164, 0x1c38b2f2, 0xf03a2d92, 0x1bd7c0ac, 0xef8c7867, 0x1b728345, 0xeee14cac, 0x1b090a58,
+ 0x10738799, 0x1b728345, 0x101cfc87, 0x1ba5aa67, 0x0fc5d26e, 0x1bd7c0ac, 0x0f6e0ca9, 0x1c08c426,
+ 0xe009de1d, 0x0191f65f, 0xe0009de9, 0x00648748, 0xe002779f, 0xff36f550, 0xe00f6a9a, 0xfe09a918,
+ 0xee38c4c6, 0x1a9b6629, 0xed92fab3, 0x1a29a7a0, 0xecf00803, 0x19b3e048, 0xec5005d7, 0x193a224a,
+ 0x0f15ae9c, 0x1c38b2f2, 0x0ebcbbae, 0x1c678b35, 0x0e63374d, 0x1c954b21, 0x0e0924ec, 0x1cc1f0f4,
+ 0xe027725c, 0xfcdd0b28, 0xe04a868e, 0xfbb183cc, 0xe0789b06, 0xfa877aef, 0xe0b19fc5, 0xf95f57f7,
+ 0xebb30cdb, 0x18bc806b, 0xeb193544, 0x183b0e0c, 0xea8296cb, 0x17b5df22, 0xe9ef48ab, 0x172d0838,
+ 0x0dae8805, 0x1ced7af4, 0x0d536416, 0x1d17e774, 0x0cf7bca2, 0x1d4134d1, 0x0c9b9532, 0x1d696174,
+ 0xe0f58104, 0xf83981a1, 0xe1442737, 0xf7165de0, 0xe19d7714, 0xf5f651b6, 0xe201519e, 0xf4d9c111,
+ 0xe95f619a, 0x16a09e66, 0xe8d2f7c8, 0x1610b755, 0xe84a20de, 0x157d6935, 0xe7c4f1f4, 0x14e6cabc,
+ 0x0c3ef153, 0x1d906bcf, 0x0be1d499, 0x1db65262, 0x0b844298, 0x1ddb13b7, 0x0b263eef, 0x1dfeae62,
+ 0xe26f9431, 0xf3c10ead, 0xe2e8188c, 0xf2ac9bea, 0xe36ab4df, 0xf19cc8b3, 0xe3f73bda, 0xf091f357,
+ 0xe7437f95, 0x144cf325, 0xe6c5ddb6, 0x13affa29, 0xe64c1fb8, 0x130ff7fd, 0xe5d65860, 0x126d054d,
+ 0x0ac7cd3b, 0x1e212105, 0x0a68f121, 0x1e426a4b, 0x0a09ae4a, 0x1e6288ec, 0x09aa0861, 0x1e817bab,
+ 0xe48d7cbb, 0xef8c7867, 0xe52d4362, 0xee8cb29c, 0xe5d65860, 0xed92fab3, 0xe688810b, 0xec9fa74f,
+ 0xe56499d7, 0x11c73b3a, 0xe4f6f5a8, 0x111eb354, 0xe48d7cbb, 0x10738799, 0xe4283f54, 0x0fc5d26e,
+ 0x094a0317, 0x1e9f4157, 0x08e9a220, 0x1ebbd8c9, 0x0888e931, 0x1ed740e7, 0x0827dc07, 0x1ef178a4,
+ 0xe7437f95, 0xebb30cdb, 0xe807131d, 0xeacd7d6d, 0xe8d2f7c8, 0xe9ef48ab, 0xe9a6e6da, 0xe918bbab,
+ 0xe3c74d0e, 0x0f15ae9c, 0xe36ab4df, 0x0e63374d, 0xe312850c, 0x0dae8805, 0xe2becb2f, 0x0cf7bca2,
+ 0x07c67e5f, 0x1f0a7efc, 0x0764d3f9, 0x1f2252f7, 0x0702e09b, 0x1f38f3ac, 0x06a0a809, 0x1f4e603b,
+ 0xea8296cb, 0xe84a20de, 0xeb65bb64, 0xe783bff0, 0xec5005d7, 0xe6c5ddb6, 0xed4124da, 0xe610bc11,
+ 0xe26f9431, 0x0c3ef153, 0xe224ec49, 0x0b844298, 0xe1dedefb, 0x0ac7cd3b, 0xe19d7714, 0x0a09ae4a,
+ 0x063e2e0f, 0x1f6297d0, 0x05db7678, 0x1f7599a4, 0x05788511, 0x1f8764fa, 0x05155dac, 0x1f97f925,
+ 0xee38c4c6, 0xe56499d7, 0xef368fb3, 0xe4c1b2c1, 0xf03a2d92, 0xe4283f54, 0xf1434452, 0xe39874cb,
+ 0xe160bea9, 0x094a0317, 0xe128bf19, 0x0888e931, 0xe0f58104, 0x07c67e5f, 0xe0c70c54, 0x0702e09b,
+ 0x04b2041c, 0x1fa7557f, 0x044e7c34, 0x1fb57972, 0x03eac9cb, 0x1fc26471, 0x0386f0b9, 0x1fce15fd,
+ 0xf25177fb, 0xe312850c, 0xf3646ace, 0xe2969e8c, 0xf47bbd68, 0xe224ec49, 0xf5970edf, 0xe1bd95b5,
+ 0xe09d6830, 0x063e2e0f, 0xe0789b06, 0x05788511, 0xe058aa81, 0x04b2041c, 0xe03d9b8f, 0x03eac9cb,
+ 0x0322f4d8, 0x1fd88da4, 0x02beda01, 0x1fe1cafd, 0x025aa412, 0x1fe9cdad, 0x01f656e8, 0x1ff09566,
+ 0xf6b5fce9, 0xe160bea9, 0xf7d823f9, 0xe10e875c, 0xf8fd1f65, 0xe0c70c54, 0xfa248988, 0xe08a665c,
+ 0xe027725c, 0x0322f4d8, 0xe0163253, 0x025aa412, 0xe009de1d, 0x0191f65f, 0xe002779f, 0x00c90ab0,
+ 0x0191f65f, 0x1ff621e3, 0x012d8657, 0x1ffa72f0, 0x00c90ab0, 0x1ffd8861, 0x00648748, 0x1fff6217,
0xfb4dfbe4, 0xe058aa81, 0xfc790f47, 0xe031ea03, 0xfda55bee, 0xe0163253, 0xfed279a9, 0xe0058d10
};
const int twidTab64[4*6 + 16*6] = {
- 0x20000000, 0x00000000, 0x16a09e66, 0x16a09e66, 0x00000000, 0x20000000, 0xe95f619a, 0x16a09e66,
- 0x20000000, 0x00000000, 0x1d906bcf, 0x0c3ef153, 0x16a09e66, 0x16a09e66, 0x0c3ef153, 0x1d906bcf,
- 0x20000000, 0x00000000, 0x0c3ef153, 0x1d906bcf, 0xe95f619a, 0x16a09e66, 0xe26f9431, 0xf3c10ead,
-
- 0x20000000, 0x00000000, 0x1f6297d0, 0x063e2e0f, 0x1d906bcf, 0x0c3ef153, 0x1a9b6629, 0x11c73b3a,
- 0x20000000, 0x00000000, 0x1fd88da4, 0x0322f4d8, 0x1f6297d0, 0x063e2e0f, 0x1e9f4157, 0x094a0317,
- 0x20000000, 0x00000000, 0x1e9f4157, 0x094a0317, 0x1a9b6629, 0x11c73b3a, 0x144cf325, 0x18bc806b,
- 0x16a09e66, 0x16a09e66, 0x11c73b3a, 0x1a9b6629, 0x0c3ef153, 0x1d906bcf, 0x063e2e0f, 0x1f6297d0,
- 0x1d906bcf, 0x0c3ef153, 0x1c38b2f2, 0x0f15ae9c, 0x1a9b6629, 0x11c73b3a, 0x18bc806b, 0x144cf325,
- 0x0c3ef153, 0x1d906bcf, 0x0322f4d8, 0x1fd88da4, 0xf9c1d1f1, 0x1f6297d0, 0xf0ea5164, 0x1c38b2f2,
- 0x00000000, 0x20000000, 0xf9c1d1f1, 0x1f6297d0, 0xf3c10ead, 0x1d906bcf, 0xee38c4c6, 0x1a9b6629,
- 0x16a09e66, 0x16a09e66, 0x144cf325, 0x18bc806b, 0x11c73b3a, 0x1a9b6629, 0x0f15ae9c, 0x1c38b2f2,
- 0xe95f619a, 0x16a09e66, 0xe3c74d0e, 0x0f15ae9c, 0xe09d6830, 0x063e2e0f, 0xe027725c, 0xfcdd0b28,
- 0xe95f619a, 0x16a09e66, 0xe56499d7, 0x11c73b3a, 0xe26f9431, 0x0c3ef153, 0xe09d6830, 0x063e2e0f,
- 0x0c3ef153, 0x1d906bcf, 0x094a0317, 0x1e9f4157, 0x063e2e0f, 0x1f6297d0, 0x0322f4d8, 0x1fd88da4,
+ 0x20000000, 0x00000000, 0x16a09e66, 0x16a09e66, 0x00000000, 0x20000000, 0xe95f619a, 0x16a09e66,
+ 0x20000000, 0x00000000, 0x1d906bcf, 0x0c3ef153, 0x16a09e66, 0x16a09e66, 0x0c3ef153, 0x1d906bcf,
+ 0x20000000, 0x00000000, 0x0c3ef153, 0x1d906bcf, 0xe95f619a, 0x16a09e66, 0xe26f9431, 0xf3c10ead,
+
+ 0x20000000, 0x00000000, 0x1f6297d0, 0x063e2e0f, 0x1d906bcf, 0x0c3ef153, 0x1a9b6629, 0x11c73b3a,
+ 0x20000000, 0x00000000, 0x1fd88da4, 0x0322f4d8, 0x1f6297d0, 0x063e2e0f, 0x1e9f4157, 0x094a0317,
+ 0x20000000, 0x00000000, 0x1e9f4157, 0x094a0317, 0x1a9b6629, 0x11c73b3a, 0x144cf325, 0x18bc806b,
+ 0x16a09e66, 0x16a09e66, 0x11c73b3a, 0x1a9b6629, 0x0c3ef153, 0x1d906bcf, 0x063e2e0f, 0x1f6297d0,
+ 0x1d906bcf, 0x0c3ef153, 0x1c38b2f2, 0x0f15ae9c, 0x1a9b6629, 0x11c73b3a, 0x18bc806b, 0x144cf325,
+ 0x0c3ef153, 0x1d906bcf, 0x0322f4d8, 0x1fd88da4, 0xf9c1d1f1, 0x1f6297d0, 0xf0ea5164, 0x1c38b2f2,
+ 0x00000000, 0x20000000, 0xf9c1d1f1, 0x1f6297d0, 0xf3c10ead, 0x1d906bcf, 0xee38c4c6, 0x1a9b6629,
+ 0x16a09e66, 0x16a09e66, 0x144cf325, 0x18bc806b, 0x11c73b3a, 0x1a9b6629, 0x0f15ae9c, 0x1c38b2f2,
+ 0xe95f619a, 0x16a09e66, 0xe3c74d0e, 0x0f15ae9c, 0xe09d6830, 0x063e2e0f, 0xe027725c, 0xfcdd0b28,
+ 0xe95f619a, 0x16a09e66, 0xe56499d7, 0x11c73b3a, 0xe26f9431, 0x0c3ef153, 0xe09d6830, 0x063e2e0f,
+ 0x0c3ef153, 0x1d906bcf, 0x094a0317, 0x1e9f4157, 0x063e2e0f, 0x1f6297d0, 0x0322f4d8, 0x1fd88da4,
0xe26f9431, 0xf3c10ead, 0xe7437f95, 0xebb30cdb, 0xee38c4c6, 0xe56499d7, 0xf6b5fce9, 0xe160bea9
};
#else
-/*
- * Q30 for 128 and 1024
+/*
+ * Q30 for 128 and 1024
*
* for (i = 0; i < num/4; i++) {
* angle = (i + 0.125) * M_PI / num;
* x = cos(angle) * (1 << 30);
* x = sin(angle) * (1 << 30);
- *
+ *
* angle = (num/2 - 1 - i + 0.125) * M_PI / num;
* x = cos(angle) * (1 << 30);
* x = sin(angle) * (1 << 30);
@@ -667,379 +667,379 @@ const int twidTab64[4*6 + 16*6] = {
*/
const int cossintab[128 + 1024] = {
/* 128 */
- 0x3fffec43, 0x003243f1, 0x015fd4d2, 0x3ffc38d1, 0x3ff9c13a, 0x01c454f5, 0x02f1b755, 0x3feea776,
- 0x3fe9b8a9, 0x03562038, 0x0483259d, 0x3fd73a4a, 0x3fcfd50b, 0x04e767c5, 0x0613e1c5, 0x3fb5f4ea,
- 0x3fac1a5b, 0x0677edbb, 0x07a3adff, 0x3f8adc77, 0x3f7e8e1e, 0x08077457, 0x09324ca7, 0x3f55f796,
- 0x3f473759, 0x0995bdfd, 0x0abf8043, 0x3f174e70, 0x3f061e95, 0x0b228d42, 0x0c4b0b94, 0x3eceeaad,
- 0x3ebb4ddb, 0x0cada4f5, 0x0dd4b19a, 0x3e7cd778, 0x3e66d0b4, 0x0e36c82a, 0x0f5c35a3, 0x3e212179,
- 0x3e08b42a, 0x0fbdba40, 0x10e15b4e, 0x3dbbd6d4, 0x3da106bd, 0x11423ef0, 0x1263e699, 0x3d4d0728,
- 0x3d2fd86c, 0x12c41a4f, 0x13e39be9, 0x3cd4c38b, 0x3cb53aaa, 0x144310dd, 0x15604013, 0x3c531e88,
- 0x3c314060, 0x15bee78c, 0x16d99864, 0x3bc82c1f, 0x3ba3fde7, 0x173763c9, 0x184f6aab, 0x3b3401bb,
- 0x3b0d8909, 0x18ac4b87, 0x19c17d44, 0x3a96b636, 0x3a6df8f8, 0x1a1d6544, 0x1b2f971e, 0x39f061d2,
- 0x39c5664f, 0x1b8a7815, 0x1c997fc4, 0x39411e33, 0x3913eb0e, 0x1cf34baf, 0x1dfeff67, 0x38890663,
- 0x3859a292, 0x1e57a86d, 0x1f5fdee6, 0x37c836c2, 0x3796a996, 0x1fb7575c, 0x20bbe7d8, 0x36fecd0e,
- 0x36cb1e2a, 0x21122240, 0x2212e492, 0x362ce855, 0x35f71fb1, 0x2267d3a0, 0x2364a02e, 0x3552a8f4,
- 0x351acedd, 0x23b836ca, 0x24b0e699, 0x34703095, 0x34364da6, 0x250317df, 0x25f78497, 0x3385a222,
- 0x3349bf48, 0x264843d9, 0x273847c8, 0x329321c7, 0x32554840, 0x27878893, 0x2872feb6, 0x3198d4ea,
- 0x31590e3e, 0x28c0b4d2, 0x29a778db, 0x3096e223, 0x30553828, 0x29f3984c, 0x2ad586a3, 0x2f8d713a,
- 0x2f49ee0f, 0x2b2003ac, 0x2bfcf97c, 0x2e7cab1c, 0x2e37592c, 0x2c45c8a0, 0x2d1da3d5, 0x2d64b9da,
+ 0x3fffec43, 0x003243f1, 0x015fd4d2, 0x3ffc38d1, 0x3ff9c13a, 0x01c454f5, 0x02f1b755, 0x3feea776,
+ 0x3fe9b8a9, 0x03562038, 0x0483259d, 0x3fd73a4a, 0x3fcfd50b, 0x04e767c5, 0x0613e1c5, 0x3fb5f4ea,
+ 0x3fac1a5b, 0x0677edbb, 0x07a3adff, 0x3f8adc77, 0x3f7e8e1e, 0x08077457, 0x09324ca7, 0x3f55f796,
+ 0x3f473759, 0x0995bdfd, 0x0abf8043, 0x3f174e70, 0x3f061e95, 0x0b228d42, 0x0c4b0b94, 0x3eceeaad,
+ 0x3ebb4ddb, 0x0cada4f5, 0x0dd4b19a, 0x3e7cd778, 0x3e66d0b4, 0x0e36c82a, 0x0f5c35a3, 0x3e212179,
+ 0x3e08b42a, 0x0fbdba40, 0x10e15b4e, 0x3dbbd6d4, 0x3da106bd, 0x11423ef0, 0x1263e699, 0x3d4d0728,
+ 0x3d2fd86c, 0x12c41a4f, 0x13e39be9, 0x3cd4c38b, 0x3cb53aaa, 0x144310dd, 0x15604013, 0x3c531e88,
+ 0x3c314060, 0x15bee78c, 0x16d99864, 0x3bc82c1f, 0x3ba3fde7, 0x173763c9, 0x184f6aab, 0x3b3401bb,
+ 0x3b0d8909, 0x18ac4b87, 0x19c17d44, 0x3a96b636, 0x3a6df8f8, 0x1a1d6544, 0x1b2f971e, 0x39f061d2,
+ 0x39c5664f, 0x1b8a7815, 0x1c997fc4, 0x39411e33, 0x3913eb0e, 0x1cf34baf, 0x1dfeff67, 0x38890663,
+ 0x3859a292, 0x1e57a86d, 0x1f5fdee6, 0x37c836c2, 0x3796a996, 0x1fb7575c, 0x20bbe7d8, 0x36fecd0e,
+ 0x36cb1e2a, 0x21122240, 0x2212e492, 0x362ce855, 0x35f71fb1, 0x2267d3a0, 0x2364a02e, 0x3552a8f4,
+ 0x351acedd, 0x23b836ca, 0x24b0e699, 0x34703095, 0x34364da6, 0x250317df, 0x25f78497, 0x3385a222,
+ 0x3349bf48, 0x264843d9, 0x273847c8, 0x329321c7, 0x32554840, 0x27878893, 0x2872feb6, 0x3198d4ea,
+ 0x31590e3e, 0x28c0b4d2, 0x29a778db, 0x3096e223, 0x30553828, 0x29f3984c, 0x2ad586a3, 0x2f8d713a,
+ 0x2f49ee0f, 0x2b2003ac, 0x2bfcf97c, 0x2e7cab1c, 0x2e37592c, 0x2c45c8a0, 0x2d1da3d5, 0x2d64b9da,
/* 1024 */
- 0x3fffffb1, 0x0006487f, 0x002bfb74, 0x3ffff0e3, 0x3fffe705, 0x00388c6e, 0x005e3f4c, 0x3fffba9b,
- 0x3fffa6de, 0x006ad03b, 0x009082ea, 0x3fff5cd8, 0x3fff3f3c, 0x009d13c5, 0x00c2c62f, 0x3ffed79b,
- 0x3ffeb021, 0x00cf56ef, 0x00f508fc, 0x3ffe2ae5, 0x3ffdf98c, 0x01019998, 0x01274b31, 0x3ffd56b5,
- 0x3ffd1b7e, 0x0133dba3, 0x01598cb1, 0x3ffc5b0c, 0x3ffc15f7, 0x01661cf0, 0x018bcd5b, 0x3ffb37ec,
- 0x3ffae8f9, 0x01985d60, 0x01be0d11, 0x3ff9ed53, 0x3ff99483, 0x01ca9cd4, 0x01f04bb4, 0x3ff87b44,
- 0x3ff81896, 0x01fcdb2e, 0x02228924, 0x3ff6e1bf, 0x3ff67534, 0x022f184d, 0x0254c544, 0x3ff520c5,
- 0x3ff4aa5d, 0x02615414, 0x0286fff3, 0x3ff33858, 0x3ff2b813, 0x02938e62, 0x02b93914, 0x3ff12878,
- 0x3ff09e56, 0x02c5c71a, 0x02eb7086, 0x3feef126, 0x3fee5d28, 0x02f7fe1c, 0x031da62b, 0x3fec9265,
- 0x3febf48b, 0x032a3349, 0x034fd9e5, 0x3fea0c35, 0x3fe96480, 0x035c6682, 0x03820b93, 0x3fe75e98,
- 0x3fe6ad08, 0x038e97a9, 0x03b43b17, 0x3fe48990, 0x3fe3ce26, 0x03c0c69e, 0x03e66852, 0x3fe18d1f,
- 0x3fe0c7da, 0x03f2f342, 0x04189326, 0x3fde6945, 0x3fdd9a27, 0x04251d77, 0x044abb73, 0x3fdb1e06,
- 0x3fda450f, 0x0457451d, 0x047ce11a, 0x3fd7ab64, 0x3fd6c894, 0x04896a16, 0x04af03fc, 0x3fd4115f,
- 0x3fd324b7, 0x04bb8c42, 0x04e123fa, 0x3fd04ffc, 0x3fcf597c, 0x04edab83, 0x051340f6, 0x3fcc673b,
- 0x3fcb66e4, 0x051fc7b9, 0x05455ad1, 0x3fc8571f, 0x3fc74cf3, 0x0551e0c7, 0x0577716b, 0x3fc41fac,
- 0x3fc30baa, 0x0583f68c, 0x05a984a6, 0x3fbfc0e3, 0x3fbea30c, 0x05b608eb, 0x05db9463, 0x3fbb3ac7,
- 0x3fba131b, 0x05e817c3, 0x060da083, 0x3fb68d5b, 0x3fb55bdc, 0x061a22f7, 0x063fa8e7, 0x3fb1b8a2,
- 0x3fb07d50, 0x064c2a67, 0x0671ad71, 0x3facbc9f, 0x3fab777b, 0x067e2df5, 0x06a3ae00, 0x3fa79954,
- 0x3fa64a5f, 0x06b02d81, 0x06d5aa77, 0x3fa24ec6, 0x3fa0f600, 0x06e228ee, 0x0707a2b7, 0x3f9cdcf7,
- 0x3f9b7a62, 0x0714201b, 0x073996a1, 0x3f9743eb, 0x3f95d787, 0x074612eb, 0x076b8616, 0x3f9183a5,
- 0x3f900d72, 0x0778013d, 0x079d70f7, 0x3f8b9c28, 0x3f8a1c29, 0x07a9eaf5, 0x07cf5726, 0x3f858d79,
- 0x3f8403ae, 0x07dbcff2, 0x08013883, 0x3f7f579b, 0x3f7dc405, 0x080db016, 0x083314f1, 0x3f78fa92,
- 0x3f775d31, 0x083f8b43, 0x0864ec4f, 0x3f727661, 0x3f70cf38, 0x08716159, 0x0896be80, 0x3f6bcb0e,
- 0x3f6a1a1c, 0x08a3323a, 0x08c88b65, 0x3f64f89b, 0x3f633de2, 0x08d4fdc6, 0x08fa52de, 0x3f5dff0e,
- 0x3f5c3a8f, 0x0906c3e0, 0x092c14ce, 0x3f56de6a, 0x3f551026, 0x09388469, 0x095dd116, 0x3f4f96b4,
- 0x3f4dbeac, 0x096a3f42, 0x098f8796, 0x3f4827f0, 0x3f464626, 0x099bf44c, 0x09c13831, 0x3f409223,
- 0x3f3ea697, 0x09cda368, 0x09f2e2c7, 0x3f38d552, 0x3f36e006, 0x09ff4c78, 0x0a24873a, 0x3f30f181,
- 0x3f2ef276, 0x0a30ef5e, 0x0a56256c, 0x3f28e6b6, 0x3f26ddec, 0x0a628bfa, 0x0a87bd3d, 0x3f20b4f5,
- 0x3f1ea26e, 0x0a94222f, 0x0ab94e8f, 0x3f185c43, 0x3f164001, 0x0ac5b1dc, 0x0aead944, 0x3f0fdca5,
- 0x3f0db6a9, 0x0af73ae5, 0x0b1c5d3d, 0x3f073621, 0x3f05066d, 0x0b28bd2a, 0x0b4dda5c, 0x3efe68bc,
- 0x3efc2f50, 0x0b5a388d, 0x0b7f5081, 0x3ef5747b, 0x3ef3315a, 0x0b8bacf0, 0x0bb0bf8f, 0x3eec5965,
- 0x3eea0c8e, 0x0bbd1a33, 0x0be22766, 0x3ee3177e, 0x3ee0c0f4, 0x0bee8038, 0x0c1387e9, 0x3ed9aecc,
- 0x3ed74e91, 0x0c1fdee1, 0x0c44e0f9, 0x3ed01f55, 0x3ecdb56a, 0x0c513610, 0x0c763278, 0x3ec66920,
- 0x3ec3f585, 0x0c8285a5, 0x0ca77c47, 0x3ebc8c31, 0x3eba0ee9, 0x0cb3cd84, 0x0cd8be47, 0x3eb2888f,
- 0x3eb0019c, 0x0ce50d8c, 0x0d09f85b, 0x3ea85e41, 0x3ea5cda3, 0x0d1645a0, 0x0d3b2a64, 0x3e9e0d4c,
- 0x3e9b7306, 0x0d4775a1, 0x0d6c5443, 0x3e9395b7, 0x3e90f1ca, 0x0d789d71, 0x0d9d75db, 0x3e88f788,
- 0x3e8649f5, 0x0da9bcf2, 0x0dce8f0d, 0x3e7e32c6, 0x3e7b7b90, 0x0ddad406, 0x0dff9fba, 0x3e734778,
- 0x3e70869f, 0x0e0be28e, 0x0e30a7c5, 0x3e6835a4, 0x3e656b2b, 0x0e3ce86b, 0x0e61a70f, 0x3e5cfd51,
- 0x3e5a2939, 0x0e6de580, 0x0e929d7a, 0x3e519e86, 0x3e4ec0d1, 0x0e9ed9af, 0x0ec38ae8, 0x3e46194a,
- 0x3e4331fa, 0x0ecfc4d9, 0x0ef46f3b, 0x3e3a6da4, 0x3e377cbb, 0x0f00a6df, 0x0f254a53, 0x3e2e9b9c,
- 0x3e2ba11b, 0x0f317fa5, 0x0f561c15, 0x3e22a338, 0x3e1f9f21, 0x0f624f0c, 0x0f86e460, 0x3e168480,
- 0x3e1376d5, 0x0f9314f5, 0x0fb7a317, 0x3e0a3f7b, 0x3e07283f, 0x0fc3d143, 0x0fe8581d, 0x3dfdd432,
- 0x3dfab365, 0x0ff483d7, 0x10190352, 0x3df142ab, 0x3dee1851, 0x10252c94, 0x1049a49a, 0x3de48aef,
- 0x3de15708, 0x1055cb5b, 0x107a3bd5, 0x3dd7ad05, 0x3dd46f94, 0x1086600e, 0x10aac8e6, 0x3dcaa8f5,
- 0x3dc761fc, 0x10b6ea90, 0x10db4baf, 0x3dbd7ec7, 0x3dba2e48, 0x10e76ac3, 0x110bc413, 0x3db02e84,
- 0x3dacd481, 0x1117e088, 0x113c31f3, 0x3da2b834, 0x3d9f54af, 0x11484bc2, 0x116c9531, 0x3d951bde,
- 0x3d91aed9, 0x1178ac53, 0x119cedaf, 0x3d87598c, 0x3d83e309, 0x11a9021d, 0x11cd3b50, 0x3d797145,
- 0x3d75f147, 0x11d94d02, 0x11fd7df6, 0x3d6b6313, 0x3d67d99b, 0x12098ce5, 0x122db583, 0x3d5d2efe,
- 0x3d599c0e, 0x1239c1a7, 0x125de1da, 0x3d4ed50f, 0x3d4b38aa, 0x1269eb2b, 0x128e02dc, 0x3d40554e,
- 0x3d3caf76, 0x129a0954, 0x12be186c, 0x3d31afc5, 0x3d2e007c, 0x12ca1c03, 0x12ee226c, 0x3d22e47c,
- 0x3d1f2bc5, 0x12fa231b, 0x131e20c0, 0x3d13f37e, 0x3d10315a, 0x132a1e7e, 0x134e1348, 0x3d04dcd2,
- 0x3d011145, 0x135a0e0e, 0x137df9e7, 0x3cf5a082, 0x3cf1cb8e, 0x1389f1af, 0x13add481, 0x3ce63e98,
- 0x3ce2603f, 0x13b9c943, 0x13dda2f7, 0x3cd6b71e, 0x3cd2cf62, 0x13e994ab, 0x140d652c, 0x3cc70a1c,
- 0x3cc318ff, 0x141953cb, 0x143d1b02, 0x3cb7379c, 0x3cb33d22, 0x14490685, 0x146cc45c, 0x3ca73fa9,
- 0x3ca33bd3, 0x1478acbc, 0x149c611d, 0x3c97224c, 0x3c93151d, 0x14a84652, 0x14cbf127, 0x3c86df8e,
- 0x3c82c909, 0x14d7d32a, 0x14fb745e, 0x3c76777b, 0x3c7257a2, 0x15075327, 0x152aeaa3, 0x3c65ea1c,
- 0x3c61c0f1, 0x1536c62b, 0x155a53d9, 0x3c55377b, 0x3c510501, 0x15662c18, 0x1589afe3, 0x3c445fa2,
- 0x3c4023dd, 0x159584d3, 0x15b8fea4, 0x3c33629d, 0x3c2f1d8e, 0x15c4d03e, 0x15e83fff, 0x3c224075,
- 0x3c1df21f, 0x15f40e3a, 0x161773d6, 0x3c10f935, 0x3c0ca19b, 0x16233eac, 0x16469a0d, 0x3bff8ce8,
- 0x3bfb2c0c, 0x16526176, 0x1675b286, 0x3bedfb99, 0x3be9917e, 0x1681767c, 0x16a4bd25, 0x3bdc4552,
- 0x3bd7d1fa, 0x16b07d9f, 0x16d3b9cc, 0x3bca6a1d, 0x3bc5ed8d, 0x16df76c3, 0x1702a85e, 0x3bb86a08,
- 0x3bb3e440, 0x170e61cc, 0x173188be, 0x3ba6451b, 0x3ba1b620, 0x173d3e9b, 0x17605ad0, 0x3b93fb63,
- 0x3b8f6337, 0x176c0d15, 0x178f1e76, 0x3b818ceb, 0x3b7ceb90, 0x179acd1c, 0x17bdd394, 0x3b6ef9be,
- 0x3b6a4f38, 0x17c97e93, 0x17ec7a0d, 0x3b5c41e8, 0x3b578e39, 0x17f8215e, 0x181b11c4, 0x3b496574,
- 0x3b44a8a0, 0x1826b561, 0x18499a9d, 0x3b36646e, 0x3b319e77, 0x18553a7d, 0x1878147a, 0x3b233ee1,
- 0x3b1e6fca, 0x1883b097, 0x18a67f3f, 0x3b0ff4d9, 0x3b0b1ca6, 0x18b21791, 0x18d4dad0, 0x3afc8663,
- 0x3af7a516, 0x18e06f50, 0x1903270f, 0x3ae8f38b, 0x3ae40926, 0x190eb7b7, 0x193163e1, 0x3ad53c5b,
- 0x3ad048e3, 0x193cf0a9, 0x195f9128, 0x3ac160e1, 0x3abc6458, 0x196b1a09, 0x198daec8, 0x3aad6129,
- 0x3aa85b92, 0x199933bb, 0x19bbbca6, 0x3a993d3e, 0x3a942e9d, 0x19c73da3, 0x19e9baa3, 0x3a84f52f,
- 0x3a7fdd86, 0x19f537a4, 0x1a17a8a5, 0x3a708906, 0x3a6b6859, 0x1a2321a2, 0x1a45868e, 0x3a5bf8d1,
- 0x3a56cf23, 0x1a50fb81, 0x1a735442, 0x3a47449c, 0x3a4211f0, 0x1a7ec524, 0x1aa111a6, 0x3a326c74,
- 0x3a2d30cd, 0x1aac7e6f, 0x1acebe9d, 0x3a1d7066, 0x3a182bc8, 0x1ada2746, 0x1afc5b0a, 0x3a08507f,
- 0x3a0302ed, 0x1b07bf8c, 0x1b29e6d2, 0x39f30ccc, 0x39edb649, 0x1b354727, 0x1b5761d8, 0x39dda55a,
- 0x39d845e9, 0x1b62bdf8, 0x1b84cc01, 0x39c81a36, 0x39c2b1da, 0x1b9023e5, 0x1bb22530, 0x39b26b6d,
- 0x39acfa2b, 0x1bbd78d2, 0x1bdf6d4a, 0x399c990d, 0x39971ee7, 0x1beabca1, 0x1c0ca432, 0x3986a324,
- 0x3981201e, 0x1c17ef39, 0x1c39c9cd, 0x397089bf, 0x396afddc, 0x1c45107c, 0x1c66ddfe, 0x395a4ceb,
- 0x3954b82e, 0x1c72204f, 0x1c93e0ab, 0x3943ecb6, 0x393e4f23, 0x1c9f1e96, 0x1cc0d1b6, 0x392d692f,
- 0x3927c2c9, 0x1ccc0b35, 0x1cedb106, 0x3916c262, 0x3911132d, 0x1cf8e611, 0x1d1a7e7d, 0x38fff85e,
- 0x38fa405e, 0x1d25af0d, 0x1d473a00, 0x38e90b31, 0x38e34a69, 0x1d52660f, 0x1d73e374, 0x38d1fae9,
- 0x38cc315d, 0x1d7f0afb, 0x1da07abc, 0x38bac795, 0x38b4f547, 0x1dab9db5, 0x1dccffbf, 0x38a37142,
- 0x389d9637, 0x1dd81e21, 0x1df9725f, 0x388bf7ff, 0x3886143b, 0x1e048c24, 0x1e25d282, 0x38745bdb,
- 0x386e6f60, 0x1e30e7a4, 0x1e52200c, 0x385c9ce3, 0x3856a7b6, 0x1e5d3084, 0x1e7e5ae2, 0x3844bb28,
- 0x383ebd4c, 0x1e8966a8, 0x1eaa82e9, 0x382cb6b7, 0x3826b030, 0x1eb589f7, 0x1ed69805, 0x38148f9f,
- 0x380e8071, 0x1ee19a54, 0x1f029a1c, 0x37fc45ef, 0x37f62e1d, 0x1f0d97a5, 0x1f2e8911, 0x37e3d9b7,
- 0x37ddb945, 0x1f3981ce, 0x1f5a64cb, 0x37cb4b04, 0x37c521f6, 0x1f6558b5, 0x1f862d2d, 0x37b299e7,
- 0x37ac6841, 0x1f911c3d, 0x1fb1e21d, 0x3799c66f, 0x37938c34, 0x1fbccc4d, 0x1fdd8381, 0x3780d0aa,
- 0x377a8ddf, 0x1fe868c8, 0x2009113c, 0x3767b8a9, 0x37616d51, 0x2013f196, 0x20348b35, 0x374e7e7b,
- 0x37482a9a, 0x203f6699, 0x205ff14f, 0x3735222f, 0x372ec5c9, 0x206ac7b8, 0x208b4372, 0x371ba3d4,
- 0x37153eee, 0x209614d9, 0x20b68181, 0x3702037c, 0x36fb9618, 0x20c14ddf, 0x20e1ab63, 0x36e84135,
- 0x36e1cb58, 0x20ec72b1, 0x210cc0fc, 0x36ce5d10, 0x36c7debd, 0x21178334, 0x2137c232, 0x36b4571b,
- 0x36add058, 0x21427f4d, 0x2162aeea, 0x369a2f69, 0x3693a038, 0x216d66e2, 0x218d870b, 0x367fe608,
- 0x36794e6e, 0x219839d8, 0x21b84a79, 0x36657b08, 0x365edb09, 0x21c2f815, 0x21e2f91a, 0x364aee7b,
- 0x3644461b, 0x21eda17f, 0x220d92d4, 0x36304070, 0x36298fb4, 0x221835fb, 0x2238178d, 0x361570f8,
- 0x360eb7e3, 0x2242b56f, 0x22628729, 0x35fa8023, 0x35f3beba, 0x226d1fc1, 0x228ce191, 0x35df6e03,
- 0x35d8a449, 0x229774d7, 0x22b726a8, 0x35c43aa7, 0x35bd68a1, 0x22c1b496, 0x22e15655, 0x35a8e621,
- 0x35a20bd3, 0x22ebdee5, 0x230b707e, 0x358d7081, 0x35868def, 0x2315f3a8, 0x23357509, 0x3571d9d9,
- 0x356aef08, 0x233ff2c8, 0x235f63dc, 0x35562239, 0x354f2f2c, 0x2369dc29, 0x23893cdd, 0x353a49b2,
- 0x35334e6f, 0x2393afb2, 0x23b2fff3, 0x351e5056, 0x35174ce0, 0x23bd6d48, 0x23dcad03, 0x35023636,
- 0x34fb2a92, 0x23e714d3, 0x240643f4, 0x34e5fb63, 0x34dee795, 0x2410a639, 0x242fc4ad, 0x34c99fef,
- 0x34c283fb, 0x243a215f, 0x24592f13, 0x34ad23eb, 0x34a5ffd5, 0x2463862c, 0x2482830d, 0x34908768,
- 0x34895b36, 0x248cd487, 0x24abc082, 0x3473ca79, 0x346c962f, 0x24b60c57, 0x24d4e757, 0x3456ed2f,
- 0x344fb0d1, 0x24df2d81, 0x24fdf775, 0x3439ef9c, 0x3432ab2e, 0x250837ed, 0x2526f0c1, 0x341cd1d2,
- 0x34158559, 0x25312b81, 0x254fd323, 0x33ff93e2, 0x33f83f62, 0x255a0823, 0x25789e80, 0x33e235df,
- 0x33dad95e, 0x2582cdbc, 0x25a152c0, 0x33c4b7db, 0x33bd535c, 0x25ab7c30, 0x25c9efca, 0x33a719e8,
- 0x339fad70, 0x25d41369, 0x25f27584, 0x33895c18, 0x3381e7ac, 0x25fc934b, 0x261ae3d6, 0x336b7e7e,
- 0x33640223, 0x2624fbbf, 0x26433aa7, 0x334d812d, 0x3345fce6, 0x264d4cac, 0x266b79dd, 0x332f6435,
- 0x3327d808, 0x267585f8, 0x2693a161, 0x331127ab, 0x3309939c, 0x269da78b, 0x26bbb119, 0x32f2cba1,
- 0x32eb2fb5, 0x26c5b14c, 0x26e3a8ec, 0x32d45029, 0x32ccac64, 0x26eda322, 0x270b88c2, 0x32b5b557,
- 0x32ae09be, 0x27157cf5, 0x27335082, 0x3296fb3d, 0x328f47d5, 0x273d3eac, 0x275b0014, 0x327821ee,
- 0x327066bc, 0x2764e82f, 0x27829760, 0x3259297d, 0x32516686, 0x278c7965, 0x27aa164c, 0x323a11fe,
- 0x32324746, 0x27b3f235, 0x27d17cc1, 0x321adb83, 0x3213090f, 0x27db5288, 0x27f8caa5, 0x31fb8620,
- 0x31f3abf5, 0x28029a45, 0x281fffe2, 0x31dc11e8, 0x31d4300b, 0x2829c954, 0x28471c5e, 0x31bc7eee,
- 0x31b49564, 0x2850df9d, 0x286e2002, 0x319ccd46, 0x3194dc14, 0x2877dd07, 0x28950ab6, 0x317cfd04,
- 0x3175042e, 0x289ec17a, 0x28bbdc61, 0x315d0e3b, 0x31550dc6, 0x28c58cdf, 0x28e294eb, 0x313d00ff,
- 0x3134f8f1, 0x28ec3f1e, 0x2909343e, 0x311cd564, 0x3114c5c0, 0x2912d81f, 0x292fba40, 0x30fc8b7d,
- 0x30f47449, 0x293957c9, 0x295626da, 0x30dc235e, 0x30d404a0, 0x295fbe06, 0x297c79f5, 0x30bb9d1c,
- 0x30b376d8, 0x29860abd, 0x29a2b378, 0x309af8ca, 0x3092cb05, 0x29ac3dd7, 0x29c8d34d, 0x307a367c,
- 0x3072013c, 0x29d2573c, 0x29eed95b, 0x30595648, 0x30511991, 0x29f856d5, 0x2a14c58b, 0x30385840,
- 0x30301418, 0x2a1e3c8a, 0x2a3a97c7, 0x30173c7a, 0x300ef0e5, 0x2a440844, 0x2a604ff5, 0x2ff6030a,
- 0x2fedb00d, 0x2a69b9ec, 0x2a85ee00, 0x2fd4ac04, 0x2fcc51a5, 0x2a8f516b, 0x2aab71d0, 0x2fb3377c,
- 0x2faad5c1, 0x2ab4cea9, 0x2ad0db4e, 0x2f91a589, 0x2f893c75, 0x2ada318e, 0x2af62a63, 0x2f6ff63d,
- 0x2f6785d7, 0x2aff7a05, 0x2b1b5ef8, 0x2f4e29af, 0x2f45b1fb, 0x2b24a7f6, 0x2b4078f5, 0x2f2c3ff2,
- 0x2f23c0f6, 0x2b49bb4a, 0x2b657844, 0x2f0a391d, 0x2f01b2de, 0x2b6eb3ea, 0x2b8a5cce, 0x2ee81543,
- 0x2edf87c6, 0x2b9391c0, 0x2baf267d, 0x2ec5d479, 0x2ebd3fc4, 0x2bb854b4, 0x2bd3d53a, 0x2ea376d6,
- 0x2e9adaee, 0x2bdcfcb0, 0x2bf868ed, 0x2e80fc6e, 0x2e785958, 0x2c01899e, 0x2c1ce181, 0x2e5e6556,
- 0x2e55bb17, 0x2c25fb66, 0x2c413edf, 0x2e3bb1a4, 0x2e330042, 0x2c4a51f3, 0x2c6580f1, 0x2e18e16d,
- 0x2e1028ed, 0x2c6e8d2e, 0x2c89a79f, 0x2df5f4c7, 0x2ded352f, 0x2c92ad01, 0x2cadb2d5, 0x2dd2ebc7,
- 0x2dca251c, 0x2cb6b155, 0x2cd1a27b, 0x2dafc683, 0x2da6f8ca, 0x2cda9a14, 0x2cf5767c, 0x2d8c8510,
+ 0x3fffffb1, 0x0006487f, 0x002bfb74, 0x3ffff0e3, 0x3fffe705, 0x00388c6e, 0x005e3f4c, 0x3fffba9b,
+ 0x3fffa6de, 0x006ad03b, 0x009082ea, 0x3fff5cd8, 0x3fff3f3c, 0x009d13c5, 0x00c2c62f, 0x3ffed79b,
+ 0x3ffeb021, 0x00cf56ef, 0x00f508fc, 0x3ffe2ae5, 0x3ffdf98c, 0x01019998, 0x01274b31, 0x3ffd56b5,
+ 0x3ffd1b7e, 0x0133dba3, 0x01598cb1, 0x3ffc5b0c, 0x3ffc15f7, 0x01661cf0, 0x018bcd5b, 0x3ffb37ec,
+ 0x3ffae8f9, 0x01985d60, 0x01be0d11, 0x3ff9ed53, 0x3ff99483, 0x01ca9cd4, 0x01f04bb4, 0x3ff87b44,
+ 0x3ff81896, 0x01fcdb2e, 0x02228924, 0x3ff6e1bf, 0x3ff67534, 0x022f184d, 0x0254c544, 0x3ff520c5,
+ 0x3ff4aa5d, 0x02615414, 0x0286fff3, 0x3ff33858, 0x3ff2b813, 0x02938e62, 0x02b93914, 0x3ff12878,
+ 0x3ff09e56, 0x02c5c71a, 0x02eb7086, 0x3feef126, 0x3fee5d28, 0x02f7fe1c, 0x031da62b, 0x3fec9265,
+ 0x3febf48b, 0x032a3349, 0x034fd9e5, 0x3fea0c35, 0x3fe96480, 0x035c6682, 0x03820b93, 0x3fe75e98,
+ 0x3fe6ad08, 0x038e97a9, 0x03b43b17, 0x3fe48990, 0x3fe3ce26, 0x03c0c69e, 0x03e66852, 0x3fe18d1f,
+ 0x3fe0c7da, 0x03f2f342, 0x04189326, 0x3fde6945, 0x3fdd9a27, 0x04251d77, 0x044abb73, 0x3fdb1e06,
+ 0x3fda450f, 0x0457451d, 0x047ce11a, 0x3fd7ab64, 0x3fd6c894, 0x04896a16, 0x04af03fc, 0x3fd4115f,
+ 0x3fd324b7, 0x04bb8c42, 0x04e123fa, 0x3fd04ffc, 0x3fcf597c, 0x04edab83, 0x051340f6, 0x3fcc673b,
+ 0x3fcb66e4, 0x051fc7b9, 0x05455ad1, 0x3fc8571f, 0x3fc74cf3, 0x0551e0c7, 0x0577716b, 0x3fc41fac,
+ 0x3fc30baa, 0x0583f68c, 0x05a984a6, 0x3fbfc0e3, 0x3fbea30c, 0x05b608eb, 0x05db9463, 0x3fbb3ac7,
+ 0x3fba131b, 0x05e817c3, 0x060da083, 0x3fb68d5b, 0x3fb55bdc, 0x061a22f7, 0x063fa8e7, 0x3fb1b8a2,
+ 0x3fb07d50, 0x064c2a67, 0x0671ad71, 0x3facbc9f, 0x3fab777b, 0x067e2df5, 0x06a3ae00, 0x3fa79954,
+ 0x3fa64a5f, 0x06b02d81, 0x06d5aa77, 0x3fa24ec6, 0x3fa0f600, 0x06e228ee, 0x0707a2b7, 0x3f9cdcf7,
+ 0x3f9b7a62, 0x0714201b, 0x073996a1, 0x3f9743eb, 0x3f95d787, 0x074612eb, 0x076b8616, 0x3f9183a5,
+ 0x3f900d72, 0x0778013d, 0x079d70f7, 0x3f8b9c28, 0x3f8a1c29, 0x07a9eaf5, 0x07cf5726, 0x3f858d79,
+ 0x3f8403ae, 0x07dbcff2, 0x08013883, 0x3f7f579b, 0x3f7dc405, 0x080db016, 0x083314f1, 0x3f78fa92,
+ 0x3f775d31, 0x083f8b43, 0x0864ec4f, 0x3f727661, 0x3f70cf38, 0x08716159, 0x0896be80, 0x3f6bcb0e,
+ 0x3f6a1a1c, 0x08a3323a, 0x08c88b65, 0x3f64f89b, 0x3f633de2, 0x08d4fdc6, 0x08fa52de, 0x3f5dff0e,
+ 0x3f5c3a8f, 0x0906c3e0, 0x092c14ce, 0x3f56de6a, 0x3f551026, 0x09388469, 0x095dd116, 0x3f4f96b4,
+ 0x3f4dbeac, 0x096a3f42, 0x098f8796, 0x3f4827f0, 0x3f464626, 0x099bf44c, 0x09c13831, 0x3f409223,
+ 0x3f3ea697, 0x09cda368, 0x09f2e2c7, 0x3f38d552, 0x3f36e006, 0x09ff4c78, 0x0a24873a, 0x3f30f181,
+ 0x3f2ef276, 0x0a30ef5e, 0x0a56256c, 0x3f28e6b6, 0x3f26ddec, 0x0a628bfa, 0x0a87bd3d, 0x3f20b4f5,
+ 0x3f1ea26e, 0x0a94222f, 0x0ab94e8f, 0x3f185c43, 0x3f164001, 0x0ac5b1dc, 0x0aead944, 0x3f0fdca5,
+ 0x3f0db6a9, 0x0af73ae5, 0x0b1c5d3d, 0x3f073621, 0x3f05066d, 0x0b28bd2a, 0x0b4dda5c, 0x3efe68bc,
+ 0x3efc2f50, 0x0b5a388d, 0x0b7f5081, 0x3ef5747b, 0x3ef3315a, 0x0b8bacf0, 0x0bb0bf8f, 0x3eec5965,
+ 0x3eea0c8e, 0x0bbd1a33, 0x0be22766, 0x3ee3177e, 0x3ee0c0f4, 0x0bee8038, 0x0c1387e9, 0x3ed9aecc,
+ 0x3ed74e91, 0x0c1fdee1, 0x0c44e0f9, 0x3ed01f55, 0x3ecdb56a, 0x0c513610, 0x0c763278, 0x3ec66920,
+ 0x3ec3f585, 0x0c8285a5, 0x0ca77c47, 0x3ebc8c31, 0x3eba0ee9, 0x0cb3cd84, 0x0cd8be47, 0x3eb2888f,
+ 0x3eb0019c, 0x0ce50d8c, 0x0d09f85b, 0x3ea85e41, 0x3ea5cda3, 0x0d1645a0, 0x0d3b2a64, 0x3e9e0d4c,
+ 0x3e9b7306, 0x0d4775a1, 0x0d6c5443, 0x3e9395b7, 0x3e90f1ca, 0x0d789d71, 0x0d9d75db, 0x3e88f788,
+ 0x3e8649f5, 0x0da9bcf2, 0x0dce8f0d, 0x3e7e32c6, 0x3e7b7b90, 0x0ddad406, 0x0dff9fba, 0x3e734778,
+ 0x3e70869f, 0x0e0be28e, 0x0e30a7c5, 0x3e6835a4, 0x3e656b2b, 0x0e3ce86b, 0x0e61a70f, 0x3e5cfd51,
+ 0x3e5a2939, 0x0e6de580, 0x0e929d7a, 0x3e519e86, 0x3e4ec0d1, 0x0e9ed9af, 0x0ec38ae8, 0x3e46194a,
+ 0x3e4331fa, 0x0ecfc4d9, 0x0ef46f3b, 0x3e3a6da4, 0x3e377cbb, 0x0f00a6df, 0x0f254a53, 0x3e2e9b9c,
+ 0x3e2ba11b, 0x0f317fa5, 0x0f561c15, 0x3e22a338, 0x3e1f9f21, 0x0f624f0c, 0x0f86e460, 0x3e168480,
+ 0x3e1376d5, 0x0f9314f5, 0x0fb7a317, 0x3e0a3f7b, 0x3e07283f, 0x0fc3d143, 0x0fe8581d, 0x3dfdd432,
+ 0x3dfab365, 0x0ff483d7, 0x10190352, 0x3df142ab, 0x3dee1851, 0x10252c94, 0x1049a49a, 0x3de48aef,
+ 0x3de15708, 0x1055cb5b, 0x107a3bd5, 0x3dd7ad05, 0x3dd46f94, 0x1086600e, 0x10aac8e6, 0x3dcaa8f5,
+ 0x3dc761fc, 0x10b6ea90, 0x10db4baf, 0x3dbd7ec7, 0x3dba2e48, 0x10e76ac3, 0x110bc413, 0x3db02e84,
+ 0x3dacd481, 0x1117e088, 0x113c31f3, 0x3da2b834, 0x3d9f54af, 0x11484bc2, 0x116c9531, 0x3d951bde,
+ 0x3d91aed9, 0x1178ac53, 0x119cedaf, 0x3d87598c, 0x3d83e309, 0x11a9021d, 0x11cd3b50, 0x3d797145,
+ 0x3d75f147, 0x11d94d02, 0x11fd7df6, 0x3d6b6313, 0x3d67d99b, 0x12098ce5, 0x122db583, 0x3d5d2efe,
+ 0x3d599c0e, 0x1239c1a7, 0x125de1da, 0x3d4ed50f, 0x3d4b38aa, 0x1269eb2b, 0x128e02dc, 0x3d40554e,
+ 0x3d3caf76, 0x129a0954, 0x12be186c, 0x3d31afc5, 0x3d2e007c, 0x12ca1c03, 0x12ee226c, 0x3d22e47c,
+ 0x3d1f2bc5, 0x12fa231b, 0x131e20c0, 0x3d13f37e, 0x3d10315a, 0x132a1e7e, 0x134e1348, 0x3d04dcd2,
+ 0x3d011145, 0x135a0e0e, 0x137df9e7, 0x3cf5a082, 0x3cf1cb8e, 0x1389f1af, 0x13add481, 0x3ce63e98,
+ 0x3ce2603f, 0x13b9c943, 0x13dda2f7, 0x3cd6b71e, 0x3cd2cf62, 0x13e994ab, 0x140d652c, 0x3cc70a1c,
+ 0x3cc318ff, 0x141953cb, 0x143d1b02, 0x3cb7379c, 0x3cb33d22, 0x14490685, 0x146cc45c, 0x3ca73fa9,
+ 0x3ca33bd3, 0x1478acbc, 0x149c611d, 0x3c97224c, 0x3c93151d, 0x14a84652, 0x14cbf127, 0x3c86df8e,
+ 0x3c82c909, 0x14d7d32a, 0x14fb745e, 0x3c76777b, 0x3c7257a2, 0x15075327, 0x152aeaa3, 0x3c65ea1c,
+ 0x3c61c0f1, 0x1536c62b, 0x155a53d9, 0x3c55377b, 0x3c510501, 0x15662c18, 0x1589afe3, 0x3c445fa2,
+ 0x3c4023dd, 0x159584d3, 0x15b8fea4, 0x3c33629d, 0x3c2f1d8e, 0x15c4d03e, 0x15e83fff, 0x3c224075,
+ 0x3c1df21f, 0x15f40e3a, 0x161773d6, 0x3c10f935, 0x3c0ca19b, 0x16233eac, 0x16469a0d, 0x3bff8ce8,
+ 0x3bfb2c0c, 0x16526176, 0x1675b286, 0x3bedfb99, 0x3be9917e, 0x1681767c, 0x16a4bd25, 0x3bdc4552,
+ 0x3bd7d1fa, 0x16b07d9f, 0x16d3b9cc, 0x3bca6a1d, 0x3bc5ed8d, 0x16df76c3, 0x1702a85e, 0x3bb86a08,
+ 0x3bb3e440, 0x170e61cc, 0x173188be, 0x3ba6451b, 0x3ba1b620, 0x173d3e9b, 0x17605ad0, 0x3b93fb63,
+ 0x3b8f6337, 0x176c0d15, 0x178f1e76, 0x3b818ceb, 0x3b7ceb90, 0x179acd1c, 0x17bdd394, 0x3b6ef9be,
+ 0x3b6a4f38, 0x17c97e93, 0x17ec7a0d, 0x3b5c41e8, 0x3b578e39, 0x17f8215e, 0x181b11c4, 0x3b496574,
+ 0x3b44a8a0, 0x1826b561, 0x18499a9d, 0x3b36646e, 0x3b319e77, 0x18553a7d, 0x1878147a, 0x3b233ee1,
+ 0x3b1e6fca, 0x1883b097, 0x18a67f3f, 0x3b0ff4d9, 0x3b0b1ca6, 0x18b21791, 0x18d4dad0, 0x3afc8663,
+ 0x3af7a516, 0x18e06f50, 0x1903270f, 0x3ae8f38b, 0x3ae40926, 0x190eb7b7, 0x193163e1, 0x3ad53c5b,
+ 0x3ad048e3, 0x193cf0a9, 0x195f9128, 0x3ac160e1, 0x3abc6458, 0x196b1a09, 0x198daec8, 0x3aad6129,
+ 0x3aa85b92, 0x199933bb, 0x19bbbca6, 0x3a993d3e, 0x3a942e9d, 0x19c73da3, 0x19e9baa3, 0x3a84f52f,
+ 0x3a7fdd86, 0x19f537a4, 0x1a17a8a5, 0x3a708906, 0x3a6b6859, 0x1a2321a2, 0x1a45868e, 0x3a5bf8d1,
+ 0x3a56cf23, 0x1a50fb81, 0x1a735442, 0x3a47449c, 0x3a4211f0, 0x1a7ec524, 0x1aa111a6, 0x3a326c74,
+ 0x3a2d30cd, 0x1aac7e6f, 0x1acebe9d, 0x3a1d7066, 0x3a182bc8, 0x1ada2746, 0x1afc5b0a, 0x3a08507f,
+ 0x3a0302ed, 0x1b07bf8c, 0x1b29e6d2, 0x39f30ccc, 0x39edb649, 0x1b354727, 0x1b5761d8, 0x39dda55a,
+ 0x39d845e9, 0x1b62bdf8, 0x1b84cc01, 0x39c81a36, 0x39c2b1da, 0x1b9023e5, 0x1bb22530, 0x39b26b6d,
+ 0x39acfa2b, 0x1bbd78d2, 0x1bdf6d4a, 0x399c990d, 0x39971ee7, 0x1beabca1, 0x1c0ca432, 0x3986a324,
+ 0x3981201e, 0x1c17ef39, 0x1c39c9cd, 0x397089bf, 0x396afddc, 0x1c45107c, 0x1c66ddfe, 0x395a4ceb,
+ 0x3954b82e, 0x1c72204f, 0x1c93e0ab, 0x3943ecb6, 0x393e4f23, 0x1c9f1e96, 0x1cc0d1b6, 0x392d692f,
+ 0x3927c2c9, 0x1ccc0b35, 0x1cedb106, 0x3916c262, 0x3911132d, 0x1cf8e611, 0x1d1a7e7d, 0x38fff85e,
+ 0x38fa405e, 0x1d25af0d, 0x1d473a00, 0x38e90b31, 0x38e34a69, 0x1d52660f, 0x1d73e374, 0x38d1fae9,
+ 0x38cc315d, 0x1d7f0afb, 0x1da07abc, 0x38bac795, 0x38b4f547, 0x1dab9db5, 0x1dccffbf, 0x38a37142,
+ 0x389d9637, 0x1dd81e21, 0x1df9725f, 0x388bf7ff, 0x3886143b, 0x1e048c24, 0x1e25d282, 0x38745bdb,
+ 0x386e6f60, 0x1e30e7a4, 0x1e52200c, 0x385c9ce3, 0x3856a7b6, 0x1e5d3084, 0x1e7e5ae2, 0x3844bb28,
+ 0x383ebd4c, 0x1e8966a8, 0x1eaa82e9, 0x382cb6b7, 0x3826b030, 0x1eb589f7, 0x1ed69805, 0x38148f9f,
+ 0x380e8071, 0x1ee19a54, 0x1f029a1c, 0x37fc45ef, 0x37f62e1d, 0x1f0d97a5, 0x1f2e8911, 0x37e3d9b7,
+ 0x37ddb945, 0x1f3981ce, 0x1f5a64cb, 0x37cb4b04, 0x37c521f6, 0x1f6558b5, 0x1f862d2d, 0x37b299e7,
+ 0x37ac6841, 0x1f911c3d, 0x1fb1e21d, 0x3799c66f, 0x37938c34, 0x1fbccc4d, 0x1fdd8381, 0x3780d0aa,
+ 0x377a8ddf, 0x1fe868c8, 0x2009113c, 0x3767b8a9, 0x37616d51, 0x2013f196, 0x20348b35, 0x374e7e7b,
+ 0x37482a9a, 0x203f6699, 0x205ff14f, 0x3735222f, 0x372ec5c9, 0x206ac7b8, 0x208b4372, 0x371ba3d4,
+ 0x37153eee, 0x209614d9, 0x20b68181, 0x3702037c, 0x36fb9618, 0x20c14ddf, 0x20e1ab63, 0x36e84135,
+ 0x36e1cb58, 0x20ec72b1, 0x210cc0fc, 0x36ce5d10, 0x36c7debd, 0x21178334, 0x2137c232, 0x36b4571b,
+ 0x36add058, 0x21427f4d, 0x2162aeea, 0x369a2f69, 0x3693a038, 0x216d66e2, 0x218d870b, 0x367fe608,
+ 0x36794e6e, 0x219839d8, 0x21b84a79, 0x36657b08, 0x365edb09, 0x21c2f815, 0x21e2f91a, 0x364aee7b,
+ 0x3644461b, 0x21eda17f, 0x220d92d4, 0x36304070, 0x36298fb4, 0x221835fb, 0x2238178d, 0x361570f8,
+ 0x360eb7e3, 0x2242b56f, 0x22628729, 0x35fa8023, 0x35f3beba, 0x226d1fc1, 0x228ce191, 0x35df6e03,
+ 0x35d8a449, 0x229774d7, 0x22b726a8, 0x35c43aa7, 0x35bd68a1, 0x22c1b496, 0x22e15655, 0x35a8e621,
+ 0x35a20bd3, 0x22ebdee5, 0x230b707e, 0x358d7081, 0x35868def, 0x2315f3a8, 0x23357509, 0x3571d9d9,
+ 0x356aef08, 0x233ff2c8, 0x235f63dc, 0x35562239, 0x354f2f2c, 0x2369dc29, 0x23893cdd, 0x353a49b2,
+ 0x35334e6f, 0x2393afb2, 0x23b2fff3, 0x351e5056, 0x35174ce0, 0x23bd6d48, 0x23dcad03, 0x35023636,
+ 0x34fb2a92, 0x23e714d3, 0x240643f4, 0x34e5fb63, 0x34dee795, 0x2410a639, 0x242fc4ad, 0x34c99fef,
+ 0x34c283fb, 0x243a215f, 0x24592f13, 0x34ad23eb, 0x34a5ffd5, 0x2463862c, 0x2482830d, 0x34908768,
+ 0x34895b36, 0x248cd487, 0x24abc082, 0x3473ca79, 0x346c962f, 0x24b60c57, 0x24d4e757, 0x3456ed2f,
+ 0x344fb0d1, 0x24df2d81, 0x24fdf775, 0x3439ef9c, 0x3432ab2e, 0x250837ed, 0x2526f0c1, 0x341cd1d2,
+ 0x34158559, 0x25312b81, 0x254fd323, 0x33ff93e2, 0x33f83f62, 0x255a0823, 0x25789e80, 0x33e235df,
+ 0x33dad95e, 0x2582cdbc, 0x25a152c0, 0x33c4b7db, 0x33bd535c, 0x25ab7c30, 0x25c9efca, 0x33a719e8,
+ 0x339fad70, 0x25d41369, 0x25f27584, 0x33895c18, 0x3381e7ac, 0x25fc934b, 0x261ae3d6, 0x336b7e7e,
+ 0x33640223, 0x2624fbbf, 0x26433aa7, 0x334d812d, 0x3345fce6, 0x264d4cac, 0x266b79dd, 0x332f6435,
+ 0x3327d808, 0x267585f8, 0x2693a161, 0x331127ab, 0x3309939c, 0x269da78b, 0x26bbb119, 0x32f2cba1,
+ 0x32eb2fb5, 0x26c5b14c, 0x26e3a8ec, 0x32d45029, 0x32ccac64, 0x26eda322, 0x270b88c2, 0x32b5b557,
+ 0x32ae09be, 0x27157cf5, 0x27335082, 0x3296fb3d, 0x328f47d5, 0x273d3eac, 0x275b0014, 0x327821ee,
+ 0x327066bc, 0x2764e82f, 0x27829760, 0x3259297d, 0x32516686, 0x278c7965, 0x27aa164c, 0x323a11fe,
+ 0x32324746, 0x27b3f235, 0x27d17cc1, 0x321adb83, 0x3213090f, 0x27db5288, 0x27f8caa5, 0x31fb8620,
+ 0x31f3abf5, 0x28029a45, 0x281fffe2, 0x31dc11e8, 0x31d4300b, 0x2829c954, 0x28471c5e, 0x31bc7eee,
+ 0x31b49564, 0x2850df9d, 0x286e2002, 0x319ccd46, 0x3194dc14, 0x2877dd07, 0x28950ab6, 0x317cfd04,
+ 0x3175042e, 0x289ec17a, 0x28bbdc61, 0x315d0e3b, 0x31550dc6, 0x28c58cdf, 0x28e294eb, 0x313d00ff,
+ 0x3134f8f1, 0x28ec3f1e, 0x2909343e, 0x311cd564, 0x3114c5c0, 0x2912d81f, 0x292fba40, 0x30fc8b7d,
+ 0x30f47449, 0x293957c9, 0x295626da, 0x30dc235e, 0x30d404a0, 0x295fbe06, 0x297c79f5, 0x30bb9d1c,
+ 0x30b376d8, 0x29860abd, 0x29a2b378, 0x309af8ca, 0x3092cb05, 0x29ac3dd7, 0x29c8d34d, 0x307a367c,
+ 0x3072013c, 0x29d2573c, 0x29eed95b, 0x30595648, 0x30511991, 0x29f856d5, 0x2a14c58b, 0x30385840,
+ 0x30301418, 0x2a1e3c8a, 0x2a3a97c7, 0x30173c7a, 0x300ef0e5, 0x2a440844, 0x2a604ff5, 0x2ff6030a,
+ 0x2fedb00d, 0x2a69b9ec, 0x2a85ee00, 0x2fd4ac04, 0x2fcc51a5, 0x2a8f516b, 0x2aab71d0, 0x2fb3377c,
+ 0x2faad5c1, 0x2ab4cea9, 0x2ad0db4e, 0x2f91a589, 0x2f893c75, 0x2ada318e, 0x2af62a63, 0x2f6ff63d,
+ 0x2f6785d7, 0x2aff7a05, 0x2b1b5ef8, 0x2f4e29af, 0x2f45b1fb, 0x2b24a7f6, 0x2b4078f5, 0x2f2c3ff2,
+ 0x2f23c0f6, 0x2b49bb4a, 0x2b657844, 0x2f0a391d, 0x2f01b2de, 0x2b6eb3ea, 0x2b8a5cce, 0x2ee81543,
+ 0x2edf87c6, 0x2b9391c0, 0x2baf267d, 0x2ec5d479, 0x2ebd3fc4, 0x2bb854b4, 0x2bd3d53a, 0x2ea376d6,
+ 0x2e9adaee, 0x2bdcfcb0, 0x2bf868ed, 0x2e80fc6e, 0x2e785958, 0x2c01899e, 0x2c1ce181, 0x2e5e6556,
+ 0x2e55bb17, 0x2c25fb66, 0x2c413edf, 0x2e3bb1a4, 0x2e330042, 0x2c4a51f3, 0x2c6580f1, 0x2e18e16d,
+ 0x2e1028ed, 0x2c6e8d2e, 0x2c89a79f, 0x2df5f4c7, 0x2ded352f, 0x2c92ad01, 0x2cadb2d5, 0x2dd2ebc7,
+ 0x2dca251c, 0x2cb6b155, 0x2cd1a27b, 0x2dafc683, 0x2da6f8ca, 0x2cda9a14, 0x2cf5767c, 0x2d8c8510,
0x2d83b04f, 0x2cfe6728, 0x2d192ec1, 0x2d692784, 0x2d604bc0, 0x2d22187a, 0x2d3ccb34, 0x2d45adf6
};
const int twidTab512[8*6 + 32*6 + 128*6] = {
- 0x40000000, 0x00000000, 0x40000000, 0x00000000, 0x40000000, 0x00000000, 0x3b20d79e, 0x187de2a6,
- 0x3ec52f9f, 0x0c7c5c1e, 0x3536cc52, 0x238e7673, 0x2d413ccc, 0x2d413ccc, 0x3b20d79e, 0x187de2a6,
- 0x187de2a6, 0x3b20d79e, 0x187de2a6, 0x3b20d79e, 0x3536cc52, 0x238e7673, 0xf383a3e2, 0x3ec52f9f,
- 0x00000000, 0x40000000, 0x2d413ccc, 0x2d413ccc, 0xd2bec334, 0x2d413ccc, 0xe7821d5a, 0x3b20d79e,
- 0x238e7673, 0x3536cc52, 0xc13ad061, 0x0c7c5c1e, 0xd2bec334, 0x2d413ccc, 0x187de2a6, 0x3b20d79e,
- 0xc4df2862, 0xe7821d5a, 0xc4df2862, 0x187de2a6, 0x0c7c5c1e, 0x3ec52f9f, 0xdc71898d, 0xcac933ae,
-
- 0x40000000, 0x00000000, 0x40000000, 0x00000000, 0x40000000, 0x00000000, 0x3fb11b47, 0x0645e9af,
- 0x3fec43c6, 0x0323ecbe, 0x3f4eaafe, 0x09640837, 0x3ec52f9f, 0x0c7c5c1e, 0x3fb11b47, 0x0645e9af,
- 0x3d3e82ad, 0x1294062e, 0x3d3e82ad, 0x1294062e, 0x3f4eaafe, 0x09640837, 0x39daf5e8, 0x1b5d1009,
- 0x3b20d79e, 0x187de2a6, 0x3ec52f9f, 0x0c7c5c1e, 0x3536cc52, 0x238e7673, 0x387165e3, 0x1e2b5d38,
- 0x3e14fdf7, 0x0f8cfcbd, 0x2f6bbe44, 0x2afad269, 0x3536cc52, 0x238e7673, 0x3d3e82ad, 0x1294062e,
- 0x2899e64a, 0x317900d6, 0x317900d6, 0x2899e64a, 0x3c424209, 0x158f9a75, 0x20e70f32, 0x36e5068a,
- 0x2d413ccc, 0x2d413ccc, 0x3b20d79e, 0x187de2a6, 0x187de2a6, 0x3b20d79e, 0x2899e64a, 0x317900d6,
- 0x39daf5e8, 0x1b5d1009, 0x0f8cfcbd, 0x3e14fdf7, 0x238e7673, 0x3536cc52, 0x387165e3, 0x1e2b5d38,
- 0x0645e9af, 0x3fb11b47, 0x1e2b5d38, 0x387165e3, 0x36e5068a, 0x20e70f32, 0xfcdc1342, 0x3fec43c6,
- 0x187de2a6, 0x3b20d79e, 0x3536cc52, 0x238e7673, 0xf383a3e2, 0x3ec52f9f, 0x1294062e, 0x3d3e82ad,
- 0x3367c08f, 0x261feff9, 0xea70658b, 0x3c424209, 0x0c7c5c1e, 0x3ec52f9f, 0x317900d6, 0x2899e64a,
- 0xe1d4a2c8, 0x387165e3, 0x0645e9af, 0x3fb11b47, 0x2f6bbe44, 0x2afad269, 0xd9e01007, 0x3367c08f,
- 0x00000000, 0x40000000, 0x2d413ccc, 0x2d413ccc, 0xd2bec334, 0x2d413ccc, 0xf9ba1651, 0x3fb11b47,
- 0x2afad269, 0x2f6bbe44, 0xcc983f71, 0x261feff9, 0xf383a3e2, 0x3ec52f9f, 0x2899e64a, 0x317900d6,
- 0xc78e9a1d, 0x1e2b5d38, 0xed6bf9d2, 0x3d3e82ad, 0x261feff9, 0x3367c08f, 0xc3bdbdf7, 0x158f9a75,
- 0xe7821d5a, 0x3b20d79e, 0x238e7673, 0x3536cc52, 0xc13ad061, 0x0c7c5c1e, 0xe1d4a2c8, 0x387165e3,
- 0x20e70f32, 0x36e5068a, 0xc013bc3a, 0x0323ecbe, 0xdc71898d, 0x3536cc52, 0x1e2b5d38, 0x387165e3,
- 0xc04ee4b9, 0xf9ba1651, 0xd76619b6, 0x317900d6, 0x1b5d1009, 0x39daf5e8, 0xc1eb0209, 0xf0730343,
- 0xd2bec334, 0x2d413ccc, 0x187de2a6, 0x3b20d79e, 0xc4df2862, 0xe7821d5a, 0xce86ff2a, 0x2899e64a,
- 0x158f9a75, 0x3c424209, 0xc91af976, 0xdf18f0ce, 0xcac933ae, 0x238e7673, 0x1294062e, 0x3d3e82ad,
- 0xce86ff2a, 0xd76619b6, 0xc78e9a1d, 0x1e2b5d38, 0x0f8cfcbd, 0x3e14fdf7, 0xd5052d97, 0xd09441bc,
- 0xc4df2862, 0x187de2a6, 0x0c7c5c1e, 0x3ec52f9f, 0xdc71898d, 0xcac933ae, 0xc2c17d53, 0x1294062e,
- 0x09640837, 0x3f4eaafe, 0xe4a2eff7, 0xc6250a18, 0xc13ad061, 0x0c7c5c1e, 0x0645e9af, 0x3fb11b47,
- 0xed6bf9d2, 0xc2c17d53, 0xc04ee4b9, 0x0645e9af, 0x0323ecbe, 0x3fec43c6, 0xf69bf7c9, 0xc0b15502,
-
- 0x40000000, 0x00000000, 0x40000000, 0x00000000, 0x40000000, 0x00000000, 0x3ffb10c1, 0x0192155f,
- 0x3ffec42d, 0x00c90e8f, 0x3ff4e5df, 0x025b0cae, 0x3fec43c6, 0x0323ecbe, 0x3ffb10c1, 0x0192155f,
- 0x3fd39b5a, 0x04b54824, 0x3fd39b5a, 0x04b54824, 0x3ff4e5df, 0x025b0cae, 0x3f9c2bfa, 0x070de171,
- 0x3fb11b47, 0x0645e9af, 0x3fec43c6, 0x0323ecbe, 0x3f4eaafe, 0x09640837, 0x3f84c8e1, 0x07d59395,
- 0x3fe12acb, 0x03ecadcf, 0x3eeb3347, 0x0bb6ecef, 0x3f4eaafe, 0x09640837, 0x3fd39b5a, 0x04b54824,
- 0x3e71e758, 0x0e05c135, 0x3f0ec9f4, 0x0af10a22, 0x3fc395f9, 0x057db402, 0x3de2f147, 0x104fb80e,
- 0x3ec52f9f, 0x0c7c5c1e, 0x3fb11b47, 0x0645e9af, 0x3d3e82ad, 0x1294062e, 0x3e71e758, 0x0e05c135,
- 0x3f9c2bfa, 0x070de171, 0x3c84d496, 0x14d1e242, 0x3e14fdf7, 0x0f8cfcbd, 0x3f84c8e1, 0x07d59395,
- 0x3bb6276d, 0x17088530, 0x3dae81ce, 0x1111d262, 0x3f6af2e3, 0x089cf867, 0x3ad2c2e7, 0x19372a63,
- 0x3d3e82ad, 0x1294062e, 0x3f4eaafe, 0x09640837, 0x39daf5e8, 0x1b5d1009, 0x3cc511d8, 0x14135c94,
- 0x3f2ff249, 0x0a2abb58, 0x38cf1669, 0x1d79775b, 0x3c424209, 0x158f9a75, 0x3f0ec9f4, 0x0af10a22,
- 0x37af8158, 0x1f8ba4db, 0x3bb6276d, 0x17088530, 0x3eeb3347, 0x0bb6ecef, 0x367c9a7d, 0x2192e09a,
- 0x3b20d79e, 0x187de2a6, 0x3ec52f9f, 0x0c7c5c1e, 0x3536cc52, 0x238e7673, 0x3a8269a2, 0x19ef7943,
- 0x3e9cc076, 0x0d415012, 0x33de87de, 0x257db64b, 0x39daf5e8, 0x1b5d1009, 0x3e71e758, 0x0e05c135,
- 0x32744493, 0x275ff452, 0x392a9642, 0x1cc66e99, 0x3e44a5ee, 0x0ec9a7f2, 0x30f8801f, 0x29348937,
- 0x387165e3, 0x1e2b5d38, 0x3e14fdf7, 0x0f8cfcbd, 0x2f6bbe44, 0x2afad269, 0x37af8158, 0x1f8ba4db,
- 0x3de2f147, 0x104fb80e, 0x2dce88a9, 0x2cb2324b, 0x36e5068a, 0x20e70f32, 0x3dae81ce, 0x1111d262,
- 0x2c216eaa, 0x2e5a106f, 0x361214b0, 0x223d66a8, 0x3d77b191, 0x11d3443f, 0x2a650525, 0x2ff1d9c6,
- 0x3536cc52, 0x238e7673, 0x3d3e82ad, 0x1294062e, 0x2899e64a, 0x317900d6, 0x34534f40, 0x24da0a99,
- 0x3d02f756, 0x135410c2, 0x26c0b162, 0x32eefde9, 0x3367c08f, 0x261feff9, 0x3cc511d8, 0x14135c94,
- 0x24da0a99, 0x34534f40, 0x32744493, 0x275ff452, 0x3c84d496, 0x14d1e242, 0x22e69ac7, 0x35a5793c,
- 0x317900d6, 0x2899e64a, 0x3c424209, 0x158f9a75, 0x20e70f32, 0x36e5068a, 0x30761c17, 0x29cd9577,
- 0x3bfd5cc4, 0x164c7ddd, 0x1edc1952, 0x3811884c, 0x2f6bbe44, 0x2afad269, 0x3bb6276d, 0x17088530,
- 0x1cc66e99, 0x392a9642, 0x2e5a106f, 0x2c216eaa, 0x3b6ca4c4, 0x17c3a931, 0x1aa6c82b, 0x3a2fcee8,
- 0x2d413ccc, 0x2d413ccc, 0x3b20d79e, 0x187de2a6, 0x187de2a6, 0x3b20d79e, 0x2c216eaa, 0x2e5a106f,
- 0x3ad2c2e7, 0x19372a63, 0x164c7ddd, 0x3bfd5cc4, 0x2afad269, 0x2f6bbe44, 0x3a8269a2, 0x19ef7943,
- 0x14135c94, 0x3cc511d8, 0x29cd9577, 0x30761c17, 0x3a2fcee8, 0x1aa6c82b, 0x11d3443f, 0x3d77b191,
- 0x2899e64a, 0x317900d6, 0x39daf5e8, 0x1b5d1009, 0x0f8cfcbd, 0x3e14fdf7, 0x275ff452, 0x32744493,
- 0x3983e1e7, 0x1c1249d8, 0x0d415012, 0x3e9cc076, 0x261feff9, 0x3367c08f, 0x392a9642, 0x1cc66e99,
- 0x0af10a22, 0x3f0ec9f4, 0x24da0a99, 0x34534f40, 0x38cf1669, 0x1d79775b, 0x089cf867, 0x3f6af2e3,
- 0x238e7673, 0x3536cc52, 0x387165e3, 0x1e2b5d38, 0x0645e9af, 0x3fb11b47, 0x223d66a8, 0x361214b0,
- 0x3811884c, 0x1edc1952, 0x03ecadcf, 0x3fe12acb, 0x20e70f32, 0x36e5068a, 0x37af8158, 0x1f8ba4db,
- 0x0192155f, 0x3ffb10c1, 0x1f8ba4db, 0x37af8158, 0x374b54ce, 0x2039f90e, 0xff36f171, 0x3ffec42d,
- 0x1e2b5d38, 0x387165e3, 0x36e5068a, 0x20e70f32, 0xfcdc1342, 0x3fec43c6, 0x1cc66e99, 0x392a9642,
- 0x367c9a7d, 0x2192e09a, 0xfa824bfe, 0x3fc395f9, 0x1b5d1009, 0x39daf5e8, 0x361214b0, 0x223d66a8,
- 0xf82a6c6b, 0x3f84c8e1, 0x19ef7943, 0x3a8269a2, 0x35a5793c, 0x22e69ac7, 0xf5d544a8, 0x3f2ff249,
- 0x187de2a6, 0x3b20d79e, 0x3536cc52, 0x238e7673, 0xf383a3e2, 0x3ec52f9f, 0x17088530, 0x3bb6276d,
- 0x34c61236, 0x2434f332, 0xf136580e, 0x3e44a5ee, 0x158f9a75, 0x3c424209, 0x34534f40, 0x24da0a99,
- 0xeeee2d9e, 0x3dae81ce, 0x14135c94, 0x3cc511d8, 0x33de87de, 0x257db64b, 0xecabef3e, 0x3d02f756,
- 0x1294062e, 0x3d3e82ad, 0x3367c08f, 0x261feff9, 0xea70658b, 0x3c424209, 0x1111d262, 0x3dae81ce,
- 0x32eefde9, 0x26c0b162, 0xe83c56cf, 0x3b6ca4c4, 0x0f8cfcbd, 0x3e14fdf7, 0x32744493, 0x275ff452,
- 0xe61086bd, 0x3a8269a2, 0x0e05c135, 0x3e71e758, 0x31f79947, 0x27fdb2a6, 0xe3edb628, 0x3983e1e7,
- 0x0c7c5c1e, 0x3ec52f9f, 0x317900d6, 0x2899e64a, 0xe1d4a2c8, 0x387165e3, 0x0af10a22, 0x3f0ec9f4,
- 0x30f8801f, 0x29348937, 0xdfc606f2, 0x374b54ce, 0x09640837, 0x3f4eaafe, 0x30761c17, 0x29cd9577,
- 0xddc29958, 0x361214b0, 0x07d59395, 0x3f84c8e1, 0x2ff1d9c6, 0x2a650525, 0xdbcb0cce, 0x34c61236,
- 0x0645e9af, 0x3fb11b47, 0x2f6bbe44, 0x2afad269, 0xd9e01007, 0x3367c08f, 0x04b54824, 0x3fd39b5a,
- 0x2ee3cebe, 0x2b8ef77c, 0xd8024d5a, 0x31f79947, 0x0323ecbe, 0x3fec43c6, 0x2e5a106f, 0x2c216eaa,
- 0xd6326a89, 0x30761c17, 0x0192155f, 0x3ffb10c1, 0x2dce88a9, 0x2cb2324b, 0xd4710884, 0x2ee3cebe,
- 0x00000000, 0x40000000, 0x2d413ccc, 0x2d413ccc, 0xd2bec334, 0x2d413ccc, 0xfe6deaa1, 0x3ffb10c1,
- 0x2cb2324b, 0x2dce88a9, 0xd11c3142, 0x2b8ef77c, 0xfcdc1342, 0x3fec43c6, 0x2c216eaa, 0x2e5a106f,
- 0xcf89e3e9, 0x29cd9577, 0xfb4ab7dc, 0x3fd39b5a, 0x2b8ef77c, 0x2ee3cebe, 0xce0866b9, 0x27fdb2a6,
- 0xf9ba1651, 0x3fb11b47, 0x2afad269, 0x2f6bbe44, 0xcc983f71, 0x261feff9, 0xf82a6c6b, 0x3f84c8e1,
- 0x2a650525, 0x2ff1d9c6, 0xcb39edca, 0x2434f332, 0xf69bf7c9, 0x3f4eaafe, 0x29cd9577, 0x30761c17,
- 0xc9edeb50, 0x223d66a8, 0xf50ef5de, 0x3f0ec9f4, 0x29348937, 0x30f8801f, 0xc8b4ab32, 0x2039f90e,
- 0xf383a3e2, 0x3ec52f9f, 0x2899e64a, 0x317900d6, 0xc78e9a1d, 0x1e2b5d38, 0xf1fa3ecb, 0x3e71e758,
- 0x27fdb2a6, 0x31f79947, 0xc67c1e19, 0x1c1249d8, 0xf0730343, 0x3e14fdf7, 0x275ff452, 0x32744493,
- 0xc57d965e, 0x19ef7943, 0xeeee2d9e, 0x3dae81ce, 0x26c0b162, 0x32eefde9, 0xc4935b3c, 0x17c3a931,
- 0xed6bf9d2, 0x3d3e82ad, 0x261feff9, 0x3367c08f, 0xc3bdbdf7, 0x158f9a75, 0xebeca36c, 0x3cc511d8,
- 0x257db64b, 0x33de87de, 0xc2fd08aa, 0x135410c2, 0xea70658b, 0x3c424209, 0x24da0a99, 0x34534f40,
- 0xc2517e32, 0x1111d262, 0xe8f77ad0, 0x3bb6276d, 0x2434f332, 0x34c61236, 0xc1bb5a12, 0x0ec9a7f2,
- 0xe7821d5a, 0x3b20d79e, 0x238e7673, 0x3536cc52, 0xc13ad061, 0x0c7c5c1e, 0xe61086bd, 0x3a8269a2,
- 0x22e69ac7, 0x35a5793c, 0xc0d00db7, 0x0a2abb58, 0xe4a2eff7, 0x39daf5e8, 0x223d66a8, 0x361214b0,
- 0xc07b371f, 0x07d59395, 0xe3399167, 0x392a9642, 0x2192e09a, 0x367c9a7d, 0xc03c6a07, 0x057db402,
- 0xe1d4a2c8, 0x387165e3, 0x20e70f32, 0x36e5068a, 0xc013bc3a, 0x0323ecbe, 0xe0745b25, 0x37af8158,
- 0x2039f90e, 0x374b54ce, 0xc0013bd3, 0x00c90e8f, 0xdf18f0ce, 0x36e5068a, 0x1f8ba4db, 0x37af8158,
- 0xc004ef3f, 0xfe6deaa1, 0xddc29958, 0x361214b0, 0x1edc1952, 0x3811884c, 0xc01ed535, 0xfc135231,
- 0xdc71898d, 0x3536cc52, 0x1e2b5d38, 0x387165e3, 0xc04ee4b9, 0xf9ba1651, 0xdb25f567, 0x34534f40,
- 0x1d79775b, 0x38cf1669, 0xc0950d1d, 0xf7630799, 0xd9e01007, 0x3367c08f, 0x1cc66e99, 0x392a9642,
- 0xc0f1360c, 0xf50ef5de, 0xd8a00bae, 0x32744493, 0x1c1249d8, 0x3983e1e7, 0xc1633f8a, 0xf2beafee,
- 0xd76619b6, 0x317900d6, 0x1b5d1009, 0x39daf5e8, 0xc1eb0209, 0xf0730343, 0xd6326a89, 0x30761c17,
- 0x1aa6c82b, 0x3a2fcee8, 0xc2884e6f, 0xee2cbbc1, 0xd5052d97, 0x2f6bbe44, 0x19ef7943, 0x3a8269a2,
- 0xc33aee28, 0xebeca36c, 0xd3de9156, 0x2e5a106f, 0x19372a63, 0x3ad2c2e7, 0xc402a33c, 0xe9b38223,
- 0xd2bec334, 0x2d413ccc, 0x187de2a6, 0x3b20d79e, 0xc4df2862, 0xe7821d5a, 0xd1a5ef91, 0x2c216eaa,
- 0x17c3a931, 0x3b6ca4c4, 0xc5d03118, 0xe55937d5, 0xd09441bc, 0x2afad269, 0x17088530, 0x3bb6276d,
- 0xc6d569be, 0xe3399167, 0xcf89e3e9, 0x29cd9577, 0x164c7ddd, 0x3bfd5cc4, 0xc7ee77b4, 0xe123e6ae,
- 0xce86ff2a, 0x2899e64a, 0x158f9a75, 0x3c424209, 0xc91af976, 0xdf18f0ce, 0xcd8bbb6d, 0x275ff452,
- 0x14d1e242, 0x3c84d496, 0xca5a86c4, 0xdd196539, 0xcc983f71, 0x261feff9, 0x14135c94, 0x3cc511d8,
- 0xcbacb0c0, 0xdb25f567, 0xcbacb0c0, 0x24da0a99, 0x135410c2, 0x3d02f756, 0xcd110217, 0xd93f4e9e,
- 0xcac933ae, 0x238e7673, 0x1294062e, 0x3d3e82ad, 0xce86ff2a, 0xd76619b6, 0xc9edeb50, 0x223d66a8,
- 0x11d3443f, 0x3d77b191, 0xd00e263a, 0xd59afadb, 0xc91af976, 0x20e70f32, 0x1111d262, 0x3dae81ce,
- 0xd1a5ef91, 0xd3de9156, 0xc8507ea8, 0x1f8ba4db, 0x104fb80e, 0x3de2f147, 0xd34dcdb5, 0xd2317757,
- 0xc78e9a1d, 0x1e2b5d38, 0x0f8cfcbd, 0x3e14fdf7, 0xd5052d97, 0xd09441bc, 0xc6d569be, 0x1cc66e99,
- 0x0ec9a7f2, 0x3e44a5ee, 0xd6cb76c9, 0xcf077fe1, 0xc6250a18, 0x1b5d1009, 0x0e05c135, 0x3e71e758,
- 0xd8a00bae, 0xcd8bbb6d, 0xc57d965e, 0x19ef7943, 0x0d415012, 0x3e9cc076, 0xda8249b5, 0xcc217822,
- 0xc4df2862, 0x187de2a6, 0x0c7c5c1e, 0x3ec52f9f, 0xdc71898d, 0xcac933ae, 0xc449d893, 0x17088530,
- 0x0bb6ecef, 0x3eeb3347, 0xde6d1f66, 0xc9836583, 0xc3bdbdf7, 0x158f9a75, 0x0af10a22, 0x3f0ec9f4,
- 0xe0745b25, 0xc8507ea8, 0xc33aee28, 0x14135c94, 0x0a2abb58, 0x3f2ff249, 0xe28688a5, 0xc730e997,
- 0xc2c17d53, 0x1294062e, 0x09640837, 0x3f4eaafe, 0xe4a2eff7, 0xc6250a18, 0xc2517e32, 0x1111d262,
- 0x089cf867, 0x3f6af2e3, 0xe6c8d59d, 0xc52d3d19, 0xc1eb0209, 0x0f8cfcbd, 0x07d59395, 0x3f84c8e1,
- 0xe8f77ad0, 0xc449d893, 0xc18e18a8, 0x0e05c135, 0x070de171, 0x3f9c2bfa, 0xeb2e1dbe, 0xc37b2b6a,
- 0xc13ad061, 0x0c7c5c1e, 0x0645e9af, 0x3fb11b47, 0xed6bf9d2, 0xc2c17d53, 0xc0f1360c, 0x0af10a22,
- 0x057db402, 0x3fc395f9, 0xefb047f2, 0xc21d0eb9, 0xc0b15502, 0x09640837, 0x04b54824, 0x3fd39b5a,
- 0xf1fa3ecb, 0xc18e18a8, 0xc07b371f, 0x07d59395, 0x03ecadcf, 0x3fe12acb, 0xf4491311, 0xc114ccb9,
- 0xc04ee4b9, 0x0645e9af, 0x0323ecbe, 0x3fec43c6, 0xf69bf7c9, 0xc0b15502, 0xc02c64a6, 0x04b54824,
- 0x025b0cae, 0x3ff4e5df, 0xf8f21e8f, 0xc063d406, 0xc013bc3a, 0x0323ecbe, 0x0192155f, 0x3ffb10c1,
+ 0x40000000, 0x00000000, 0x40000000, 0x00000000, 0x40000000, 0x00000000, 0x3b20d79e, 0x187de2a6,
+ 0x3ec52f9f, 0x0c7c5c1e, 0x3536cc52, 0x238e7673, 0x2d413ccc, 0x2d413ccc, 0x3b20d79e, 0x187de2a6,
+ 0x187de2a6, 0x3b20d79e, 0x187de2a6, 0x3b20d79e, 0x3536cc52, 0x238e7673, 0xf383a3e2, 0x3ec52f9f,
+ 0x00000000, 0x40000000, 0x2d413ccc, 0x2d413ccc, 0xd2bec334, 0x2d413ccc, 0xe7821d5a, 0x3b20d79e,
+ 0x238e7673, 0x3536cc52, 0xc13ad061, 0x0c7c5c1e, 0xd2bec334, 0x2d413ccc, 0x187de2a6, 0x3b20d79e,
+ 0xc4df2862, 0xe7821d5a, 0xc4df2862, 0x187de2a6, 0x0c7c5c1e, 0x3ec52f9f, 0xdc71898d, 0xcac933ae,
+
+ 0x40000000, 0x00000000, 0x40000000, 0x00000000, 0x40000000, 0x00000000, 0x3fb11b47, 0x0645e9af,
+ 0x3fec43c6, 0x0323ecbe, 0x3f4eaafe, 0x09640837, 0x3ec52f9f, 0x0c7c5c1e, 0x3fb11b47, 0x0645e9af,
+ 0x3d3e82ad, 0x1294062e, 0x3d3e82ad, 0x1294062e, 0x3f4eaafe, 0x09640837, 0x39daf5e8, 0x1b5d1009,
+ 0x3b20d79e, 0x187de2a6, 0x3ec52f9f, 0x0c7c5c1e, 0x3536cc52, 0x238e7673, 0x387165e3, 0x1e2b5d38,
+ 0x3e14fdf7, 0x0f8cfcbd, 0x2f6bbe44, 0x2afad269, 0x3536cc52, 0x238e7673, 0x3d3e82ad, 0x1294062e,
+ 0x2899e64a, 0x317900d6, 0x317900d6, 0x2899e64a, 0x3c424209, 0x158f9a75, 0x20e70f32, 0x36e5068a,
+ 0x2d413ccc, 0x2d413ccc, 0x3b20d79e, 0x187de2a6, 0x187de2a6, 0x3b20d79e, 0x2899e64a, 0x317900d6,
+ 0x39daf5e8, 0x1b5d1009, 0x0f8cfcbd, 0x3e14fdf7, 0x238e7673, 0x3536cc52, 0x387165e3, 0x1e2b5d38,
+ 0x0645e9af, 0x3fb11b47, 0x1e2b5d38, 0x387165e3, 0x36e5068a, 0x20e70f32, 0xfcdc1342, 0x3fec43c6,
+ 0x187de2a6, 0x3b20d79e, 0x3536cc52, 0x238e7673, 0xf383a3e2, 0x3ec52f9f, 0x1294062e, 0x3d3e82ad,
+ 0x3367c08f, 0x261feff9, 0xea70658b, 0x3c424209, 0x0c7c5c1e, 0x3ec52f9f, 0x317900d6, 0x2899e64a,
+ 0xe1d4a2c8, 0x387165e3, 0x0645e9af, 0x3fb11b47, 0x2f6bbe44, 0x2afad269, 0xd9e01007, 0x3367c08f,
+ 0x00000000, 0x40000000, 0x2d413ccc, 0x2d413ccc, 0xd2bec334, 0x2d413ccc, 0xf9ba1651, 0x3fb11b47,
+ 0x2afad269, 0x2f6bbe44, 0xcc983f71, 0x261feff9, 0xf383a3e2, 0x3ec52f9f, 0x2899e64a, 0x317900d6,
+ 0xc78e9a1d, 0x1e2b5d38, 0xed6bf9d2, 0x3d3e82ad, 0x261feff9, 0x3367c08f, 0xc3bdbdf7, 0x158f9a75,
+ 0xe7821d5a, 0x3b20d79e, 0x238e7673, 0x3536cc52, 0xc13ad061, 0x0c7c5c1e, 0xe1d4a2c8, 0x387165e3,
+ 0x20e70f32, 0x36e5068a, 0xc013bc3a, 0x0323ecbe, 0xdc71898d, 0x3536cc52, 0x1e2b5d38, 0x387165e3,
+ 0xc04ee4b9, 0xf9ba1651, 0xd76619b6, 0x317900d6, 0x1b5d1009, 0x39daf5e8, 0xc1eb0209, 0xf0730343,
+ 0xd2bec334, 0x2d413ccc, 0x187de2a6, 0x3b20d79e, 0xc4df2862, 0xe7821d5a, 0xce86ff2a, 0x2899e64a,
+ 0x158f9a75, 0x3c424209, 0xc91af976, 0xdf18f0ce, 0xcac933ae, 0x238e7673, 0x1294062e, 0x3d3e82ad,
+ 0xce86ff2a, 0xd76619b6, 0xc78e9a1d, 0x1e2b5d38, 0x0f8cfcbd, 0x3e14fdf7, 0xd5052d97, 0xd09441bc,
+ 0xc4df2862, 0x187de2a6, 0x0c7c5c1e, 0x3ec52f9f, 0xdc71898d, 0xcac933ae, 0xc2c17d53, 0x1294062e,
+ 0x09640837, 0x3f4eaafe, 0xe4a2eff7, 0xc6250a18, 0xc13ad061, 0x0c7c5c1e, 0x0645e9af, 0x3fb11b47,
+ 0xed6bf9d2, 0xc2c17d53, 0xc04ee4b9, 0x0645e9af, 0x0323ecbe, 0x3fec43c6, 0xf69bf7c9, 0xc0b15502,
+
+ 0x40000000, 0x00000000, 0x40000000, 0x00000000, 0x40000000, 0x00000000, 0x3ffb10c1, 0x0192155f,
+ 0x3ffec42d, 0x00c90e8f, 0x3ff4e5df, 0x025b0cae, 0x3fec43c6, 0x0323ecbe, 0x3ffb10c1, 0x0192155f,
+ 0x3fd39b5a, 0x04b54824, 0x3fd39b5a, 0x04b54824, 0x3ff4e5df, 0x025b0cae, 0x3f9c2bfa, 0x070de171,
+ 0x3fb11b47, 0x0645e9af, 0x3fec43c6, 0x0323ecbe, 0x3f4eaafe, 0x09640837, 0x3f84c8e1, 0x07d59395,
+ 0x3fe12acb, 0x03ecadcf, 0x3eeb3347, 0x0bb6ecef, 0x3f4eaafe, 0x09640837, 0x3fd39b5a, 0x04b54824,
+ 0x3e71e758, 0x0e05c135, 0x3f0ec9f4, 0x0af10a22, 0x3fc395f9, 0x057db402, 0x3de2f147, 0x104fb80e,
+ 0x3ec52f9f, 0x0c7c5c1e, 0x3fb11b47, 0x0645e9af, 0x3d3e82ad, 0x1294062e, 0x3e71e758, 0x0e05c135,
+ 0x3f9c2bfa, 0x070de171, 0x3c84d496, 0x14d1e242, 0x3e14fdf7, 0x0f8cfcbd, 0x3f84c8e1, 0x07d59395,
+ 0x3bb6276d, 0x17088530, 0x3dae81ce, 0x1111d262, 0x3f6af2e3, 0x089cf867, 0x3ad2c2e7, 0x19372a63,
+ 0x3d3e82ad, 0x1294062e, 0x3f4eaafe, 0x09640837, 0x39daf5e8, 0x1b5d1009, 0x3cc511d8, 0x14135c94,
+ 0x3f2ff249, 0x0a2abb58, 0x38cf1669, 0x1d79775b, 0x3c424209, 0x158f9a75, 0x3f0ec9f4, 0x0af10a22,
+ 0x37af8158, 0x1f8ba4db, 0x3bb6276d, 0x17088530, 0x3eeb3347, 0x0bb6ecef, 0x367c9a7d, 0x2192e09a,
+ 0x3b20d79e, 0x187de2a6, 0x3ec52f9f, 0x0c7c5c1e, 0x3536cc52, 0x238e7673, 0x3a8269a2, 0x19ef7943,
+ 0x3e9cc076, 0x0d415012, 0x33de87de, 0x257db64b, 0x39daf5e8, 0x1b5d1009, 0x3e71e758, 0x0e05c135,
+ 0x32744493, 0x275ff452, 0x392a9642, 0x1cc66e99, 0x3e44a5ee, 0x0ec9a7f2, 0x30f8801f, 0x29348937,
+ 0x387165e3, 0x1e2b5d38, 0x3e14fdf7, 0x0f8cfcbd, 0x2f6bbe44, 0x2afad269, 0x37af8158, 0x1f8ba4db,
+ 0x3de2f147, 0x104fb80e, 0x2dce88a9, 0x2cb2324b, 0x36e5068a, 0x20e70f32, 0x3dae81ce, 0x1111d262,
+ 0x2c216eaa, 0x2e5a106f, 0x361214b0, 0x223d66a8, 0x3d77b191, 0x11d3443f, 0x2a650525, 0x2ff1d9c6,
+ 0x3536cc52, 0x238e7673, 0x3d3e82ad, 0x1294062e, 0x2899e64a, 0x317900d6, 0x34534f40, 0x24da0a99,
+ 0x3d02f756, 0x135410c2, 0x26c0b162, 0x32eefde9, 0x3367c08f, 0x261feff9, 0x3cc511d8, 0x14135c94,
+ 0x24da0a99, 0x34534f40, 0x32744493, 0x275ff452, 0x3c84d496, 0x14d1e242, 0x22e69ac7, 0x35a5793c,
+ 0x317900d6, 0x2899e64a, 0x3c424209, 0x158f9a75, 0x20e70f32, 0x36e5068a, 0x30761c17, 0x29cd9577,
+ 0x3bfd5cc4, 0x164c7ddd, 0x1edc1952, 0x3811884c, 0x2f6bbe44, 0x2afad269, 0x3bb6276d, 0x17088530,
+ 0x1cc66e99, 0x392a9642, 0x2e5a106f, 0x2c216eaa, 0x3b6ca4c4, 0x17c3a931, 0x1aa6c82b, 0x3a2fcee8,
+ 0x2d413ccc, 0x2d413ccc, 0x3b20d79e, 0x187de2a6, 0x187de2a6, 0x3b20d79e, 0x2c216eaa, 0x2e5a106f,
+ 0x3ad2c2e7, 0x19372a63, 0x164c7ddd, 0x3bfd5cc4, 0x2afad269, 0x2f6bbe44, 0x3a8269a2, 0x19ef7943,
+ 0x14135c94, 0x3cc511d8, 0x29cd9577, 0x30761c17, 0x3a2fcee8, 0x1aa6c82b, 0x11d3443f, 0x3d77b191,
+ 0x2899e64a, 0x317900d6, 0x39daf5e8, 0x1b5d1009, 0x0f8cfcbd, 0x3e14fdf7, 0x275ff452, 0x32744493,
+ 0x3983e1e7, 0x1c1249d8, 0x0d415012, 0x3e9cc076, 0x261feff9, 0x3367c08f, 0x392a9642, 0x1cc66e99,
+ 0x0af10a22, 0x3f0ec9f4, 0x24da0a99, 0x34534f40, 0x38cf1669, 0x1d79775b, 0x089cf867, 0x3f6af2e3,
+ 0x238e7673, 0x3536cc52, 0x387165e3, 0x1e2b5d38, 0x0645e9af, 0x3fb11b47, 0x223d66a8, 0x361214b0,
+ 0x3811884c, 0x1edc1952, 0x03ecadcf, 0x3fe12acb, 0x20e70f32, 0x36e5068a, 0x37af8158, 0x1f8ba4db,
+ 0x0192155f, 0x3ffb10c1, 0x1f8ba4db, 0x37af8158, 0x374b54ce, 0x2039f90e, 0xff36f171, 0x3ffec42d,
+ 0x1e2b5d38, 0x387165e3, 0x36e5068a, 0x20e70f32, 0xfcdc1342, 0x3fec43c6, 0x1cc66e99, 0x392a9642,
+ 0x367c9a7d, 0x2192e09a, 0xfa824bfe, 0x3fc395f9, 0x1b5d1009, 0x39daf5e8, 0x361214b0, 0x223d66a8,
+ 0xf82a6c6b, 0x3f84c8e1, 0x19ef7943, 0x3a8269a2, 0x35a5793c, 0x22e69ac7, 0xf5d544a8, 0x3f2ff249,
+ 0x187de2a6, 0x3b20d79e, 0x3536cc52, 0x238e7673, 0xf383a3e2, 0x3ec52f9f, 0x17088530, 0x3bb6276d,
+ 0x34c61236, 0x2434f332, 0xf136580e, 0x3e44a5ee, 0x158f9a75, 0x3c424209, 0x34534f40, 0x24da0a99,
+ 0xeeee2d9e, 0x3dae81ce, 0x14135c94, 0x3cc511d8, 0x33de87de, 0x257db64b, 0xecabef3e, 0x3d02f756,
+ 0x1294062e, 0x3d3e82ad, 0x3367c08f, 0x261feff9, 0xea70658b, 0x3c424209, 0x1111d262, 0x3dae81ce,
+ 0x32eefde9, 0x26c0b162, 0xe83c56cf, 0x3b6ca4c4, 0x0f8cfcbd, 0x3e14fdf7, 0x32744493, 0x275ff452,
+ 0xe61086bd, 0x3a8269a2, 0x0e05c135, 0x3e71e758, 0x31f79947, 0x27fdb2a6, 0xe3edb628, 0x3983e1e7,
+ 0x0c7c5c1e, 0x3ec52f9f, 0x317900d6, 0x2899e64a, 0xe1d4a2c8, 0x387165e3, 0x0af10a22, 0x3f0ec9f4,
+ 0x30f8801f, 0x29348937, 0xdfc606f2, 0x374b54ce, 0x09640837, 0x3f4eaafe, 0x30761c17, 0x29cd9577,
+ 0xddc29958, 0x361214b0, 0x07d59395, 0x3f84c8e1, 0x2ff1d9c6, 0x2a650525, 0xdbcb0cce, 0x34c61236,
+ 0x0645e9af, 0x3fb11b47, 0x2f6bbe44, 0x2afad269, 0xd9e01007, 0x3367c08f, 0x04b54824, 0x3fd39b5a,
+ 0x2ee3cebe, 0x2b8ef77c, 0xd8024d5a, 0x31f79947, 0x0323ecbe, 0x3fec43c6, 0x2e5a106f, 0x2c216eaa,
+ 0xd6326a89, 0x30761c17, 0x0192155f, 0x3ffb10c1, 0x2dce88a9, 0x2cb2324b, 0xd4710884, 0x2ee3cebe,
+ 0x00000000, 0x40000000, 0x2d413ccc, 0x2d413ccc, 0xd2bec334, 0x2d413ccc, 0xfe6deaa1, 0x3ffb10c1,
+ 0x2cb2324b, 0x2dce88a9, 0xd11c3142, 0x2b8ef77c, 0xfcdc1342, 0x3fec43c6, 0x2c216eaa, 0x2e5a106f,
+ 0xcf89e3e9, 0x29cd9577, 0xfb4ab7dc, 0x3fd39b5a, 0x2b8ef77c, 0x2ee3cebe, 0xce0866b9, 0x27fdb2a6,
+ 0xf9ba1651, 0x3fb11b47, 0x2afad269, 0x2f6bbe44, 0xcc983f71, 0x261feff9, 0xf82a6c6b, 0x3f84c8e1,
+ 0x2a650525, 0x2ff1d9c6, 0xcb39edca, 0x2434f332, 0xf69bf7c9, 0x3f4eaafe, 0x29cd9577, 0x30761c17,
+ 0xc9edeb50, 0x223d66a8, 0xf50ef5de, 0x3f0ec9f4, 0x29348937, 0x30f8801f, 0xc8b4ab32, 0x2039f90e,
+ 0xf383a3e2, 0x3ec52f9f, 0x2899e64a, 0x317900d6, 0xc78e9a1d, 0x1e2b5d38, 0xf1fa3ecb, 0x3e71e758,
+ 0x27fdb2a6, 0x31f79947, 0xc67c1e19, 0x1c1249d8, 0xf0730343, 0x3e14fdf7, 0x275ff452, 0x32744493,
+ 0xc57d965e, 0x19ef7943, 0xeeee2d9e, 0x3dae81ce, 0x26c0b162, 0x32eefde9, 0xc4935b3c, 0x17c3a931,
+ 0xed6bf9d2, 0x3d3e82ad, 0x261feff9, 0x3367c08f, 0xc3bdbdf7, 0x158f9a75, 0xebeca36c, 0x3cc511d8,
+ 0x257db64b, 0x33de87de, 0xc2fd08aa, 0x135410c2, 0xea70658b, 0x3c424209, 0x24da0a99, 0x34534f40,
+ 0xc2517e32, 0x1111d262, 0xe8f77ad0, 0x3bb6276d, 0x2434f332, 0x34c61236, 0xc1bb5a12, 0x0ec9a7f2,
+ 0xe7821d5a, 0x3b20d79e, 0x238e7673, 0x3536cc52, 0xc13ad061, 0x0c7c5c1e, 0xe61086bd, 0x3a8269a2,
+ 0x22e69ac7, 0x35a5793c, 0xc0d00db7, 0x0a2abb58, 0xe4a2eff7, 0x39daf5e8, 0x223d66a8, 0x361214b0,
+ 0xc07b371f, 0x07d59395, 0xe3399167, 0x392a9642, 0x2192e09a, 0x367c9a7d, 0xc03c6a07, 0x057db402,
+ 0xe1d4a2c8, 0x387165e3, 0x20e70f32, 0x36e5068a, 0xc013bc3a, 0x0323ecbe, 0xe0745b25, 0x37af8158,
+ 0x2039f90e, 0x374b54ce, 0xc0013bd3, 0x00c90e8f, 0xdf18f0ce, 0x36e5068a, 0x1f8ba4db, 0x37af8158,
+ 0xc004ef3f, 0xfe6deaa1, 0xddc29958, 0x361214b0, 0x1edc1952, 0x3811884c, 0xc01ed535, 0xfc135231,
+ 0xdc71898d, 0x3536cc52, 0x1e2b5d38, 0x387165e3, 0xc04ee4b9, 0xf9ba1651, 0xdb25f567, 0x34534f40,
+ 0x1d79775b, 0x38cf1669, 0xc0950d1d, 0xf7630799, 0xd9e01007, 0x3367c08f, 0x1cc66e99, 0x392a9642,
+ 0xc0f1360c, 0xf50ef5de, 0xd8a00bae, 0x32744493, 0x1c1249d8, 0x3983e1e7, 0xc1633f8a, 0xf2beafee,
+ 0xd76619b6, 0x317900d6, 0x1b5d1009, 0x39daf5e8, 0xc1eb0209, 0xf0730343, 0xd6326a89, 0x30761c17,
+ 0x1aa6c82b, 0x3a2fcee8, 0xc2884e6f, 0xee2cbbc1, 0xd5052d97, 0x2f6bbe44, 0x19ef7943, 0x3a8269a2,
+ 0xc33aee28, 0xebeca36c, 0xd3de9156, 0x2e5a106f, 0x19372a63, 0x3ad2c2e7, 0xc402a33c, 0xe9b38223,
+ 0xd2bec334, 0x2d413ccc, 0x187de2a6, 0x3b20d79e, 0xc4df2862, 0xe7821d5a, 0xd1a5ef91, 0x2c216eaa,
+ 0x17c3a931, 0x3b6ca4c4, 0xc5d03118, 0xe55937d5, 0xd09441bc, 0x2afad269, 0x17088530, 0x3bb6276d,
+ 0xc6d569be, 0xe3399167, 0xcf89e3e9, 0x29cd9577, 0x164c7ddd, 0x3bfd5cc4, 0xc7ee77b4, 0xe123e6ae,
+ 0xce86ff2a, 0x2899e64a, 0x158f9a75, 0x3c424209, 0xc91af976, 0xdf18f0ce, 0xcd8bbb6d, 0x275ff452,
+ 0x14d1e242, 0x3c84d496, 0xca5a86c4, 0xdd196539, 0xcc983f71, 0x261feff9, 0x14135c94, 0x3cc511d8,
+ 0xcbacb0c0, 0xdb25f567, 0xcbacb0c0, 0x24da0a99, 0x135410c2, 0x3d02f756, 0xcd110217, 0xd93f4e9e,
+ 0xcac933ae, 0x238e7673, 0x1294062e, 0x3d3e82ad, 0xce86ff2a, 0xd76619b6, 0xc9edeb50, 0x223d66a8,
+ 0x11d3443f, 0x3d77b191, 0xd00e263a, 0xd59afadb, 0xc91af976, 0x20e70f32, 0x1111d262, 0x3dae81ce,
+ 0xd1a5ef91, 0xd3de9156, 0xc8507ea8, 0x1f8ba4db, 0x104fb80e, 0x3de2f147, 0xd34dcdb5, 0xd2317757,
+ 0xc78e9a1d, 0x1e2b5d38, 0x0f8cfcbd, 0x3e14fdf7, 0xd5052d97, 0xd09441bc, 0xc6d569be, 0x1cc66e99,
+ 0x0ec9a7f2, 0x3e44a5ee, 0xd6cb76c9, 0xcf077fe1, 0xc6250a18, 0x1b5d1009, 0x0e05c135, 0x3e71e758,
+ 0xd8a00bae, 0xcd8bbb6d, 0xc57d965e, 0x19ef7943, 0x0d415012, 0x3e9cc076, 0xda8249b5, 0xcc217822,
+ 0xc4df2862, 0x187de2a6, 0x0c7c5c1e, 0x3ec52f9f, 0xdc71898d, 0xcac933ae, 0xc449d893, 0x17088530,
+ 0x0bb6ecef, 0x3eeb3347, 0xde6d1f66, 0xc9836583, 0xc3bdbdf7, 0x158f9a75, 0x0af10a22, 0x3f0ec9f4,
+ 0xe0745b25, 0xc8507ea8, 0xc33aee28, 0x14135c94, 0x0a2abb58, 0x3f2ff249, 0xe28688a5, 0xc730e997,
+ 0xc2c17d53, 0x1294062e, 0x09640837, 0x3f4eaafe, 0xe4a2eff7, 0xc6250a18, 0xc2517e32, 0x1111d262,
+ 0x089cf867, 0x3f6af2e3, 0xe6c8d59d, 0xc52d3d19, 0xc1eb0209, 0x0f8cfcbd, 0x07d59395, 0x3f84c8e1,
+ 0xe8f77ad0, 0xc449d893, 0xc18e18a8, 0x0e05c135, 0x070de171, 0x3f9c2bfa, 0xeb2e1dbe, 0xc37b2b6a,
+ 0xc13ad061, 0x0c7c5c1e, 0x0645e9af, 0x3fb11b47, 0xed6bf9d2, 0xc2c17d53, 0xc0f1360c, 0x0af10a22,
+ 0x057db402, 0x3fc395f9, 0xefb047f2, 0xc21d0eb9, 0xc0b15502, 0x09640837, 0x04b54824, 0x3fd39b5a,
+ 0xf1fa3ecb, 0xc18e18a8, 0xc07b371f, 0x07d59395, 0x03ecadcf, 0x3fe12acb, 0xf4491311, 0xc114ccb9,
+ 0xc04ee4b9, 0x0645e9af, 0x0323ecbe, 0x3fec43c6, 0xf69bf7c9, 0xc0b15502, 0xc02c64a6, 0x04b54824,
+ 0x025b0cae, 0x3ff4e5df, 0xf8f21e8f, 0xc063d406, 0xc013bc3a, 0x0323ecbe, 0x0192155f, 0x3ffb10c1,
0xfb4ab7dc, 0xc02c64a6, 0xc004ef3f, 0x0192155f, 0x00c90e8f, 0x3ffec42d, 0xfda4f352, 0xc00b1a21
};
const int twidTab64[4*6 + 16*6] = {
- 0x40000000, 0x00000000, 0x40000000, 0x00000000, 0x40000000, 0x00000000, 0x2d413ccc, 0x2d413ccc,
- 0x3b20d79e, 0x187de2a6, 0x187de2a6, 0x3b20d79e, 0x00000000, 0x40000000, 0x2d413ccc, 0x2d413ccc,
- 0xd2bec334, 0x2d413ccc, 0xd2bec334, 0x2d413ccc, 0x187de2a6, 0x3b20d79e, 0xc4df2862, 0xe7821d5a,
-
- 0x40000000, 0x00000000, 0x40000000, 0x00000000, 0x40000000, 0x00000000, 0x3ec52f9f, 0x0c7c5c1e,
- 0x3fb11b47, 0x0645e9af, 0x3d3e82ad, 0x1294062e, 0x3b20d79e, 0x187de2a6, 0x3ec52f9f, 0x0c7c5c1e,
- 0x3536cc52, 0x238e7673, 0x3536cc52, 0x238e7673, 0x3d3e82ad, 0x1294062e, 0x2899e64a, 0x317900d6,
- 0x2d413ccc, 0x2d413ccc, 0x3b20d79e, 0x187de2a6, 0x187de2a6, 0x3b20d79e, 0x238e7673, 0x3536cc52,
- 0x387165e3, 0x1e2b5d38, 0x0645e9af, 0x3fb11b47, 0x187de2a6, 0x3b20d79e, 0x3536cc52, 0x238e7673,
- 0xf383a3e2, 0x3ec52f9f, 0x0c7c5c1e, 0x3ec52f9f, 0x317900d6, 0x2899e64a, 0xe1d4a2c8, 0x387165e3,
- 0x00000000, 0x40000000, 0x2d413ccc, 0x2d413ccc, 0xd2bec334, 0x2d413ccc, 0xf383a3e2, 0x3ec52f9f,
- 0x2899e64a, 0x317900d6, 0xc78e9a1d, 0x1e2b5d38, 0xe7821d5a, 0x3b20d79e, 0x238e7673, 0x3536cc52,
- 0xc13ad061, 0x0c7c5c1e, 0xdc71898d, 0x3536cc52, 0x1e2b5d38, 0x387165e3, 0xc04ee4b9, 0xf9ba1651,
- 0xd2bec334, 0x2d413ccc, 0x187de2a6, 0x3b20d79e, 0xc4df2862, 0xe7821d5a, 0xcac933ae, 0x238e7673,
- 0x1294062e, 0x3d3e82ad, 0xce86ff2a, 0xd76619b6, 0xc4df2862, 0x187de2a6, 0x0c7c5c1e, 0x3ec52f9f,
- 0xdc71898d, 0xcac933ae, 0xc13ad061, 0x0c7c5c1e, 0x0645e9af, 0x3fb11b47, 0xed6bf9d2, 0xc2c17d53
+ 0x40000000, 0x00000000, 0x40000000, 0x00000000, 0x40000000, 0x00000000, 0x2d413ccc, 0x2d413ccc,
+ 0x3b20d79e, 0x187de2a6, 0x187de2a6, 0x3b20d79e, 0x00000000, 0x40000000, 0x2d413ccc, 0x2d413ccc,
+ 0xd2bec334, 0x2d413ccc, 0xd2bec334, 0x2d413ccc, 0x187de2a6, 0x3b20d79e, 0xc4df2862, 0xe7821d5a,
+
+ 0x40000000, 0x00000000, 0x40000000, 0x00000000, 0x40000000, 0x00000000, 0x3ec52f9f, 0x0c7c5c1e,
+ 0x3fb11b47, 0x0645e9af, 0x3d3e82ad, 0x1294062e, 0x3b20d79e, 0x187de2a6, 0x3ec52f9f, 0x0c7c5c1e,
+ 0x3536cc52, 0x238e7673, 0x3536cc52, 0x238e7673, 0x3d3e82ad, 0x1294062e, 0x2899e64a, 0x317900d6,
+ 0x2d413ccc, 0x2d413ccc, 0x3b20d79e, 0x187de2a6, 0x187de2a6, 0x3b20d79e, 0x238e7673, 0x3536cc52,
+ 0x387165e3, 0x1e2b5d38, 0x0645e9af, 0x3fb11b47, 0x187de2a6, 0x3b20d79e, 0x3536cc52, 0x238e7673,
+ 0xf383a3e2, 0x3ec52f9f, 0x0c7c5c1e, 0x3ec52f9f, 0x317900d6, 0x2899e64a, 0xe1d4a2c8, 0x387165e3,
+ 0x00000000, 0x40000000, 0x2d413ccc, 0x2d413ccc, 0xd2bec334, 0x2d413ccc, 0xf383a3e2, 0x3ec52f9f,
+ 0x2899e64a, 0x317900d6, 0xc78e9a1d, 0x1e2b5d38, 0xe7821d5a, 0x3b20d79e, 0x238e7673, 0x3536cc52,
+ 0xc13ad061, 0x0c7c5c1e, 0xdc71898d, 0x3536cc52, 0x1e2b5d38, 0x387165e3, 0xc04ee4b9, 0xf9ba1651,
+ 0xd2bec334, 0x2d413ccc, 0x187de2a6, 0x3b20d79e, 0xc4df2862, 0xe7821d5a, 0xcac933ae, 0x238e7673,
+ 0x1294062e, 0x3d3e82ad, 0xce86ff2a, 0xd76619b6, 0xc4df2862, 0x187de2a6, 0x0c7c5c1e, 0x3ec52f9f,
+ 0xdc71898d, 0xcac933ae, 0xc13ad061, 0x0c7c5c1e, 0x0645e9af, 0x3fb11b47, 0xed6bf9d2, 0xc2c17d53
};
#endif //ARMV5E
-const int ShortWindowSine[FRAME_LEN_SHORT/2] ={
- 0x00c97fff, 0x025b7ffa, 0x03ed7ff1, 0x057f7fe2, 0x07117fce, 0x08a27fb5, 0x0a337f98, 0x0bc47f75,
- 0x0d547f4e, 0x0ee47f22, 0x10737ef0, 0x12017eba, 0x138f7e7f, 0x151c7e3f, 0x16a87dfb, 0x18337db1,
- 0x19be7d63, 0x1b477d0f, 0x1cd07cb7, 0x1e577c5a, 0x1fdd7bf9, 0x21627b92, 0x22e57b27, 0x24677ab7,
- 0x25e87a42, 0x276879c9, 0x28e5794a, 0x2a6278c8, 0x2bdc7840, 0x2d5577b4, 0x2ecc7723, 0x3042768e,
- 0x31b575f4, 0x33277556, 0x349774b3, 0x3604740b, 0x3770735f, 0x38d972af, 0x3a4071fa, 0x3ba57141,
- 0x3d087083, 0x3e686fc2, 0x3fc66efb, 0x41216e31, 0x427a6d62, 0x43d16c8f, 0x45246bb8, 0x46756add,
- 0x47c469fd, 0x490f691a, 0x4a586832, 0x4b9e6747, 0x4ce16657, 0x4e216564, 0x4f5e646c, 0x50986371,
+const int ShortWindowSine[FRAME_LEN_SHORT/2] ={
+ 0x00c97fff, 0x025b7ffa, 0x03ed7ff1, 0x057f7fe2, 0x07117fce, 0x08a27fb5, 0x0a337f98, 0x0bc47f75,
+ 0x0d547f4e, 0x0ee47f22, 0x10737ef0, 0x12017eba, 0x138f7e7f, 0x151c7e3f, 0x16a87dfb, 0x18337db1,
+ 0x19be7d63, 0x1b477d0f, 0x1cd07cb7, 0x1e577c5a, 0x1fdd7bf9, 0x21627b92, 0x22e57b27, 0x24677ab7,
+ 0x25e87a42, 0x276879c9, 0x28e5794a, 0x2a6278c8, 0x2bdc7840, 0x2d5577b4, 0x2ecc7723, 0x3042768e,
+ 0x31b575f4, 0x33277556, 0x349774b3, 0x3604740b, 0x3770735f, 0x38d972af, 0x3a4071fa, 0x3ba57141,
+ 0x3d087083, 0x3e686fc2, 0x3fc66efb, 0x41216e31, 0x427a6d62, 0x43d16c8f, 0x45246bb8, 0x46756add,
+ 0x47c469fd, 0x490f691a, 0x4a586832, 0x4b9e6747, 0x4ce16657, 0x4e216564, 0x4f5e646c, 0x50986371,
0x51cf6272, 0x5303616f, 0x54336068, 0x55605f5e, 0x568a5e50, 0x57b15d3e, 0x58d45c29, 0x59f45b10
};
-const int LongWindowKBD[FRAME_LEN_LONG/2]={
- 0x000a7fff, 0x000e7fff, 0x00127fff, 0x00157fff, 0x00197fff, 0x001c7fff, 0x00207fff, 0x00237fff,
- 0x00267fff, 0x002a7fff, 0x002d7fff, 0x00307fff, 0x00347fff, 0x00387fff, 0x003b7fff, 0x003f7fff,
- 0x00437fff, 0x00477fff, 0x004b7fff, 0x004f7fff, 0x00537fff, 0x00577fff, 0x005b7fff, 0x00607fff,
- 0x00647fff, 0x00697fff, 0x006d7fff, 0x00727fff, 0x00777fff, 0x007c7fff, 0x00817fff, 0x00867fff,
- 0x008b7fff, 0x00917fff, 0x00967fff, 0x009c7fff, 0x00a17fff, 0x00a77fff, 0x00ad7fff, 0x00b37fff,
- 0x00b97fff, 0x00bf7fff, 0x00c67fff, 0x00cc7fff, 0x00d37fff, 0x00da7fff, 0x00e07fff, 0x00e77fff,
- 0x00ee7fff, 0x00f57fff, 0x00fd7fff, 0x01047fff, 0x010c7fff, 0x01137fff, 0x011b7fff, 0x01237fff,
- 0x012b7fff, 0x01337fff, 0x013c7ffe, 0x01447ffe, 0x014d7ffe, 0x01567ffe, 0x015f7ffe, 0x01687ffe,
- 0x01717ffe, 0x017a7ffe, 0x01837ffe, 0x018d7ffe, 0x01977ffd, 0x01a17ffd, 0x01ab7ffd, 0x01b57ffd,
- 0x01bf7ffd, 0x01ca7ffd, 0x01d47ffd, 0x01df7ffc, 0x01ea7ffc, 0x01f57ffc, 0x02007ffc, 0x020c7ffc,
- 0x02177ffc, 0x02237ffb, 0x022f7ffb, 0x023b7ffb, 0x02477ffb, 0x02537ffb, 0x02607ffa, 0x026d7ffa,
- 0x027a7ffa, 0x02877ffa, 0x02947ff9, 0x02a17ff9, 0x02af7ff9, 0x02bc7ff9, 0x02ca7ff8, 0x02d87ff8,
- 0x02e77ff8, 0x02f57ff7, 0x03047ff7, 0x03127ff7, 0x03217ff6, 0x03317ff6, 0x03407ff5, 0x034f7ff5,
- 0x035f7ff5, 0x036f7ff4, 0x037f7ff4, 0x038f7ff3, 0x03a07ff3, 0x03b07ff2, 0x03c17ff2, 0x03d27ff1,
- 0x03e37ff1, 0x03f57ff0, 0x04067ff0, 0x04187fef, 0x042a7fef, 0x043c7fee, 0x044f7fed, 0x04617fed,
- 0x04747fec, 0x04877feb, 0x049a7feb, 0x04ae7fea, 0x04c17fe9, 0x04d57fe9, 0x04e97fe8, 0x04fd7fe7,
- 0x05127fe6, 0x05277fe5, 0x053b7fe5, 0x05507fe4, 0x05667fe3, 0x057b7fe2, 0x05917fe1, 0x05a77fe0,
- 0x05bd7fdf, 0x05d37fde, 0x05ea7fdd, 0x06017fdc, 0x06187fdb, 0x062f7fda, 0x06467fd9, 0x065e7fd7,
- 0x06767fd6, 0x068e7fd5, 0x06a67fd4, 0x06bf7fd2, 0x06d87fd1, 0x06f17fd0, 0x070a7fce, 0x07237fcd,
- 0x073d7fcc, 0x07577fca, 0x07717fc9, 0x078c7fc7, 0x07a67fc5, 0x07c17fc4, 0x07dc7fc2, 0x07f77fc0,
- 0x08137fbf, 0x082f7fbd, 0x084b7fbb, 0x08677fb9, 0x08847fb7, 0x08a07fb6, 0x08bd7fb4, 0x08da7fb2,
- 0x08f87faf, 0x09167fad, 0x09347fab, 0x09527fa9, 0x09707fa7, 0x098f7fa5, 0x09ae7fa2, 0x09cd7fa0,
- 0x09ec7f9d, 0x0a0c7f9b, 0x0a2c7f98, 0x0a4c7f96, 0x0a6c7f93, 0x0a8d7f91, 0x0aae7f8e, 0x0acf7f8b,
- 0x0af07f88, 0x0b127f85, 0x0b337f82, 0x0b557f7f, 0x0b787f7c, 0x0b9a7f79, 0x0bbd7f76, 0x0be07f73,
- 0x0c047f6f, 0x0c277f6c, 0x0c4b7f69, 0x0c6f7f65, 0x0c937f61, 0x0cb87f5e, 0x0cdd7f5a, 0x0d027f56,
- 0x0d277f53, 0x0d4d7f4f, 0x0d737f4b, 0x0d997f47, 0x0dbf7f43, 0x0de67f3e, 0x0e0c7f3a, 0x0e347f36,
- 0x0e5b7f31, 0x0e837f2d, 0x0eaa7f28, 0x0ed37f24, 0x0efb7f1f, 0x0f237f1a, 0x0f4c7f15, 0x0f757f10,
- 0x0f9f7f0b, 0x0fc87f06, 0x0ff27f01, 0x101c7efb, 0x10477ef6, 0x10717ef0, 0x109c7eeb, 0x10c87ee5,
- 0x10f37edf, 0x111f7eda, 0x114a7ed4, 0x11777ece, 0x11a37ec7, 0x11d07ec1, 0x11fd7ebb, 0x122a7eb4,
- 0x12577eae, 0x12857ea7, 0x12b37ea0, 0x12e17e9a, 0x130f7e93, 0x133e7e8c, 0x136d7e84, 0x139c7e7d,
- 0x13cc7e76, 0x13fb7e6e, 0x142b7e67, 0x145b7e5f, 0x148c7e57, 0x14bc7e4f, 0x14ed7e47, 0x151e7e3f,
- 0x15507e37, 0x15817e2e, 0x15b37e26, 0x15e57e1d, 0x16187e14, 0x164a7e0b, 0x167d7e02, 0x16b07df9,
- 0x16e47df0, 0x17177de6, 0x174b7ddd, 0x177f7dd3, 0x17b37dc9, 0x17e87dbf, 0x181d7db5, 0x18527dab,
- 0x18877da1, 0x18bc7d96, 0x18f27d8c, 0x19287d81, 0x195e7d76, 0x19957d6b, 0x19cb7d60, 0x1a027d54,
- 0x1a397d49, 0x1a717d3d, 0x1aa87d31, 0x1ae07d26, 0x1b187d19, 0x1b507d0d, 0x1b897d01, 0x1bc27cf4,
- 0x1bfb7ce8, 0x1c347cdb, 0x1c6d7cce, 0x1ca77cc1, 0x1ce17cb3, 0x1d1b7ca6, 0x1d557c98, 0x1d8f7c8a,
- 0x1dca7c7c, 0x1e057c6e, 0x1e407c60, 0x1e7b7c51, 0x1eb77c43, 0x1ef37c34, 0x1f2f7c25, 0x1f6b7c16,
- 0x1fa77c06, 0x1fe47bf7, 0x20217be7, 0x205e7bd7, 0x209b7bc7, 0x20d87bb7, 0x21167ba6, 0x21547b96,
- 0x21927b85, 0x21d07b74, 0x220e7b63, 0x224d7b52, 0x228c7b40, 0x22cb7b2e, 0x230a7b1c, 0x23497b0a,
- 0x23897af8, 0x23c87ae6, 0x24087ad3, 0x24487ac0, 0x24897aad, 0x24c97a9a, 0x250a7a86, 0x254b7a73,
- 0x258c7a5f, 0x25cd7a4b, 0x260e7a36, 0x26507a22, 0x26917a0d, 0x26d379f8, 0x271579e3, 0x275779ce,
- 0x279a79b8, 0x27dc79a3, 0x281f798d, 0x28627977, 0x28a57960, 0x28e8794a, 0x292b7933, 0x296f791c,
- 0x29b27905, 0x29f678ed, 0x2a3a78d6, 0x2a7e78be, 0x2ac278a6, 0x2b07788d, 0x2b4b7875, 0x2b90785c,
- 0x2bd47843, 0x2c19782a, 0x2c5e7810, 0x2ca477f7, 0x2ce977dd, 0x2d2e77c3, 0x2d7477a8, 0x2dba778e,
- 0x2dff7773, 0x2e457758, 0x2e8b773d, 0x2ed27721, 0x2f187706, 0x2f5e76ea, 0x2fa576cd, 0x2fec76b1,
- 0x30327694, 0x30797677, 0x30c0765a, 0x3107763d, 0x314e761f, 0x31967601, 0x31dd75e3, 0x322575c5,
- 0x326c75a6, 0x32b47588, 0x32fc7569, 0x33447549, 0x338c752a, 0x33d4750a, 0x341c74ea, 0x346474ca,
- 0x34ac74a9, 0x34f57488, 0x353d7467, 0x35857446, 0x35ce7424, 0x36177403, 0x365f73e1, 0x36a873be,
- 0x36f1739c, 0x373a7379, 0x37837356, 0x37cc7333, 0x3815730f, 0x385e72ec, 0x38a772c8, 0x38f172a3,
- 0x393a727f, 0x3983725a, 0x39cd7235, 0x3a167210, 0x3a6071ea, 0x3aa971c4, 0x3af3719e, 0x3b3c7178,
- 0x3b867151, 0x3bd0712b, 0x3c197104, 0x3c6370dc, 0x3cad70b5, 0x3cf7708d, 0x3d407065, 0x3d8a703c,
- 0x3dd47014, 0x3e1e6feb, 0x3e686fc2, 0x3eb16f98, 0x3efb6f6f, 0x3f456f45, 0x3f8f6f1b, 0x3fd96ef0,
- 0x40236ec6, 0x406d6e9b, 0x40b66e70, 0x41006e44, 0x414a6e19, 0x41946ded, 0x41de6dc1, 0x42286d94,
- 0x42716d68, 0x42bb6d3b, 0x43056d0d, 0x434f6ce0, 0x43986cb2, 0x43e26c84, 0x442c6c56, 0x44756c28,
- 0x44bf6bf9, 0x45086bca, 0x45526b9b, 0x459b6b6b, 0x45e56b3c, 0x462e6b0c, 0x46786adb, 0x46c16aab,
- 0x470a6a7a, 0x47536a49, 0x479c6a18, 0x47e569e7, 0x482e69b5, 0x48776983, 0x48c06951, 0x4909691e,
- 0x495268ec, 0x499b68b9, 0x49e36885, 0x4a2c6852, 0x4a74681e, 0x4abd67ea, 0x4b0567b6, 0x4b4d6782,
- 0x4b95674d, 0x4bde6718, 0x4c2666e3, 0x4c6d66ae, 0x4cb56678, 0x4cfd6642, 0x4d45660c, 0x4d8c65d6,
- 0x4dd4659f, 0x4e1b6568, 0x4e626531, 0x4ea964fa, 0x4ef064c3, 0x4f37648b, 0x4f7e6453, 0x4fc5641b,
- 0x500b63e2, 0x505263aa, 0x50986371, 0x50df6338, 0x512562fe, 0x516b62c5, 0x51b1628b, 0x51f66251,
- 0x523c6217, 0x528161dc, 0x52c761a2, 0x530c6167, 0x5351612c, 0x539660f1, 0x53db60b5, 0x54206079,
- 0x5464603d, 0x54a96001, 0x54ed5fc5, 0x55315f88, 0x55755f4b, 0x55b95f0e, 0x55fc5ed1, 0x56405e94,
- 0x56835e56, 0x56c75e18, 0x570a5dda, 0x574d5d9c, 0x578f5d5e, 0x57d25d1f, 0x58145ce0, 0x58565ca1,
+const int LongWindowKBD[FRAME_LEN_LONG/2]={
+ 0x000a7fff, 0x000e7fff, 0x00127fff, 0x00157fff, 0x00197fff, 0x001c7fff, 0x00207fff, 0x00237fff,
+ 0x00267fff, 0x002a7fff, 0x002d7fff, 0x00307fff, 0x00347fff, 0x00387fff, 0x003b7fff, 0x003f7fff,
+ 0x00437fff, 0x00477fff, 0x004b7fff, 0x004f7fff, 0x00537fff, 0x00577fff, 0x005b7fff, 0x00607fff,
+ 0x00647fff, 0x00697fff, 0x006d7fff, 0x00727fff, 0x00777fff, 0x007c7fff, 0x00817fff, 0x00867fff,
+ 0x008b7fff, 0x00917fff, 0x00967fff, 0x009c7fff, 0x00a17fff, 0x00a77fff, 0x00ad7fff, 0x00b37fff,
+ 0x00b97fff, 0x00bf7fff, 0x00c67fff, 0x00cc7fff, 0x00d37fff, 0x00da7fff, 0x00e07fff, 0x00e77fff,
+ 0x00ee7fff, 0x00f57fff, 0x00fd7fff, 0x01047fff, 0x010c7fff, 0x01137fff, 0x011b7fff, 0x01237fff,
+ 0x012b7fff, 0x01337fff, 0x013c7ffe, 0x01447ffe, 0x014d7ffe, 0x01567ffe, 0x015f7ffe, 0x01687ffe,
+ 0x01717ffe, 0x017a7ffe, 0x01837ffe, 0x018d7ffe, 0x01977ffd, 0x01a17ffd, 0x01ab7ffd, 0x01b57ffd,
+ 0x01bf7ffd, 0x01ca7ffd, 0x01d47ffd, 0x01df7ffc, 0x01ea7ffc, 0x01f57ffc, 0x02007ffc, 0x020c7ffc,
+ 0x02177ffc, 0x02237ffb, 0x022f7ffb, 0x023b7ffb, 0x02477ffb, 0x02537ffb, 0x02607ffa, 0x026d7ffa,
+ 0x027a7ffa, 0x02877ffa, 0x02947ff9, 0x02a17ff9, 0x02af7ff9, 0x02bc7ff9, 0x02ca7ff8, 0x02d87ff8,
+ 0x02e77ff8, 0x02f57ff7, 0x03047ff7, 0x03127ff7, 0x03217ff6, 0x03317ff6, 0x03407ff5, 0x034f7ff5,
+ 0x035f7ff5, 0x036f7ff4, 0x037f7ff4, 0x038f7ff3, 0x03a07ff3, 0x03b07ff2, 0x03c17ff2, 0x03d27ff1,
+ 0x03e37ff1, 0x03f57ff0, 0x04067ff0, 0x04187fef, 0x042a7fef, 0x043c7fee, 0x044f7fed, 0x04617fed,
+ 0x04747fec, 0x04877feb, 0x049a7feb, 0x04ae7fea, 0x04c17fe9, 0x04d57fe9, 0x04e97fe8, 0x04fd7fe7,
+ 0x05127fe6, 0x05277fe5, 0x053b7fe5, 0x05507fe4, 0x05667fe3, 0x057b7fe2, 0x05917fe1, 0x05a77fe0,
+ 0x05bd7fdf, 0x05d37fde, 0x05ea7fdd, 0x06017fdc, 0x06187fdb, 0x062f7fda, 0x06467fd9, 0x065e7fd7,
+ 0x06767fd6, 0x068e7fd5, 0x06a67fd4, 0x06bf7fd2, 0x06d87fd1, 0x06f17fd0, 0x070a7fce, 0x07237fcd,
+ 0x073d7fcc, 0x07577fca, 0x07717fc9, 0x078c7fc7, 0x07a67fc5, 0x07c17fc4, 0x07dc7fc2, 0x07f77fc0,
+ 0x08137fbf, 0x082f7fbd, 0x084b7fbb, 0x08677fb9, 0x08847fb7, 0x08a07fb6, 0x08bd7fb4, 0x08da7fb2,
+ 0x08f87faf, 0x09167fad, 0x09347fab, 0x09527fa9, 0x09707fa7, 0x098f7fa5, 0x09ae7fa2, 0x09cd7fa0,
+ 0x09ec7f9d, 0x0a0c7f9b, 0x0a2c7f98, 0x0a4c7f96, 0x0a6c7f93, 0x0a8d7f91, 0x0aae7f8e, 0x0acf7f8b,
+ 0x0af07f88, 0x0b127f85, 0x0b337f82, 0x0b557f7f, 0x0b787f7c, 0x0b9a7f79, 0x0bbd7f76, 0x0be07f73,
+ 0x0c047f6f, 0x0c277f6c, 0x0c4b7f69, 0x0c6f7f65, 0x0c937f61, 0x0cb87f5e, 0x0cdd7f5a, 0x0d027f56,
+ 0x0d277f53, 0x0d4d7f4f, 0x0d737f4b, 0x0d997f47, 0x0dbf7f43, 0x0de67f3e, 0x0e0c7f3a, 0x0e347f36,
+ 0x0e5b7f31, 0x0e837f2d, 0x0eaa7f28, 0x0ed37f24, 0x0efb7f1f, 0x0f237f1a, 0x0f4c7f15, 0x0f757f10,
+ 0x0f9f7f0b, 0x0fc87f06, 0x0ff27f01, 0x101c7efb, 0x10477ef6, 0x10717ef0, 0x109c7eeb, 0x10c87ee5,
+ 0x10f37edf, 0x111f7eda, 0x114a7ed4, 0x11777ece, 0x11a37ec7, 0x11d07ec1, 0x11fd7ebb, 0x122a7eb4,
+ 0x12577eae, 0x12857ea7, 0x12b37ea0, 0x12e17e9a, 0x130f7e93, 0x133e7e8c, 0x136d7e84, 0x139c7e7d,
+ 0x13cc7e76, 0x13fb7e6e, 0x142b7e67, 0x145b7e5f, 0x148c7e57, 0x14bc7e4f, 0x14ed7e47, 0x151e7e3f,
+ 0x15507e37, 0x15817e2e, 0x15b37e26, 0x15e57e1d, 0x16187e14, 0x164a7e0b, 0x167d7e02, 0x16b07df9,
+ 0x16e47df0, 0x17177de6, 0x174b7ddd, 0x177f7dd3, 0x17b37dc9, 0x17e87dbf, 0x181d7db5, 0x18527dab,
+ 0x18877da1, 0x18bc7d96, 0x18f27d8c, 0x19287d81, 0x195e7d76, 0x19957d6b, 0x19cb7d60, 0x1a027d54,
+ 0x1a397d49, 0x1a717d3d, 0x1aa87d31, 0x1ae07d26, 0x1b187d19, 0x1b507d0d, 0x1b897d01, 0x1bc27cf4,
+ 0x1bfb7ce8, 0x1c347cdb, 0x1c6d7cce, 0x1ca77cc1, 0x1ce17cb3, 0x1d1b7ca6, 0x1d557c98, 0x1d8f7c8a,
+ 0x1dca7c7c, 0x1e057c6e, 0x1e407c60, 0x1e7b7c51, 0x1eb77c43, 0x1ef37c34, 0x1f2f7c25, 0x1f6b7c16,
+ 0x1fa77c06, 0x1fe47bf7, 0x20217be7, 0x205e7bd7, 0x209b7bc7, 0x20d87bb7, 0x21167ba6, 0x21547b96,
+ 0x21927b85, 0x21d07b74, 0x220e7b63, 0x224d7b52, 0x228c7b40, 0x22cb7b2e, 0x230a7b1c, 0x23497b0a,
+ 0x23897af8, 0x23c87ae6, 0x24087ad3, 0x24487ac0, 0x24897aad, 0x24c97a9a, 0x250a7a86, 0x254b7a73,
+ 0x258c7a5f, 0x25cd7a4b, 0x260e7a36, 0x26507a22, 0x26917a0d, 0x26d379f8, 0x271579e3, 0x275779ce,
+ 0x279a79b8, 0x27dc79a3, 0x281f798d, 0x28627977, 0x28a57960, 0x28e8794a, 0x292b7933, 0x296f791c,
+ 0x29b27905, 0x29f678ed, 0x2a3a78d6, 0x2a7e78be, 0x2ac278a6, 0x2b07788d, 0x2b4b7875, 0x2b90785c,
+ 0x2bd47843, 0x2c19782a, 0x2c5e7810, 0x2ca477f7, 0x2ce977dd, 0x2d2e77c3, 0x2d7477a8, 0x2dba778e,
+ 0x2dff7773, 0x2e457758, 0x2e8b773d, 0x2ed27721, 0x2f187706, 0x2f5e76ea, 0x2fa576cd, 0x2fec76b1,
+ 0x30327694, 0x30797677, 0x30c0765a, 0x3107763d, 0x314e761f, 0x31967601, 0x31dd75e3, 0x322575c5,
+ 0x326c75a6, 0x32b47588, 0x32fc7569, 0x33447549, 0x338c752a, 0x33d4750a, 0x341c74ea, 0x346474ca,
+ 0x34ac74a9, 0x34f57488, 0x353d7467, 0x35857446, 0x35ce7424, 0x36177403, 0x365f73e1, 0x36a873be,
+ 0x36f1739c, 0x373a7379, 0x37837356, 0x37cc7333, 0x3815730f, 0x385e72ec, 0x38a772c8, 0x38f172a3,
+ 0x393a727f, 0x3983725a, 0x39cd7235, 0x3a167210, 0x3a6071ea, 0x3aa971c4, 0x3af3719e, 0x3b3c7178,
+ 0x3b867151, 0x3bd0712b, 0x3c197104, 0x3c6370dc, 0x3cad70b5, 0x3cf7708d, 0x3d407065, 0x3d8a703c,
+ 0x3dd47014, 0x3e1e6feb, 0x3e686fc2, 0x3eb16f98, 0x3efb6f6f, 0x3f456f45, 0x3f8f6f1b, 0x3fd96ef0,
+ 0x40236ec6, 0x406d6e9b, 0x40b66e70, 0x41006e44, 0x414a6e19, 0x41946ded, 0x41de6dc1, 0x42286d94,
+ 0x42716d68, 0x42bb6d3b, 0x43056d0d, 0x434f6ce0, 0x43986cb2, 0x43e26c84, 0x442c6c56, 0x44756c28,
+ 0x44bf6bf9, 0x45086bca, 0x45526b9b, 0x459b6b6b, 0x45e56b3c, 0x462e6b0c, 0x46786adb, 0x46c16aab,
+ 0x470a6a7a, 0x47536a49, 0x479c6a18, 0x47e569e7, 0x482e69b5, 0x48776983, 0x48c06951, 0x4909691e,
+ 0x495268ec, 0x499b68b9, 0x49e36885, 0x4a2c6852, 0x4a74681e, 0x4abd67ea, 0x4b0567b6, 0x4b4d6782,
+ 0x4b95674d, 0x4bde6718, 0x4c2666e3, 0x4c6d66ae, 0x4cb56678, 0x4cfd6642, 0x4d45660c, 0x4d8c65d6,
+ 0x4dd4659f, 0x4e1b6568, 0x4e626531, 0x4ea964fa, 0x4ef064c3, 0x4f37648b, 0x4f7e6453, 0x4fc5641b,
+ 0x500b63e2, 0x505263aa, 0x50986371, 0x50df6338, 0x512562fe, 0x516b62c5, 0x51b1628b, 0x51f66251,
+ 0x523c6217, 0x528161dc, 0x52c761a2, 0x530c6167, 0x5351612c, 0x539660f1, 0x53db60b5, 0x54206079,
+ 0x5464603d, 0x54a96001, 0x54ed5fc5, 0x55315f88, 0x55755f4b, 0x55b95f0e, 0x55fc5ed1, 0x56405e94,
+ 0x56835e56, 0x56c75e18, 0x570a5dda, 0x574d5d9c, 0x578f5d5e, 0x57d25d1f, 0x58145ce0, 0x58565ca1,
0x58995c62, 0x58da5c23, 0x591c5be3, 0x595e5ba4, 0x599f5b64, 0x59e05b24, 0x5a215ae3, 0x5a625aa3
};
@@ -1070,277 +1070,277 @@ const Word32 formfac_sqrttable[96] = {
\brief these tables are used for the non
linear quantizer and inverse quantizer
-
+
*/
const Word32 mTab_3_4[512] = {
- 0x4c1bf829, 0x4c3880de, 0x4c550603, 0x4c71879c,
- 0x4c8e05aa, 0x4caa8030, 0x4cc6f72f, 0x4ce36aab,
- 0x4cffdaa4, 0x4d1c471d, 0x4d38b019, 0x4d55159a,
- 0x4d7177a1, 0x4d8dd631, 0x4daa314b, 0x4dc688f3,
- 0x4de2dd2a, 0x4dff2df2, 0x4e1b7b4d, 0x4e37c53d,
- 0x4e540bc5, 0x4e704ee6, 0x4e8c8ea3, 0x4ea8cafd,
- 0x4ec503f7, 0x4ee13992, 0x4efd6bd0, 0x4f199ab4,
- 0x4f35c640, 0x4f51ee75, 0x4f6e1356, 0x4f8a34e4,
- 0x4fa65321, 0x4fc26e10, 0x4fde85b2, 0x4ffa9a0a,
- 0x5016ab18, 0x5032b8e0, 0x504ec362, 0x506acaa1,
- 0x5086cea0, 0x50a2cf5e, 0x50becce0, 0x50dac725,
- 0x50f6be31, 0x5112b205, 0x512ea2a3, 0x514a900d,
- 0x51667a45, 0x5182614c, 0x519e4524, 0x51ba25cf,
- 0x51d60350, 0x51f1dda7, 0x520db4d6, 0x522988e0,
- 0x524559c6, 0x52612789, 0x527cf22d, 0x5298b9b1,
- 0x52b47e19, 0x52d03f65, 0x52ebfd98, 0x5307b8b4,
- 0x532370b9, 0x533f25aa, 0x535ad789, 0x53768656,
- 0x53923215, 0x53addac6, 0x53c9806b, 0x53e52306,
- 0x5400c298, 0x541c5f24, 0x5437f8ab, 0x54538f2e,
- 0x546f22af, 0x548ab330, 0x54a640b3, 0x54c1cb38,
- 0x54dd52c2, 0x54f8d753, 0x551458eb, 0x552fd78d,
- 0x554b5339, 0x5566cbf3, 0x558241bb, 0x559db492,
- 0x55b9247b, 0x55d49177, 0x55effb87, 0x560b62ad,
- 0x5626c6eb, 0x56422842, 0x565d86b4, 0x5678e242,
- 0x56943aee, 0x56af90b9, 0x56cae3a4, 0x56e633b2,
- 0x570180e4, 0x571ccb3b, 0x573812b8, 0x5753575e,
- 0x576e992e, 0x5789d829, 0x57a51450, 0x57c04da6,
- 0x57db842b, 0x57f6b7e1, 0x5811e8c9, 0x582d16e6,
- 0x58484238, 0x58636ac0, 0x587e9081, 0x5899b37c,
- 0x58b4d3b1, 0x58cff123, 0x58eb0bd3, 0x590623c2,
- 0x592138f2, 0x593c4b63, 0x59575b19, 0x59726812,
- 0x598d7253, 0x59a879da, 0x59c37eab, 0x59de80c6,
- 0x59f9802d, 0x5a147ce0, 0x5a2f76e2, 0x5a4a6e34,
- 0x5a6562d6, 0x5a8054cb, 0x5a9b4414, 0x5ab630b2,
- 0x5ad11aa6, 0x5aec01f1, 0x5b06e696, 0x5b21c895,
- 0x5b3ca7ef, 0x5b5784a6, 0x5b725ebc, 0x5b8d3631,
- 0x5ba80b06, 0x5bc2dd3e, 0x5bddacd9, 0x5bf879d8,
- 0x5c13443d, 0x5c2e0c09, 0x5c48d13e, 0x5c6393dc,
- 0x5c7e53e5, 0x5c99115a, 0x5cb3cc3c, 0x5cce848d,
- 0x5ce93a4e, 0x5d03ed80, 0x5d1e9e24, 0x5d394c3b,
- 0x5d53f7c7, 0x5d6ea0c9, 0x5d894742, 0x5da3eb33,
- 0x5dbe8c9e, 0x5dd92b84, 0x5df3c7e5, 0x5e0e61c3,
- 0x5e28f920, 0x5e438dfc, 0x5e5e2059, 0x5e78b037,
- 0x5e933d99, 0x5eadc87e, 0x5ec850e9, 0x5ee2d6da,
- 0x5efd5a53, 0x5f17db54, 0x5f3259e0, 0x5f4cd5f6,
- 0x5f674f99, 0x5f81c6c8, 0x5f9c3b87, 0x5fb6add4,
- 0x5fd11db3, 0x5feb8b23, 0x6005f626, 0x60205ebd,
- 0x603ac4e9, 0x605528ac, 0x606f8a05, 0x6089e8f7,
- 0x60a44583, 0x60be9fa9, 0x60d8f76b, 0x60f34cca,
- 0x610d9fc7, 0x6127f062, 0x61423e9e, 0x615c8a7a,
- 0x6176d3f9, 0x61911b1b, 0x61ab5fe1, 0x61c5a24d,
- 0x61dfe25f, 0x61fa2018, 0x62145b7a, 0x622e9485,
- 0x6248cb3b, 0x6262ff9d, 0x627d31ab, 0x62976167,
- 0x62b18ed1, 0x62cbb9eb, 0x62e5e2b6, 0x63000933,
- 0x631a2d62, 0x63344f45, 0x634e6edd, 0x63688c2b,
- 0x6382a730, 0x639cbfec, 0x63b6d661, 0x63d0ea90,
- 0x63eafc7a, 0x64050c1f, 0x641f1982, 0x643924a2,
- 0x64532d80, 0x646d341f, 0x6487387e, 0x64a13a9e,
- 0x64bb3a81, 0x64d53828, 0x64ef3393, 0x65092cc4,
- 0x652323bb, 0x653d1879, 0x65570b00, 0x6570fb50,
- 0x658ae96b, 0x65a4d550, 0x65bebf01, 0x65d8a680,
- 0x65f28bcc, 0x660c6ee8, 0x66264fd3, 0x66402e8f,
- 0x665a0b1c, 0x6673e57d, 0x668dbdb0, 0x66a793b8,
- 0x66c16795, 0x66db3949, 0x66f508d4, 0x670ed636,
- 0x6728a172, 0x67426a87, 0x675c3177, 0x6775f643,
- 0x678fb8eb, 0x67a97971, 0x67c337d5, 0x67dcf418,
- 0x67f6ae3b, 0x6810663f, 0x682a1c25, 0x6843cfed,
- 0x685d8199, 0x68773129, 0x6890de9f, 0x68aa89fa,
- 0x68c4333d, 0x68ddda67, 0x68f77f7a, 0x69112277,
- 0x692ac35e, 0x69446230, 0x695dfeee, 0x6977999a,
- 0x69913232, 0x69aac8ba, 0x69c45d31, 0x69ddef98,
- 0x69f77ff0, 0x6a110e3a, 0x6a2a9a77, 0x6a4424a8,
- 0x6a5daccc, 0x6a7732e6, 0x6a90b6f6, 0x6aaa38fd,
- 0x6ac3b8fb, 0x6add36f2, 0x6af6b2e2, 0x6b102ccd,
- 0x6b29a4b2, 0x6b431a92, 0x6b5c8e6f, 0x6b76004a,
- 0x6b8f7022, 0x6ba8ddf9, 0x6bc249d0, 0x6bdbb3a7,
- 0x6bf51b80, 0x6c0e815a, 0x6c27e537, 0x6c414718,
- 0x6c5aa6fd, 0x6c7404e7, 0x6c8d60d7, 0x6ca6bace,
- 0x6cc012cc, 0x6cd968d2, 0x6cf2bce1, 0x6d0c0ef9,
- 0x6d255f1d, 0x6d3ead4b, 0x6d57f985, 0x6d7143cc,
- 0x6d8a8c21, 0x6da3d283, 0x6dbd16f5, 0x6dd65976,
- 0x6def9a08, 0x6e08d8ab, 0x6e221560, 0x6e3b5027,
- 0x6e548902, 0x6e6dbff1, 0x6e86f4f5, 0x6ea0280e,
- 0x6eb9593e, 0x6ed28885, 0x6eebb5e3, 0x6f04e15a,
- 0x6f1e0aea, 0x6f373294, 0x6f505859, 0x6f697c39,
- 0x6f829e35, 0x6f9bbe4e, 0x6fb4dc85, 0x6fcdf8d9,
- 0x6fe7134d, 0x70002be0, 0x70194293, 0x70325767,
- 0x704b6a5d, 0x70647b76, 0x707d8ab1, 0x70969811,
- 0x70afa394, 0x70c8ad3d, 0x70e1b50c, 0x70fabb01,
- 0x7113bf1d, 0x712cc161, 0x7145c1ce, 0x715ec064,
- 0x7177bd24, 0x7190b80f, 0x71a9b124, 0x71c2a866,
- 0x71db9dd4, 0x71f49170, 0x720d8339, 0x72267331,
- 0x723f6159, 0x72584db0, 0x72713838, 0x728a20f1,
- 0x72a307db, 0x72bbecf9, 0x72d4d049, 0x72edb1ce,
- 0x73069187, 0x731f6f75, 0x73384b98, 0x735125f3,
- 0x7369fe84, 0x7382d54d, 0x739baa4e, 0x73b47d89,
- 0x73cd4efd, 0x73e61eab, 0x73feec94, 0x7417b8b8,
- 0x74308319, 0x74494bb6, 0x74621291, 0x747ad7aa,
- 0x74939b02, 0x74ac5c98, 0x74c51c6f, 0x74ddda86,
- 0x74f696de, 0x750f5178, 0x75280a54, 0x7540c174,
- 0x755976d7, 0x75722a7e, 0x758adc69, 0x75a38c9b,
- 0x75bc3b12, 0x75d4e7cf, 0x75ed92d4, 0x76063c21,
- 0x761ee3b6, 0x76378994, 0x76502dbc, 0x7668d02e,
- 0x768170eb, 0x769a0ff3, 0x76b2ad47, 0x76cb48e7,
- 0x76e3e2d5, 0x76fc7b10, 0x7715119a, 0x772da673,
- 0x7746399b, 0x775ecb13, 0x77775adc, 0x778fe8f6,
- 0x77a87561, 0x77c1001f, 0x77d98930, 0x77f21095,
- 0x780a964d, 0x78231a5b, 0x783b9cbd, 0x78541d75,
- 0x786c9c84, 0x788519e9, 0x789d95a6, 0x78b60fbb,
- 0x78ce8828, 0x78e6feef, 0x78ff740f, 0x7917e78a,
- 0x7930595f, 0x7948c990, 0x7961381d, 0x7979a506,
- 0x7992104c, 0x79aa79f0, 0x79c2e1f1, 0x79db4852,
- 0x79f3ad11, 0x7a0c1031, 0x7a2471b0, 0x7a3cd191,
- 0x7a552fd3, 0x7a6d8c76, 0x7a85e77d, 0x7a9e40e6,
- 0x7ab698b2, 0x7aceeee3, 0x7ae74378, 0x7aff9673,
- 0x7b17e7d2, 0x7b303799, 0x7b4885c5, 0x7b60d259,
- 0x7b791d55, 0x7b9166b9, 0x7ba9ae86, 0x7bc1f4bc,
- 0x7bda395c, 0x7bf27c66, 0x7c0abddb, 0x7c22fdbb,
- 0x7c3b3c07, 0x7c5378c0, 0x7c6bb3e5, 0x7c83ed78,
- 0x7c9c2579, 0x7cb45be9, 0x7ccc90c7, 0x7ce4c414,
- 0x7cfcf5d2, 0x7d152600, 0x7d2d549f, 0x7d4581b0,
- 0x7d5dad32, 0x7d75d727, 0x7d8dff8f, 0x7da6266a,
- 0x7dbe4bba, 0x7dd66f7d, 0x7dee91b6, 0x7e06b264,
- 0x7e1ed188, 0x7e36ef22, 0x7e4f0b34, 0x7e6725bd,
- 0x7e7f3ebd, 0x7e975636, 0x7eaf6c28, 0x7ec78093,
- 0x7edf9378, 0x7ef7a4d7, 0x7f0fb4b1, 0x7f27c307,
- 0x7f3fcfd8, 0x7f57db25, 0x7f6fe4ef, 0x7f87ed36,
+ 0x4c1bf829, 0x4c3880de, 0x4c550603, 0x4c71879c,
+ 0x4c8e05aa, 0x4caa8030, 0x4cc6f72f, 0x4ce36aab,
+ 0x4cffdaa4, 0x4d1c471d, 0x4d38b019, 0x4d55159a,
+ 0x4d7177a1, 0x4d8dd631, 0x4daa314b, 0x4dc688f3,
+ 0x4de2dd2a, 0x4dff2df2, 0x4e1b7b4d, 0x4e37c53d,
+ 0x4e540bc5, 0x4e704ee6, 0x4e8c8ea3, 0x4ea8cafd,
+ 0x4ec503f7, 0x4ee13992, 0x4efd6bd0, 0x4f199ab4,
+ 0x4f35c640, 0x4f51ee75, 0x4f6e1356, 0x4f8a34e4,
+ 0x4fa65321, 0x4fc26e10, 0x4fde85b2, 0x4ffa9a0a,
+ 0x5016ab18, 0x5032b8e0, 0x504ec362, 0x506acaa1,
+ 0x5086cea0, 0x50a2cf5e, 0x50becce0, 0x50dac725,
+ 0x50f6be31, 0x5112b205, 0x512ea2a3, 0x514a900d,
+ 0x51667a45, 0x5182614c, 0x519e4524, 0x51ba25cf,
+ 0x51d60350, 0x51f1dda7, 0x520db4d6, 0x522988e0,
+ 0x524559c6, 0x52612789, 0x527cf22d, 0x5298b9b1,
+ 0x52b47e19, 0x52d03f65, 0x52ebfd98, 0x5307b8b4,
+ 0x532370b9, 0x533f25aa, 0x535ad789, 0x53768656,
+ 0x53923215, 0x53addac6, 0x53c9806b, 0x53e52306,
+ 0x5400c298, 0x541c5f24, 0x5437f8ab, 0x54538f2e,
+ 0x546f22af, 0x548ab330, 0x54a640b3, 0x54c1cb38,
+ 0x54dd52c2, 0x54f8d753, 0x551458eb, 0x552fd78d,
+ 0x554b5339, 0x5566cbf3, 0x558241bb, 0x559db492,
+ 0x55b9247b, 0x55d49177, 0x55effb87, 0x560b62ad,
+ 0x5626c6eb, 0x56422842, 0x565d86b4, 0x5678e242,
+ 0x56943aee, 0x56af90b9, 0x56cae3a4, 0x56e633b2,
+ 0x570180e4, 0x571ccb3b, 0x573812b8, 0x5753575e,
+ 0x576e992e, 0x5789d829, 0x57a51450, 0x57c04da6,
+ 0x57db842b, 0x57f6b7e1, 0x5811e8c9, 0x582d16e6,
+ 0x58484238, 0x58636ac0, 0x587e9081, 0x5899b37c,
+ 0x58b4d3b1, 0x58cff123, 0x58eb0bd3, 0x590623c2,
+ 0x592138f2, 0x593c4b63, 0x59575b19, 0x59726812,
+ 0x598d7253, 0x59a879da, 0x59c37eab, 0x59de80c6,
+ 0x59f9802d, 0x5a147ce0, 0x5a2f76e2, 0x5a4a6e34,
+ 0x5a6562d6, 0x5a8054cb, 0x5a9b4414, 0x5ab630b2,
+ 0x5ad11aa6, 0x5aec01f1, 0x5b06e696, 0x5b21c895,
+ 0x5b3ca7ef, 0x5b5784a6, 0x5b725ebc, 0x5b8d3631,
+ 0x5ba80b06, 0x5bc2dd3e, 0x5bddacd9, 0x5bf879d8,
+ 0x5c13443d, 0x5c2e0c09, 0x5c48d13e, 0x5c6393dc,
+ 0x5c7e53e5, 0x5c99115a, 0x5cb3cc3c, 0x5cce848d,
+ 0x5ce93a4e, 0x5d03ed80, 0x5d1e9e24, 0x5d394c3b,
+ 0x5d53f7c7, 0x5d6ea0c9, 0x5d894742, 0x5da3eb33,
+ 0x5dbe8c9e, 0x5dd92b84, 0x5df3c7e5, 0x5e0e61c3,
+ 0x5e28f920, 0x5e438dfc, 0x5e5e2059, 0x5e78b037,
+ 0x5e933d99, 0x5eadc87e, 0x5ec850e9, 0x5ee2d6da,
+ 0x5efd5a53, 0x5f17db54, 0x5f3259e0, 0x5f4cd5f6,
+ 0x5f674f99, 0x5f81c6c8, 0x5f9c3b87, 0x5fb6add4,
+ 0x5fd11db3, 0x5feb8b23, 0x6005f626, 0x60205ebd,
+ 0x603ac4e9, 0x605528ac, 0x606f8a05, 0x6089e8f7,
+ 0x60a44583, 0x60be9fa9, 0x60d8f76b, 0x60f34cca,
+ 0x610d9fc7, 0x6127f062, 0x61423e9e, 0x615c8a7a,
+ 0x6176d3f9, 0x61911b1b, 0x61ab5fe1, 0x61c5a24d,
+ 0x61dfe25f, 0x61fa2018, 0x62145b7a, 0x622e9485,
+ 0x6248cb3b, 0x6262ff9d, 0x627d31ab, 0x62976167,
+ 0x62b18ed1, 0x62cbb9eb, 0x62e5e2b6, 0x63000933,
+ 0x631a2d62, 0x63344f45, 0x634e6edd, 0x63688c2b,
+ 0x6382a730, 0x639cbfec, 0x63b6d661, 0x63d0ea90,
+ 0x63eafc7a, 0x64050c1f, 0x641f1982, 0x643924a2,
+ 0x64532d80, 0x646d341f, 0x6487387e, 0x64a13a9e,
+ 0x64bb3a81, 0x64d53828, 0x64ef3393, 0x65092cc4,
+ 0x652323bb, 0x653d1879, 0x65570b00, 0x6570fb50,
+ 0x658ae96b, 0x65a4d550, 0x65bebf01, 0x65d8a680,
+ 0x65f28bcc, 0x660c6ee8, 0x66264fd3, 0x66402e8f,
+ 0x665a0b1c, 0x6673e57d, 0x668dbdb0, 0x66a793b8,
+ 0x66c16795, 0x66db3949, 0x66f508d4, 0x670ed636,
+ 0x6728a172, 0x67426a87, 0x675c3177, 0x6775f643,
+ 0x678fb8eb, 0x67a97971, 0x67c337d5, 0x67dcf418,
+ 0x67f6ae3b, 0x6810663f, 0x682a1c25, 0x6843cfed,
+ 0x685d8199, 0x68773129, 0x6890de9f, 0x68aa89fa,
+ 0x68c4333d, 0x68ddda67, 0x68f77f7a, 0x69112277,
+ 0x692ac35e, 0x69446230, 0x695dfeee, 0x6977999a,
+ 0x69913232, 0x69aac8ba, 0x69c45d31, 0x69ddef98,
+ 0x69f77ff0, 0x6a110e3a, 0x6a2a9a77, 0x6a4424a8,
+ 0x6a5daccc, 0x6a7732e6, 0x6a90b6f6, 0x6aaa38fd,
+ 0x6ac3b8fb, 0x6add36f2, 0x6af6b2e2, 0x6b102ccd,
+ 0x6b29a4b2, 0x6b431a92, 0x6b5c8e6f, 0x6b76004a,
+ 0x6b8f7022, 0x6ba8ddf9, 0x6bc249d0, 0x6bdbb3a7,
+ 0x6bf51b80, 0x6c0e815a, 0x6c27e537, 0x6c414718,
+ 0x6c5aa6fd, 0x6c7404e7, 0x6c8d60d7, 0x6ca6bace,
+ 0x6cc012cc, 0x6cd968d2, 0x6cf2bce1, 0x6d0c0ef9,
+ 0x6d255f1d, 0x6d3ead4b, 0x6d57f985, 0x6d7143cc,
+ 0x6d8a8c21, 0x6da3d283, 0x6dbd16f5, 0x6dd65976,
+ 0x6def9a08, 0x6e08d8ab, 0x6e221560, 0x6e3b5027,
+ 0x6e548902, 0x6e6dbff1, 0x6e86f4f5, 0x6ea0280e,
+ 0x6eb9593e, 0x6ed28885, 0x6eebb5e3, 0x6f04e15a,
+ 0x6f1e0aea, 0x6f373294, 0x6f505859, 0x6f697c39,
+ 0x6f829e35, 0x6f9bbe4e, 0x6fb4dc85, 0x6fcdf8d9,
+ 0x6fe7134d, 0x70002be0, 0x70194293, 0x70325767,
+ 0x704b6a5d, 0x70647b76, 0x707d8ab1, 0x70969811,
+ 0x70afa394, 0x70c8ad3d, 0x70e1b50c, 0x70fabb01,
+ 0x7113bf1d, 0x712cc161, 0x7145c1ce, 0x715ec064,
+ 0x7177bd24, 0x7190b80f, 0x71a9b124, 0x71c2a866,
+ 0x71db9dd4, 0x71f49170, 0x720d8339, 0x72267331,
+ 0x723f6159, 0x72584db0, 0x72713838, 0x728a20f1,
+ 0x72a307db, 0x72bbecf9, 0x72d4d049, 0x72edb1ce,
+ 0x73069187, 0x731f6f75, 0x73384b98, 0x735125f3,
+ 0x7369fe84, 0x7382d54d, 0x739baa4e, 0x73b47d89,
+ 0x73cd4efd, 0x73e61eab, 0x73feec94, 0x7417b8b8,
+ 0x74308319, 0x74494bb6, 0x74621291, 0x747ad7aa,
+ 0x74939b02, 0x74ac5c98, 0x74c51c6f, 0x74ddda86,
+ 0x74f696de, 0x750f5178, 0x75280a54, 0x7540c174,
+ 0x755976d7, 0x75722a7e, 0x758adc69, 0x75a38c9b,
+ 0x75bc3b12, 0x75d4e7cf, 0x75ed92d4, 0x76063c21,
+ 0x761ee3b6, 0x76378994, 0x76502dbc, 0x7668d02e,
+ 0x768170eb, 0x769a0ff3, 0x76b2ad47, 0x76cb48e7,
+ 0x76e3e2d5, 0x76fc7b10, 0x7715119a, 0x772da673,
+ 0x7746399b, 0x775ecb13, 0x77775adc, 0x778fe8f6,
+ 0x77a87561, 0x77c1001f, 0x77d98930, 0x77f21095,
+ 0x780a964d, 0x78231a5b, 0x783b9cbd, 0x78541d75,
+ 0x786c9c84, 0x788519e9, 0x789d95a6, 0x78b60fbb,
+ 0x78ce8828, 0x78e6feef, 0x78ff740f, 0x7917e78a,
+ 0x7930595f, 0x7948c990, 0x7961381d, 0x7979a506,
+ 0x7992104c, 0x79aa79f0, 0x79c2e1f1, 0x79db4852,
+ 0x79f3ad11, 0x7a0c1031, 0x7a2471b0, 0x7a3cd191,
+ 0x7a552fd3, 0x7a6d8c76, 0x7a85e77d, 0x7a9e40e6,
+ 0x7ab698b2, 0x7aceeee3, 0x7ae74378, 0x7aff9673,
+ 0x7b17e7d2, 0x7b303799, 0x7b4885c5, 0x7b60d259,
+ 0x7b791d55, 0x7b9166b9, 0x7ba9ae86, 0x7bc1f4bc,
+ 0x7bda395c, 0x7bf27c66, 0x7c0abddb, 0x7c22fdbb,
+ 0x7c3b3c07, 0x7c5378c0, 0x7c6bb3e5, 0x7c83ed78,
+ 0x7c9c2579, 0x7cb45be9, 0x7ccc90c7, 0x7ce4c414,
+ 0x7cfcf5d2, 0x7d152600, 0x7d2d549f, 0x7d4581b0,
+ 0x7d5dad32, 0x7d75d727, 0x7d8dff8f, 0x7da6266a,
+ 0x7dbe4bba, 0x7dd66f7d, 0x7dee91b6, 0x7e06b264,
+ 0x7e1ed188, 0x7e36ef22, 0x7e4f0b34, 0x7e6725bd,
+ 0x7e7f3ebd, 0x7e975636, 0x7eaf6c28, 0x7ec78093,
+ 0x7edf9378, 0x7ef7a4d7, 0x7f0fb4b1, 0x7f27c307,
+ 0x7f3fcfd8, 0x7f57db25, 0x7f6fe4ef, 0x7f87ed36,
0x7f9ff3fb, 0x7fb7f93e, 0x7fcffcff, 0x7fe7ff40
};
const Word32 mTab_4_3[512]={
- 0x32cbfd4a, 0x32eddd70, 0x330fc339, 0x3331aea3,
- 0x33539fac, 0x33759652, 0x33979294, 0x33b99470,
- 0x33db9be4, 0x33fda8ed, 0x341fbb8b, 0x3441d3bb,
- 0x3463f17c, 0x348614cc, 0x34a83da8, 0x34ca6c10,
- 0x34eca001, 0x350ed979, 0x35311877, 0x35535cfa,
- 0x3575a6fe, 0x3597f683, 0x35ba4b87, 0x35dca607,
- 0x35ff0603, 0x36216b78, 0x3643d665, 0x366646c7,
- 0x3688bc9e, 0x36ab37e8, 0x36cdb8a2, 0x36f03ecb,
- 0x3712ca62, 0x37355b64, 0x3757f1d1, 0x377a8da5,
- 0x379d2ee0, 0x37bfd580, 0x37e28184, 0x380532e8,
- 0x3827e9ad, 0x384aa5d0, 0x386d674f, 0x38902e2a,
- 0x38b2fa5d, 0x38d5cbe9, 0x38f8a2ca, 0x391b7eff,
- 0x393e6088, 0x39614761, 0x3984338a, 0x39a72501,
- 0x39ca1bc4, 0x39ed17d1, 0x3a101928, 0x3a331fc6,
- 0x3a562baa, 0x3a793cd2, 0x3a9c533d, 0x3abf6ee9,
- 0x3ae28fd5, 0x3b05b5ff, 0x3b28e165, 0x3b4c1206,
- 0x3b6f47e0, 0x3b9282f2, 0x3bb5c33a, 0x3bd908b7,
- 0x3bfc5368, 0x3c1fa349, 0x3c42f85b, 0x3c66529c,
- 0x3c89b209, 0x3cad16a2, 0x3cd08065, 0x3cf3ef51,
- 0x3d176364, 0x3d3adc9c, 0x3d5e5af8, 0x3d81de77,
- 0x3da56717, 0x3dc8f4d6, 0x3dec87b4, 0x3e101fae,
- 0x3e33bcc3, 0x3e575ef2, 0x3e7b063a, 0x3e9eb298,
- 0x3ec2640c, 0x3ee61a93, 0x3f09d62d, 0x3f2d96d8,
- 0x3f515c93, 0x3f75275b, 0x3f98f731, 0x3fbccc11,
- 0x3fe0a5fc, 0x400484ef, 0x402868ea, 0x404c51e9,
- 0x40703fee, 0x409432f5, 0x40b82afd, 0x40dc2806,
- 0x41002a0d, 0x41243111, 0x41483d12, 0x416c4e0d,
- 0x41906401, 0x41b47eed, 0x41d89ecf, 0x41fcc3a7,
- 0x4220ed72, 0x42451c30, 0x42694fde, 0x428d887d,
- 0x42b1c609, 0x42d60883, 0x42fa4fe8, 0x431e9c37,
- 0x4342ed70, 0x43674390, 0x438b9e96, 0x43affe82,
- 0x43d46351, 0x43f8cd03, 0x441d3b95, 0x4441af08,
- 0x44662758, 0x448aa487, 0x44af2690, 0x44d3ad75,
- 0x44f83933, 0x451cc9c8, 0x45415f35, 0x4565f977,
- 0x458a988d, 0x45af3c76, 0x45d3e531, 0x45f892bc,
- 0x461d4516, 0x4641fc3e, 0x4666b832, 0x468b78f2,
- 0x46b03e7c, 0x46d508cf, 0x46f9d7e9, 0x471eabca,
- 0x47438470, 0x476861d9, 0x478d4406, 0x47b22af3,
- 0x47d716a1, 0x47fc070e, 0x4820fc39, 0x4845f620,
- 0x486af4c3, 0x488ff820, 0x48b50035, 0x48da0d03,
- 0x48ff1e87, 0x492434c0, 0x49494fad, 0x496e6f4d,
- 0x4993939f, 0x49b8bca2, 0x49ddea54, 0x4a031cb4,
- 0x4a2853c1, 0x4a4d8f7a, 0x4a72cfde, 0x4a9814eb,
- 0x4abd5ea1, 0x4ae2acfd, 0x4b080000, 0x4b2d57a8,
- 0x4b52b3f3, 0x4b7814e1, 0x4b9d7a70, 0x4bc2e49f,
- 0x4be8536e, 0x4c0dc6db, 0x4c333ee4, 0x4c58bb89,
- 0x4c7e3cc9, 0x4ca3c2a2, 0x4cc94d14, 0x4ceedc1c,
- 0x4d146fbb, 0x4d3a07ef, 0x4d5fa4b6, 0x4d854611,
- 0x4daaebfd, 0x4dd09679, 0x4df64585, 0x4e1bf91f,
- 0x4e41b146, 0x4e676dfa, 0x4e8d2f38, 0x4eb2f501,
- 0x4ed8bf52, 0x4efe8e2b, 0x4f24618a, 0x4f4a3970,
- 0x4f7015d9, 0x4f95f6c6, 0x4fbbdc36, 0x4fe1c626,
- 0x5007b497, 0x502da787, 0x50539ef5, 0x50799ae1,
- 0x509f9b48, 0x50c5a02a, 0x50eba985, 0x5111b75a,
- 0x5137c9a6, 0x515de069, 0x5183fba2, 0x51aa1b4f,
- 0x51d03f70, 0x51f66803, 0x521c9508, 0x5242c67d,
- 0x5268fc62, 0x528f36b5, 0x52b57575, 0x52dbb8a2,
- 0x5302003a, 0x53284c3c, 0x534e9ca8, 0x5374f17c,
- 0x539b4ab7, 0x53c1a858, 0x53e80a5f, 0x540e70ca,
- 0x5434db98, 0x545b4ac8, 0x5481be5a, 0x54a8364b,
- 0x54ceb29c, 0x54f5334c, 0x551bb858, 0x554241c1,
- 0x5568cf85, 0x558f61a3, 0x55b5f81b, 0x55dc92eb,
- 0x56033212, 0x5629d590, 0x56507d63, 0x5677298a,
- 0x569dda05, 0x56c48ed3, 0x56eb47f2, 0x57120562,
- 0x5738c721, 0x575f8d2f, 0x5786578a, 0x57ad2633,
- 0x57d3f927, 0x57fad066, 0x5821abef, 0x58488bc0,
- 0x586f6fda, 0x5896583b, 0x58bd44e2, 0x58e435ce,
- 0x590b2aff, 0x59322473, 0x59592229, 0x59802420,
- 0x59a72a59, 0x59ce34d0, 0x59f54387, 0x5a1c567b,
- 0x5a436dac, 0x5a6a8919, 0x5a91a8c1, 0x5ab8cca3,
- 0x5adff4be, 0x5b072111, 0x5b2e519c, 0x5b55865e,
- 0x5b7cbf54, 0x5ba3fc80, 0x5bcb3ddf, 0x5bf28371,
- 0x5c19cd35, 0x5c411b2a, 0x5c686d4f, 0x5c8fc3a4,
- 0x5cb71e27, 0x5cde7cd7, 0x5d05dfb4, 0x5d2d46bd,
- 0x5d54b1f0, 0x5d7c214e, 0x5da394d4, 0x5dcb0c83,
- 0x5df28859, 0x5e1a0856, 0x5e418c78, 0x5e6914be,
- 0x5e90a129, 0x5eb831b7, 0x5edfc667, 0x5f075f38,
- 0x5f2efc29, 0x5f569d3a, 0x5f7e426a, 0x5fa5ebb7,
- 0x5fcd9921, 0x5ff54aa8, 0x601d004a, 0x6044ba06,
- 0x606c77dc, 0x609439ca, 0x60bbffd0, 0x60e3c9ee,
- 0x610b9821, 0x61336a6a, 0x615b40c8, 0x61831b39,
- 0x61aaf9bd, 0x61d2dc53, 0x61fac2fa, 0x6222adb2,
- 0x624a9c79, 0x62728f4f, 0x629a8633, 0x62c28123,
- 0x62ea8020, 0x63128329, 0x633a8a3c, 0x63629559,
- 0x638aa47f, 0x63b2b7ad, 0x63dacee2, 0x6402ea1e,
- 0x642b0960, 0x64532ca6, 0x647b53f1, 0x64a37f3f,
- 0x64cbae8f, 0x64f3e1e2, 0x651c1935, 0x65445488,
- 0x656c93db, 0x6594d72c, 0x65bd1e7b, 0x65e569c7,
- 0x660db90f, 0x66360c53, 0x665e6391, 0x6686bec9,
- 0x66af1dfa, 0x66d78123, 0x66ffe844, 0x6728535b,
- 0x6750c268, 0x6779356b, 0x67a1ac62, 0x67ca274c,
- 0x67f2a629, 0x681b28f9, 0x6843afb9, 0x686c3a6a,
- 0x6894c90b, 0x68bd5b9b, 0x68e5f219, 0x690e8c84,
- 0x69372add, 0x695fcd21, 0x69887350, 0x69b11d6a,
- 0x69d9cb6d, 0x6a027d5a, 0x6a2b332f, 0x6a53eceb,
- 0x6a7caa8d, 0x6aa56c16, 0x6ace3184, 0x6af6fad6,
- 0x6b1fc80c, 0x6b489925, 0x6b716e20, 0x6b9a46fd,
- 0x6bc323bb, 0x6bec0458, 0x6c14e8d5, 0x6c3dd130,
- 0x6c66bd69, 0x6c8fad80, 0x6cb8a172, 0x6ce19940,
- 0x6d0a94e9, 0x6d33946d, 0x6d5c97ca, 0x6d859eff,
- 0x6daeaa0d, 0x6dd7b8f1, 0x6e00cbad, 0x6e29e23e,
- 0x6e52fca4, 0x6e7c1adf, 0x6ea53cee, 0x6ece62cf,
- 0x6ef78c83, 0x6f20ba09, 0x6f49eb5f, 0x6f732085,
- 0x6f9c597b, 0x6fc59640, 0x6feed6d3, 0x70181b33,
- 0x70416360, 0x706aaf59, 0x7093ff1d, 0x70bd52ab,
- 0x70e6aa04, 0x71100525, 0x7139640f, 0x7162c6c1,
- 0x718c2d3a, 0x71b5977a, 0x71df057f, 0x72087749,
- 0x7231ecd8, 0x725b662a, 0x7284e33f, 0x72ae6417,
- 0x72d7e8b0, 0x7301710a, 0x732afd24, 0x73548cfe,
- 0x737e2097, 0x73a7b7ee, 0x73d15303, 0x73faf1d5,
- 0x74249462, 0x744e3aac, 0x7477e4b0, 0x74a1926e,
- 0x74cb43e6, 0x74f4f917, 0x751eb201, 0x75486ea1,
- 0x75722ef9, 0x759bf307, 0x75c5baca, 0x75ef8642,
- 0x7619556f, 0x7643284f, 0x766cfee2, 0x7696d928,
- 0x76c0b71f, 0x76ea98c7, 0x77147e20, 0x773e6728,
- 0x776853df, 0x77924445, 0x77bc3858, 0x77e63019,
- 0x78102b85, 0x783a2a9e, 0x78642d62, 0x788e33d1,
- 0x78b83de9, 0x78e24bab, 0x790c5d15, 0x79367228,
- 0x79608ae1, 0x798aa742, 0x79b4c748, 0x79deeaf4,
- 0x7a091245, 0x7a333d3a, 0x7a5d6bd2, 0x7a879e0e,
- 0x7ab1d3ec, 0x7adc0d6b, 0x7b064a8c, 0x7b308b4d,
- 0x7b5acfae, 0x7b8517ae, 0x7baf634c, 0x7bd9b289,
- 0x7c040563, 0x7c2e5bda, 0x7c58b5ec, 0x7c83139b,
- 0x7cad74e4, 0x7cd7d9c7, 0x7d024244, 0x7d2cae5a,
- 0x7d571e09, 0x7d81914f, 0x7dac082d, 0x7dd682a1,
- 0x7e0100ac, 0x7e2b824b, 0x7e560780, 0x7e809048,
- 0x7eab1ca5, 0x7ed5ac94, 0x7f004015, 0x7f2ad729,
+ 0x32cbfd4a, 0x32eddd70, 0x330fc339, 0x3331aea3,
+ 0x33539fac, 0x33759652, 0x33979294, 0x33b99470,
+ 0x33db9be4, 0x33fda8ed, 0x341fbb8b, 0x3441d3bb,
+ 0x3463f17c, 0x348614cc, 0x34a83da8, 0x34ca6c10,
+ 0x34eca001, 0x350ed979, 0x35311877, 0x35535cfa,
+ 0x3575a6fe, 0x3597f683, 0x35ba4b87, 0x35dca607,
+ 0x35ff0603, 0x36216b78, 0x3643d665, 0x366646c7,
+ 0x3688bc9e, 0x36ab37e8, 0x36cdb8a2, 0x36f03ecb,
+ 0x3712ca62, 0x37355b64, 0x3757f1d1, 0x377a8da5,
+ 0x379d2ee0, 0x37bfd580, 0x37e28184, 0x380532e8,
+ 0x3827e9ad, 0x384aa5d0, 0x386d674f, 0x38902e2a,
+ 0x38b2fa5d, 0x38d5cbe9, 0x38f8a2ca, 0x391b7eff,
+ 0x393e6088, 0x39614761, 0x3984338a, 0x39a72501,
+ 0x39ca1bc4, 0x39ed17d1, 0x3a101928, 0x3a331fc6,
+ 0x3a562baa, 0x3a793cd2, 0x3a9c533d, 0x3abf6ee9,
+ 0x3ae28fd5, 0x3b05b5ff, 0x3b28e165, 0x3b4c1206,
+ 0x3b6f47e0, 0x3b9282f2, 0x3bb5c33a, 0x3bd908b7,
+ 0x3bfc5368, 0x3c1fa349, 0x3c42f85b, 0x3c66529c,
+ 0x3c89b209, 0x3cad16a2, 0x3cd08065, 0x3cf3ef51,
+ 0x3d176364, 0x3d3adc9c, 0x3d5e5af8, 0x3d81de77,
+ 0x3da56717, 0x3dc8f4d6, 0x3dec87b4, 0x3e101fae,
+ 0x3e33bcc3, 0x3e575ef2, 0x3e7b063a, 0x3e9eb298,
+ 0x3ec2640c, 0x3ee61a93, 0x3f09d62d, 0x3f2d96d8,
+ 0x3f515c93, 0x3f75275b, 0x3f98f731, 0x3fbccc11,
+ 0x3fe0a5fc, 0x400484ef, 0x402868ea, 0x404c51e9,
+ 0x40703fee, 0x409432f5, 0x40b82afd, 0x40dc2806,
+ 0x41002a0d, 0x41243111, 0x41483d12, 0x416c4e0d,
+ 0x41906401, 0x41b47eed, 0x41d89ecf, 0x41fcc3a7,
+ 0x4220ed72, 0x42451c30, 0x42694fde, 0x428d887d,
+ 0x42b1c609, 0x42d60883, 0x42fa4fe8, 0x431e9c37,
+ 0x4342ed70, 0x43674390, 0x438b9e96, 0x43affe82,
+ 0x43d46351, 0x43f8cd03, 0x441d3b95, 0x4441af08,
+ 0x44662758, 0x448aa487, 0x44af2690, 0x44d3ad75,
+ 0x44f83933, 0x451cc9c8, 0x45415f35, 0x4565f977,
+ 0x458a988d, 0x45af3c76, 0x45d3e531, 0x45f892bc,
+ 0x461d4516, 0x4641fc3e, 0x4666b832, 0x468b78f2,
+ 0x46b03e7c, 0x46d508cf, 0x46f9d7e9, 0x471eabca,
+ 0x47438470, 0x476861d9, 0x478d4406, 0x47b22af3,
+ 0x47d716a1, 0x47fc070e, 0x4820fc39, 0x4845f620,
+ 0x486af4c3, 0x488ff820, 0x48b50035, 0x48da0d03,
+ 0x48ff1e87, 0x492434c0, 0x49494fad, 0x496e6f4d,
+ 0x4993939f, 0x49b8bca2, 0x49ddea54, 0x4a031cb4,
+ 0x4a2853c1, 0x4a4d8f7a, 0x4a72cfde, 0x4a9814eb,
+ 0x4abd5ea1, 0x4ae2acfd, 0x4b080000, 0x4b2d57a8,
+ 0x4b52b3f3, 0x4b7814e1, 0x4b9d7a70, 0x4bc2e49f,
+ 0x4be8536e, 0x4c0dc6db, 0x4c333ee4, 0x4c58bb89,
+ 0x4c7e3cc9, 0x4ca3c2a2, 0x4cc94d14, 0x4ceedc1c,
+ 0x4d146fbb, 0x4d3a07ef, 0x4d5fa4b6, 0x4d854611,
+ 0x4daaebfd, 0x4dd09679, 0x4df64585, 0x4e1bf91f,
+ 0x4e41b146, 0x4e676dfa, 0x4e8d2f38, 0x4eb2f501,
+ 0x4ed8bf52, 0x4efe8e2b, 0x4f24618a, 0x4f4a3970,
+ 0x4f7015d9, 0x4f95f6c6, 0x4fbbdc36, 0x4fe1c626,
+ 0x5007b497, 0x502da787, 0x50539ef5, 0x50799ae1,
+ 0x509f9b48, 0x50c5a02a, 0x50eba985, 0x5111b75a,
+ 0x5137c9a6, 0x515de069, 0x5183fba2, 0x51aa1b4f,
+ 0x51d03f70, 0x51f66803, 0x521c9508, 0x5242c67d,
+ 0x5268fc62, 0x528f36b5, 0x52b57575, 0x52dbb8a2,
+ 0x5302003a, 0x53284c3c, 0x534e9ca8, 0x5374f17c,
+ 0x539b4ab7, 0x53c1a858, 0x53e80a5f, 0x540e70ca,
+ 0x5434db98, 0x545b4ac8, 0x5481be5a, 0x54a8364b,
+ 0x54ceb29c, 0x54f5334c, 0x551bb858, 0x554241c1,
+ 0x5568cf85, 0x558f61a3, 0x55b5f81b, 0x55dc92eb,
+ 0x56033212, 0x5629d590, 0x56507d63, 0x5677298a,
+ 0x569dda05, 0x56c48ed3, 0x56eb47f2, 0x57120562,
+ 0x5738c721, 0x575f8d2f, 0x5786578a, 0x57ad2633,
+ 0x57d3f927, 0x57fad066, 0x5821abef, 0x58488bc0,
+ 0x586f6fda, 0x5896583b, 0x58bd44e2, 0x58e435ce,
+ 0x590b2aff, 0x59322473, 0x59592229, 0x59802420,
+ 0x59a72a59, 0x59ce34d0, 0x59f54387, 0x5a1c567b,
+ 0x5a436dac, 0x5a6a8919, 0x5a91a8c1, 0x5ab8cca3,
+ 0x5adff4be, 0x5b072111, 0x5b2e519c, 0x5b55865e,
+ 0x5b7cbf54, 0x5ba3fc80, 0x5bcb3ddf, 0x5bf28371,
+ 0x5c19cd35, 0x5c411b2a, 0x5c686d4f, 0x5c8fc3a4,
+ 0x5cb71e27, 0x5cde7cd7, 0x5d05dfb4, 0x5d2d46bd,
+ 0x5d54b1f0, 0x5d7c214e, 0x5da394d4, 0x5dcb0c83,
+ 0x5df28859, 0x5e1a0856, 0x5e418c78, 0x5e6914be,
+ 0x5e90a129, 0x5eb831b7, 0x5edfc667, 0x5f075f38,
+ 0x5f2efc29, 0x5f569d3a, 0x5f7e426a, 0x5fa5ebb7,
+ 0x5fcd9921, 0x5ff54aa8, 0x601d004a, 0x6044ba06,
+ 0x606c77dc, 0x609439ca, 0x60bbffd0, 0x60e3c9ee,
+ 0x610b9821, 0x61336a6a, 0x615b40c8, 0x61831b39,
+ 0x61aaf9bd, 0x61d2dc53, 0x61fac2fa, 0x6222adb2,
+ 0x624a9c79, 0x62728f4f, 0x629a8633, 0x62c28123,
+ 0x62ea8020, 0x63128329, 0x633a8a3c, 0x63629559,
+ 0x638aa47f, 0x63b2b7ad, 0x63dacee2, 0x6402ea1e,
+ 0x642b0960, 0x64532ca6, 0x647b53f1, 0x64a37f3f,
+ 0x64cbae8f, 0x64f3e1e2, 0x651c1935, 0x65445488,
+ 0x656c93db, 0x6594d72c, 0x65bd1e7b, 0x65e569c7,
+ 0x660db90f, 0x66360c53, 0x665e6391, 0x6686bec9,
+ 0x66af1dfa, 0x66d78123, 0x66ffe844, 0x6728535b,
+ 0x6750c268, 0x6779356b, 0x67a1ac62, 0x67ca274c,
+ 0x67f2a629, 0x681b28f9, 0x6843afb9, 0x686c3a6a,
+ 0x6894c90b, 0x68bd5b9b, 0x68e5f219, 0x690e8c84,
+ 0x69372add, 0x695fcd21, 0x69887350, 0x69b11d6a,
+ 0x69d9cb6d, 0x6a027d5a, 0x6a2b332f, 0x6a53eceb,
+ 0x6a7caa8d, 0x6aa56c16, 0x6ace3184, 0x6af6fad6,
+ 0x6b1fc80c, 0x6b489925, 0x6b716e20, 0x6b9a46fd,
+ 0x6bc323bb, 0x6bec0458, 0x6c14e8d5, 0x6c3dd130,
+ 0x6c66bd69, 0x6c8fad80, 0x6cb8a172, 0x6ce19940,
+ 0x6d0a94e9, 0x6d33946d, 0x6d5c97ca, 0x6d859eff,
+ 0x6daeaa0d, 0x6dd7b8f1, 0x6e00cbad, 0x6e29e23e,
+ 0x6e52fca4, 0x6e7c1adf, 0x6ea53cee, 0x6ece62cf,
+ 0x6ef78c83, 0x6f20ba09, 0x6f49eb5f, 0x6f732085,
+ 0x6f9c597b, 0x6fc59640, 0x6feed6d3, 0x70181b33,
+ 0x70416360, 0x706aaf59, 0x7093ff1d, 0x70bd52ab,
+ 0x70e6aa04, 0x71100525, 0x7139640f, 0x7162c6c1,
+ 0x718c2d3a, 0x71b5977a, 0x71df057f, 0x72087749,
+ 0x7231ecd8, 0x725b662a, 0x7284e33f, 0x72ae6417,
+ 0x72d7e8b0, 0x7301710a, 0x732afd24, 0x73548cfe,
+ 0x737e2097, 0x73a7b7ee, 0x73d15303, 0x73faf1d5,
+ 0x74249462, 0x744e3aac, 0x7477e4b0, 0x74a1926e,
+ 0x74cb43e6, 0x74f4f917, 0x751eb201, 0x75486ea1,
+ 0x75722ef9, 0x759bf307, 0x75c5baca, 0x75ef8642,
+ 0x7619556f, 0x7643284f, 0x766cfee2, 0x7696d928,
+ 0x76c0b71f, 0x76ea98c7, 0x77147e20, 0x773e6728,
+ 0x776853df, 0x77924445, 0x77bc3858, 0x77e63019,
+ 0x78102b85, 0x783a2a9e, 0x78642d62, 0x788e33d1,
+ 0x78b83de9, 0x78e24bab, 0x790c5d15, 0x79367228,
+ 0x79608ae1, 0x798aa742, 0x79b4c748, 0x79deeaf4,
+ 0x7a091245, 0x7a333d3a, 0x7a5d6bd2, 0x7a879e0e,
+ 0x7ab1d3ec, 0x7adc0d6b, 0x7b064a8c, 0x7b308b4d,
+ 0x7b5acfae, 0x7b8517ae, 0x7baf634c, 0x7bd9b289,
+ 0x7c040563, 0x7c2e5bda, 0x7c58b5ec, 0x7c83139b,
+ 0x7cad74e4, 0x7cd7d9c7, 0x7d024244, 0x7d2cae5a,
+ 0x7d571e09, 0x7d81914f, 0x7dac082d, 0x7dd682a1,
+ 0x7e0100ac, 0x7e2b824b, 0x7e560780, 0x7e809048,
+ 0x7eab1ca5, 0x7ed5ac94, 0x7f004015, 0x7f2ad729,
0x7f5571cd, 0x7f801003, 0x7faab1c8, 0x7fd5571d
};
const Word32 invSBF[24] = {
- 0x3FFD34FC, 0x2D3F8000, 0x24F18C7E, 0x1FFE9A7E,
- 0x1C9DF10C, 0x1A1F851A, 0x182FE994, 0x169FC000,
- 0x15542AAA, 0x143C31C2, 0x134B1B6C, 0x127920BE,
- 0x11BF2FCC, 0x111A749E, 0x1085FC42, 0x0FFFA7BE,
- 0x0F855818, 0x0F14EE56, 0x0EAE6A78, 0x0E4EF886,
+ 0x3FFD34FC, 0x2D3F8000, 0x24F18C7E, 0x1FFE9A7E,
+ 0x1C9DF10C, 0x1A1F851A, 0x182FE994, 0x169FC000,
+ 0x15542AAA, 0x143C31C2, 0x134B1B6C, 0x127920BE,
+ 0x11BF2FCC, 0x111A749E, 0x1085FC42, 0x0FFFA7BE,
+ 0x0F855818, 0x0F14EE56, 0x0EAE6A78, 0x0E4EF886,
0x0DF69880, 0x0DA49568, 0x0D578542, 0x0D101D0C
};
@@ -1353,40 +1353,40 @@ const Word16 pow2tominusNover16[17] = {
};
const Word16 sideInfoTabLong[MAX_SFB_LONG + 1] = {
- 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 14, 14, 14, 14,
- 14, 14, 14, 14, 14, 14, 14,
- 14, 14, 14, 14, 14, 14, 14,
+ 9, 9, 9, 9, 9, 9, 9, 9, 9,
+ 9, 9, 9, 9, 9, 9, 9, 9, 9,
+ 9, 9, 9, 9, 9, 9, 9, 9, 9,
+ 9, 9, 9, 9, 14, 14, 14, 14,
+ 14, 14, 14, 14, 14, 14, 14,
+ 14, 14, 14, 14, 14, 14, 14,
14, 14, 14
};
const Word16 sideInfoTabShort[MAX_SFB_SHORT + 1] = {
- 7, 7, 7, 7, 7, 7, 7, 10, 10,
+ 7, 7, 7, 7, 7, 7, 7, 10, 10,
10, 10, 10, 10, 10, 13, 13
};
Word32 specExpMantTableComb_enc[4][14] =
{
- {0x40000000, 0x50a28be6, 0x6597fa95, 0x40000000,
- 0x50a28be6, 0x6597fa95, 0x40000000, 0x50a28be6,
- 0x6597fa95, 0x40000000, 0x50a28be6, 0x6597fa95,
- 0x40000000, 0x50a28be6},
-
- {0x4c1bf829, 0x5fe4435e, 0x78d0df9c, 0x4c1bf829,
- 0x5fe4435e, 0x78d0df9c, 0x4c1bf829, 0x5fe4435e,
- 0x78d0df9c, 0x4c1bf829, 0x5fe4435e, 0x78d0df9c,
- 0x4c1bf829, 0x5fe4435e},
-
- {0x5a82799a, 0x7208f81d, 0x47d66b0f, 0x5a82799a,
- 0x7208f81d, 0x47d66b0f, 0x5a82799a, 0x7208f81d,
- 0x47d66b0f, 0x5a82799a, 0x7208f81d, 0x47d66b0f,
- 0x5a82799a, 0x7208f81d},
-
- {0x6ba27e65, 0x43ce3e4b, 0x556e0424, 0x6ba27e65,
- 0x43ce3e4b, 0x556e0424, 0x6ba27e65, 0x43ce3e4b,
- 0x556e0424, 0x6ba27e65, 0x43ce3e4b, 0x556e0424,
+ {0x40000000, 0x50a28be6, 0x6597fa95, 0x40000000,
+ 0x50a28be6, 0x6597fa95, 0x40000000, 0x50a28be6,
+ 0x6597fa95, 0x40000000, 0x50a28be6, 0x6597fa95,
+ 0x40000000, 0x50a28be6},
+
+ {0x4c1bf829, 0x5fe4435e, 0x78d0df9c, 0x4c1bf829,
+ 0x5fe4435e, 0x78d0df9c, 0x4c1bf829, 0x5fe4435e,
+ 0x78d0df9c, 0x4c1bf829, 0x5fe4435e, 0x78d0df9c,
+ 0x4c1bf829, 0x5fe4435e},
+
+ {0x5a82799a, 0x7208f81d, 0x47d66b0f, 0x5a82799a,
+ 0x7208f81d, 0x47d66b0f, 0x5a82799a, 0x7208f81d,
+ 0x47d66b0f, 0x5a82799a, 0x7208f81d, 0x47d66b0f,
+ 0x5a82799a, 0x7208f81d},
+
+ {0x6ba27e65, 0x43ce3e4b, 0x556e0424, 0x6ba27e65,
+ 0x43ce3e4b, 0x556e0424, 0x6ba27e65, 0x43ce3e4b,
+ 0x556e0424, 0x6ba27e65, 0x43ce3e4b, 0x556e0424,
0x6ba27e65, 0x43ce3e4b}
};
@@ -1417,12 +1417,12 @@ const Word16 quantRecon[4][3] = {
};
const int sampRateTab[NUM_SAMPLE_RATES] = {
- 96000, 88200, 64000, 48000, 44100, 32000,
+ 96000, 88200, 64000, 48000, 44100, 32000,
24000, 22050, 16000, 12000, 11025, 8000
};
-const int rates[8] = {
+const int rates[8] = {
160, 240, 320, 400, 480, 560, 640, 0
};
@@ -1507,7 +1507,7 @@ const short sfBandTabLong[325] = {
};
/*
- these tables are used only for counting and
+ these tables are used only for counting and
are stored in packed format
*/
const UWord16 huff_ltab1_2[3][3][3][3]=
@@ -2260,12 +2260,12 @@ const UWord32 huff_ctabscf[121]=
};
const Word32 m_log2_table[INT_BITS] = {
- 0x00000000,0x4ae00d00,0x2934f080,0x15c01a3f,
- 0x0b31fb80,0x05aeb4e0,0x02dcf2d0,0x016fe50c,
+ 0x00000000,0x4ae00d00,0x2934f080,0x15c01a3f,
+ 0x0b31fb80,0x05aeb4e0,0x02dcf2d0,0x016fe50c,
0x00b84e23,0x005c3e10,0x002e24ca,0x001713d6,
0x000b8a47,0x0005c53b,0x0002e2a3,0x00017153,
0x0000b8aa,0x00005c55,0x00002e2b,0x00001715,
- 0x00000b8b,0x000005c5,0x000002e3,0x00000171,
+ 0x00000b8b,0x000005c5,0x000002e3,0x00000171,
0x000000b9,0x0000005c,0x0000002e,0x00000017,
0x0000000c,0x00000006,0x00000003,0x00000001
};
@@ -2344,7 +2344,7 @@ const Word32 tnsCoeff4Borders[16]=
};
-const unsigned char bitrevTab[17 + 129] =
+const unsigned char bitrevTab[17 + 129] =
{
/* 64 */
0x01, 0x08, 0x02, 0x04, 0x03, 0x0c, 0x05, 0x0a, 0x07, 0x0e, 0x0b, 0x0d, 0x00, 0x06, 0x09, 0x0f,
diff --git a/media/libstagefright/codecs/aacenc/src/aacenc.c b/media/libstagefright/codecs/aacenc/src/aacenc.c
index 975f598..b5e8a9c 100644
--- a/media/libstagefright/codecs/aacenc/src/aacenc.c
+++ b/media/libstagefright/codecs/aacenc/src/aacenc.c
@@ -48,7 +48,7 @@ VO_U32 VO_API voAACEncInit(VO_HANDLE * phCodec,VO_AUDIO_CODINGTYPE vType, VO_COD
interMem = 0;
error = 0;
-
+
/* init the memory operator */
if(pUserData == NULL || pUserData->memflag != VO_IMF_USERMEMOPERATOR || pUserData->memData == NULL )
{
@@ -113,7 +113,7 @@ VO_U32 VO_API voAACEncInit(VO_HANDLE * phCodec,VO_AUDIO_CODINGTYPE vType, VO_COD
{
mem_free(pMemOP, hAacEnc, VO_INDEX_ENC_AAC);
hAacEnc = NULL;
- }
+ }
*phCodec = NULL;
return VO_ERR_OUTOF_MEMORY;
}
@@ -168,9 +168,9 @@ VO_U32 VO_API voAACEncSetInputData(VO_HANDLE hCodec, VO_CODECBUFFER * pInput)
{
return VO_ERR_INVALID_ARG;
}
-
+
hAacEnc = (AAC_ENCODER *)hCodec;
-
+
/* init input pcm buffer and length*/
hAacEnc->inbuf = (short *)pInput->Buffer;
hAacEnc->inlen = pInput->Length / sizeof(short);
@@ -178,12 +178,12 @@ VO_U32 VO_API voAACEncSetInputData(VO_HANDLE hCodec, VO_CODECBUFFER * pInput)
hAacEnc->encbuf = hAacEnc->inbuf;
hAacEnc->enclen = hAacEnc->inlen;
-
+
/* rebuild intra pcm buffer and length*/
if(hAacEnc->intlen)
{
length = min(hAacEnc->config.nChannelsIn*AACENC_BLOCKSIZE - hAacEnc->intlen, hAacEnc->inlen);
- hAacEnc->voMemop->Copy(VO_INDEX_ENC_AAC, hAacEnc->intbuf + hAacEnc->intlen,
+ hAacEnc->voMemop->Copy(VO_INDEX_ENC_AAC, hAacEnc->intbuf + hAacEnc->intlen,
hAacEnc->inbuf, length*sizeof(short));
hAacEnc->encbuf = hAacEnc->intbuf;
@@ -192,7 +192,7 @@ VO_U32 VO_API voAACEncSetInputData(VO_HANDLE hCodec, VO_CODECBUFFER * pInput)
hAacEnc->inbuf += length;
hAacEnc->inlen -= length;
}
-
+
return VO_ERR_NONE;
}
@@ -219,11 +219,11 @@ VO_U32 VO_API voAACEncGetOutputData(VO_HANDLE hCodec, VO_CODECBUFFER * pOutput,
/* check the input pcm buffer and length*/
if(NULL == hAacEnc->encbuf || hAacEnc->enclen < inbuflen)
{
- length = hAacEnc->enclen;
+ length = hAacEnc->enclen;
if(hAacEnc->intlen == 0)
- {
- hAacEnc->voMemop->Copy(VO_INDEX_ENC_AAC, hAacEnc->intbuf,
- hAacEnc->encbuf, length*sizeof(short));
+ {
+ hAacEnc->voMemop->Copy(VO_INDEX_ENC_AAC, hAacEnc->intbuf,
+ hAacEnc->encbuf, length*sizeof(short));
hAacEnc->uselength += length*sizeof(short);
}
else
@@ -236,7 +236,7 @@ VO_U32 VO_API voAACEncGetOutputData(VO_HANDLE hCodec, VO_CODECBUFFER * pOutput,
pOutput->Length = 0;
if(pOutInfo)
pOutInfo->InputUsed = hAacEnc->uselength;
- return VO_ERR_INPUT_BUFFER_SMALL;
+ return VO_ERR_INPUT_BUFFER_SMALL;
}
/* check the output aac buffer and length*/
@@ -254,7 +254,7 @@ VO_U32 VO_API voAACEncGetOutputData(VO_HANDLE hCodec, VO_CODECBUFFER * pOutput,
/* update the input pcm buffer and length*/
if(hAacEnc->intlen)
{
- length = inbuflen - hAacEnc->intlen;
+ length = inbuflen - hAacEnc->intlen;
hAacEnc->encbuf = hAacEnc->inbuf;
hAacEnc->enclen = hAacEnc->inlen;
hAacEnc->uselength += length*sizeof(short);
@@ -265,7 +265,7 @@ VO_U32 VO_API voAACEncGetOutputData(VO_HANDLE hCodec, VO_CODECBUFFER * pOutput,
hAacEnc->encbuf = hAacEnc->encbuf + inbuflen;
hAacEnc->enclen = hAacEnc->enclen - inbuflen;
hAacEnc->uselength += inbuflen*sizeof(short);
- }
+ }
/* update the output aac information */
if(pOutInfo)
@@ -287,7 +287,7 @@ VO_U32 VO_API voAACEncGetOutputData(VO_HANDLE hCodec, VO_CODECBUFFER * pOutput,
VO_U32 VO_API voAACEncUninit(VO_HANDLE hCodec)
{
AAC_ENCODER* hAacEnc = (AAC_ENCODER*)hCodec;
-
+
if(NULL != hAacEnc)
{
/* close the aac encoder */
@@ -296,7 +296,7 @@ VO_U32 VO_API voAACEncUninit(VO_HANDLE hCodec)
/* free the aac encoder handle*/
mem_free(hAacEnc->voMemop, hAacEnc, VO_INDEX_ENC_AAC);
hAacEnc = NULL;
- }
+ }
return VO_ERR_NONE;
}
@@ -319,7 +319,7 @@ VO_U32 VO_API voAACEncSetParam(VO_HANDLE hCodec, VO_S32 uParamID, VO_PTR pData)
if(NULL == hAacEnc)
return VO_ERR_INVALID_ARG;
-
+
switch(uParamID)
{
case VO_PID_AAC_ENCPARAM: /* init aac encoder parameter*/
@@ -354,11 +354,11 @@ VO_U32 VO_API voAACEncSetParam(VO_HANDLE hCodec, VO_S32 uParamID, VO_PTR pData)
SampleRateIdx = i;
tmp = 441;
- if(config.sampleRate%8000 == 0)
+ if(config.sampleRate%8000 == 0)
tmp =480;
/* check the bitrate */
if(config.bitRate!=0 && (config.bitRate/config.nChannelsOut < 4000) ||
- (config.bitRate/config.nChannelsOut > 160000) ||
+ (config.bitRate/config.nChannelsOut > 160000) ||
(config.bitRate > config.sampleRate*6*config.nChannelsOut))
{
config.bitRate = 640*config.sampleRate/tmp*config.nChannelsOut;
@@ -385,7 +385,7 @@ VO_U32 VO_API voAACEncSetParam(VO_HANDLE hCodec, VO_S32 uParamID, VO_PTR pData)
/* init aac encoder core */
ret = AacEncOpen(hAacEnc, config);
- if(ret)
+ if(ret)
return VO_ERR_AUDIO_UNSFEATURE;
break;
case VO_PID_AUDIO_FORMAT: /* init pcm channel and samplerate*/
@@ -426,7 +426,7 @@ VO_U32 VO_API voAACEncSetParam(VO_HANDLE hCodec, VO_S32 uParamID, VO_PTR pData)
/* update the bitrates */
tmp = 441;
- if(config.sampleRate%8000 == 0)
+ if(config.sampleRate%8000 == 0)
tmp =480;
config.bitRate = 640*config.sampleRate/tmp*config.nChannelsOut;
@@ -449,10 +449,10 @@ VO_U32 VO_API voAACEncSetParam(VO_HANDLE hCodec, VO_S32 uParamID, VO_PTR pData)
}
config.bandWidth = BandwithCoefTab[i][SampleRateIdx];
-
+
/* init aac encoder core */
ret = AacEncOpen(hAacEnc, config);
- if(ret)
+ if(ret)
return VO_ERR_AUDIO_UNSFEATURE;
break;
default:
@@ -483,7 +483,7 @@ VO_S32 VO_API voGetAACEncAPI(VO_AUDIO_CODECAPI * pDecHandle)
{
if(pDecHandle == NULL)
return VO_ERR_INVALID_ARG;
-
+
pDecHandle->Init = voAACEncInit;
pDecHandle->SetInputData = voAACEncSetInputData;
pDecHandle->GetOutputData = voAACEncGetOutputData;
diff --git a/media/libstagefright/codecs/aacenc/src/aacenc_core.c b/media/libstagefright/codecs/aacenc/src/aacenc_core.c
index b69a017..2b3bd48 100644
--- a/media/libstagefright/codecs/aacenc/src/aacenc_core.c
+++ b/media/libstagefright/codecs/aacenc/src/aacenc_core.c
@@ -43,8 +43,8 @@ void AacInitDefaultConfig(AACENC_CONFIG *config)
config->adtsUsed = 1;
config->nChannelsIn = 2;
config->nChannelsOut = 2;
- config->bitRate = 128000;
- config->bandWidth = 0;
+ config->bitRate = 128000;
+ config->bandWidth = 0;
}
/********************************************************************************
@@ -63,11 +63,11 @@ Word16 AacEncOpen( AAC_ENCODER* hAacEnc, /* pointer to an encoder
Word16 profile = 1;
ELEMENT_INFO *elInfo = NULL;
-
+
if (hAacEnc==0) {
- error=1;
+ error=1;
}
-
+
if (!error) {
hAacEnc->config = config;
}
@@ -83,7 +83,7 @@ Word16 AacEncOpen( AAC_ENCODER* hAacEnc, /* pointer to an encoder
if (!error) {
/* use or not tns tool for long and short block */
- Word16 tnsMask=3;
+ Word16 tnsMask=3;
/* init encoder psychoacoustic */
error = psyMainInit(&hAacEnc->psyKernel,
@@ -107,10 +107,10 @@ Word16 AacEncOpen( AAC_ENCODER* hAacEnc, /* pointer to an encoder
qcInit.elInfo = &hAacEnc->elInfo;
qcInit.maxBits = (Word16) (MAXBITS_COEF*elInfo->nChannelsInEl);
- qcInit.bitRes = qcInit.maxBits;
+ qcInit.bitRes = qcInit.maxBits;
qcInit.averageBits = (Word16) ((config.bitRate * FRAME_LEN_LONG) / config.sampleRate);
- qcInit.padding.paddingRest = config.sampleRate;
+ qcInit.padding.paddingRest = config.sampleRate;
qcInit.meanPe = (Word16) ((10 * FRAME_LEN_LONG * hAacEnc->config.bandWidth) /
(config.sampleRate>>1));
@@ -118,17 +118,17 @@ Word16 AacEncOpen( AAC_ENCODER* hAacEnc, /* pointer to an encoder
qcInit.maxBitFac = (Word16) ((100 * (MAXBITS_COEF-MINBITS_COEF)* elInfo->nChannelsInEl)/
(qcInit.averageBits?qcInit.averageBits:1));
- qcInit.bitrate = config.bitRate;
+ qcInit.bitrate = config.bitRate;
error = QCInit(&hAacEnc->qcKernel, &qcInit);
}
/* init bitstream encoder */
if (!error) {
- hAacEnc->bseInit.nChannels = elInfo->nChannelsInEl;
- hAacEnc->bseInit.bitrate = config.bitRate;
- hAacEnc->bseInit.sampleRate = config.sampleRate;
- hAacEnc->bseInit.profile = profile;
+ hAacEnc->bseInit.nChannels = elInfo->nChannelsInEl;
+ hAacEnc->bseInit.bitrate = config.bitRate;
+ hAacEnc->bseInit.sampleRate = config.sampleRate;
+ hAacEnc->bseInit.profile = profile;
}
return error;
@@ -152,14 +152,14 @@ Word16 AacEncEncode(AAC_ENCODER *aacEnc, /*!< an encoder handle */
ELEMENT_INFO *elInfo = &aacEnc->elInfo;
Word16 globUsedBits;
Word16 ancDataBytes, ancDataBytesLeft;
-
- ancDataBytes = ancDataBytesLeft = *numAncBytes;
+
+ ancDataBytes = ancDataBytesLeft = *numAncBytes;
/* init output aac data buffer and length */
aacEnc->hBitStream = CreateBitBuffer(&aacEnc->bitStream, outBytes, *numOutBytes);
/* psychoacoustic process */
- psyMain(aacEnc->config.nChannelsOut,
+ psyMain(aacEnc->config.nChannelsOut,
elInfo,
timeSignal,
&aacEnc->psyKernel.psyData[elInfo->ChannelIndex[0]],
@@ -175,9 +175,9 @@ Word16 AacEncEncode(AAC_ENCODER *aacEnc, /*!< an encoder handle */
AdjustBitrate(&aacEnc->qcKernel,
aacEnc->config.bitRate,
aacEnc->config.sampleRate);
-
+
/* quantization and coding process */
- QCMain(&aacEnc->qcKernel,
+ QCMain(&aacEnc->qcKernel,
&aacEnc->qcKernel.elementBits,
&aacEnc->qcKernel.adjThr.adjThrStateElem,
&aacEnc->psyOut.psyOutChannel[elInfo->ChannelIndex[0]],
@@ -193,11 +193,11 @@ Word16 AacEncEncode(AAC_ENCODER *aacEnc, /*!< an encoder handle */
&aacEnc->qcOut);
/* write bitstream process */
- WriteBitstream(aacEnc->hBitStream,
+ WriteBitstream(aacEnc->hBitStream,
*elInfo,
&aacEnc->qcOut,
&aacEnc->psyOut,
- &globUsedBits,
+ &globUsedBits,
ancBytes,
aacEnc->psyKernel.sampleRateIdx);
@@ -219,7 +219,7 @@ Word16 AacEncEncode(AAC_ENCODER *aacEnc, /*!< an encoder handle */
**********************************************************************************/
void AacEncClose (AAC_ENCODER* hAacEnc, VO_MEM_OPERATOR *pMemOP)
{
- if (hAacEnc) {
+ if (hAacEnc) {
QCDelete(&hAacEnc->qcKernel, pMemOP);
QCOutDelete(&hAacEnc->qcOut, pMemOP);
diff --git a/media/libstagefright/codecs/aacenc/src/adj_thr.c b/media/libstagefright/codecs/aacenc/src/adj_thr.c
index 83b43a1..c656f65 100644
--- a/media/libstagefright/codecs/aacenc/src/adj_thr.c
+++ b/media/libstagefright/codecs/aacenc/src/adj_thr.c
@@ -71,7 +71,7 @@ static void calcThreshExp(Word32 thrExp[MAX_CHANNELS][MAX_GROUPED_SFB],
Word32 *pthrExp, *psfbThre;
for (ch=0; ch<nChannels; ch++) {
PSY_OUT_CHANNEL *psyOutChan = &psyOutChannel[ch];
- for(sfbGrp = 0; sfbGrp < psyOutChan->sfbCnt; sfbGrp+= psyOutChan->sfbPerGroup)
+ for(sfbGrp = 0; sfbGrp < psyOutChan->sfbCnt; sfbGrp+= psyOutChan->sfbPerGroup)
pthrExp = &(thrExp[ch][sfbGrp]);
psfbThre = psyOutChan->sfbThreshold + sfbGrp;
for (sfb=0; sfb<psyOutChan->maxSfbPerGroup; sfb++) {
@@ -96,21 +96,21 @@ static void adaptMinSnr(PSY_OUT_CHANNEL psyOutChannel[MAX_CHANNELS],
Word32 nSfb, avgEn;
Word16 log_avgEn = 0;
Word32 startRatio_x_avgEn = 0;
-
+
for (ch=0; ch<nChannels; ch++) {
PSY_OUT_CHANNEL* psyOutChan = &psyOutChannel[ch];
/* calc average energy per scalefactor band */
- avgEn = 0;
- nSfb = 0;
+ avgEn = 0;
+ nSfb = 0;
for (sfbOffs=0; sfbOffs<psyOutChan->sfbCnt; sfbOffs+=psyOutChan->sfbPerGroup) {
for (sfb=0; sfb<psyOutChan->maxSfbPerGroup; sfb++) {
avgEn = L_add(avgEn, psyOutChan->sfbEnergy[sfbOffs+sfb]);
nSfb = nSfb + 1;
}
}
-
+
if (nSfb > 0) {
avgEn = avgEn / nSfb;
@@ -118,7 +118,7 @@ static void adaptMinSnr(PSY_OUT_CHANNEL psyOutChannel[MAX_CHANNELS],
startRatio_x_avgEn = fixmul(msaParam->startRatio, avgEn);
}
-
+
/* reduce minSnr requirement by minSnr^minSnrRed dependent on avgEn/sfbEn */
for (sfbOffs=0; sfbOffs<psyOutChan->sfbCnt; sfbOffs+=psyOutChan->sfbPerGroup) {
for (sfb=0; sfb<psyOutChan->maxSfbPerGroup; sfb++) {
@@ -126,22 +126,22 @@ static void adaptMinSnr(PSY_OUT_CHANNEL psyOutChannel[MAX_CHANNELS],
Word16 dbRatio, minSnrRed;
Word32 snrRed;
Word16 newMinSnr;
-
+
dbRatio = log_avgEn - logSfbEnergy[ch][sfbOffs+sfb];
dbRatio = dbRatio + (dbRatio << 1);
minSnrRed = 110 - ((dbRatio + (dbRatio << 1)) >> 2);
- minSnrRed = max(minSnrRed, 20); /* 110: (0.375(redOffs)+1)*80,
+ minSnrRed = max(minSnrRed, 20); /* 110: (0.375(redOffs)+1)*80,
3: 0.00375(redRatioFac)*80
20: 0.25(maxRed) * 80 */
- snrRed = minSnrRed * iLog4((psyOutChan->sfbMinSnr[sfbOffs+sfb] << 16));
- /*
+ snrRed = minSnrRed * iLog4((psyOutChan->sfbMinSnr[sfbOffs+sfb] << 16));
+ /*
snrRedI si now scaled by 80 (minSnrRed) and 4 (ffr_iLog4)
*/
-
+
newMinSnr = round16(pow2_xy(snrRed,80*4));
-
+
psyOutChan->sfbMinSnr[sfbOffs+sfb] = min(newMinSnr, minSnrLimit);
}
}
@@ -169,7 +169,7 @@ static void initAvoidHoleFlag(Word16 ahFlag[MAX_CHANNELS][MAX_GROUPED_SFB],
for (ch=0; ch<nChannels; ch++) {
PSY_OUT_CHANNEL *psyOutChan = &psyOutChannel[ch];
-
+
if (psyOutChan->windowSequence != SHORT_WINDOW) {
for(sfbGrp = 0;sfbGrp < psyOutChan->sfbCnt;sfbGrp+= psyOutChan->sfbPerGroup){
psfbSpreadEn = psyOutChan->sfbSpreadedEnergy + sfbGrp;
@@ -194,7 +194,7 @@ static void initAvoidHoleFlag(Word16 ahFlag[MAX_CHANNELS][MAX_GROUPED_SFB],
if (ahParam->modifyMinSnr) {
for(ch=0; ch<nChannels; ch++) {
PSY_OUT_CHANNEL *psyOutChan = &psyOutChannel[ch];
-
+
if (psyOutChan->windowSequence != SHORT_WINDOW)
threshold = HOLE_THR_LONG;
else
@@ -204,39 +204,39 @@ static void initAvoidHoleFlag(Word16 ahFlag[MAX_CHANNELS][MAX_GROUPED_SFB],
Word16 *psfbMinSnr = psyOutChan->sfbMinSnr + sfbGrp;
for (sfb=0; sfb<psyOutChan->maxSfbPerGroup; sfb++) {
Word32 sfbEn, sfbEnm1, sfbEnp1, avgEn;
-
+
if (sfb > 0)
sfbEnm1 = psyOutChan->sfbEnergy[sfbGrp+sfb-1];
else
sfbEnm1 = psyOutChan->sfbEnergy[sfbGrp];
-
+
if (sfb < (psyOutChan->maxSfbPerGroup-1))
sfbEnp1 = psyOutChan->sfbEnergy[sfbGrp+sfb+1];
else
sfbEnp1 = psyOutChan->sfbEnergy[sfbGrp+sfb];
avgEn = (sfbEnm1 + sfbEnp1) >> 1;
- sfbEn = psyOutChan->sfbEnergy[sfbGrp+sfb];
-
+ sfbEn = psyOutChan->sfbEnergy[sfbGrp+sfb];
+
if (sfbEn > avgEn && avgEn > 0) {
Word32 tmpMinSnr;
shift = norm_l(sfbEn);
tmpMinSnr = Div_32(L_mpy_ls(avgEn, minSnrLimit) << shift, sfbEn << shift );
- tmpMinSnr = max(tmpMinSnr, HOLE_THR_LONG);
+ tmpMinSnr = max(tmpMinSnr, HOLE_THR_LONG);
tmpMinSnr = max(tmpMinSnr, threshold);
*psfbMinSnr = min(*psfbMinSnr, tmpMinSnr);
}
/* valley ? */
-
+
if ((sfbEn < (avgEn >> 1)) && (sfbEn > 0)) {
Word32 tmpMinSnr;
- Word32 minSnrEn = L_mpy_wx(avgEn, *psfbMinSnr);
-
+ Word32 minSnrEn = L_mpy_wx(avgEn, *psfbMinSnr);
+
if(minSnrEn < sfbEn) {
shift = norm_l(sfbEn);
tmpMinSnr = Div_32( minSnrEn << shift, sfbEn<<shift);
}
else {
- tmpMinSnr = MAX_16;
+ tmpMinSnr = MAX_16;
}
tmpMinSnr = min(minSnrLimit, tmpMinSnr);
@@ -251,7 +251,7 @@ static void initAvoidHoleFlag(Word16 ahFlag[MAX_CHANNELS][MAX_GROUPED_SFB],
/* stereo: adapt the minimum requirements sfbMinSnr of mid and
side channels */
-
+
if (nChannels == 2) {
PSY_OUT_CHANNEL *psyOutChanM = &psyOutChannel[0];
PSY_OUT_CHANNEL *psyOutChanS = &psyOutChannel[1];
@@ -260,30 +260,30 @@ static void initAvoidHoleFlag(Word16 ahFlag[MAX_CHANNELS][MAX_GROUPED_SFB],
Word32 sfbEnM = psyOutChanM->sfbEnergy[sfb];
Word32 sfbEnS = psyOutChanS->sfbEnergy[sfb];
Word32 maxSfbEn = max(sfbEnM, sfbEnS);
- Word32 maxThr = L_mpy_wx(maxSfbEn, psyOutChanM->sfbMinSnr[sfb]) >> 1;
-
+ Word32 maxThr = L_mpy_wx(maxSfbEn, psyOutChanM->sfbMinSnr[sfb]) >> 1;
+
if(maxThr >= sfbEnM) {
- psyOutChanM->sfbMinSnr[sfb] = MAX_16;
+ psyOutChanM->sfbMinSnr[sfb] = MAX_16;
}
else {
- shift = norm_l(sfbEnM);
- psyOutChanM->sfbMinSnr[sfb] = min(max(psyOutChanM->sfbMinSnr[sfb],
+ shift = norm_l(sfbEnM);
+ psyOutChanM->sfbMinSnr[sfb] = min(max(psyOutChanM->sfbMinSnr[sfb],
round16(Div_32(maxThr<<shift, sfbEnM << shift))), minSnrLimit);
}
-
+
if(maxThr >= sfbEnS) {
psyOutChanS->sfbMinSnr[sfb] = MAX_16;
}
else {
shift = norm_l(sfbEnS);
- psyOutChanS->sfbMinSnr[sfb] = min(max(psyOutChanS->sfbMinSnr[sfb],
+ psyOutChanS->sfbMinSnr[sfb] = min(max(psyOutChanS->sfbMinSnr[sfb],
round16(Div_32(maxThr << shift, sfbEnS << shift))), minSnrLimit);
}
-
+
if (sfbEnM > psyOutChanM->sfbSpreadedEnergy[sfb])
psyOutChanS->sfbSpreadedEnergy[sfb] = L_mpy_ls(sfbEnS, MS_THRSPREAD_COEF);
-
+
if (sfbEnS > psyOutChanS->sfbSpreadedEnergy[sfb])
psyOutChanM->sfbSpreadedEnergy[sfb] = L_mpy_ls(sfbEnM, MS_THRSPREAD_COEF);
}
@@ -297,7 +297,7 @@ static void initAvoidHoleFlag(Word16 ahFlag[MAX_CHANNELS][MAX_GROUPED_SFB],
for(sfbGrp = 0;sfbGrp < psyOutChan->sfbCnt;sfbGrp+= psyOutChan->sfbPerGroup){
Word16 *pahFlag = ahFlag[ch] + sfbGrp;
for (sfb=0; sfb<psyOutChan->maxSfbPerGroup; sfb++) {
-
+
if ((psyOutChan->sfbSpreadedEnergy[sfbGrp+sfb] > psyOutChan->sfbEnergy[sfbGrp+sfb]) ||
(psyOutChan->sfbEnergy[sfbGrp+sfb] <= psyOutChan->sfbThreshold[sfbGrp+sfb]) ||
(psyOutChan->sfbMinSnr[sfbGrp+sfb] == MAX_16)) {
@@ -308,7 +308,7 @@ static void initAvoidHoleFlag(Word16 ahFlag[MAX_CHANNELS][MAX_GROUPED_SFB],
}
}
for (sfb=psyOutChan->maxSfbPerGroup; sfb<psyOutChan->sfbPerGroup; sfb++) {
- *pahFlag++ = NO_AH;
+ *pahFlag++ = NO_AH;
}
}
}
@@ -331,15 +331,15 @@ static void calcPeNoAH(Word16 *pe,
Word16 ch, sfb, sfbGrp;
int ipe, iconstPart, inActiveLines;
- ipe = 0;
- iconstPart = 0;
- inActiveLines = 0;
+ ipe = 0;
+ iconstPart = 0;
+ inActiveLines = 0;
for(ch=0; ch<nChannels; ch++) {
PSY_OUT_CHANNEL *psyOutChan = &psyOutChannel[ch];
PE_CHANNEL_DATA *peChanData = &peData->peChannelData[ch];
for(sfbGrp = 0;sfbGrp < psyOutChan->sfbCnt;sfbGrp+= psyOutChan->sfbPerGroup){
for (sfb=0; sfb<psyOutChan->maxSfbPerGroup; sfb++) {
-
+
if (ahFlag[ch][sfbGrp+sfb] < AH_ACTIVE) {
ipe = ipe + peChanData->sfbPe[sfbGrp+sfb];
iconstPart = iconstPart + peChanData->sfbConstPart[sfbGrp+sfb];
@@ -349,9 +349,9 @@ static void calcPeNoAH(Word16 *pe,
}
}
- *pe = saturate(ipe);
- *constPart = saturate(iconstPart);
- *nActiveLines = saturate(inActiveLines);
+ *pe = saturate(ipe);
+ *constPart = saturate(iconstPart);
+ *nActiveLines = saturate(inActiveLines);
}
/********************************************************************************
@@ -367,16 +367,16 @@ static void reduceThresholds(PSY_OUT_CHANNEL psyOutChannel[MAX_CHANNELS],
const Word32 redVal)
{
Word32 sfbThrReduced;
- Word32 *psfbEn, *psfbThr;
+ Word32 *psfbEn, *psfbThr;
Word16 ch, sfb, sfbGrp;
for(ch=0; ch<nChannels; ch++) {
PSY_OUT_CHANNEL *psyOutChan = &psyOutChannel[ch];
for(sfbGrp=0; sfbGrp<psyOutChan->sfbCnt; sfbGrp+=psyOutChan->sfbPerGroup) {
- psfbEn = psyOutChan->sfbEnergy + sfbGrp;
+ psfbEn = psyOutChan->sfbEnergy + sfbGrp;
psfbThr = psyOutChan->sfbThreshold + sfbGrp;
for (sfb=0; sfb<psyOutChan->maxSfbPerGroup; sfb++) {
-
+
if (*psfbEn > *psfbThr) {
/* threshold reduction formula */
Word32 tmp = thrExp[ch][sfbGrp+sfb] + redVal;
@@ -384,11 +384,11 @@ static void reduceThresholds(PSY_OUT_CHANNEL psyOutChannel[MAX_CHANNELS],
sfbThrReduced = fixmul(tmp, tmp);
/* avoid holes */
tmp = L_mpy_ls(*psfbEn, psyOutChan->sfbMinSnr[sfbGrp+sfb]);
-
- if ((sfbThrReduced > tmp) &&
+
+ if ((sfbThrReduced > tmp) &&
(ahFlag[ch][sfbGrp+sfb] != NO_AH)){
sfbThrReduced = max(tmp, *psfbThr);
- ahFlag[ch][sfbGrp+sfb] = AH_ACTIVE;
+ ahFlag[ch][sfbGrp+sfb] = AH_ACTIVE;
}
*psfbThr = sfbThrReduced;
}
@@ -426,7 +426,7 @@ static void correctThresh(PSY_OUT_CHANNEL psyOutChannel[MAX_CHANNELS],
Word32 sfbThrReduced;
/* for each sfb calc relative factors for pe changes */
- normFactor = 1;
+ normFactor = 1;
for(ch=0; ch<nChannels; ch++) {
psyOutChan = &psyOutChannel[ch];
peChanData = &peData->peChannelData[ch];
@@ -436,22 +436,22 @@ static void correctThresh(PSY_OUT_CHANNEL psyOutChannel[MAX_CHANNELS],
pahFlag = ahFlag[ch] + sfbGrp;
for (sfb=0; sfb<psyOutChan->maxSfbPerGroup; sfb++) {
Word32 redThrExp = thrExp[ch][sfbGrp+sfb] + redVal;
-
+
if (((*pahFlag < AH_ACTIVE) || (deltaPe > 0)) && (redThrExp > 0) ) {
-
+
*psfbPeFactors = (*psfbNActiveLines) * (0x7fffffff / redThrExp);
normFactor = L_add(normFactor, *psfbPeFactors);
}
else {
- *psfbPeFactors = 0;
+ *psfbPeFactors = 0;
}
- psfbPeFactors++;
+ psfbPeFactors++;
pahFlag++; psfbNActiveLines++;
}
}
}
-
+
/* calculate new thresholds */
for(ch=0; ch<nChannels; ch++) {
psyOutChan = &psyOutChannel[ch];
@@ -464,7 +464,7 @@ static void correctThresh(PSY_OUT_CHANNEL psyOutChannel[MAX_CHANNELS],
/* pe difference for this sfb */
deltaSfbPe = *psfbPeFactors * deltaPe;
- /* thr3(n) = thr2(n)*2^deltaSfbPe/b(n) */
+ /* thr3(n) = thr2(n)*2^deltaSfbPe/b(n) */
if (*psfbNActiveLines > 0) {
/* new threshold */
Word32 thrFactor;
@@ -476,7 +476,7 @@ static void correctThresh(PSY_OUT_CHANNEL psyOutChannel[MAX_CHANNELS],
reduce threshold
*/
thrFactor = pow2_xy(L_negate(deltaSfbPe), (normFactor* (*psfbNActiveLines)));
-
+
sfbThrReduced = L_mpy_ls(sfbThr, round16(thrFactor));
}
else {
@@ -484,28 +484,28 @@ static void correctThresh(PSY_OUT_CHANNEL psyOutChannel[MAX_CHANNELS],
increase threshold
*/
thrFactor = pow2_xy(deltaSfbPe, (normFactor * (*psfbNActiveLines)));
-
-
+
+
if(thrFactor > sfbThr) {
shift = norm_l(thrFactor);
sfbThrReduced = Div_32( sfbThr << shift, thrFactor<<shift );
}
else {
- sfbThrReduced = MAX_32;
+ sfbThrReduced = MAX_32;
}
}
-
+
/* avoid hole */
sfbEn = L_mpy_ls(sfbEn, psyOutChan->sfbMinSnr[sfbGrp+sfb]);
-
+
if ((sfbThrReduced > sfbEn) &&
(*pahFlag == AH_INACTIVE)) {
sfbThrReduced = max(sfbEn, sfbThr);
- *pahFlag = AH_ACTIVE;
+ *pahFlag = AH_ACTIVE;
}
- psyOutChan->sfbThreshold[sfbGrp+sfb] = sfbThrReduced;
+ psyOutChan->sfbThreshold[sfbGrp+sfb] = sfbThrReduced;
}
pahFlag++; psfbNActiveLines++; psfbPeFactors++;
@@ -521,8 +521,8 @@ static void correctThresh(PSY_OUT_CHANNEL psyOutChannel[MAX_CHANNELS],
* description: if the desired pe can not be reached, reduce pe by reducing minSnr
*
**********************************************************************************/
-static void reduceMinSnr(PSY_OUT_CHANNEL psyOutChannel[MAX_CHANNELS],
- PE_DATA *peData,
+static void reduceMinSnr(PSY_OUT_CHANNEL psyOutChannel[MAX_CHANNELS],
+ PE_DATA *peData,
Word16 ahFlag[MAX_CHANNELS][MAX_GROUPED_SFB],
const Word16 nChannels,
const Word16 desiredPe)
@@ -531,9 +531,9 @@ static void reduceMinSnr(PSY_OUT_CHANNEL psyOutChannel[MAX_CHANNELS],
Word16 deltaPe;
/* start at highest freq down to 0 */
- sfbSubWin = psyOutChannel[0].maxSfbPerGroup;
+ sfbSubWin = psyOutChannel[0].maxSfbPerGroup;
while (peData->pe > desiredPe && sfbSubWin > 0) {
-
+
sfbSubWin = sfbSubWin - 1;
/* loop over all subwindows */
for (sfb=sfbSubWin; sfb<psyOutChannel[0].sfbCnt;
@@ -541,10 +541,10 @@ static void reduceMinSnr(PSY_OUT_CHANNEL psyOutChannel[MAX_CHANNELS],
/* loop over all channels */
PE_CHANNEL_DATA* peChan = peData->peChannelData;
PSY_OUT_CHANNEL* psyOutCh = psyOutChannel;
- for (ch=0; ch<nChannels; ch++) {
+ for (ch=0; ch<nChannels; ch++) {
if (ahFlag[ch][sfb] != NO_AH &&
psyOutCh->sfbMinSnr[sfb] < minSnrLimit) {
- psyOutCh->sfbMinSnr[sfb] = minSnrLimit;
+ psyOutCh->sfbMinSnr[sfb] = minSnrLimit;
psyOutCh->sfbThreshold[sfb] =
L_mpy_ls(psyOutCh->sfbEnergy[sfb], psyOutCh->sfbMinSnr[sfb]);
@@ -552,12 +552,12 @@ static void reduceMinSnr(PSY_OUT_CHANNEL psyOutChannel[MAX_CHANNELS],
deltaPe = ((peChan->sfbNLines4[sfb] + (peChan->sfbNLines4[sfb] >> 1)) >> 2) -
peChan->sfbPe[sfb];
peData->pe = peData->pe + deltaPe;
- peChan->pe = peChan->pe + deltaPe;
+ peChan->pe = peChan->pe + deltaPe;
}
peChan += 1; psyOutCh += 1;
}
/* stop if enough has been saved */
-
+
if (peData->pe <= desiredPe)
break;
}
@@ -567,13 +567,13 @@ static void reduceMinSnr(PSY_OUT_CHANNEL psyOutChannel[MAX_CHANNELS],
/********************************************************************************
*
* function name:allowMoreHoles
-* description: if the desired pe can not be reached, some more scalefactor bands
+* description: if the desired pe can not be reached, some more scalefactor bands
* have to be quantized to zero
*
**********************************************************************************/
-static void allowMoreHoles(PSY_OUT_CHANNEL psyOutChannel[MAX_CHANNELS],
+static void allowMoreHoles(PSY_OUT_CHANNEL psyOutChannel[MAX_CHANNELS],
PSY_OUT_ELEMENT *psyOutElement,
- PE_DATA *peData,
+ PE_DATA *peData,
Word16 ahFlag[MAX_CHANNELS][MAX_GROUPED_SFB],
const AH_PARAM *ahParam,
const Word16 nChannels,
@@ -582,46 +582,46 @@ static void allowMoreHoles(PSY_OUT_CHANNEL psyOutChannel[MAX_CHANNELS],
Word16 ch, sfb;
Word16 actPe, shift;
- actPe = peData->pe;
+ actPe = peData->pe;
/* for MS allow hole in the channel with less energy */
-
+
if (nChannels==2 &&
psyOutChannel[0].windowSequence==psyOutChannel[1].windowSequence) {
PSY_OUT_CHANNEL *psyOutChanL = &psyOutChannel[0];
PSY_OUT_CHANNEL *psyOutChanR = &psyOutChannel[1];
for (sfb=0; sfb<psyOutChanL->sfbCnt; sfb++) {
Word32 minEn;
-
+
if (psyOutElement->toolsInfo.msMask[sfb]) {
/* allow hole in side channel ? */
minEn = L_mpy_ls(psyOutChanL->sfbEnergy[sfb], (minSnrLimit * psyOutChanL->sfbMinSnr[sfb]) >> 16);
-
+
if (ahFlag[1][sfb] != NO_AH &&
minEn > psyOutChanR->sfbEnergy[sfb]) {
- ahFlag[1][sfb] = NO_AH;
+ ahFlag[1][sfb] = NO_AH;
psyOutChanR->sfbThreshold[sfb] = L_add(psyOutChanR->sfbEnergy[sfb], psyOutChanR->sfbEnergy[sfb]);
actPe = actPe - peData->peChannelData[1].sfbPe[sfb];
}
/* allow hole in mid channel ? */
else {
minEn = L_mpy_ls(psyOutChanR->sfbEnergy[sfb], (minSnrLimit * psyOutChanR->sfbMinSnr[sfb]) >> 16);
-
+
if (ahFlag[0][sfb]!= NO_AH &&
minEn > psyOutChanL->sfbEnergy[sfb]) {
- ahFlag[0][sfb] = NO_AH;
+ ahFlag[0][sfb] = NO_AH;
psyOutChanL->sfbThreshold[sfb] = L_add(psyOutChanL->sfbEnergy[sfb], psyOutChanL->sfbEnergy[sfb]);
actPe = actPe - peData->peChannelData[0].sfbPe[sfb];
}
}
-
+
if (actPe < desiredPe)
break;
}
}
}
- /* subsequently erase bands */
+ /* subsequently erase bands */
if (actPe > desiredPe) {
Word16 startSfb[2];
Word32 avgEn, minEn;
@@ -634,20 +634,20 @@ static void allowMoreHoles(PSY_OUT_CHANNEL psyOutChannel[MAX_CHANNELS],
/* do not go below startSfb */
for (ch=0; ch<nChannels; ch++) {
-
+
if (psyOutChannel[ch].windowSequence != SHORT_WINDOW)
startSfb[ch] = ahParam->startSfbL;
else
startSfb[ch] = ahParam->startSfbS;
}
- avgEn = 0;
- minEn = MAX_32;
- ahCnt = 0;
+ avgEn = 0;
+ minEn = MAX_32;
+ ahCnt = 0;
for (ch=0; ch<nChannels; ch++) {
PSY_OUT_CHANNEL *psyOutChan = &psyOutChannel[ch];
for (sfb=startSfb[ch]; sfb<psyOutChan->sfbCnt; sfb++) {
-
+
if ((ahFlag[ch][sfb] != NO_AH) &&
(psyOutChan->sfbEnergy[sfb] > psyOutChan->sfbThreshold[sfb])) {
minEn = min(minEn, psyOutChan->sfbEnergy[sfb]);
@@ -656,7 +656,7 @@ static void allowMoreHoles(PSY_OUT_CHANNEL psyOutChannel[MAX_CHANNELS],
}
}
}
-
+
if(ahCnt) {
Word32 iahCnt;
shift = norm_l(ahCnt);
@@ -674,46 +674,46 @@ static void allowMoreHoles(PSY_OUT_CHANNEL psyOutChannel[MAX_CHANNELS],
/* start with lowest energy border at highest sfb */
maxSfb = psyOutChannel[0].sfbCnt - 1;
- minSfb = startSfb[0];
-
+ minSfb = startSfb[0];
+
if (nChannels == 2) {
maxSfb = max(maxSfb, (psyOutChannel[1].sfbCnt - 1));
minSfb = min(minSfb, startSfb[1]);
}
- sfb = maxSfb;
- enIdx = 0;
- done = 0;
+ sfb = maxSfb;
+ enIdx = 0;
+ done = 0;
while (!done) {
-
+
for (ch=0; ch<nChannels; ch++) {
PSY_OUT_CHANNEL *psyOutChan = &psyOutChannel[ch];
-
+
if (sfb>=startSfb[ch] && sfb<psyOutChan->sfbCnt) {
/* sfb energy below border ? */
-
+
if (ahFlag[ch][sfb] != NO_AH && psyOutChan->sfbEnergy[sfb] < en[enIdx]){
/* allow hole */
- ahFlag[ch][sfb] = NO_AH;
+ ahFlag[ch][sfb] = NO_AH;
psyOutChan->sfbThreshold[sfb] = L_add(psyOutChan->sfbEnergy[sfb], psyOutChan->sfbEnergy[sfb]);
actPe = actPe - peData->peChannelData[ch].sfbPe[sfb];
}
-
+
if (actPe < desiredPe) {
- done = 1;
+ done = 1;
break;
}
}
}
sfb = sfb - 1;
-
+
if (sfb < minSfb) {
/* restart with next energy border */
- sfb = maxSfb;
+ sfb = maxSfb;
enIdx = enIdx + 1;
-
+
if (enIdx - 4 >= 0)
- done = 1;
+ done = 1;
}
}
}
@@ -748,13 +748,13 @@ static void adaptThresholdsToPe(PSY_OUT_CHANNEL psyOutChannel[MAX_CHANNELS],
initAvoidHoleFlag(peData->ahFlag, psyOutChannel, psyOutElement, nChannels, ahParam);
- noRedPe = peData->pe;
- constPart = peData->constPart;
- nActiveLines = peData->nActiveLines;
+ noRedPe = peData->pe;
+ constPart = peData->constPart;
+ nActiveLines = peData->nActiveLines;
/* first guess of reduction value t^0.25 = 2^((a-pen)/4*b) */
avgThrExp = pow2_xy((constPart - noRedPe), (nActiveLines << 2));
-
+
/* r1 = 2^((a-per)/4*b) - t^0.25 */
redVal = pow2_xy((constPart - desiredPe), (nActiveLines << 2)) - avgThrExp;
@@ -763,40 +763,40 @@ static void adaptThresholdsToPe(PSY_OUT_CHANNEL psyOutChannel[MAX_CHANNELS],
/* pe after first guess */
calcSfbPe(peData, psyOutChannel, nChannels);
- redPe = peData->pe;
+ redPe = peData->pe;
- iter = 0;
+ iter = 0;
do {
/* pe for bands where avoid hole is inactive */
calcPeNoAH(&redPeNoAH, &constPartNoAH, &nActiveLinesNoAH,
peData, peData->ahFlag, psyOutChannel, nChannels);
desiredPeNoAH = desiredPe -(redPe - redPeNoAH);
-
+
if (desiredPeNoAH < 0) {
- desiredPeNoAH = 0;
+ desiredPeNoAH = 0;
}
/* second guess */
-
+
if (nActiveLinesNoAH > 0) {
-
+
avgThrExp = pow2_xy((constPartNoAH - redPeNoAH), (nActiveLinesNoAH << 2));
-
+
redVal = (redVal + pow2_xy((constPartNoAH - desiredPeNoAH), (nActiveLinesNoAH << 2))) - avgThrExp;
-
+
/* reduce thresholds */
reduceThresholds(psyOutChannel, peData->ahFlag, peData->thrExp, nChannels, redVal);
}
calcSfbPe(peData, psyOutChannel, nChannels);
- redPe = peData->pe;
+ redPe = peData->pe;
iter = iter+1;
-
+
} while ((20 * abs_s(redPe - desiredPe) > desiredPe) && (iter < 2));
-
+
if ((100 * redPe < 115 * desiredPe)) {
correctThresh(psyOutChannel, peData->ahFlag, peData, peData->thrExp, redVal,
nChannels, desiredPe - redPe);
@@ -863,7 +863,7 @@ static Word16 calcBitSpend(Word16 fillLevel,
if(clipHigh-clipLow)
bitspend = (minBitSpend + ((maxBitSpend - minBitSpend)*(fillLevel - clipLow) /
(clipHigh-clipLow)));
-
+
return (bitspend);
}
@@ -884,19 +884,19 @@ static void adjustPeMinMax(const Word16 currPe,
Word16 minFacHi, maxFacHi, minFacLo, maxFacLo;
Word16 diff;
Word16 minDiff = extract_l(currPe / 6);
- minFacHi = 30;
- maxFacHi = 100;
- minFacLo = 14;
- maxFacLo = 7;
+ minFacHi = 30;
+ maxFacHi = 100;
+ minFacLo = 14;
+ maxFacLo = 7;
diff = currPe - *peMax ;
-
+
if (diff > 0) {
*peMin = *peMin + ((diff * minFacHi) / 100);
*peMax = *peMax + ((diff * maxFacHi) / 100);
} else {
diff = *peMin - currPe;
-
+
if (diff > 0) {
*peMin = *peMin - ((diff * minFacLo) / 100);
*peMax = *peMax - ((diff * maxFacLo) / 100);
@@ -906,7 +906,7 @@ static void adjustPeMinMax(const Word16 currPe,
}
}
-
+
if ((*peMax - *peMin) < minDiff) {
Word16 partLo, partHi;
@@ -969,7 +969,7 @@ static Word16 bitresCalcBitFac( const Word16 bitresBits,
(adjThrChan->peMax - adjThrChan->peMin));
else
bitresFac = 0x7fff;
-
+
bitresFac = min(bitresFac,
(100-30 + extract_l((100 * bitresBits) / avgBits)));
@@ -995,23 +995,23 @@ void AdjThrInit(ADJ_THR_STATE *hAdjThr,
/* common for all elements: */
/* parameters for bitres control */
- hAdjThr->bresParamLong.clipSaveLow = 20;
- hAdjThr->bresParamLong.clipSaveHigh = 95;
- hAdjThr->bresParamLong.minBitSave = -5;
- hAdjThr->bresParamLong.maxBitSave = 30;
- hAdjThr->bresParamLong.clipSpendLow = 20;
- hAdjThr->bresParamLong.clipSpendHigh = 95;
- hAdjThr->bresParamLong.minBitSpend = -10;
- hAdjThr->bresParamLong.maxBitSpend = 40;
-
- hAdjThr->bresParamShort.clipSaveLow = 20;
- hAdjThr->bresParamShort.clipSaveHigh = 75;
- hAdjThr->bresParamShort.minBitSave = 0;
- hAdjThr->bresParamShort.maxBitSave = 20;
- hAdjThr->bresParamShort.clipSpendLow = 20;
- hAdjThr->bresParamShort.clipSpendHigh = 75;
- hAdjThr->bresParamShort.minBitSpend = -5;
- hAdjThr->bresParamShort.maxBitSpend = 50;
+ hAdjThr->bresParamLong.clipSaveLow = 20;
+ hAdjThr->bresParamLong.clipSaveHigh = 95;
+ hAdjThr->bresParamLong.minBitSave = -5;
+ hAdjThr->bresParamLong.maxBitSave = 30;
+ hAdjThr->bresParamLong.clipSpendLow = 20;
+ hAdjThr->bresParamLong.clipSpendHigh = 95;
+ hAdjThr->bresParamLong.minBitSpend = -10;
+ hAdjThr->bresParamLong.maxBitSpend = 40;
+
+ hAdjThr->bresParamShort.clipSaveLow = 20;
+ hAdjThr->bresParamShort.clipSaveHigh = 75;
+ hAdjThr->bresParamShort.minBitSave = 0;
+ hAdjThr->bresParamShort.maxBitSave = 20;
+ hAdjThr->bresParamShort.clipSpendLow = 20;
+ hAdjThr->bresParamShort.clipSpendHigh = 75;
+ hAdjThr->bresParamShort.minBitSpend = -5;
+ hAdjThr->bresParamShort.maxBitSpend = 50;
/* specific for each element: */
@@ -1020,7 +1020,7 @@ void AdjThrInit(ADJ_THR_STATE *hAdjThr,
atsElem->peMax = extract_l(((120*meanPe) / 100));
/* additional pe offset to correct pe2bits for low bitrates */
- atsElem->peOffset = 0;
+ atsElem->peOffset = 0;
if (chBitrate < 32000) {
atsElem->peOffset = max(50, (100 - extract_l((100 * chBitrate) / 32000)));
}
@@ -1039,24 +1039,24 @@ void AdjThrInit(ADJ_THR_STATE *hAdjThr,
/* minSnr adaptation */
/* maximum reduction of minSnr goes down to minSnr^maxRed */
- msaParam->maxRed = 0x20000000; /* *0.25f /
+ msaParam->maxRed = 0x20000000; /* *0.25f /
/* start adaptation of minSnr for avgEn/sfbEn > startRatio */
- msaParam->startRatio = 0x0ccccccd; /* 10 */
+ msaParam->startRatio = 0x0ccccccd; /* 10 */
/* maximum minSnr reduction to minSnr^maxRed is reached for
avgEn/sfbEn >= maxRatio */
- msaParam->maxRatio = 0x0020c49c; /* 1000 */
+ msaParam->maxRatio = 0x0020c49c; /* 1000 */
/* helper variables to interpolate minSnr reduction for
avgEn/sfbEn between startRatio and maxRatio */
- msaParam->redRatioFac = 0xfb333333; /* -0.75/20 */
+ msaParam->redRatioFac = 0xfb333333; /* -0.75/20 */
+
+ msaParam->redOffs = 0x30000000; /* msaParam->redRatioFac * 10*log10(msaParam->startRatio) */
- msaParam->redOffs = 0x30000000; /* msaParam->redRatioFac * 10*log10(msaParam->startRatio) */
-
/* pe correction */
- atsElem->peLast = 0;
- atsElem->dynBitsLast = 0;
- atsElem->peCorrectionFactor = 100; /* 1.0 */
+ atsElem->peLast = 0;
+ atsElem->dynBitsLast = 0;
+ atsElem->peCorrectionFactor = 100; /* 1.0 */
}
@@ -1069,20 +1069,20 @@ void AdjThrInit(ADJ_THR_STATE *hAdjThr,
*****************************************************************************/
static void calcPeCorrection(Word16 *correctionFac,
const Word16 peAct,
- const Word16 peLast,
- const Word16 bitsLast)
+ const Word16 peLast,
+ const Word16 bitsLast)
{
Word32 peAct100 = 100 * peAct;
Word32 peLast100 = 100 * peLast;
Word16 peBitsLast = bits2pe(bitsLast);
-
+
if ((bitsLast > 0) &&
(peAct100 < (150 * peLast)) && (peAct100 > (70 * peLast)) &&
((120 * peBitsLast) > peLast100 ) && (( 65 * peBitsLast) < peLast100))
{
Word16 newFac = (100 * peLast) / peBitsLast;
/* dead zone */
-
+
if (newFac < 100) {
newFac = min(((110 * newFac) / 100), 100);
newFac = max(newFac, 85);
@@ -1091,13 +1091,13 @@ static void calcPeCorrection(Word16 *correctionFac,
newFac = max(((90 * newFac) / 100), 100);
newFac = min(newFac, 115);
}
-
+
if ((newFac > 100 && *correctionFac < 100) ||
(newFac < 100 && *correctionFac > 100)) {
- *correctionFac = 100;
+ *correctionFac = 100;
}
/* faster adaptation towards 1.0, slower in the other direction */
-
+
if ((*correctionFac < 100 && newFac < *correctionFac) ||
(*correctionFac > 100 && newFac > *correctionFac))
*correctionFac = (85 * *correctionFac + 15 * newFac) / 100;
@@ -1107,7 +1107,7 @@ static void calcPeCorrection(Word16 *correctionFac,
*correctionFac = max(*correctionFac, 85);
}
else {
- *correctionFac = 100;
+ *correctionFac = 100;
}
}
@@ -1123,40 +1123,40 @@ void AdjustThresholds(ADJ_THR_STATE *adjThrState,
PSY_OUT_ELEMENT *psyOutElement,
Word16 *chBitDistribution,
Word16 logSfbEnergy[MAX_CHANNELS][MAX_GROUPED_SFB],
- Word16 sfbNRelevantLines[MAX_CHANNELS][MAX_GROUPED_SFB],
+ Word16 sfbNRelevantLines[MAX_CHANNELS][MAX_GROUPED_SFB],
QC_OUT_ELEMENT *qcOE,
ELEMENT_BITS *elBits,
const Word16 nChannels,
const Word16 maxBitFac)
{
- PE_DATA peData;
+ PE_DATA peData;
Word16 noRedPe, grantedPe, grantedPeCorr;
Word16 curWindowSequence;
Word16 bitFactor;
Word16 avgBits = (elBits->averageBits - (qcOE->staticBitsUsed + qcOE->ancBitsUsed));
- Word16 bitresBits = elBits->bitResLevel;
+ Word16 bitresBits = elBits->bitResLevel;
Word16 maxBitresBits = elBits->maxBits;
Word16 sideInfoBits = (qcOE->staticBitsUsed + qcOE->ancBitsUsed);
Word16 ch;
-
+
prepareSfbPe(&peData, psyOutChannel, logSfbEnergy, sfbNRelevantLines, nChannels, AdjThrStateElement->peOffset);
-
+
/* pe without reduction */
calcSfbPe(&peData, psyOutChannel, nChannels);
- noRedPe = peData.pe;
+ noRedPe = peData.pe;
- curWindowSequence = LONG_WINDOW;
-
+ curWindowSequence = LONG_WINDOW;
+
if (nChannels == 2) {
-
+
if ((psyOutChannel[0].windowSequence == SHORT_WINDOW) ||
(psyOutChannel[1].windowSequence == SHORT_WINDOW)) {
- curWindowSequence = SHORT_WINDOW;
+ curWindowSequence = SHORT_WINDOW;
}
}
else {
- curWindowSequence = psyOutChannel[0].windowSequence;
+ curWindowSequence = psyOutChannel[0].windowSequence;
}
@@ -1170,13 +1170,13 @@ void AdjustThresholds(ADJ_THR_STATE *adjThrState,
grantedPe = ((bitFactor * bits2pe(avgBits)) / 100);
/* correction of pe value */
- calcPeCorrection(&(AdjThrStateElement->peCorrectionFactor),
+ calcPeCorrection(&(AdjThrStateElement->peCorrectionFactor),
min(grantedPe, noRedPe),
- AdjThrStateElement->peLast,
+ AdjThrStateElement->peLast,
AdjThrStateElement->dynBitsLast);
grantedPeCorr = (grantedPe * AdjThrStateElement->peCorrectionFactor) / 100;
-
+
if (grantedPeCorr < noRedPe && noRedPe > peData.offset) {
/* calc threshold necessary for desired pe */
adaptThresholdsToPe(psyOutChannel,
@@ -1192,8 +1192,8 @@ void AdjustThresholds(ADJ_THR_STATE *adjThrState,
/* calculate relative distribution */
for (ch=0; ch<nChannels; ch++) {
Word16 peOffsDiff = peData.pe - peData.offset;
- chBitDistribution[ch] = 200;
-
+ chBitDistribution[ch] = 200;
+
if (peOffsDiff > 0) {
Word32 temp = 1000 - (nChannels * 200);
chBitDistribution[ch] = chBitDistribution[ch] +
@@ -1202,10 +1202,10 @@ void AdjustThresholds(ADJ_THR_STATE *adjThrState,
}
/* store pe */
- qcOE->pe = noRedPe;
+ qcOE->pe = noRedPe;
/* update last pe */
- AdjThrStateElement->peLast = grantedPe;
+ AdjThrStateElement->peLast = grantedPe;
}
/********************************************************************************
@@ -1217,7 +1217,7 @@ void AdjustThresholds(ADJ_THR_STATE *adjThrState,
void AdjThrUpdate(ATS_ELEMENT *AdjThrStateElement,
const Word16 dynBitsUsed)
{
- AdjThrStateElement->dynBitsLast = dynBitsUsed;
+ AdjThrStateElement->dynBitsLast = dynBitsUsed;
}
diff --git a/media/libstagefright/codecs/aacenc/src/asm/ARMV5E/AutoCorrelation_v5.s b/media/libstagefright/codecs/aacenc/src/asm/ARMV5E/AutoCorrelation_v5.s
index e0885f1..e705197 100644
--- a/media/libstagefright/codecs/aacenc/src/asm/ARMV5E/AutoCorrelation_v5.s
+++ b/media/libstagefright/codecs/aacenc/src/asm/ARMV5E/AutoCorrelation_v5.s
@@ -22,34 +22,34 @@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
- .section .text
+ .section .text
.global AutoCorrelation
AutoCorrelation:
stmdb sp!, {r4 - r11, lr}
- sub r13, r13, #20
+ sub r13, r13, #20
- mov r5, r0
- mov r7, r1
- mov r9, r3
- mov r2, r2, lsl #16
- mov r0, #0
- mov r4, r2, asr #16
- mov r8, #0
- cmp r4, #0
- ble L136
-
- cmp r4, #8
- mov r2, #0
- blt L133
+ mov r5, r0
+ mov r7, r1
+ mov r9, r3
+ mov r2, r2, lsl #16
+ mov r0, #0
+ mov r4, r2, asr #16
+ mov r8, #0
+ cmp r4, #0
+ ble L136
- sub r12, r4, #8
-L132:
- ldr r6, [r5, r2]
+ cmp r4, #8
+ mov r2, #0
+ blt L133
+
+ sub r12, r4, #8
+L132:
+ ldr r6, [r5, r2]
add r2, r2, #4
smulbb r3, r6, r6
- ldr r1, [r5, r2]
+ ldr r1, [r5, r2]
smultt r10, r6, r6
mov r3, r3, asr #9
smulbb r6, r1, r1
@@ -72,95 +72,95 @@ L132:
add r8, r8, #6
qadd r0, r0, r6
- cmp r8, r12
- blt L132
-L133:
- ldrsh r6, [r5, r2]
- mul r10, r6, r6
- add r2, r2, #2
- mov r1, r10, asr #9
+ cmp r8, r12
+ blt L132
+L133:
+ ldrsh r6, [r5, r2]
+ mul r10, r6, r6
+ add r2, r2, #2
+ mov r1, r10, asr #9
qadd r0, r0, r1
-L134:
- add r8, r8, #1
- cmp r8, r4
- blt L133
-L135:
-L136:
- str r0, [r7, #0]
- cmp r0, #0
- beq L1320
-L137:
- mov r2, r9, lsl #16
- mov r8, #1
- mov r2, r2, asr #16
- cmp r2, #1
- ble L1319
-L138:
-L139:
- sub r4, r4, #1
- mov r14, #0
- mov r3, #0
- cmp r4, #0
- ble L1317
-L1310:
- cmp r4, #6
- addlt r6, r5, r8, lsl #1
- blt L1314
-L1311:
- add r6, r5, r8, lsl #1
- sub r12, r4, #6
- str r8, [r13, #8]
- str r7, [r13, #4]
-L1312:
- mov r1, r3, lsl #1
- ldrsh r7, [r6, r1]
- ldrsh r10, [r5, r1]
- add r8, r1, r6
- add r9, r5, r1
+L134:
+ add r8, r8, #1
+ cmp r8, r4
+ blt L133
+L135:
+L136:
+ str r0, [r7, #0]
+ cmp r0, #0
+ beq L1320
+L137:
+ mov r2, r9, lsl #16
+ mov r8, #1
+ mov r2, r2, asr #16
+ cmp r2, #1
+ ble L1319
+L138:
+L139:
+ sub r4, r4, #1
+ mov r14, #0
+ mov r3, #0
+ cmp r4, #0
+ ble L1317
+L1310:
+ cmp r4, #6
+ addlt r6, r5, r8, lsl #1
+ blt L1314
+L1311:
+ add r6, r5, r8, lsl #1
+ sub r12, r4, #6
+ str r8, [r13, #8]
+ str r7, [r13, #4]
+L1312:
+ mov r1, r3, lsl #1
+ ldrsh r7, [r6, r1]
+ ldrsh r10, [r5, r1]
+ add r8, r1, r6
+ add r9, r5, r1
mul r7, r10, r7
- ldrsh r1, [r8, #2]
- ldrsh r10, [r8, #4]
- add r7, r14, r7, asr #9
- ldrsh r0, [r9, #2]
- ldrsh r11, [r9, #4]
- mul r1, r0, r1
- ldrsh r14, [r8, #6]
- mul r10, r11, r10
- add r7, r7, r1, asr #9
- ldrsh r8, [r8, #8]
+ ldrsh r1, [r8, #2]
+ ldrsh r10, [r8, #4]
+ add r7, r14, r7, asr #9
+ ldrsh r0, [r9, #2]
+ ldrsh r11, [r9, #4]
+ mul r1, r0, r1
+ ldrsh r14, [r8, #6]
+ mul r10, r11, r10
+ add r7, r7, r1, asr #9
+ ldrsh r8, [r8, #8]
add r3, r3, #5
- ldrsh r11, [r9, #6]
- ldrsh r1, [r9, #8]
- mul r14, r11, r14
- add r7, r7, r10, asr #9
- mul r1, r1, r8
- add r14, r7, r14, asr #9
- cmp r3, r12
- add r14, r14, r1, asr #9
- ble L1312
-L1313:
- ldr r8, [r13, #8]
- ldr r7, [r13, #4]
-L1314:
-L1315:
- mov r12, r3, lsl #1
- ldrsh r9, [r6, r12]
- ldrsh r12, [r5, r12]
- add r3, r3, #1
- cmp r3, r4
- mul r12, r12, r9
- add r14, r14, r12, asr #9
- blt L1315
-L1316:
-L1317:
- str r14, [r7, +r8, lsl #2]
- add r8, r8, #1
- cmp r8, r2
- blt L139
-
+ ldrsh r11, [r9, #6]
+ ldrsh r1, [r9, #8]
+ mul r14, r11, r14
+ add r7, r7, r10, asr #9
+ mul r1, r1, r8
+ add r14, r7, r14, asr #9
+ cmp r3, r12
+ add r14, r14, r1, asr #9
+ ble L1312
+L1313:
+ ldr r8, [r13, #8]
+ ldr r7, [r13, #4]
+L1314:
+L1315:
+ mov r12, r3, lsl #1
+ ldrsh r9, [r6, r12]
+ ldrsh r12, [r5, r12]
+ add r3, r3, #1
+ cmp r3, r4
+ mul r12, r12, r9
+ add r14, r14, r12, asr #9
+ blt L1315
+L1316:
+L1317:
+ str r14, [r7, +r8, lsl #2]
+ add r8, r8, #1
+ cmp r8, r2
+ blt L139
+
L1319:
L1320:
- add r13, r13, #20
+ add r13, r13, #20
ldmia sp!, {r4 - r11, pc}
@ENDP @ |AutoCorrelation|
diff --git a/media/libstagefright/codecs/aacenc/src/asm/ARMV5E/CalcWindowEnergy_v5.s b/media/libstagefright/codecs/aacenc/src/asm/ARMV5E/CalcWindowEnergy_v5.s
index 75b916c..b30e8cb 100644
--- a/media/libstagefright/codecs/aacenc/src/asm/ARMV5E/CalcWindowEnergy_v5.s
+++ b/media/libstagefright/codecs/aacenc/src/asm/ARMV5E/CalcWindowEnergy_v5.s
@@ -22,91 +22,91 @@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
.section .text
-
+
.global CalcWindowEnergy
CalcWindowEnergy:
stmdb sp!, {r4 - r11, lr}
- sub r13, r13, #20
+ sub r13, r13, #20
- mov r3, r3, lsl #16
+ mov r3, r3, lsl #16
ldr r10, [r0, #168] @ states0 = blockSwitchingControl->iirStates[0];
- mov r3, r3, asr #16
+ mov r3, r3, asr #16
ldr r11, [r0, #172] @ states1 = blockSwitchingControl->iirStates[1];
mov r2, r2, lsl #16
- ldr r12, hiPassCoeff @ Coeff0 = hiPassCoeff[0];
+ ldr r12, hiPassCoeff @ Coeff0 = hiPassCoeff[0];
mov r2, r2, asr #16
ldr r14, hiPassCoeff + 4 @ Coeff1 = hiPassCoeff[1];
-
+
mov r8, #0 @ w=0
mov r5, #0 @ wOffset = 0;
-
+
BLOCK_BEGIN:
- mov r6, #0 @ accuUE = 0;
- mov r7, #0 @ accuFE = 0;
+ mov r6, #0 @ accuUE = 0;
+ mov r7, #0 @ accuFE = 0;
mov r4, #0 @ i=0
-
- str r8, [r13, #4]
- str r0, [r13, #8]
+
+ str r8, [r13, #4]
+ str r0, [r13, #8]
str r3, [r13, #12]
-
-ENERGY_BEG:
- mov r9, r5, lsl #1
+
+ENERGY_BEG:
+ mov r9, r5, lsl #1
ldrsh r9, [r1, r9] @ tempUnfiltered = timeSignal[tidx];
add r5, r5, r2 @ tidx = tidx + chIncrement;
-
- smulwb r3, r14, r9 @ accu1 = L_mpy_ls(Coeff1, tempUnfiltered);
+
+ smulwb r3, r14, r9 @ accu1 = L_mpy_ls(Coeff1, tempUnfiltered);
smull r0, r8, r12, r11 @ accu2 = fixmul( Coeff0, states1 );
-
+
mov r3, r3, lsl #1
mov r8, r8, lsl #1
- sub r0, r3, r10 @ accu3 = accu1 - states0;
+ sub r0, r3, r10 @ accu3 = accu1 - states0;
sub r8, r0, r8 @ out = accu3 - accu2;
mov r10, r3 @ states0 = accu1;
- mov r11, r8 @ states1 = out;
-
- mul r3, r9, r9
+ mov r11, r8 @ states1 = out;
+
+ mul r3, r9, r9
mov r8, r8, asr #16
-
+
add r4, r4, #1
add r6, r6, r3, asr #7
- mul r9, r8, r8
+ mul r9, r8, r8
ldr r3, [r13, #12]
add r7, r7, r9, asr #7
-
- cmp r4, r3
- blt ENERGY_BEG
-
+
+ cmp r4, r3
+ blt ENERGY_BEG
+
ldr r0, [r13, #8]
ldr r8, [r13, #4]
-
+
ENERGY_END:
add r4, r0, r8, lsl #2
- str r6, [r4, #72]
- add r8, r8, #1
- str r7, [r4, #136]
+ str r6, [r4, #72]
+ add r8, r8, #1
+ str r7, [r4, #136]
cmp r8, #8
- blt BLOCK_BEGIN
+ blt BLOCK_BEGIN
BLOCK_END:
- str r10, [r0, #168]
- str r11, [r0, #172]
- mov r0, #1
-
- add r13, r13, #20
- ldmia sp!, {r4 - r11, pc}
+ str r10, [r0, #168]
+ str r11, [r0, #172]
+ mov r0, #1
+
+ add r13, r13, #20
+ ldmia sp!, {r4 - r11, pc}
hiPassCoeff:
.word 0xbec8b439
.word 0x609d4952
-
+
@ENDP
.end
diff --git a/media/libstagefright/codecs/aacenc/src/asm/ARMV5E/PrePostMDCT_v5.s b/media/libstagefright/codecs/aacenc/src/asm/ARMV5E/PrePostMDCT_v5.s
index 38fe092..103cc91 100644
--- a/media/libstagefright/codecs/aacenc/src/asm/ARMV5E/PrePostMDCT_v5.s
+++ b/media/libstagefright/codecs/aacenc/src/asm/ARMV5E/PrePostMDCT_v5.s
@@ -26,46 +26,46 @@
PreMDCT:
stmdb sp!, {r4 - r11, lr}
-
+
add r9, r0, r1, lsl #2
sub r3, r9, #8
movs r1, r1, asr #2
beq PreMDCT_END
-
+
PreMDCT_LOOP:
ldr r8, [r2], #4
ldr r9, [r2], #4
-
+
ldrd r4, [r0]
ldrd r6, [r3]
-
+
smull r14, r11, r4, r8 @ MULHIGH(tr1, cosa)
smull r10, r12, r7, r8 @ MULHIGH(ti1, cosa)
-
+
smull r14, r8, r7, r9 @ MULHIGH(ti1, sina)
- smull r7, r10, r4, r9 @ MULHIGH(tr1, sina)
-
- add r11, r11, r8 @ MULHIGH(cosa, tr1) + MULHIGH(sina, ti1)@
+ smull r7, r10, r4, r9 @ MULHIGH(tr1, sina)
+
+ add r11, r11, r8 @ MULHIGH(cosa, tr1) + MULHIGH(sina, ti1)@
sub r7, r12, r10 @ MULHIGH(ti1, cosa) - MULHIGH(tr1, sina)
-
+
ldr r8, [r2], #4
ldr r9, [r2], #4
-
+
smull r14, r4, r6, r8 @ MULHIGH(tr2, cosa)
smull r10, r12, r5, r8 @ MULHIGH(ti2, cosa)
-
+
smull r14, r8, r5, r9 @ MULHIGH(ti2, sina)
smull r5, r10, r6, r9 @ MULHIGH(tr2, sina)
-
+
add r8, r8, r4
sub r9, r12, r10
-
- mov r6, r11
- strd r6, [r0]
+ mov r6, r11
+
+ strd r6, [r0]
strd r8, [r3]
-
+
subs r1, r1, #1
sub r3, r3, #8
add r0, r0, #8
@@ -74,52 +74,52 @@ PreMDCT_LOOP:
PreMDCT_END:
ldmia sp!, {r4 - r11, pc}
@ENDP @ |PreMDCT|
-
+
.section .text
.global PostMDCT
PostMDCT:
stmdb sp!, {r4 - r11, lr}
-
+
add r9, r0, r1, lsl #2
sub r3, r9, #8
movs r1, r1, asr #2
beq PostMDCT_END
-
+
PostMDCT_LOOP:
- ldr r8, [r2], #4
+ ldr r8, [r2], #4
ldr r9, [r2], #4
-
+
ldrd r4, [r0]
ldrd r6, [r3]
-
+
smull r14, r11, r4, r8 @ MULHIGH(tr1, cosa)
smull r10, r12, r5, r8 @ MULHIGH(ti1, cosa)
-
+
smull r14, r8, r5, r9 @ MULHIGH(ti1, sina)
- smull r5, r10, r4, r9 @ MULHIGH(tr1, sina)
-
- add r4, r11, r8 @ MULHIGH(cosa, tr1) + MULHIGH(sina, ti1)@
+ smull r5, r10, r4, r9 @ MULHIGH(tr1, sina)
+
+ add r4, r11, r8 @ MULHIGH(cosa, tr1) + MULHIGH(sina, ti1)@
sub r11, r10, r12 @ MULHIGH(ti1, cosa) - MULHIGH(tr1, sina)@
-
+
ldr r8, [r2], #4 @
ldr r9, [r2], #4
-
+
smull r14, r5, r6, r8 @ MULHIGH(tr2, cosa)
smull r10, r12, r7, r8 @ MULHIGH(ti2, cosa)
-
+
smull r14, r8, r7, r9 @ MULHIGH(ti2, sina)
smull r7, r10, r6, r9 @ MULHIGH(tr2, sina)
-
+
add r6, r8, r5 @ MULHIGH(cosb, tr2) + MULHIGH(sinb, ti2)@
sub r5, r10, r12 @ MULHIGH(sinb, tr2) - MULHIGH(cosb, ti2)@
-
- mov r7, r11
+
+ mov r7, r11
strd r4, [r0]
strd r6, [r3]
-
+
subs r1, r1, #1
sub r3, r3, #8
add r0, r0, #8
diff --git a/media/libstagefright/codecs/aacenc/src/asm/ARMV5E/R4R8First_v5.s b/media/libstagefright/codecs/aacenc/src/asm/ARMV5E/R4R8First_v5.s
index b30881a..72cb9a3 100644
--- a/media/libstagefright/codecs/aacenc/src/asm/ARMV5E/R4R8First_v5.s
+++ b/media/libstagefright/codecs/aacenc/src/asm/ARMV5E/R4R8First_v5.s
@@ -26,46 +26,46 @@
Radix4First:
stmdb sp!, {r4 - r11, lr}
-
+
movs r10, r1
mov r11, r0
beq Radix4First_END
-
+
Radix4First_LOOP:
ldrd r0, [r11]
ldrd r2, [r11, #8]
ldrd r4, [r11, #16]
ldrd r6, [r11, #24]
-
+
add r8, r0, r2
add r9, r1, r3
-
+
sub r0, r0, r2
sub r1, r1, r3
-
+
add r2, r4, r6
add r3, r5, r7
-
+
sub r4, r4, r6
sub r5, r5, r7
-
+
add r6, r8, r2
add r7, r9, r3
-
+
sub r8, r8, r2
sub r9, r9, r3
-
+
add r2, r0, r5
sub r3, r1, r4
-
+
sub r0, r0, r5
add r1, r1, r4
-
+
strd r6, [r11]
strd r2, [r11, #8]
strd r8, [r11, #16]
strd r0, [r11, #24]
-
+
subs r10, r10, #1
add r11, r11, #32
bne Radix4First_LOOP
@@ -73,180 +73,180 @@ Radix4First_LOOP:
Radix4First_END:
ldmia sp!, {r4 - r11, pc}
@ENDP @ |Radix4First|
-
+
.section .text
.global Radix8First
Radix8First:
stmdb sp!, {r4 - r11, lr}
sub sp, sp, #0x24
-
+
mov r12, r1
mov r14, r0
cmp r12, #0
beq Radix8First_END
-
+
Radix8First_LOOP:
- ldrd r0, [r14]
+ ldrd r0, [r14]
ldrd r2, [r14, #8]
ldrd r4, [r14, #16]
ldrd r6, [r14, #24]
-
+
add r8, r0, r2 @ r0 = buf[0] + buf[2]@
add r9, r1, r3 @ i0 = buf[1] + buf[3]@
-
+
sub r0, r0, r2 @ r1 = buf[0] - buf[2]@
sub r1, r1, r3 @ i1 = buf[1] - buf[3]@
-
+
add r2, r4, r6 @ r2 = buf[4] + buf[6]@
add r3, r5, r7 @ i2 = buf[5] + buf[7]@
-
+
sub r4, r4, r6 @ r3 = buf[4] - buf[6]@
sub r5, r5, r7 @ i3 = buf[5] - buf[7]@
-
+
add r6, r8, r2 @ r4 = (r0 + r2) >> 1@
add r7, r9, r3 @ i4 = (i0 + i2) >> 1@
-
+
sub r8, r8, r2 @ r5 = (r0 - r2) >> 1@
sub r9, r9, r3 @ i5 = (i0 - i2) >> 1@
-
+
sub r2, r0, r5 @ r6 = (r1 - i3) >> 1@
add r3, r1, r4 @ i6 = (i1 + r3) >> 1@
-
+
add r0, r0, r5 @ r7 = (r1 + i3) >> 1@
sub r1, r1, r4 @ i7 = (i1 - r3) >> 1@
-
+
mov r6, r6, asr #1 @
mov r7, r7, asr #1 @
-
+
mov r8, r8, asr #1
mov r9, r9, asr #1
-
+
mov r2, r2, asr #1
mov r3, r3, asr #1
-
+
mov r0, r0, asr #1
- mov r1, r1, asr #1
-
+ mov r1, r1, asr #1
+
str r6, [sp]
str r7, [sp, #4]
-
+
str r8, [sp, #8]
str r9, [sp, #12]
-
+
str r2, [sp, #16]
- str r3, [sp, #20]
-
+ str r3, [sp, #20]
+
str r0, [sp, #24]
- str r1, [sp, #28]
-
- ldrd r2, [r14, #32]
+ str r1, [sp, #28]
+
+ ldrd r2, [r14, #32]
ldrd r4, [r14, #40]
ldrd r6, [r14, #48]
ldrd r8, [r14, #56]
-
+
add r0, r2, r4 @ r0 = buf[ 8] + buf[10]@
add r1, r3, r5 @ i0 = buf[ 9] + buf[11]@
-
+
sub r2, r2, r4 @ r1 = buf[ 8] - buf[10]@
sub r3, r3, r5 @ i1 = buf[ 9] - buf[11]@
-
+
add r4, r6, r8 @ r2 = buf[12] + buf[14]@
add r5, r7, r9 @ i2 = buf[13] + buf[15]@
-
+
sub r6, r6, r8 @ r3 = buf[12] - buf[14]@
sub r7, r7, r9 @ i3 = buf[13] - buf[15]@
-
+
add r8, r0, r4 @ t0 = (r0 + r2)
add r9, r1, r5 @ t1 = (i0 + i2)
-
+
sub r0, r0, r4 @ t2 = (r0 - r2)
sub r1, r1, r5 @ t3 = (i0 - i2)
-
+
mov r8, r8, asr #1
ldr r4, [sp]
-
+
mov r9, r9, asr #1
ldr r5, [sp, #4]
-
- mov r0, r0, asr #1
+
+ mov r0, r0, asr #1
mov r1, r1, asr #1
-
+
add r10, r4, r8 @ buf[ 0] = r4 + t0@
add r11, r5, r9 @ buf[ 1] = i4 + t1@
-
+
sub r4, r4, r8 @ buf[ 8] = r4 - t0@
sub r5, r5, r9 @ buf[ 9] = i4 - t1@
-
+
strd r10, [r14]
strd r4, [r14, #32]
-
+
ldr r10, [sp, #8]
ldr r11, [sp, #12]
-
+
add r4, r10, r1 @ buf[ 4] = r5 + t3@
sub r5, r11, r0 @ buf[ 5] = i5 - t2@
-
+
sub r10, r10, r1 @ buf[12] = r5 - t3@
add r11, r11, r0 @ buf[13] = i5 + t2@
-
+
strd r4, [r14, #16]
strd r10, [r14, #48]
-
+
sub r0, r2, r7 @ r0 = r1 - i3@
add r1, r3, r6 @ i0 = i1 + r3@
-
+
ldr r11, DATATab
-
+
add r2, r2, r7 @ r2 = r1 + i3@
sub r3, r3, r6 @ i2 = i1 - r3@
-
+
sub r4, r0, r1 @ r0 - i0
add r5, r0, r1 @ r0 + i0
-
+
sub r0, r2, r3 @ r2 - i2
add r1, r2, r3 @ r2 + i2
-
- smull r8, r6, r4, r11
- smull r9, r7, r5, r11
-
+
+ smull r8, r6, r4, r11
+ smull r9, r7, r5, r11
+
ldr r2, [sp, #16]
ldr r3, [sp, #20]
-
- smull r8, r4, r0, r11
- smull r9, r5, r1, r11
-
+
+ smull r8, r4, r0, r11
+ smull r9, r5, r1, r11
+
ldr r10, [sp, #24]
ldr r11, [sp, #28]
-
+
sub r8, r2, r6
sub r9, r3, r7
-
+
add r2, r2, r6
add r3, r3, r7
-
+
add r6, r10, r5
sub r7, r11, r4
-
+
sub r0, r10, r5
add r1, r11, r4
-
+
strd r6, [r14, #8]
strd r8, [r14, #24]
strd r0, [r14, #40]
strd r2, [r14, #56]
-
+
subs r12, r12, #1
add r14, r14, #64
-
+
bne Radix8First_LOOP
-
+
Radix8First_END:
add sp, sp, #0x24
ldmia sp!, {r4 - r11, pc}
-
+
DATATab:
.word 0x5a82799a
-
+
@ENDP @ |Radix8First|
.end \ No newline at end of file
diff --git a/media/libstagefright/codecs/aacenc/src/asm/ARMV5E/Radix4FFT_v5.s b/media/libstagefright/codecs/aacenc/src/asm/ARMV5E/Radix4FFT_v5.s
index bc069b4..e81c82e 100644
--- a/media/libstagefright/codecs/aacenc/src/asm/ARMV5E/Radix4FFT_v5.s
+++ b/media/libstagefright/codecs/aacenc/src/asm/ARMV5E/Radix4FFT_v5.s
@@ -25,145 +25,145 @@
Radix4FFT:
stmdb sp!, {r4 - r11, lr}
- sub sp, sp, #32
+ sub sp, sp, #32
mov r1, r1, asr #2
- cmp r1, #0
- beq Radix4FFT_END
-
-Radix4FFT_LOOP1:
- mov r14, r0 @ xptr = buf@
+ cmp r1, #0
+ beq Radix4FFT_END
+
+Radix4FFT_LOOP1:
+ mov r14, r0 @ xptr = buf@
mov r10, r1 @ i = num@
mov r9, r2, lsl #3 @ step = 2*bgn@
- cmp r10, #0
- str r0, [sp]
- str r1, [sp, #4]
+ cmp r10, #0
+ str r0, [sp]
+ str r1, [sp, #4]
str r2, [sp, #8]
- str r3, [sp, #12]
- beq Radix4FFT_LOOP1_END
-
-Radix4FFT_LOOP2:
+ str r3, [sp, #12]
+ beq Radix4FFT_LOOP1_END
+
+Radix4FFT_LOOP2:
mov r12, r3 @ csptr = twidTab@
mov r11, r2 @ j = bgn
- cmp r11, #0
+ cmp r11, #0
str r10, [sp, #16]
- beq Radix4FFT_LOOP2_END
-
-Radix4FFT_LOOP3:
- str r11, [sp, #20]
-
+ beq Radix4FFT_LOOP2_END
+
+Radix4FFT_LOOP3:
+ str r11, [sp, #20]
+
ldrd r0, [r14, #0] @ r0 = xptr[0]@ r1 = xptr[1]@
add r14, r14, r9 @ xptr += step@
-
- ldrd r10, [r14, #0] @ r2 = xptr[0]@ r3 = xptr[1]@
+
+ ldrd r10, [r14, #0] @ r2 = xptr[0]@ r3 = xptr[1]@
ldr r8, [r12], #4 @ cosxsinx = csptr[0]@
-
+
smulwt r4, r10, r8 @ L_mpy_wx(cosx, t0)
smulwt r3, r11, r8 @ L_mpy_wx(cosx, t1)
-
+
smlawb r2, r11, r8, r4 @ r2 = L_mpy_wx(cosx, t0) + L_mpy_wx(sinx, t1)@
smulwb r5, r10, r8 @ L_mpy_wx(sinx, t0)
-
+
mov r10, r0, asr #2 @ t0 = r0 >> 2@
mov r11, r1, asr #2 @ t1 = r1 >> 2@
-
+
sub r3, r3, r5 @ r3 = L_mpy_wx(cosx, t1) - L_mpy_wx(sinx, t0)@
add r14, r14, r9 @ xptr += step@
-
+
sub r0, r10, r2 @ r0 = t0 - r2@
sub r1, r11, r3 @ r1 = t1 - r3@
-
+
add r2, r10, r2 @ r2 = t0 + r2@
add r3, r11, r3 @ r3 = t1 + r3@
-
+
str r2, [sp, #24]
str r3, [sp, #28]
-
+
ldrd r10, [r14, #0] @ r4 = xptr[0]@ r5 = xptr[1]@
ldr r8, [r12], #4 @ cosxsinx = csptr[1]@
-
+
smulwt r6, r10, r8 @ L_mpy_wx(cosx, t0)
smulwt r5, r11, r8 @ L_mpy_wx(cosx, t1)
-
+
smlawb r4, r11, r8, r6 @ r4 = L_mpy_wx(cosx, t0) + L_mpy_wx(sinx, t1)@
smulwb r7, r10, r8 @ L_mpy_wx(sinx, t0)
-
+
add r14, r14, r9 @ xptr += step@
sub r5, r5, r7 @ r5 = L_mpy_wx(cosx, t1) - L_mpy_wx(sinx, t0)@
-
+
ldrd r10, [r14] @ r6 = xptr[0]@ r7 = xptr[1]@
ldr r8, [r12], #4 @ cosxsinx = csptr[1]@
-
+
smulwt r2, r10, r8 @ L_mpy_wx(cosx, t0)
smulwt r7, r11, r8 @ L_mpy_wx(cosx, t1)
-
+
smlawb r6, r11, r8, r2 @ r4 = L_mpy_wx(cosx, t0) + L_mpy_wx(sinx, t1)@
smulwb r3, r10, r8 @ L_mpy_wx(sinx, t0)
-
+
mov r10, r4 @ t0 = r4@
- mov r11, r5 @ t1 = r5@
-
+ mov r11, r5 @ t1 = r5@
+
sub r7, r7, r3 @ r5 = L_mpy_wx(cosx, t1) - L_mpy_wx(sinx, t0)@
-
- add r4, r10, r6 @ r4 = t0 + r6@
+
+ add r4, r10, r6 @ r4 = t0 + r6@
sub r5, r7, r11 @ r5 = r7 - t1@
-
+
sub r6, r10, r6 @ r6 = t0 - r6@
add r7, r7, r11 @ r7 = r7 + t1@
-
+
ldr r2, [sp, #24]
ldr r3, [sp, #28]
-
+
add r10, r0, r5 @ xptr[0] = r0 + r5@
add r11, r1, r6 @ xptr[0] = r1 + r6
-
- strd r10, [r14]
+
+ strd r10, [r14]
sub r14, r14, r9 @ xptr -= step@
-
+
sub r10, r2, r4 @ xptr[0] = r2 - r4@
sub r11, r3, r7 @ xptr[1] = r3 - r7@
-
- strd r10, [r14]
+
+ strd r10, [r14]
sub r14, r14, r9 @ xptr -= step@
-
+
sub r10, r0, r5 @ xptr[0] = r0 - r5@
sub r11, r1, r6 @ xptr[0] = r1 - r6
-
- strd r10, [r14]
+
+ strd r10, [r14]
sub r14, r14, r9 @ xptr -= step@
-
+
add r10, r2, r4 @ xptr[0] = r2 - r4@
add r11, r3, r7 @ xptr[1] = r3 - r7@
-
- strd r10, [r14]
+
+ strd r10, [r14]
add r14, r14, #8 @ xptr += 2@
-
+
ldr r11, [sp, #20]
subs r11, r11, #1
- bne Radix4FFT_LOOP3
-
-Radix4FFT_LOOP2_END:
+ bne Radix4FFT_LOOP3
+
+Radix4FFT_LOOP2_END:
ldr r10, [sp, #16]
ldr r3, [sp, #12]
ldr r2, [sp, #8]
- rsb r8, r9, r9, lsl #2
+ rsb r8, r9, r9, lsl #2
sub r10, r10, #1
- add r14, r14, r8
- cmp r10, #0
- bhi Radix4FFT_LOOP2
-
-Radix4FFT_LOOP1_END:
- ldr r0, [sp]
+ add r14, r14, r8
+ cmp r10, #0
+ bhi Radix4FFT_LOOP2
+
+Radix4FFT_LOOP1_END:
+ ldr r0, [sp]
ldr r1, [sp, #4]
add r3, r3, r8, asr #1
- mov r2, r2, lsl #2
- movs r1, r1, asr #2
- bne Radix4FFT_LOOP1
-
-Radix4FFT_END:
- add sp, sp, #32
+ mov r2, r2, lsl #2
+ movs r1, r1, asr #2
+ bne Radix4FFT_LOOP1
+
+Radix4FFT_END:
+ add sp, sp, #32
ldmia sp!, {r4 - r11, pc}
-
+
@ENDP @ |Radix4FFT|
.end \ No newline at end of file
diff --git a/media/libstagefright/codecs/aacenc/src/asm/ARMV5E/band_nrg_v5.s b/media/libstagefright/codecs/aacenc/src/asm/ARMV5E/band_nrg_v5.s
index 3b88810..4789f6d 100644
--- a/media/libstagefright/codecs/aacenc/src/asm/ARMV5E/band_nrg_v5.s
+++ b/media/libstagefright/codecs/aacenc/src/asm/ARMV5E/band_nrg_v5.s
@@ -26,31 +26,31 @@
.global CalcBandEnergy
CalcBandEnergy:
- stmdb sp!, {r4 - r11, lr}
-
- mov r2, r2, lsl #16
+ stmdb sp!, {r4 - r11, lr}
+
+ mov r2, r2, lsl #16
ldr r12, [r13, #36]
mov r9, #0
- mov r5, r2, asr #16
- mov r4, #0
- cmp r5, #0
- ble L212
+ mov r5, r2, asr #16
+ mov r4, #0
+ cmp r5, #0
+ ble L212
L22:
- mov r2, r4, lsl #1
- ldrsh r10, [r1, r2]
- add r11, r1, r2
- ldrsh r2, [r11, #2]
- mov r14, #0
- cmp r10, r2
- bge L28
-
+ mov r2, r4, lsl #1
+ ldrsh r10, [r1, r2]
+ add r11, r1, r2
+ ldrsh r2, [r11, #2]
+ mov r14, #0
+ cmp r10, r2
+ bge L28
+
L23:
- ldr r11, [r0, +r10, lsl #2]
- add r10, r10, #1
- ldr r6, [r0, +r10, lsl #2]
+ ldr r11, [r0, +r10, lsl #2]
+ add r10, r10, #1
+ ldr r6, [r0, +r10, lsl #2]
smull r11, r7, r11, r11
- add r10, r10, #1
+ add r10, r10, #1
smull r6, r8, r6, r6
ldr r11, [r0, +r10, lsl #2]
qadd r14, r14, r7
@@ -59,71 +59,71 @@ L23:
ldr r6, [r0, +r10, lsl #2]
qadd r14, r14, r8
smull r6, r8, r6, r6
- add r10, r10, #1
+ add r10, r10, #1
qadd r14, r14, r7
cmp r10, r2
qadd r14, r14, r8
- blt L23
+ blt L23
-L28:
+L28:
qadd r14, r14, r14
str r14, [r3, +r4, lsl #2]
- add r4, r4, #1
+ add r4, r4, #1
qadd r9, r9, r14
- cmp r4, r5
+ cmp r4, r5
- blt L22
+ blt L22
-L212:
- str r9, [r12, #0]
+L212:
+ str r9, [r12, #0]
ldmia sp!, {r4 - r11, pc}
-
+
@ENDP ; |CalcBandEnergy|
-
+
.global CalcBandEnergyMS
CalcBandEnergyMS:
stmdb sp!, {r4 - r11, lr}
sub r13, r13, #24
-
- mov r12, #0
- mov r3, r3, lsl #16
- mov r14, #0
- mov r3, r3, asr #16
- cmp r3, #0
- mov r4, #0
- ble L315
-
-L32:
+
+ mov r12, #0
+ mov r3, r3, lsl #16
+ mov r14, #0
+ mov r3, r3, asr #16
+ cmp r3, #0
+ mov r4, #0
+ ble L315
+
+L32:
mov r5, r4, lsl #1
mov r6, #0
ldrsh r10, [r2, r5]
add r5, r2, r5
mov r7, #0
- ldrsh r11, [r5, #2]
- cmp r10, r11
- bge L39
+ ldrsh r11, [r5, #2]
+ cmp r10, r11
+ bge L39
str r3, [r13, #4]
str r4, [r13, #8]
str r12, [r13, #12]
str r14, [r13, #16]
-L33:
- ldr r8, [r0, +r10, lsl #2]
+L33:
+ ldr r8, [r0, +r10, lsl #2]
ldr r9, [r1, +r10, lsl #2]
mov r8, r8, asr #1
add r10, r10, #1
mov r9, r9, asr #1
- ldr r12, [r0, +r10, lsl #2]
- add r5, r8, r9
+ ldr r12, [r0, +r10, lsl #2]
+ add r5, r8, r9
ldr r14, [r1, +r10, lsl #2]
sub r8, r8, r9
- smull r5, r3, r5, r5
+ smull r5, r3, r5, r5
mov r12, r12, asr #1
- smull r8, r4, r8, r8
+ smull r8, r4, r8, r8
mov r14, r14, asr #1
qadd r6, r6, r3
@@ -131,27 +131,27 @@ L33:
qadd r7, r7, r4
sub r8, r12, r14
- smull r5, r3, r5, r5
+ smull r5, r3, r5, r5
add r10, r10, #1
- smull r8, r4, r8, r8
-
+ smull r8, r4, r8, r8
+
qadd r6, r6, r3
qadd r7, r7, r4
- ldr r8, [r0, +r10, lsl #2]
+ ldr r8, [r0, +r10, lsl #2]
ldr r9, [r1, +r10, lsl #2]
mov r8, r8, asr #1
add r10, r10, #1
mov r9, r9, asr #1
- ldr r12, [r0, +r10, lsl #2]
- add r5, r8, r9
+ ldr r12, [r0, +r10, lsl #2]
+ add r5, r8, r9
ldr r14, [r1, +r10, lsl #2]
sub r8, r8, r9
- smull r5, r3, r5, r5
+ smull r5, r3, r5, r5
mov r12, r12, asr #1
- smull r8, r4, r8, r8
+ smull r8, r4, r8, r8
mov r14, r14, asr #1
qadd r6, r6, r3
@@ -159,37 +159,37 @@ L33:
qadd r7, r7, r4
sub r8, r12, r14
- smull r5, r3, r5, r5
+ smull r5, r3, r5, r5
add r10, r10, #1
- smull r8, r4, r8, r8
-
+ smull r8, r4, r8, r8
+
qadd r6, r6, r3
qadd r7, r7, r4
cmp r10, r11
-
+
blt L33
ldr r3, [r13, #4]
- ldr r4, [r13, #8]
+ ldr r4, [r13, #8]
ldr r12, [r13, #12]
ldr r14, [r13, #16]
-L39:
+L39:
qadd r6, r6, r6
- qadd r7, r7, r7
-
+ qadd r7, r7, r7
+
ldr r8, [r13, #60]
ldr r9, [r13, #68]
qadd r12, r12, r6
qadd r14, r14, r7
-
- str r6, [r8, +r4, lsl #2]
- str r7, [r9, +r4, lsl #2]
-
+
+ str r6, [r8, +r4, lsl #2]
+ str r7, [r9, +r4, lsl #2]
+
add r4, r4, #1
cmp r4, r3
- blt L32
+ blt L32
L315:
ldr r8, [r13, #64]
diff --git a/media/libstagefright/codecs/aacenc/src/asm/ARMV7/PrePostMDCT_v7.s b/media/libstagefright/codecs/aacenc/src/asm/ARMV7/PrePostMDCT_v7.s
index a04c105..64d767a 100644
--- a/media/libstagefright/codecs/aacenc/src/asm/ARMV7/PrePostMDCT_v7.s
+++ b/media/libstagefright/codecs/aacenc/src/asm/ARMV7/PrePostMDCT_v7.s
@@ -26,53 +26,53 @@
PreMDCT:
stmdb sp!, {r4 - r11, lr}
-
+
add r9, r0, r1, lsl #2
sub r3, r9, #32
movs r1, r1, asr #2
- beq PreMDCT_END
-
+ beq PreMDCT_END
+
PreMDCT_LOOP:
VLD4.I32 {d0, d2, d4, d6}, [r2]! @ cosa = *csptr++@ sina = *csptr++@
VLD4.I32 {d1, d3, d5, d7}, [r2]! @ cosb = *csptr++@ sinb = *csptr++@
VLD2.I32 {d8, d9, d10, d11}, [r0] @ tr1 = *(buf0 + 0)@ ti2 = *(buf0 + 1)@
VLD2.I32 {d13, d15}, [r3]! @ tr2 = *(buf1 - 1)@ ti1 = *(buf1 + 0)@
VLD2.I32 {d12, d14}, [r3]! @ tr2 = *(buf1 - 1)@ ti1 = *(buf1 + 0)@
-
- VREV64.32 Q8, Q7
+
+ VREV64.32 Q8, Q7
VREV64.32 Q9, Q6
-
+
VQDMULH.S32 Q10, Q0, Q4 @ MULHIGH(cosa, tr1)
VQDMULH.S32 Q11, Q1, Q8 @ MULHIGH(sina, ti1)
VQDMULH.S32 Q12, Q0, Q8 @ MULHIGH(cosa, ti1)
VQDMULH.S32 Q13, Q1, Q4 @ MULHIGH(sina, tr1)
-
+
VADD.S32 Q0, Q10, Q11 @ *buf0++ = MULHIGH(cosa, tr1) + MULHIGH(sina, ti1)@
VSUB.S32 Q1, Q12, Q13 @ *buf0++ = MULHIGH(cosa, ti1) - MULHIGH(sina, tr1)@
-
+
VST2.I32 {d0, d1, d2, d3}, [r0]!
sub r3, r3, #32
-
+
VQDMULH.S32 Q10, Q2, Q9 @ MULHIGH(cosb, tr2)
VQDMULH.S32 Q11, Q3, Q5 @ MULHIGH(sinb, ti2)
VQDMULH.S32 Q12, Q2, Q5 @ MULHIGH(cosb, ti2)
VQDMULH.S32 Q13, Q3, Q9 @ MULHIGH(sinb, tr2)
-
+
VADD.S32 Q0, Q10, Q11 @ MULHIGH(cosa, tr2) + MULHIGH(sina, ti2)@
VSUB.S32 Q1, Q12, Q13 @ MULHIGH(cosa, ti2) - MULHIGH(sina, tr2)@
-
+
VREV64.32 Q3, Q1
VREV64.32 Q2, Q0
-
- VST2.I32 {d5, d7}, [r3]!
- VST2.I32 {d4, d6}, [r3]!
-
+
+ VST2.I32 {d5, d7}, [r3]!
+ VST2.I32 {d4, d6}, [r3]!
+
subs r1, r1, #4
- sub r3, r3, #64
+ sub r3, r3, #64
bne PreMDCT_LOOP
-
+
PreMDCT_END:
ldmia sp!, {r4 - r11, pc}
@ENDP @ |PreMDCT|
@@ -82,50 +82,50 @@ PreMDCT_END:
PostMDCT:
stmdb sp!, {r4 - r11, lr}
-
+
add r9, r0, r1, lsl #2
sub r3, r9, #32
movs r1, r1, asr #2
beq PostMDCT_END
-
+
PostMDCT_LOOP:
VLD4.I32 {d0, d2, d4, d6}, [r2]! @ cosa = *csptr++@ sina = *csptr++@
VLD4.I32 {d1, d3, d5, d7}, [r2]! @ cosb = *csptr++@ sinb = *csptr++@
VLD2.I32 {d8, d9, d10, d11}, [r0] @ tr1 = *(zbuf1 + 0)@ ti1 = *(zbuf1 + 1)@
VLD2.I32 {d13, d15}, [r3]! @ tr2 = *(zbuf2 - 1)@ ti2 = *(zbuf2 + 0)@
- VLD2.I32 {d12, d14}, [r3]! @ tr2 = *(zbuf2 - 1)@ ti2 = *(zbuf2 + 0)@
+ VLD2.I32 {d12, d14}, [r3]! @ tr2 = *(zbuf2 - 1)@ ti2 = *(zbuf2 + 0)@
+
+ VREV64.32 Q8, Q6
+ VREV64.32 Q9, Q7
- VREV64.32 Q8, Q6
- VREV64.32 Q9, Q7
-
VQDMULH.S32 Q10, Q0, Q4 @ MULHIGH(cosa, tr1)
VQDMULH.S32 Q11, Q1, Q5 @ MULHIGH(sina, ti1)
VQDMULH.S32 Q12, Q0, Q5 @ MULHIGH(cosa, ti1)
VQDMULH.S32 Q13, Q1, Q4 @ MULHIGH(sina, tr1)
-
+
VADD.S32 Q0, Q10, Q11 @ *buf0++ = MULHIGH(cosa, tr1) + MULHIGH(sina, ti1)@
VSUB.S32 Q5, Q13, Q12 @ *buf1-- = MULHIGH(sina, tr1) - MULHIGH(cosa, ti1)@
-
+
VQDMULH.S32 Q10, Q2, Q8 @ MULHIGH(cosb, tr2)
VQDMULH.S32 Q11, Q3, Q9 @ MULHIGH(sinb, ti2)
VQDMULH.S32 Q12, Q2, Q9 @ MULHIGH(cosb, ti2)
VQDMULH.S32 Q13, Q3, Q8 @ MULHIGH(sinb, tr2)
-
+
VADD.S32 Q4, Q10, Q11 @ *buf1-- = MULHIGH(cosa, tr2) + MULHIGH(sina, ti2)@
- VSUB.S32 Q1, Q13, Q12 @ *buf0++ = MULHIGH(sina, tr2) - MULHIGH(cosa, ti2)@
-
+ VSUB.S32 Q1, Q13, Q12 @ *buf0++ = MULHIGH(sina, tr2) - MULHIGH(cosa, ti2)@
+
VREV64.32 Q2, Q4
- VREV64.32 Q3, Q5
-
- sub r3, r3, #32
+ VREV64.32 Q3, Q5
+
+ sub r3, r3, #32
VST2.I32 {d0, d1, d2, d3}, [r0]!
-
- VST2.I32 {d5, d7}, [r3]!
- VST2.I32 {d4, d6}, [r3]!
-
+
+ VST2.I32 {d5, d7}, [r3]!
+ VST2.I32 {d4, d6}, [r3]!
+
subs r1, r1, #4
- sub r3, r3, #64
+ sub r3, r3, #64
bne PostMDCT_LOOP
PostMDCT_END:
diff --git a/media/libstagefright/codecs/aacenc/src/asm/ARMV7/R4R8First_v7.s b/media/libstagefright/codecs/aacenc/src/asm/ARMV7/R4R8First_v7.s
index defd45d..7fc5520 100644
--- a/media/libstagefright/codecs/aacenc/src/asm/ARMV7/R4R8First_v7.s
+++ b/media/libstagefright/codecs/aacenc/src/asm/ARMV7/R4R8First_v7.s
@@ -29,86 +29,86 @@ Radix8First:
ldr r3, SQRT1_2
cmp r1, #0
-
- VDUP.I32 Q15, r3
+
+ VDUP.I32 Q15, r3
beq Radix8First_END
-
+
Radix8First_LOOP:
VLD1.I32 {d0, d1, d2, d3}, [r0]!
VLD1.I32 {d8, d9, d10, d11}, [r0]!
-
+
VADD.S32 d4, d0, d1 @ r0 = buf[0] + buf[2]@i0 = buf[1] + buf[3]@
- VSUB.S32 d5, d0, d1 @ r1 = buf[0] - buf[2]@i1 = buf[1] - buf[3]@
- VSUB.S32 d7, d2, d3 @ r2 = buf[4] - buf[6]@i2 = buf[5] - buf[7]@
+ VSUB.S32 d5, d0, d1 @ r1 = buf[0] - buf[2]@i1 = buf[1] - buf[3]@
+ VSUB.S32 d7, d2, d3 @ r2 = buf[4] - buf[6]@i2 = buf[5] - buf[7]@
VADD.S32 d6, d2, d3 @ r3 = buf[4] + buf[6]@i3 = buf[5] + buf[7]@
- VREV64.I32 d7, d7
-
+ VREV64.I32 d7, d7
+
VADD.S32 Q0, Q2, Q3 @ r4 = (r0 + r2)@i4 = (i0 + i2)@i6 = (i1 + r3)@r7 = (r1 + i3)
VSUB.S32 Q1, Q2, Q3 @ r5 = (r0 - r2)@i5 = (i0 - i2)@r6 = (r1 - i3)@i7 = (i1 - r3)@
- VREV64.I32 d3, d3
+ VREV64.I32 d3, d3
VADD.S32 d4, d8, d9 @ r0 = buf[ 8] + buf[10]@i0 = buf[ 9] + buf[11]@
- VSUB.S32 d7, d10, d11 @ r1 = buf[12] - buf[14]@i1 = buf[13] - buf[15]@
+ VSUB.S32 d7, d10, d11 @ r1 = buf[12] - buf[14]@i1 = buf[13] - buf[15]@
VADD.S32 d6, d10, d11 @ r2 = buf[12] + buf[14]@i2 = buf[13] + buf[15]@
- VREV64.I32 d7, d7
+ VREV64.I32 d7, d7
VSUB.S32 d5, d8, d9 @ r3 = buf[ 8] - buf[10]@i3 = buf[ 9] - buf[11]@
-
- VTRN.32 d1, d3
-
+
+ VTRN.32 d1, d3
+
VADD.S32 Q4, Q2, Q3 @ t0 = (r0 + r2) >> 1@t1 = (i0 + i2) >> 1@i0 = i1 + r3@r2 = r1 + i3@
VSUB.S32 Q5, Q2, Q3 @ t2 = (r0 - r2) >> 1@t3 = (i0 - i2) >> 1@r0 = r1 - i3@i2 = i1 - r3@
-
+
VREV64.I32 d3, d3
-
- VSHR.S32 d8, d8, #1
+
+ VSHR.S32 d8, d8, #1
VSHR.S32 Q0, Q0, #1
VREV64.I32 d10, d10
VTRN.32 d11, d9
VSHR.S32 Q1, Q1, #1
VSHR.S32 d10, d10, #1
VREV64.I32 d9, d9
-
+
sub r0, r0, #0x40
-
+
VADD.S32 d12, d0, d8
- VSUB.S32 d16, d0, d8
+ VSUB.S32 d16, d0, d8
VADD.S32 d14, d2, d10
VSUB.S32 d18, d2, d10
-
+
VSUB.S32 d4, d11, d9
VADD.S32 d5, d11, d9
-
+
VREV64.I32 d18, d18
-
+
VQDMULH.S32 Q3, Q2, Q15
VTRN.32 d14, d18
VTRN.32 d6, d7
- VREV64.I32 d18, d18
-
+ VREV64.I32 d18, d18
+
VSUB.S32 d15, d3, d6
VREV64.I32 d7, d7
VADD.S32 d19, d3, d6
VADD.S32 d13, d1, d7
VSUB.S32 d17, d1, d7
-
+
VREV64.I32 d17, d17
VTRN.32 d13, d17
VREV64.I32 d17, d17
-
- subs r1, r1, #1
-
+
+ subs r1, r1, #1
+
VST1.I32 {d12, d13, d14, d15}, [r0]!
- VST1.I32 {d16, d17, d18, d19}, [r0]!
+ VST1.I32 {d16, d17, d18, d19}, [r0]!
bne Radix8First_LOOP
-
+
Radix8First_END:
- ldmia sp!, {r4 - r11, pc}
+ ldmia sp!, {r4 - r11, pc}
SQRT1_2:
.word 0x2d413ccd
-
+
@ENDP @ |Radix8First|
-
+
.section .text
.global Radix4First
@@ -117,28 +117,28 @@ Radix4First:
cmp r1, #0
beq Radix4First_END
-
+
Radix4First_LOOP:
- VLD1.I32 {d0, d1, d2, d3}, [r0]
-
- VADD.S32 d4, d0, d1 @ r0 = buf[0] + buf[2]@ r1 = buf[1] + buf[3]@
+ VLD1.I32 {d0, d1, d2, d3}, [r0]
+
+ VADD.S32 d4, d0, d1 @ r0 = buf[0] + buf[2]@ r1 = buf[1] + buf[3]@
VSUB.S32 d5, d0, d1 @ r2 = buf[0] - buf[2]@ r3 = buf[1] - buf[3]@
VSUB.S32 d7, d2, d3 @ r4 = buf[4] + buf[6]@ r5 = buf[5] + buf[7]@
VADD.S32 d6, d2, d3 @ r6 = buf[4] - buf[6]@ r7 = buf[5] - buf[7]@
-
- VREV64.I32 d7, d7 @
-
+
+ VREV64.I32 d7, d7 @
+
VADD.S32 Q4, Q2, Q3
VSUB.S32 Q5, Q2, Q3
-
+
VREV64.I32 d11, d11
VTRN.32 d9, d11
- subs r1, r1, #1
+ subs r1, r1, #1
VREV64.I32 d11, d11
VST1.I32 {d8, d9, d10, d11}, [r0]!
bne Radix4First_LOOP
-
+
Radix4First_END:
ldmia sp!, {r4 - r11, pc}
diff --git a/media/libstagefright/codecs/aacenc/src/asm/ARMV7/Radix4FFT_v7.s b/media/libstagefright/codecs/aacenc/src/asm/ARMV7/Radix4FFT_v7.s
index 84a4a80..b8655ae 100644
--- a/media/libstagefright/codecs/aacenc/src/asm/ARMV7/Radix4FFT_v7.s
+++ b/media/libstagefright/codecs/aacenc/src/asm/ARMV7/Radix4FFT_v7.s
@@ -28,116 +28,116 @@ Radix4FFT:
stmdb sp!, {r4 - r11, lr}
mov r1, r1, asr #2
- cmp r1, #0
- beq Radix4FFT_END
-
-Radix4FFT_LOOP1:
- mov r5, r2, lsl #1
- mov r8, r0
- mov r7, r1
- mov r5, r5, lsl #2
- cmp r1, #0
- rsbeq r12, r5, r5, lsl #2
- beq Radix4FFT_LOOP1_END
-
- rsb r12, r5, r5, lsl #2
-
-Radix4FFT_LOOP2:
- mov r6, r3
- mov r4, r2
- cmp r2, #0
- beq Radix4FFT_LOOP2_END
-
-Radix4FFT_LOOP3:
+ cmp r1, #0
+ beq Radix4FFT_END
+
+Radix4FFT_LOOP1:
+ mov r5, r2, lsl #1
+ mov r8, r0
+ mov r7, r1
+ mov r5, r5, lsl #2
+ cmp r1, #0
+ rsbeq r12, r5, r5, lsl #2
+ beq Radix4FFT_LOOP1_END
+
+ rsb r12, r5, r5, lsl #2
+
+Radix4FFT_LOOP2:
+ mov r6, r3
+ mov r4, r2
+ cmp r2, #0
+ beq Radix4FFT_LOOP2_END
+
+Radix4FFT_LOOP3:
@r0 = xptr[0]@
@r1 = xptr[1]@
- VLD2.I32 {D0, D1, D2, D3}, [r8]
+ VLD2.I32 {D0, D1, D2, D3}, [r8]
VLD2.I32 {D28, D29, D30, D31}, [r6]! @ cosx = csptr[0]@ sinx = csptr[1]@
-
- add r8, r8, r5 @ xptr += step@
+
+ add r8, r8, r5 @ xptr += step@
VLD2.I32 {D4, D5, D6,D7}, [r8] @ r2 = xptr[0]@ r3 = xptr[1]@
-
+
VQDMULH.S32 Q10, Q2, Q14 @ MULHIGH(cosx, t0)
VQDMULH.S32 Q11, Q3, Q15 @ MULHIGH(sinx, t1)
VQDMULH.S32 Q12, Q3, Q14 @ MULHIGH(cosx, t1)
VQDMULH.S32 Q13, Q2, Q15 @ MULHIGH(sinx, t0)
-
+
VADD.S32 Q2, Q10, Q11 @ MULHIGH(cosx, t0) + MULHIGH(sinx, t1)
VSUB.S32 Q3, Q12, Q13 @ MULHIGH(cosx, t1) - MULHIGH(sinx, t0)
-
+
add r8, r8, r5 @ xptr += step@
VSHR.S32 Q10, Q0, #2 @ t0 = r0 >> 2@
VSHR.S32 Q11, Q1, #2 @ t1 = r1 >> 2@
-
+
VSUB.S32 Q0, Q10, Q2 @ r0 = t0 - r2@
VSUB.S32 Q1, Q11, Q3 @ r1 = t1 - r3@
VADD.S32 Q2, Q10, Q2 @ r2 = t0 + r2@
VADD.S32 Q3, Q11, Q3 @ r3 = t1 + r3@
-
- VLD2.I32 {D8, D9, D10, D11}, [r8]
- VLD2.I32 {D28, D29, D30, D31}, [r6]!
+
+ VLD2.I32 {D8, D9, D10, D11}, [r8]
+ VLD2.I32 {D28, D29, D30, D31}, [r6]!
add r8, r8, r5
VQDMULH.S32 Q10, Q4, Q14 @ MULHIGH(cosx, t0)
VQDMULH.S32 Q11, Q5, Q15 @ MULHIGH(sinx, t1)
VQDMULH.S32 Q12, Q5, Q14 @ MULHIGH(cosx, t1)
VQDMULH.S32 Q13, Q4, Q15 @ MULHIGH(sinx, t0)
-
+
VADD.S32 Q8, Q10, Q11 @ MULHIGH(cosx, t0) + MULHIGH(sinx, t1)
- VSUB.S32 Q9, Q12, Q13 @ MULHIGH(cosx, t1) - MULHIGH(sinx, t0)
-
- VLD2.I32 {D12, D13, D14, D15}, [r8]
+ VSUB.S32 Q9, Q12, Q13 @ MULHIGH(cosx, t1) - MULHIGH(sinx, t0)
+
+ VLD2.I32 {D12, D13, D14, D15}, [r8]
VLD2.I32 {D28, D29, D30, D31}, [r6]!
-
+
VQDMULH.S32 Q10, Q6, Q14 @ MULHIGH(cosx, t0)
VQDMULH.S32 Q11, Q7, Q15 @ MULHIGH(sinx, t1)
VQDMULH.S32 Q12, Q7, Q14 @ MULHIGH(cosx, t1)
VQDMULH.S32 Q13, Q6, Q15 @ MULHIGH(sinx, t0)
-
+
VADD.S32 Q6, Q10, Q11 @ MULHIGH(cosx, t0) + MULHIGH(sinx, t1)
- VSUB.S32 Q7, Q12, Q13 @ MULHIGH(cosx, t1) - MULHIGH(sinx, t0)
-
+ VSUB.S32 Q7, Q12, Q13 @ MULHIGH(cosx, t1) - MULHIGH(sinx, t0)
+
VADD.S32 Q4, Q8, Q6 @ r4 = t0 + r6@
VSUB.S32 Q5, Q7, Q9 @ r5 = r7 - t1@
VSUB.S32 Q6, Q8, Q6 @ r6 = t0 - r6@
VADD.S32 Q7, Q7, Q9 @ r7 = r7 + t1@
-
+
VADD.S32 Q8, Q0, Q5 @ xptr[0] = r0 + r5@
VADD.S32 Q9, Q1, Q6 @ xptr[1] = r1 + r6@
VST2.I32 {D16, D17, D18, D19}, [r8]
-
+
VSUB.S32 Q10, Q2, Q4 @ xptr[0] = r2 - r4@
sub r8, r8, r5 @ xptr -= step@
VSUB.S32 Q11, Q3, Q7 @ xptr[1] = r3 - r7@
VST2.I32 {D20, D21, D22, D23}, [r8]
-
+
VSUB.S32 Q8, Q0, Q5 @ xptr[0] = r0 - r5@
sub r8, r8, r5 @ xptr -= step@
VSUB.S32 Q9, Q1, Q6 @ xptr[1] = r1 - r6@
VST2.I32 {D16, D17, D18, D19}, [r8]
-
+
VADD.S32 Q10, Q2, Q4 @ xptr[0] = r2 + r4@
sub r8, r8, r5 @ xptr -= step@
VADD.S32 Q11, Q3, Q7 @ xptr[1] = r3 + r7@
VST2.I32 {D20, D21, D22, D23}, [r8]!
-
- subs r4, r4, #4
- bne Radix4FFT_LOOP3
-
-Radix4FFT_LOOP2_END:
- add r8, r8, r12
- sub r7, r7, #1
+
+ subs r4, r4, #4
+ bne Radix4FFT_LOOP3
+
+Radix4FFT_LOOP2_END:
+ add r8, r8, r12
+ sub r7, r7, #1
cmp r7, #0
- bhi Radix4FFT_LOOP2
-
-Radix4FFT_LOOP1_END:
- add r3, r12, r3
- mov r2, r2, lsl #2
- movs r1, r1, asr #2
- bne Radix4FFT_LOOP1
-
-Radix4FFT_END:
+ bhi Radix4FFT_LOOP2
+
+Radix4FFT_LOOP1_END:
+ add r3, r12, r3
+ mov r2, r2, lsl #2
+ movs r1, r1, asr #2
+ bne Radix4FFT_LOOP1
+
+Radix4FFT_END:
ldmia sp!, {r4 - r11, pc}
-
+
@ENDP @ |Radix4FFT|
.end \ No newline at end of file
diff --git a/media/libstagefright/codecs/aacenc/src/band_nrg.c b/media/libstagefright/codecs/aacenc/src/band_nrg.c
index 89c39b6..7501af1 100644
--- a/media/libstagefright/codecs/aacenc/src/band_nrg.c
+++ b/media/libstagefright/codecs/aacenc/src/band_nrg.c
@@ -37,18 +37,18 @@ void CalcBandEnergy(const Word32 *mdctSpectrum,
Word32 *bandEnergySum)
{
Word32 i, j;
- Word32 accuSum = 0;
+ Word32 accuSum = 0;
for (i=0; i<numBands; i++) {
- Word32 accu = 0;
+ Word32 accu = 0;
for (j=bandOffset[i]; j<bandOffset[i+1]; j++)
accu = L_add(accu, MULHIGH(mdctSpectrum[j], mdctSpectrum[j]));
accu = L_add(accu, accu);
accuSum = L_add(accuSum, accu);
- bandEnergy[i] = accu;
+ bandEnergy[i] = accu;
}
- *bandEnergySum = accuSum;
+ *bandEnergySum = accuSum;
}
/********************************************************************************
@@ -68,15 +68,15 @@ void CalcBandEnergyMS(const Word32 *mdctSpectrumLeft,
{
Word32 i, j;
- Word32 accuMidSum = 0;
- Word32 accuSideSum = 0;
-
+ Word32 accuMidSum = 0;
+ Word32 accuSideSum = 0;
+
for(i=0; i<numBands; i++) {
Word32 accuMid = 0;
- Word32 accuSide = 0;
+ Word32 accuSide = 0;
for (j=bandOffset[i]; j<bandOffset[i+1]; j++) {
- Word32 specm, specs;
+ Word32 specm, specs;
Word32 l, r;
l = mdctSpectrumLeft[j] >> 1;
@@ -86,17 +86,17 @@ void CalcBandEnergyMS(const Word32 *mdctSpectrumLeft,
accuMid = L_add(accuMid, MULHIGH(specm, specm));
accuSide = L_add(accuSide, MULHIGH(specs, specs));
}
-
+
accuMid = L_add(accuMid, accuMid);
accuSide = L_add(accuSide, accuSide);
- bandEnergyMid[i] = accuMid;
+ bandEnergyMid[i] = accuMid;
accuMidSum = L_add(accuMidSum, accuMid);
- bandEnergySide[i] = accuSide;
+ bandEnergySide[i] = accuSide;
accuSideSum = L_add(accuSideSum, accuSide);
-
+
}
- *bandEnergyMidSum = accuMidSum;
- *bandEnergySideSum = accuSideSum;
+ *bandEnergyMidSum = accuMidSum;
+ *bandEnergySideSum = accuSideSum;
}
#endif \ No newline at end of file
diff --git a/media/libstagefright/codecs/aacenc/src/bit_cnt.c b/media/libstagefright/codecs/aacenc/src/bit_cnt.c
index 8853efc..9fe511c 100644
--- a/media/libstagefright/codecs/aacenc/src/bit_cnt.c
+++ b/media/libstagefright/codecs/aacenc/src/bit_cnt.c
@@ -26,14 +26,14 @@
#define HI_LTAB(a) (a>>8)
#define LO_LTAB(a) (a & 0xff)
-#define EXPAND(a) ((((Word32)(a&0xff00)) << 8)|(Word32)(a&0xff))
+#define EXPAND(a) ((((Word32)(a&0xff00)) << 8)|(Word32)(a&0xff))
/*****************************************************************************
*
* function name: count1_2_3_4_5_6_7_8_9_10_11
-* description: counts tables 1-11
-* returns:
+* description: counts tables 1-11
+* returns:
* input: quantized spectrum
* output: bitCount for tables 1-11
*
@@ -46,51 +46,51 @@ static void count1_2_3_4_5_6_7_8_9_10_11(const Word16 *values,
Word32 t0,t1,t2,t3,i;
Word32 bc1_2,bc3_4,bc5_6,bc7_8,bc9_10;
Word16 bc11,sc;
-
- bc1_2=0;
- bc3_4=0;
- bc5_6=0;
- bc7_8=0;
- bc9_10=0;
- bc11=0;
- sc=0;
+
+ bc1_2=0;
+ bc3_4=0;
+ bc5_6=0;
+ bc7_8=0;
+ bc9_10=0;
+ bc11=0;
+ sc=0;
for(i=0;i<width;i+=4){
-
- t0= values[i+0];
- t1= values[i+1];
- t2= values[i+2];
- t3= values[i+3];
-
+
+ t0= values[i+0];
+ t1= values[i+1];
+ t2= values[i+2];
+ t3= values[i+3];
+
/* 1,2 */
- bc1_2 = bc1_2 + EXPAND(huff_ltab1_2[t0+1][t1+1][t2+1][t3+1]);
+ bc1_2 = bc1_2 + EXPAND(huff_ltab1_2[t0+1][t1+1][t2+1][t3+1]);
/* 5,6 */
- bc5_6 = bc5_6 + EXPAND(huff_ltab5_6[t0+4][t1+4]);
- bc5_6 = bc5_6 + EXPAND(huff_ltab5_6[t2+4][t3+4]);
+ bc5_6 = bc5_6 + EXPAND(huff_ltab5_6[t0+4][t1+4]);
+ bc5_6 = bc5_6 + EXPAND(huff_ltab5_6[t2+4][t3+4]);
t0=ABS(t0);
t1=ABS(t1);
t2=ABS(t2);
t3=ABS(t3);
-
- bc3_4 = bc3_4 + EXPAND(huff_ltab3_4[t0][t1][t2][t3]);
-
- bc7_8 = bc7_8 + EXPAND(huff_ltab7_8[t0][t1]);
- bc7_8 = bc7_8 + EXPAND(huff_ltab7_8[t2][t3]);
-
- bc9_10 = bc9_10 + EXPAND(huff_ltab9_10[t0][t1]);
- bc9_10 = bc9_10 + EXPAND(huff_ltab9_10[t2][t3]);
-
+
+ bc3_4 = bc3_4 + EXPAND(huff_ltab3_4[t0][t1][t2][t3]);
+
+ bc7_8 = bc7_8 + EXPAND(huff_ltab7_8[t0][t1]);
+ bc7_8 = bc7_8 + EXPAND(huff_ltab7_8[t2][t3]);
+
+ bc9_10 = bc9_10 + EXPAND(huff_ltab9_10[t0][t1]);
+ bc9_10 = bc9_10 + EXPAND(huff_ltab9_10[t2][t3]);
+
bc11 = bc11 + huff_ltab11[t0][t1];
bc11 = bc11 + huff_ltab11[t2][t3];
-
-
+
+
sc = sc + (t0>0) + (t1>0) + (t2>0) + (t3>0);
}
-
+
bitCount[1]=extract_h(bc1_2);
bitCount[2]=extract_l(bc1_2);
bitCount[3]=extract_h(bc3_4) + sc;
@@ -108,8 +108,8 @@ static void count1_2_3_4_5_6_7_8_9_10_11(const Word16 *values,
/*****************************************************************************
*
* function name: count3_4_5_6_7_8_9_10_11
-* description: counts tables 3-11
-* returns:
+* description: counts tables 3-11
+* returns:
* input: quantized spectrum
* output: bitCount for tables 3-11
*
@@ -122,26 +122,26 @@ static void count3_4_5_6_7_8_9_10_11(const Word16 *values,
Word32 t0,t1,t2,t3, i;
Word32 bc3_4,bc5_6,bc7_8,bc9_10;
Word16 bc11,sc;
-
- bc3_4=0;
- bc5_6=0;
- bc7_8=0;
- bc9_10=0;
- bc11=0;
- sc=0;
+
+ bc3_4=0;
+ bc5_6=0;
+ bc7_8=0;
+ bc9_10=0;
+ bc11=0;
+ sc=0;
for(i=0;i<width;i+=4){
- t0= values[i+0];
- t1= values[i+1];
- t2= values[i+2];
- t3= values[i+3];
-
+ t0= values[i+0];
+ t1= values[i+1];
+ t2= values[i+2];
+ t3= values[i+3];
+
/*
5,6
*/
- bc5_6 = bc5_6 + EXPAND(huff_ltab5_6[t0+4][t1+4]);
- bc5_6 = bc5_6 + EXPAND(huff_ltab5_6[t2+4][t3+4]);
+ bc5_6 = bc5_6 + EXPAND(huff_ltab5_6[t0+4][t1+4]);
+ bc5_6 = bc5_6 + EXPAND(huff_ltab5_6[t2+4][t3+4]);
t0=ABS(t0);
t1=ABS(t1);
@@ -149,23 +149,23 @@ static void count3_4_5_6_7_8_9_10_11(const Word16 *values,
t3=ABS(t3);
- bc3_4 = bc3_4 + EXPAND(huff_ltab3_4[t0][t1][t2][t3]);
-
- bc7_8 = bc7_8 + EXPAND(huff_ltab7_8[t0][t1]);
- bc7_8 = bc7_8 + EXPAND(huff_ltab7_8[t2][t3]);
-
- bc9_10 = bc9_10 + EXPAND(huff_ltab9_10[t0][t1]);
- bc9_10 = bc9_10 + EXPAND(huff_ltab9_10[t2][t3]);
-
+ bc3_4 = bc3_4 + EXPAND(huff_ltab3_4[t0][t1][t2][t3]);
+
+ bc7_8 = bc7_8 + EXPAND(huff_ltab7_8[t0][t1]);
+ bc7_8 = bc7_8 + EXPAND(huff_ltab7_8[t2][t3]);
+
+ bc9_10 = bc9_10 + EXPAND(huff_ltab9_10[t0][t1]);
+ bc9_10 = bc9_10 + EXPAND(huff_ltab9_10[t2][t3]);
+
bc11 = bc11 + huff_ltab11[t0][t1];
bc11 = bc11 + huff_ltab11[t2][t3];
-
- sc = sc + (t0>0) + (t1>0) + (t2>0) + (t3>0);
+
+ sc = sc + (t0>0) + (t1>0) + (t2>0) + (t3>0);
}
-
- bitCount[1]=INVALID_BITCOUNT;
- bitCount[2]=INVALID_BITCOUNT;
+
+ bitCount[1]=INVALID_BITCOUNT;
+ bitCount[2]=INVALID_BITCOUNT;
bitCount[3]=extract_h(bc3_4) + sc;
bitCount[4]=extract_l(bc3_4) + sc;
bitCount[5]=extract_h(bc5_6);
@@ -175,7 +175,7 @@ static void count3_4_5_6_7_8_9_10_11(const Word16 *values,
bitCount[9]=extract_h(bc9_10) + sc;
bitCount[10]=extract_l(bc9_10) + sc;
bitCount[11]=bc11 + sc;
-
+
}
@@ -183,8 +183,8 @@ static void count3_4_5_6_7_8_9_10_11(const Word16 *values,
/*****************************************************************************
*
* function name: count5_6_7_8_9_10_11
-* description: counts tables 5-11
-* returns:
+* description: counts tables 5-11
+* returns:
* input: quantized spectrum
* output: bitCount for tables 5-11
*
@@ -198,33 +198,33 @@ static void count5_6_7_8_9_10_11(const Word16 *values,
Word32 bc5_6,bc7_8,bc9_10;
Word16 bc11,sc;
- bc5_6=0;
- bc7_8=0;
- bc9_10=0;
- bc11=0;
- sc=0;
+ bc5_6=0;
+ bc7_8=0;
+ bc9_10=0;
+ bc11=0;
+ sc=0;
for(i=0;i<width;i+=2){
- t0 = values[i+0];
- t1 = values[i+1];
+ t0 = values[i+0];
+ t1 = values[i+1];
- bc5_6 = bc5_6 + EXPAND(huff_ltab5_6[t0+4][t1+4]);
+ bc5_6 = bc5_6 + EXPAND(huff_ltab5_6[t0+4][t1+4]);
t0=ABS(t0);
t1=ABS(t1);
-
- bc7_8 = bc7_8 + EXPAND(huff_ltab7_8[t0][t1]);
- bc9_10 = bc9_10 + EXPAND(huff_ltab9_10[t0][t1]);
+
+ bc7_8 = bc7_8 + EXPAND(huff_ltab7_8[t0][t1]);
+ bc9_10 = bc9_10 + EXPAND(huff_ltab9_10[t0][t1]);
bc11 = bc11 + huff_ltab11[t0][t1];
-
-
+
+
sc = sc + (t0>0) + (t1>0);
}
- bitCount[1]=INVALID_BITCOUNT;
- bitCount[2]=INVALID_BITCOUNT;
- bitCount[3]=INVALID_BITCOUNT;
- bitCount[4]=INVALID_BITCOUNT;
+ bitCount[1]=INVALID_BITCOUNT;
+ bitCount[2]=INVALID_BITCOUNT;
+ bitCount[3]=INVALID_BITCOUNT;
+ bitCount[4]=INVALID_BITCOUNT;
bitCount[5]=extract_h(bc5_6);
bitCount[6]=extract_l(bc5_6);
bitCount[7]=extract_h(bc7_8) + sc;
@@ -232,15 +232,15 @@ static void count5_6_7_8_9_10_11(const Word16 *values,
bitCount[9]=extract_h(bc9_10) + sc;
bitCount[10]=extract_l(bc9_10) + sc;
bitCount[11]=bc11 + sc;
-
+
}
/*****************************************************************************
*
* function name: count7_8_9_10_11
-* description: counts tables 7-11
-* returns:
+* description: counts tables 7-11
+* returns:
* input: quantized spectrum
* output: bitCount for tables 7-11
*
@@ -253,43 +253,43 @@ static void count7_8_9_10_11(const Word16 *values,
Word32 t0,t1, i;
Word32 bc7_8,bc9_10;
Word16 bc11,sc;
-
- bc7_8=0;
- bc9_10=0;
- bc11=0;
- sc=0;
+
+ bc7_8=0;
+ bc9_10=0;
+ bc11=0;
+ sc=0;
for(i=0;i<width;i+=2){
t0=ABS(values[i+0]);
t1=ABS(values[i+1]);
- bc7_8 = bc7_8 + EXPAND(huff_ltab7_8[t0][t1]);
- bc9_10 = bc9_10 + EXPAND(huff_ltab9_10[t0][t1]);
+ bc7_8 = bc7_8 + EXPAND(huff_ltab7_8[t0][t1]);
+ bc9_10 = bc9_10 + EXPAND(huff_ltab9_10[t0][t1]);
bc11 = bc11 + huff_ltab11[t0][t1];
-
-
+
+
sc = sc + (t0>0) + (t1>0);
}
- bitCount[1]=INVALID_BITCOUNT;
- bitCount[2]=INVALID_BITCOUNT;
- bitCount[3]=INVALID_BITCOUNT;
- bitCount[4]=INVALID_BITCOUNT;
- bitCount[5]=INVALID_BITCOUNT;
- bitCount[6]=INVALID_BITCOUNT;
+ bitCount[1]=INVALID_BITCOUNT;
+ bitCount[2]=INVALID_BITCOUNT;
+ bitCount[3]=INVALID_BITCOUNT;
+ bitCount[4]=INVALID_BITCOUNT;
+ bitCount[5]=INVALID_BITCOUNT;
+ bitCount[6]=INVALID_BITCOUNT;
bitCount[7]=extract_h(bc7_8) + sc;
bitCount[8]=extract_l(bc7_8) + sc;
bitCount[9]=extract_h(bc9_10) + sc;
bitCount[10]=extract_l(bc9_10) + sc;
bitCount[11]=bc11 + sc;
-
+
}
/*****************************************************************************
*
* function name: count9_10_11
-* description: counts tables 9-11
-* returns:
+* description: counts tables 9-11
+* returns:
* input: quantized spectrum
* output: bitCount for tables 9-11
*
@@ -299,45 +299,45 @@ static void count9_10_11(const Word16 *values,
Word16 *bitCount)
{
- Word32 t0,t1,i;
+ Word32 t0,t1,i;
Word32 bc9_10;
Word16 bc11,sc;
- bc9_10=0;
- bc11=0;
- sc=0;
+ bc9_10=0;
+ bc11=0;
+ sc=0;
for(i=0;i<width;i+=2){
t0=ABS(values[i+0]);
t1=ABS(values[i+1]);
-
- bc9_10 += EXPAND(huff_ltab9_10[t0][t1]);
+
+ bc9_10 += EXPAND(huff_ltab9_10[t0][t1]);
bc11 = bc11 + huff_ltab11[t0][t1];
-
+
sc = sc + (t0>0) + (t1>0);
}
- bitCount[1]=INVALID_BITCOUNT;
- bitCount[2]=INVALID_BITCOUNT;
- bitCount[3]=INVALID_BITCOUNT;
- bitCount[4]=INVALID_BITCOUNT;
- bitCount[5]=INVALID_BITCOUNT;
- bitCount[6]=INVALID_BITCOUNT;
- bitCount[7]=INVALID_BITCOUNT;
- bitCount[8]=INVALID_BITCOUNT;
+ bitCount[1]=INVALID_BITCOUNT;
+ bitCount[2]=INVALID_BITCOUNT;
+ bitCount[3]=INVALID_BITCOUNT;
+ bitCount[4]=INVALID_BITCOUNT;
+ bitCount[5]=INVALID_BITCOUNT;
+ bitCount[6]=INVALID_BITCOUNT;
+ bitCount[7]=INVALID_BITCOUNT;
+ bitCount[8]=INVALID_BITCOUNT;
bitCount[9]=extract_h(bc9_10) + sc;
bitCount[10]=extract_l(bc9_10) + sc;
bitCount[11]=bc11 + sc;
-
+
}
-
+
/*****************************************************************************
*
* function name: count11
-* description: counts table 11
-* returns:
+* description: counts table 11
+* returns:
* input: quantized spectrum
* output: bitCount for table 11
*
@@ -347,37 +347,37 @@ static void count9_10_11(const Word16 *values,
Word16 *bitCount)
{
Word32 t0,t1,i;
- Word16 bc11,sc;
+ Word16 bc11,sc;
- bc11=0;
- sc=0;
+ bc11=0;
+ sc=0;
for(i=0;i<width;i+=2){
t0=ABS(values[i+0]);
t1=ABS(values[i+1]);
bc11 = bc11 + huff_ltab11[t0][t1];
-
+
sc = sc + (t0>0) + (t1>0);
}
- bitCount[1]=INVALID_BITCOUNT;
- bitCount[2]=INVALID_BITCOUNT;
- bitCount[3]=INVALID_BITCOUNT;
- bitCount[4]=INVALID_BITCOUNT;
- bitCount[5]=INVALID_BITCOUNT;
- bitCount[6]=INVALID_BITCOUNT;
- bitCount[7]=INVALID_BITCOUNT;
- bitCount[8]=INVALID_BITCOUNT;
- bitCount[9]=INVALID_BITCOUNT;
- bitCount[10]=INVALID_BITCOUNT;
+ bitCount[1]=INVALID_BITCOUNT;
+ bitCount[2]=INVALID_BITCOUNT;
+ bitCount[3]=INVALID_BITCOUNT;
+ bitCount[4]=INVALID_BITCOUNT;
+ bitCount[5]=INVALID_BITCOUNT;
+ bitCount[6]=INVALID_BITCOUNT;
+ bitCount[7]=INVALID_BITCOUNT;
+ bitCount[8]=INVALID_BITCOUNT;
+ bitCount[9]=INVALID_BITCOUNT;
+ bitCount[10]=INVALID_BITCOUNT;
bitCount[11]=bc11 + sc;
}
/*****************************************************************************
*
* function name: countEsc
-* description: counts table 11 (with Esc)
-* returns:
+* description: counts table 11 (with Esc)
+* returns:
* input: quantized spectrum
* output: bitCount for tables 11 (with Esc)
*
@@ -388,31 +388,31 @@ static void countEsc(const Word16 *values,
Word16 *bitCount)
{
Word32 t0,t1,t00,t01,i;
- Word16 bc11,ec,sc;
+ Word16 bc11,ec,sc;
- bc11=0;
- sc=0;
- ec=0;
+ bc11=0;
+ sc=0;
+ ec=0;
for(i=0;i<width;i+=2){
t0=ABS(values[i+0]);
t1=ABS(values[i+1]);
-
-
+
+
sc = sc + (t0>0) + (t1>0);
t00 = min(t0,16);
t01 = min(t1,16);
bc11 = bc11 + huff_ltab11[t00][t01];
-
-
+
+
if(t0 >= 16){
ec = ec + 5;
while(sub(t0=(t0 >> 1), 16) >= 0) {
ec = ec + 2;
}
}
-
-
+
+
if(t1 >= 16){
ec = ec + 5;
while(sub(t1=(t1 >> 1), 16) >= 0) {
@@ -420,16 +420,16 @@ static void countEsc(const Word16 *values,
}
}
}
- bitCount[1]=INVALID_BITCOUNT;
- bitCount[2]=INVALID_BITCOUNT;
- bitCount[3]=INVALID_BITCOUNT;
- bitCount[4]=INVALID_BITCOUNT;
- bitCount[5]=INVALID_BITCOUNT;
- bitCount[6]=INVALID_BITCOUNT;
- bitCount[7]=INVALID_BITCOUNT;
- bitCount[8]=INVALID_BITCOUNT;
- bitCount[9]=INVALID_BITCOUNT;
- bitCount[10]=INVALID_BITCOUNT;
+ bitCount[1]=INVALID_BITCOUNT;
+ bitCount[2]=INVALID_BITCOUNT;
+ bitCount[3]=INVALID_BITCOUNT;
+ bitCount[4]=INVALID_BITCOUNT;
+ bitCount[5]=INVALID_BITCOUNT;
+ bitCount[6]=INVALID_BITCOUNT;
+ bitCount[7]=INVALID_BITCOUNT;
+ bitCount[8]=INVALID_BITCOUNT;
+ bitCount[9]=INVALID_BITCOUNT;
+ bitCount[10]=INVALID_BITCOUNT;
bitCount[11]=bc11 + sc + ec;
}
@@ -463,7 +463,7 @@ static COUNT_FUNCTION countFuncTable[CODE_BOOK_ESC_LAV+1] =
/*****************************************************************************
*
* function name: bitCount
-* description: count bits
+* description: count bits
*
*****************************************************************************/
Word16 bitCount(const Word16 *values,
@@ -474,7 +474,7 @@ Word16 bitCount(const Word16 *values,
/*
check if we can use codebook 0
*/
-
+
if(maxVal == 0)
bitCount[0] = 0;
else
@@ -489,7 +489,7 @@ Word16 bitCount(const Word16 *values,
/*****************************************************************************
*
* function name: codeValues
-* description: write huffum bits
+* description: write huffum bits
*
*****************************************************************************/
Word16 codeValues(Word16 *values, Word16 width, Word16 codeBook, HANDLE_BIT_BUF hBitstream)
@@ -499,85 +499,85 @@ Word16 codeValues(Word16 *values, Word16 width, Word16 codeBook, HANDLE_BIT_BUF
UWord16 codeWord, codeLength;
Word16 sign, signLength;
-
+
switch (codeBook) {
case CODE_BOOK_ZERO_NO:
break;
case CODE_BOOK_1_NO:
for(i=0; i<width; i+=4) {
- t0 = values[i+0];
- t1 = values[i+1];
- t2 = values[i+2];
- t3 = values[i+3];
- codeWord = huff_ctab1[t0+1][t1+1][t2+1][t3+1];
- codeLength = HI_LTAB(huff_ltab1_2[t0+1][t1+1][t2+1][t3+1]);
- WriteBits(hBitstream, codeWord, codeLength);
+ t0 = values[i+0];
+ t1 = values[i+1];
+ t2 = values[i+2];
+ t3 = values[i+3];
+ codeWord = huff_ctab1[t0+1][t1+1][t2+1][t3+1];
+ codeLength = HI_LTAB(huff_ltab1_2[t0+1][t1+1][t2+1][t3+1]);
+ WriteBits(hBitstream, codeWord, codeLength);
}
break;
case CODE_BOOK_2_NO:
for(i=0; i<width; i+=4) {
- t0 = values[i+0];
- t1 = values[i+1];
- t2 = values[i+2];
- t3 = values[i+3];
- codeWord = huff_ctab2[t0+1][t1+1][t2+1][t3+1];
- codeLength = LO_LTAB(huff_ltab1_2[t0+1][t1+1][t2+1][t3+1]);
+ t0 = values[i+0];
+ t1 = values[i+1];
+ t2 = values[i+2];
+ t3 = values[i+3];
+ codeWord = huff_ctab2[t0+1][t1+1][t2+1][t3+1];
+ codeLength = LO_LTAB(huff_ltab1_2[t0+1][t1+1][t2+1][t3+1]);
WriteBits(hBitstream,codeWord,codeLength);
}
break;
case CODE_BOOK_3_NO:
for(i=0; i<width; i+=4) {
- sign=0;
- signLength=0;
- t0 = values[i+0];
-
+ sign=0;
+ signLength=0;
+ t0 = values[i+0];
+
if(t0 != 0){
signLength = signLength + 1;
- sign = sign << 1;
-
+ sign = sign << 1;
+
if(t0 < 0){
- sign|=1;
+ sign|=1;
t0=-t0;
}
}
- t1 = values[i+1];
-
+ t1 = values[i+1];
+
if(t1 != 0){
signLength = signLength + 1;
- sign = sign << 1;
-
+ sign = sign << 1;
+
if(t1 < 0){
- sign|=1;
+ sign|=1;
t1=-t1;
}
}
- t2 = values[i+2];
-
+ t2 = values[i+2];
+
if(t2 != 0){
signLength = signLength + 1;
- sign = sign << 1;
-
+ sign = sign << 1;
+
if(t2 < 0){
- sign|=1;
+ sign|=1;
t2=-t2;
}
}
- t3 = values[i+3];
+ t3 = values[i+3];
if(t3 != 0){
signLength = signLength + 1;
- sign = sign << 1;
-
+ sign = sign << 1;
+
if(t3 < 0){
- sign|=1;
+ sign|=1;
t3=-t3;
}
}
- codeWord = huff_ctab3[t0][t1][t2][t3];
- codeLength = HI_LTAB(huff_ltab3_4[t0][t1][t2][t3]);
+ codeWord = huff_ctab3[t0][t1][t2][t3];
+ codeLength = HI_LTAB(huff_ltab3_4[t0][t1][t2][t3]);
WriteBits(hBitstream,codeWord,codeLength);
WriteBits(hBitstream,sign,signLength);
}
@@ -585,107 +585,107 @@ Word16 codeValues(Word16 *values, Word16 width, Word16 codeBook, HANDLE_BIT_BUF
case CODE_BOOK_4_NO:
for(i=0; i<width; i+=4) {
- sign=0;
- signLength=0;
- t0 = values[i+0];
-
- if(t0 != 0){
+ sign=0;
+ signLength=0;
+ t0 = values[i+0];
+
+ if(t0 != 0){
signLength = signLength + 1;
- sign = sign << 1;
- if(t0 < 0){
- sign|=1;
- t0=-t0;
+ sign = sign << 1;
+ if(t0 < 0){
+ sign|=1;
+ t0=-t0;
}
- }
- t1 = values[i+1];
-
- if(t1 != 0){
+ }
+ t1 = values[i+1];
+
+ if(t1 != 0){
signLength = signLength + 1;
- sign = sign << 1;
-
- if(t1 < 0){
- sign|=1;
- t1=-t1;
- }
- }
- t2 = values[i+2];
-
- if(t2 != 0){
+ sign = sign << 1;
+
+ if(t1 < 0){
+ sign|=1;
+ t1=-t1;
+ }
+ }
+ t2 = values[i+2];
+
+ if(t2 != 0){
signLength = signLength + 1;
- sign = sign << 1;
-
- if(t2 < 0){
- sign|=1;
- t2=-t2;
- }
- }
- t3 = values[i+3];
-
- if(t3 != 0){
+ sign = sign << 1;
+
+ if(t2 < 0){
+ sign|=1;
+ t2=-t2;
+ }
+ }
+ t3 = values[i+3];
+
+ if(t3 != 0){
signLength = signLength + 1;
- sign = sign << 1;
-
- if(t3 < 0){
- sign|=1;
- t3=-t3;
- }
- }
- codeWord = huff_ctab4[t0][t1][t2][t3];
- codeLength = LO_LTAB(huff_ltab3_4[t0][t1][t2][t3]);
- WriteBits(hBitstream,codeWord,codeLength);
- WriteBits(hBitstream,sign,signLength);
- }
- break;
-
- case CODE_BOOK_5_NO:
- for(i=0; i<width; i+=2) {
- t0 = values[i+0];
- t1 = values[i+1];
- codeWord = huff_ctab5[t0+4][t1+4];
- codeLength = HI_LTAB(huff_ltab5_6[t0+4][t1+4]);
+ sign = sign << 1;
+
+ if(t3 < 0){
+ sign|=1;
+ t3=-t3;
+ }
+ }
+ codeWord = huff_ctab4[t0][t1][t2][t3];
+ codeLength = LO_LTAB(huff_ltab3_4[t0][t1][t2][t3]);
+ WriteBits(hBitstream,codeWord,codeLength);
+ WriteBits(hBitstream,sign,signLength);
+ }
+ break;
+
+ case CODE_BOOK_5_NO:
+ for(i=0; i<width; i+=2) {
+ t0 = values[i+0];
+ t1 = values[i+1];
+ codeWord = huff_ctab5[t0+4][t1+4];
+ codeLength = HI_LTAB(huff_ltab5_6[t0+4][t1+4]);
WriteBits(hBitstream,codeWord,codeLength);
}
break;
case CODE_BOOK_6_NO:
for(i=0; i<width; i+=2) {
- t0 = values[i+0];
- t1 = values[i+1];
- codeWord = huff_ctab6[t0+4][t1+4];
- codeLength = LO_LTAB(huff_ltab5_6[t0+4][t1+4]);
+ t0 = values[i+0];
+ t1 = values[i+1];
+ codeWord = huff_ctab6[t0+4][t1+4];
+ codeLength = LO_LTAB(huff_ltab5_6[t0+4][t1+4]);
WriteBits(hBitstream,codeWord,codeLength);
}
break;
case CODE_BOOK_7_NO:
for(i=0; i<width; i+=2){
- sign=0;
- signLength=0;
- t0 = values[i+0];
-
+ sign=0;
+ signLength=0;
+ t0 = values[i+0];
+
if(t0 != 0){
signLength = signLength + 1;
- sign = sign << 1;
-
+ sign = sign << 1;
+
if(t0 < 0){
- sign|=1;
+ sign|=1;
t0=-t0;
}
}
- t1 = values[i+1];
-
+ t1 = values[i+1];
+
if(t1 != 0){
signLength = signLength + 1;
- sign = sign << 1;
-
+ sign = sign << 1;
+
if(t1 < 0){
- sign|=1;
+ sign|=1;
t1=-t1;
}
}
- codeWord = huff_ctab7[t0][t1];
- codeLength = HI_LTAB(huff_ltab7_8[t0][t1]);
+ codeWord = huff_ctab7[t0][t1];
+ codeLength = HI_LTAB(huff_ltab7_8[t0][t1]);
WriteBits(hBitstream,codeWord,codeLength);
WriteBits(hBitstream,sign,signLength);
}
@@ -693,33 +693,33 @@ Word16 codeValues(Word16 *values, Word16 width, Word16 codeBook, HANDLE_BIT_BUF
case CODE_BOOK_8_NO:
for(i=0; i<width; i+=2) {
- sign=0;
- signLength=0;
- t0 = values[i+0];
-
- if(t0 != 0){
- signLength = signLength + 1;
- sign = sign << 1;
-
- if(t0 < 0){
- sign|=1;
- t0=-t0;
- }
- }
-
- t1 = values[i+1];
-
- if(t1 != 0){
- signLength = signLength + 1;
- sign = sign << 1;
-
- if(t1 < 0){
- sign|=1;
- t1=-t1;
- }
- }
- codeWord = huff_ctab8[t0][t1];
- codeLength = LO_LTAB(huff_ltab7_8[t0][t1]);
+ sign=0;
+ signLength=0;
+ t0 = values[i+0];
+
+ if(t0 != 0){
+ signLength = signLength + 1;
+ sign = sign << 1;
+
+ if(t0 < 0){
+ sign|=1;
+ t0=-t0;
+ }
+ }
+
+ t1 = values[i+1];
+
+ if(t1 != 0){
+ signLength = signLength + 1;
+ sign = sign << 1;
+
+ if(t1 < 0){
+ sign|=1;
+ t1=-t1;
+ }
+ }
+ codeWord = huff_ctab8[t0][t1];
+ codeLength = LO_LTAB(huff_ltab7_8[t0][t1]);
WriteBits(hBitstream,codeWord,codeLength);
WriteBits(hBitstream,sign,signLength);
}
@@ -727,33 +727,33 @@ Word16 codeValues(Word16 *values, Word16 width, Word16 codeBook, HANDLE_BIT_BUF
case CODE_BOOK_9_NO:
for(i=0; i<width; i+=2) {
- sign=0;
- signLength=0;
- t0 = values[i+0];
-
- if(t0 != 0){
- signLength = signLength + 1;
- sign = sign << 1;
-
- if(t0 < 0){
- sign|=1;
- t0=-t0;
- }
- }
-
- t1 = values[i+1];
-
- if(t1 != 0){
- signLength = signLength + 1;
- sign = sign << 1;
-
- if(t1 < 0){
- sign|=1;
- t1=-t1;
- }
- }
- codeWord = huff_ctab9[t0][t1];
- codeLength = HI_LTAB(huff_ltab9_10[t0][t1]);
+ sign=0;
+ signLength=0;
+ t0 = values[i+0];
+
+ if(t0 != 0){
+ signLength = signLength + 1;
+ sign = sign << 1;
+
+ if(t0 < 0){
+ sign|=1;
+ t0=-t0;
+ }
+ }
+
+ t1 = values[i+1];
+
+ if(t1 != 0){
+ signLength = signLength + 1;
+ sign = sign << 1;
+
+ if(t1 < 0){
+ sign|=1;
+ t1=-t1;
+ }
+ }
+ codeWord = huff_ctab9[t0][t1];
+ codeLength = HI_LTAB(huff_ltab9_10[t0][t1]);
WriteBits(hBitstream,codeWord,codeLength);
WriteBits(hBitstream,sign,signLength);
}
@@ -761,33 +761,33 @@ Word16 codeValues(Word16 *values, Word16 width, Word16 codeBook, HANDLE_BIT_BUF
case CODE_BOOK_10_NO:
for(i=0; i<width; i+=2) {
- sign=0;
- signLength=0;
- t0 = values[i+0];
-
- if(t0 != 0){
- signLength = signLength + 1;
- sign = sign << 1;
-
- if(t0 < 0){
- sign|=1;
- t0=-t0;
- }
- }
-
- t1 = values[i+1];
-
- if(t1 != 0){
- signLength = signLength + 1;
- sign = sign << 1;
-
- if(t1 < 0){
- sign|=1;
- t1=-t1;
- }
- }
- codeWord = huff_ctab10[t0][t1];
- codeLength = LO_LTAB(huff_ltab9_10[t0][t1]);
+ sign=0;
+ signLength=0;
+ t0 = values[i+0];
+
+ if(t0 != 0){
+ signLength = signLength + 1;
+ sign = sign << 1;
+
+ if(t0 < 0){
+ sign|=1;
+ t0=-t0;
+ }
+ }
+
+ t1 = values[i+1];
+
+ if(t1 != 0){
+ signLength = signLength + 1;
+ sign = sign << 1;
+
+ if(t1 < 0){
+ sign|=1;
+ t1=-t1;
+ }
+ }
+ codeWord = huff_ctab10[t0][t1];
+ codeLength = LO_LTAB(huff_ltab9_10[t0][t1]);
WriteBits(hBitstream,codeWord,codeLength);
WriteBits(hBitstream,sign,signLength);
}
@@ -795,45 +795,45 @@ Word16 codeValues(Word16 *values, Word16 width, Word16 codeBook, HANDLE_BIT_BUF
case CODE_BOOK_ESC_NO:
for(i=0; i<width; i+=2) {
- sign=0;
- signLength=0;
- t0 = values[i+0];
-
- if(t0 != 0){
- signLength = signLength + 1;
- sign = sign << 1;
-
- if(t0 < 0){
- sign|=1;
- t0=-t0;
- }
- }
-
- t1 = values[i+1];
-
- if(t1 != 0){
- signLength = signLength + 1;
- sign = sign << 1;
-
- if(t1 < 0){
- sign|=1;
- t1=-t1;
- }
- }
+ sign=0;
+ signLength=0;
+ t0 = values[i+0];
+
+ if(t0 != 0){
+ signLength = signLength + 1;
+ sign = sign << 1;
+
+ if(t0 < 0){
+ sign|=1;
+ t0=-t0;
+ }
+ }
+
+ t1 = values[i+1];
+
+ if(t1 != 0){
+ signLength = signLength + 1;
+ sign = sign << 1;
+
+ if(t1 < 0){
+ sign|=1;
+ t1=-t1;
+ }
+ }
t00 = min(t0,16);
t01 = min(t1,16);
- codeWord = huff_ctab11[t00][t01];
- codeLength = huff_ltab11[t00][t01];
+ codeWord = huff_ctab11[t00][t01];
+ codeLength = huff_ltab11[t00][t01];
WriteBits(hBitstream,codeWord,codeLength);
WriteBits(hBitstream,sign,signLength);
-
+
if(t0 >= 16){
Word16 n, p;
- n=0;
- p=t0;
+ n=0;
+ p=t0;
while(sub(p=(p >> 1), 16) >= 0){
-
+
WriteBits(hBitstream,1,1);
n = n + 1;
}
@@ -841,13 +841,13 @@ Word16 codeValues(Word16 *values, Word16 width, Word16 codeBook, HANDLE_BIT_BUF
n = n + 4;
WriteBits(hBitstream,(t0 - (1 << n)),n);
}
-
+
if(t1 >= 16){
Word16 n, p;
- n=0;
- p=t1;
+ n=0;
+ p=t1;
while(sub(p=(p >> 1), 16) >= 0){
-
+
WriteBits(hBitstream,1,1);
n = n + 1;
}
@@ -871,15 +871,15 @@ Word16 bitCountScalefactorDelta(Word16 delta)
Word16 codeScalefactorDelta(Word16 delta, HANDLE_BIT_BUF hBitstream)
{
- Word32 codeWord;
+ Word32 codeWord;
Word16 codeLength;
-
-
+
+
if(delta > CODE_BOOK_SCF_LAV || delta < -CODE_BOOK_SCF_LAV)
return(1);
-
- codeWord = huff_ctabscf[delta + CODE_BOOK_SCF_LAV];
- codeLength = huff_ltabscf[delta + CODE_BOOK_SCF_LAV];
+
+ codeWord = huff_ctabscf[delta + CODE_BOOK_SCF_LAV];
+ codeLength = huff_ltabscf[delta + CODE_BOOK_SCF_LAV];
WriteBits(hBitstream,codeWord,codeLength);
return(0);
}
diff --git a/media/libstagefright/codecs/aacenc/src/bitbuffer.c b/media/libstagefright/codecs/aacenc/src/bitbuffer.c
index ef13c13..5615ac3 100644
--- a/media/libstagefright/codecs/aacenc/src/bitbuffer.c
+++ b/media/libstagefright/codecs/aacenc/src/bitbuffer.c
@@ -32,15 +32,15 @@ static void updateBitBufWordPtr(HANDLE_BIT_BUF hBitBuf,
UWord8 **pBitBufWord,
Word16 cnt)
{
- *pBitBufWord += cnt;
+ *pBitBufWord += cnt;
+
-
if(*pBitBufWord > hBitBuf->pBitBufEnd) {
- *pBitBufWord -= (hBitBuf->pBitBufEnd - hBitBuf->pBitBufBase + 1);
+ *pBitBufWord -= (hBitBuf->pBitBufEnd - hBitBuf->pBitBufBase + 1);
}
-
+
if(*pBitBufWord < hBitBuf->pBitBufBase) {
- *pBitBufWord += (hBitBuf->pBitBufEnd - hBitBuf->pBitBufBase + 1);
+ *pBitBufWord += (hBitBuf->pBitBufEnd - hBitBuf->pBitBufBase + 1);
}
}
@@ -57,18 +57,18 @@ HANDLE_BIT_BUF CreateBitBuffer(HANDLE_BIT_BUF hBitBuf,
{
assert(bitBufSize*8 <= 32768);
- hBitBuf->pBitBufBase = pBitBufBase;
- hBitBuf->pBitBufEnd = pBitBufBase + bitBufSize - 1;
+ hBitBuf->pBitBufBase = pBitBufBase;
+ hBitBuf->pBitBufEnd = pBitBufBase + bitBufSize - 1;
- hBitBuf->pWriteNext = pBitBufBase;
+ hBitBuf->pWriteNext = pBitBufBase;
hBitBuf->cache = 0;
-
- hBitBuf->wBitPos = 0;
- hBitBuf->cntBits = 0;
-
- hBitBuf->size = (bitBufSize << 3);
- hBitBuf->isValid = 1;
+
+ hBitBuf->wBitPos = 0;
+ hBitBuf->cntBits = 0;
+
+ hBitBuf->size = (bitBufSize << 3);
+ hBitBuf->isValid = 1;
return hBitBuf;
}
@@ -82,8 +82,8 @@ HANDLE_BIT_BUF CreateBitBuffer(HANDLE_BIT_BUF hBitBuf,
void DeleteBitBuffer(HANDLE_BIT_BUF *hBitBuf)
{
if(*hBitBuf)
- (*hBitBuf)->isValid = 0;
- *hBitBuf = NULL;
+ (*hBitBuf)->isValid = 0;
+ *hBitBuf = NULL;
}
/*****************************************************************************
@@ -96,15 +96,15 @@ void ResetBitBuf(HANDLE_BIT_BUF hBitBuf,
UWord8 *pBitBufBase,
Word16 bitBufSize)
{
- hBitBuf->pBitBufBase = pBitBufBase;
- hBitBuf->pBitBufEnd = pBitBufBase + bitBufSize - 1;
+ hBitBuf->pBitBufBase = pBitBufBase;
+ hBitBuf->pBitBufEnd = pBitBufBase + bitBufSize - 1;
+
-
- hBitBuf->pWriteNext = pBitBufBase;
+ hBitBuf->pWriteNext = pBitBufBase;
+
+ hBitBuf->wBitPos = 0;
+ hBitBuf->cntBits = 0;
- hBitBuf->wBitPos = 0;
- hBitBuf->cntBits = 0;
-
hBitBuf->cache = 0;
}
@@ -117,7 +117,7 @@ void ResetBitBuf(HANDLE_BIT_BUF hBitBuf,
void CopyBitBuf(HANDLE_BIT_BUF hBitBufSrc,
HANDLE_BIT_BUF hBitBufDst)
{
- *hBitBufDst = *hBitBufSrc;
+ *hBitBufDst = *hBitBufSrc;
}
/*****************************************************************************
@@ -148,25 +148,25 @@ Word16 WriteBits(HANDLE_BIT_BUF hBitBuf,
if(noBitsToWrite == 0)
return noBitsToWrite;
- hBitBuf->cntBits += noBitsToWrite;
+ hBitBuf->cntBits += noBitsToWrite;
wBitPos = hBitBuf->wBitPos;
wBitPos += noBitsToWrite;
- writeValue <<= 32 - wBitPos;
+ writeValue <<= 32 - wBitPos;
writeValue |= hBitBuf->cache;
-
- while (wBitPos >= 8)
+
+ while (wBitPos >= 8)
{
UWord8 tmp;
tmp = (UWord8)((writeValue >> 24) & 0xFF);
-
- *hBitBuf->pWriteNext++ = tmp;
+
+ *hBitBuf->pWriteNext++ = tmp;
writeValue <<= 8;
wBitPos -= 8;
}
-
+
hBitBuf->wBitPos = wBitPos;
hBitBuf->cache = writeValue;
-
+
return noBitsToWrite;
}
diff --git a/media/libstagefright/codecs/aacenc/src/bitenc.c b/media/libstagefright/codecs/aacenc/src/bitenc.c
index ea34407..fcc12dd 100644
--- a/media/libstagefright/codecs/aacenc/src/bitenc.c
+++ b/media/libstagefright/codecs/aacenc/src/bitenc.c
@@ -46,7 +46,7 @@ static Word32 encodeSpectralData(Word16 *sfbOffset,
Word16 i,sfb;
Word16 dbgVal;
SECTION_INFO* psectioninfo;
- dbgVal = GetBitsAvail(hBitStream);
+ dbgVal = GetBitsAvail(hBitStream);
for(i=0; i<sectionData->noOfSections; i++) {
psectioninfo = &(sectionData->sectionInfo[i]);
@@ -100,7 +100,7 @@ static void encodeIcsInfo(Word16 blockType,
WriteBits(hBitStream,blockType,2);
WriteBits(hBitStream,windowShape,1);
-
+
switch(blockType){
case LONG_WINDOW:
case START_WINDOW:
@@ -137,30 +137,30 @@ static Word32 encodeSectionData(SECTION_DATA *sectionData,
Word16 sectLen;
Word16 i;
Word16 dbgVal=GetBitsAvail(hBitStream);
-
-
+
+
switch(sectionData->blockType)
{
case LONG_WINDOW:
case START_WINDOW:
case STOP_WINDOW:
- sectEscapeVal = SECT_ESC_VAL_LONG;
- sectLenBits = SECT_BITS_LONG;
+ sectEscapeVal = SECT_ESC_VAL_LONG;
+ sectLenBits = SECT_BITS_LONG;
break;
case SHORT_WINDOW:
- sectEscapeVal = SECT_ESC_VAL_SHORT;
- sectLenBits = SECT_BITS_SHORT;
+ sectEscapeVal = SECT_ESC_VAL_SHORT;
+ sectLenBits = SECT_BITS_SHORT;
break;
}
for(i=0;i<sectionData->noOfSections;i++) {
WriteBits(hBitStream,sectionData->sectionInfo[i].codeBook,4);
- sectLen = sectionData->sectionInfo[i].sfbCnt;
+ sectLen = sectionData->sectionInfo[i].sfbCnt;
while(sectLen >= sectEscapeVal) {
-
+
WriteBits(hBitStream,sectEscapeVal,sectLenBits);
sectLen = sectLen - sectEscapeVal;
}
@@ -183,24 +183,24 @@ static Word32 encodeScaleFactorData(UWord16 *maxValueInSfb,
{
Word16 i,j,lastValScf,deltaScf;
Word16 dbgVal = GetBitsAvail(hBitStream);
- SECTION_INFO* psectioninfo;
+ SECTION_INFO* psectioninfo;
- lastValScf=scalefac[sectionData->firstScf];
+ lastValScf=scalefac[sectionData->firstScf];
for(i=0;i<sectionData->noOfSections;i++){
- psectioninfo = &(sectionData->sectionInfo[i]);
+ psectioninfo = &(sectionData->sectionInfo[i]);
if (psectioninfo->codeBook != CODE_BOOK_ZERO_NO){
for (j=psectioninfo->sfbStart;
j<psectioninfo->sfbStart+psectioninfo->sfbCnt; j++){
-
+
if(maxValueInSfb[j] == 0) {
- deltaScf = 0;
+ deltaScf = 0;
}
else {
deltaScf = lastValScf - scalefac[j];
- lastValScf = scalefac[j];
+ lastValScf = scalefac[j];
}
-
+
if(codeScalefactorDelta(deltaScf,hBitStream)){
return(1);
}
@@ -227,7 +227,7 @@ static void encodeMSInfo(Word16 sfbCnt,
{
Word16 sfb, sfbOff;
-
+
switch(msDigest)
{
case MS_NONE:
@@ -242,7 +242,7 @@ static void encodeMSInfo(Word16 sfbCnt,
WriteBits(hBitStream,SI_MS_MASK_SOME,2);
for(sfbOff = 0; sfbOff < sfbCnt; sfbOff+=grpSfb) {
for(sfb=0; sfb<maxSfb; sfb++) {
-
+
if(jsFlags[sfbOff+sfb] & MS_ON) {
WriteBits(hBitStream,1,1);
}
@@ -272,7 +272,7 @@ static void encodeTnsData(TNS_INFO tnsInfo,
Word16 coefBits;
Flag isShort;
-
+
if (blockType==2) {
isShort = 1;
numOfWindows = TRANS_FAC;
@@ -282,52 +282,52 @@ static void encodeTnsData(TNS_INFO tnsInfo,
numOfWindows = 1;
}
- tnsPresent=0;
+ tnsPresent=0;
for (i=0; i<numOfWindows; i++) {
-
+
if (tnsInfo.tnsActive[i]) {
- tnsPresent=1;
+ tnsPresent=1;
}
}
-
+
if (tnsPresent==0) {
WriteBits(hBitStream,0,1);
}
else{ /* there is data to be written*/
WriteBits(hBitStream,1,1); /*data_present */
for (i=0; i<numOfWindows; i++) {
-
+
WriteBits(hBitStream,tnsInfo.tnsActive[i],(isShort?1:2));
-
+
if (tnsInfo.tnsActive[i]) {
-
+
WriteBits(hBitStream,((tnsInfo.coefRes[i] - 4)==0?1:0),1);
-
+
WriteBits(hBitStream,tnsInfo.length[i],(isShort?4:6));
-
+
WriteBits(hBitStream,tnsInfo.order[i],(isShort?3:5));
-
+
if (tnsInfo.order[i]){
WriteBits(hBitStream, FILTER_DIRECTION, 1);
-
+
if(tnsInfo.coefRes[i] == 4) {
- coefBits = 3;
+ coefBits = 3;
for(k=0; k<tnsInfo.order[i]; k++) {
-
+
if (tnsInfo.coef[i*TNS_MAX_ORDER_SHORT+k] > 3 ||
tnsInfo.coef[i*TNS_MAX_ORDER_SHORT+k] < -4) {
- coefBits = 4;
+ coefBits = 4;
break;
}
}
}
else {
- coefBits = 2;
+ coefBits = 2;
for(k=0; k<tnsInfo.order[i]; k++) {
-
+
if (tnsInfo.coef[i*TNS_MAX_ORDER_SHORT+k] > 1 ||
tnsInfo.coef[i*TNS_MAX_ORDER_SHORT+k] < -2) {
- coefBits = 3;
+ coefBits = 3;
break;
}
}
@@ -335,7 +335,7 @@ static void encodeTnsData(TNS_INFO tnsInfo,
WriteBits(hBitStream, tnsInfo.coefRes[i] - coefBits, 1); /*coef_compres*/
for (k=0; k<tnsInfo.order[i]; k++ ) {
static const Word16 rmask[] = {0,1,3,7,15};
-
+
WriteBits(hBitStream,tnsInfo.coef[i*TNS_MAX_ORDER_SHORT+k] & rmask[coefBits],coefBits);
}
}
@@ -397,7 +397,7 @@ writeIndividualChannelStream(Flag commonWindow,
encodeGlobalGain(globalGain, logNorm,scf[sectionData->firstScf], hBitStream);
-
+
if(!commonWindow) {
encodeIcsInfo(sectionData->blockType, windowShape, groupingMask, sectionData, hBitStream);
}
@@ -536,7 +536,7 @@ static void writeFillElement( const UWord8 *ancBytes,
Write fill Element(s):
amount of a fill element can be 7+X*8 Bits, X element of [0..270]
*/
-
+
while(totFillBits >= (3+4)) {
cnt = min(((totFillBits - (3+4)) >> 3), ((1<<4)-1));
@@ -545,7 +545,7 @@ static void writeFillElement( const UWord8 *ancBytes,
totFillBits = totFillBits - (3+4);
-
+
if ((cnt == (1<<4)-1)) {
esc_count = min( ((totFillBits >> 3) - ((1<<4)-1)), (1<<8)-1);
@@ -555,7 +555,7 @@ static void writeFillElement( const UWord8 *ancBytes,
}
for(i=0;i<cnt;i++) {
-
+
if(ancBytes)
WriteBits(hBitStream, *ancBytes++,8);
else
@@ -576,7 +576,7 @@ Word16 WriteBitstream (HANDLE_BIT_BUF hBitStream,
ELEMENT_INFO elInfo,
QC_OUT *qcOut,
PSY_OUT *psyOut,
- Word16 *globUsedBits,
+ Word16 *globUsedBits,
const UWord8 *ancBytes,
Word16 sampindex
) /* returns error code */
@@ -586,7 +586,7 @@ Word16 WriteBitstream (HANDLE_BIT_BUF hBitStream,
Word16 frameBits=0;
/* struct bitbuffer bsWriteCopy; */
- bitMarkUp = GetBitsAvail(hBitStream);
+ bitMarkUp = GetBitsAvail(hBitStream);
if(qcOut->qcElement.adtsUsed) /* write adts header*/
{
WriteBits(hBitStream, 0xFFF, 12); /* 12 bit Syncword */
@@ -601,23 +601,23 @@ Word16 WriteBitstream (HANDLE_BIT_BUF hBitStream,
6 channels or less, else a channel
configuration should be written */
WriteBits(hBitStream, 0, 1); /* original/copy */
- WriteBits(hBitStream, 0, 1); /* home */
-
+ WriteBits(hBitStream, 0, 1); /* home */
+
/* Variable ADTS header */
WriteBits(hBitStream, 0, 1); /* copyr. id. bit */
WriteBits(hBitStream, 0, 1); /* copyr. id. start */
WriteBits(hBitStream, *globUsedBits >> 3, 13);
WriteBits(hBitStream, 0x7FF, 11); /* buffer fullness (0x7FF for VBR) */
- WriteBits(hBitStream, 0, 2); /* raw data blocks (0+1=1) */
+ WriteBits(hBitStream, 0, 2); /* raw data blocks (0+1=1) */
}
- *globUsedBits=0;
+ *globUsedBits=0;
{
Word16 *sfbOffset[2];
TNS_INFO tnsInfo[2];
- elementUsedBits = 0;
+ elementUsedBits = 0;
switch (elInfo.elType) {
@@ -636,7 +636,7 @@ Word16 WriteBitstream (HANDLE_BIT_BUF hBitStream,
{
Word16 msDigest;
Word16 *msFlags = psyOut->psyOutElement.toolsInfo.msMask;
- msDigest = psyOut->psyOutElement.toolsInfo.msDigest;
+ msDigest = psyOut->psyOutElement.toolsInfo.msDigest;
sfbOffset[0] =
psyOut->psyOutChannel[elInfo.ChannelIndex[0]].sfbOffsets;
sfbOffset[1] =
@@ -668,20 +668,20 @@ Word16 WriteBitstream (HANDLE_BIT_BUF hBitStream,
}
writeFillElement(NULL,
- qcOut->totFillBits,
+ qcOut->totFillBits,
hBitStream);
WriteBits(hBitStream,ID_END,3);
/* byte alignement */
- WriteBits(hBitStream,0, (8 - (hBitStream->cntBits & 7)) & 7);
-
+ WriteBits(hBitStream,0, (8 - (hBitStream->cntBits & 7)) & 7);
+
*globUsedBits = *globUsedBits- bitMarkUp;
- bitMarkUp = GetBitsAvail(hBitStream);
+ bitMarkUp = GetBitsAvail(hBitStream);
*globUsedBits = *globUsedBits + bitMarkUp;
frameBits = frameBits + *globUsedBits;
-
+
if (frameBits != (qcOut->totStaticBitsUsed+qcOut->totDynBitsUsed + qcOut->totAncBitsUsed +
qcOut->totFillBits + qcOut->alignBits)) {
return(-1);
diff --git a/media/libstagefright/codecs/aacenc/src/block_switch.c b/media/libstagefright/codecs/aacenc/src/block_switch.c
index d54e32f..47fd15e 100644
--- a/media/libstagefright/codecs/aacenc/src/block_switch.c
+++ b/media/libstagefright/codecs/aacenc/src/block_switch.c
@@ -52,7 +52,7 @@ CalcWindowEnergy(BLOCK_SWITCHING_CONTROL *blockSwitchingControl,
IIR high pass coeffs
*/
Word32 hiPassCoeff[BLOCK_SWITCHING_IIR_LEN] = {
- 0xbec8b439, 0x609d4952 /* -0.5095f, 0.7548f */
+ 0xbec8b439, 0x609d4952 /* -0.5095f, 0.7548f */
};
static const Word32 accWindowNrgFac = 0x26666666; /* factor for accumulating filtered window energies 0.3 */
@@ -76,8 +76,8 @@ Word16 InitBlockSwitching(BLOCK_SWITCHING_CONTROL *blockSwitchingControl,
const Word32 bitRate, const Word16 nChannels)
{
/* select attackRatio */
-
- if ((sub(nChannels,1)==0 && L_sub(bitRate, 24000) > 0) ||
+
+ if ((sub(nChannels,1)==0 && L_sub(bitRate, 24000) > 0) ||
(sub(nChannels,1)>0 && bitRate > (nChannels * 16000))) {
blockSwitchingControl->invAttackRatio = invAttackRatioHighBr;
}
@@ -116,7 +116,7 @@ Word16 BlockSwitching(BLOCK_SWITCHING_CONTROL *blockSwitchingControl,
/* Reset grouping info */
for (i=0; i<TRANS_FAC; i++) {
- blockSwitchingControl->groupLen[i] = 0;
+ blockSwitchingControl->groupLen[i] = 0;
}
@@ -125,21 +125,21 @@ Word16 BlockSwitching(BLOCK_SWITCHING_CONTROL *blockSwitchingControl,
&blockSwitchingControl->attackIndex,
BLOCK_SWITCH_WINDOWS);
- blockSwitchingControl->attackIndex = blockSwitchingControl->lastAttackIndex;
+ blockSwitchingControl->attackIndex = blockSwitchingControl->lastAttackIndex;
/* Set grouping info */
- blockSwitchingControl->noOfGroups = MAX_NO_OF_GROUPS;
+ blockSwitchingControl->noOfGroups = MAX_NO_OF_GROUPS;
for (i=0; i<MAX_NO_OF_GROUPS; i++) {
- blockSwitchingControl->groupLen[i] = suggestedGroupingTable[blockSwitchingControl->attackIndex][i];
+ blockSwitchingControl->groupLen[i] = suggestedGroupingTable[blockSwitchingControl->attackIndex][i];
}
-
+
/* if the samplerate is less than 16000, it should be all the short block, avoid pre&post echo */
if(sampleRate >= 16000) {
/* Save current window energy as last window energy */
for (w=0; w<BLOCK_SWITCH_WINDOWS; w++) {
- blockSwitchingControl->windowNrg[0][w] = blockSwitchingControl->windowNrg[1][w];
- blockSwitchingControl->windowNrgF[0][w] = blockSwitchingControl->windowNrgF[1][w];
+ blockSwitchingControl->windowNrg[0][w] = blockSwitchingControl->windowNrg[1][w];
+ blockSwitchingControl->windowNrgF[0][w] = blockSwitchingControl->windowNrgF[1][w];
}
@@ -147,10 +147,10 @@ Word16 BlockSwitching(BLOCK_SWITCHING_CONTROL *blockSwitchingControl,
CalcWindowEnergy(blockSwitchingControl, timeSignal, chIncrement, BLOCK_SWITCH_WINDOW_LEN);
/* reset attack */
- blockSwitchingControl->attack = FALSE;
+ blockSwitchingControl->attack = FALSE;
- enMax = 0;
- enM1 = blockSwitchingControl->windowNrgF[0][BLOCK_SWITCH_WINDOWS-1];
+ enMax = 0;
+ enM1 = blockSwitchingControl->windowNrgF[0][BLOCK_SWITCH_WINDOWS-1];
for (w=0; w<BLOCK_SWITCH_WINDOWS; w++) {
Word32 enM1_Tmp, accWindowNrg_Tmp, windowNrgF_Tmp;
@@ -172,15 +172,15 @@ Word16 BlockSwitching(BLOCK_SWITCHING_CONTROL *blockSwitchingControl,
/* if the energy with the ratio is bigger than the average, and the attack and short block */
if ((fixmul(windowNrgF_Tmp, blockSwitchingControl->invAttackRatio) >> windowNrgF_Shf) >
blockSwitchingControl->accWindowNrg ) {
- blockSwitchingControl->attack = TRUE;
- blockSwitchingControl->lastAttackIndex = w;
+ blockSwitchingControl->attack = TRUE;
+ blockSwitchingControl->lastAttackIndex = w;
}
- enM1 = blockSwitchingControl->windowNrgF[1][w];
+ enM1 = blockSwitchingControl->windowNrgF[1][w];
enMax = max(enMax, enM1);
}
if (enMax < minAttackNrg) {
- blockSwitchingControl->attack = FALSE;
+ blockSwitchingControl->attack = FALSE;
}
}
else
@@ -188,22 +188,22 @@ Word16 BlockSwitching(BLOCK_SWITCHING_CONTROL *blockSwitchingControl,
blockSwitchingControl->attack = TRUE;
}
- /* Check if attack spreads over frame border */
+ /* Check if attack spreads over frame border */
if ((!blockSwitchingControl->attack) && (blockSwitchingControl->lastattack)) {
-
+
if (blockSwitchingControl->attackIndex == TRANS_FAC-1) {
- blockSwitchingControl->attack = TRUE;
+ blockSwitchingControl->attack = TRUE;
}
- blockSwitchingControl->lastattack = FALSE;
+ blockSwitchingControl->lastattack = FALSE;
}
else {
- blockSwitchingControl->lastattack = blockSwitchingControl->attack;
+ blockSwitchingControl->lastattack = blockSwitchingControl->attack;
}
- blockSwitchingControl->windowSequence = blockSwitchingControl->nextwindowSequence;
+ blockSwitchingControl->windowSequence = blockSwitchingControl->nextwindowSequence;
+
-
if (blockSwitchingControl->attack) {
blockSwitchingControl->nextwindowSequence = SHORT_WINDOW;
}
@@ -211,27 +211,27 @@ Word16 BlockSwitching(BLOCK_SWITCHING_CONTROL *blockSwitchingControl,
blockSwitchingControl->nextwindowSequence = LONG_WINDOW;
}
- /* update short block group */
+ /* update short block group */
if (blockSwitchingControl->nextwindowSequence == SHORT_WINDOW) {
-
+
if (blockSwitchingControl->windowSequence== LONG_WINDOW) {
- blockSwitchingControl->windowSequence = START_WINDOW;
+ blockSwitchingControl->windowSequence = START_WINDOW;
}
-
+
if (blockSwitchingControl->windowSequence == STOP_WINDOW) {
- blockSwitchingControl->windowSequence = SHORT_WINDOW;
- blockSwitchingControl->noOfGroups = 3;
- blockSwitchingControl->groupLen[0] = 3;
- blockSwitchingControl->groupLen[1] = 3;
- blockSwitchingControl->groupLen[2] = 2;
+ blockSwitchingControl->windowSequence = SHORT_WINDOW;
+ blockSwitchingControl->noOfGroups = 3;
+ blockSwitchingControl->groupLen[0] = 3;
+ blockSwitchingControl->groupLen[1] = 3;
+ blockSwitchingControl->groupLen[2] = 2;
}
}
- /* update block type */
+ /* update block type */
if (blockSwitchingControl->nextwindowSequence == LONG_WINDOW) {
-
+
if (blockSwitchingControl->windowSequence == SHORT_WINDOW) {
- blockSwitchingControl->nextwindowSequence = STOP_WINDOW;
+ blockSwitchingControl->nextwindowSequence = STOP_WINDOW;
}
}
@@ -252,17 +252,17 @@ static Word32 SrchMaxWithIndex(const Word32 in[], Word16 *index, Word16 n)
Word32 i, idx;
/* Search maximum value in array and return index and value */
- max = 0;
- idx = 0;
+ max = 0;
+ idx = 0;
for (i = 0; i < n; i++) {
-
+
if (in[i+1] > max) {
- max = in[i+1];
- idx = i;
+ max = in[i+1];
+ idx = i;
}
}
- *index = idx;
+ *index = idx;
return(max);
}
@@ -292,11 +292,11 @@ Word32 CalcWindowEnergy(BLOCK_SWITCHING_CONTROL *blockSwitchingControl,
states1 = blockSwitchingControl->iirStates[1];
Coeff0 = hiPassCoeff[0];
Coeff1 = hiPassCoeff[1];
- tidx = 0;
+ tidx = 0;
for (w=0; w < BLOCK_SWITCH_WINDOWS; w++) {
- accuUE = 0;
- accuFE = 0;
+ accuUE = 0;
+ accuFE = 0;
for(i=0; i<windowLen; i++) {
Word32 accu1, accu2, accu3;
@@ -309,16 +309,16 @@ Word32 CalcWindowEnergy(BLOCK_SWITCHING_CONTROL *blockSwitchingControl,
accu3 = accu1 - states0;
out = accu3 - accu2;
- states0 = accu1;
- states1 = out;
+ states0 = accu1;
+ states1 = out;
- tempFiltered = extract_h(out);
+ tempFiltered = extract_h(out);
accuUE += (tempUnfiltered * tempUnfiltered) >> ENERGY_SHIFT;
accuFE += (tempFiltered * tempFiltered) >> ENERGY_SHIFT;
}
- blockSwitchingControl->windowNrg[1][w] = accuUE;
- blockSwitchingControl->windowNrgF[1][w] = accuFE;
+ blockSwitchingControl->windowNrg[1][w] = accuUE;
+ blockSwitchingControl->windowNrgF[1][w] = accuFE;
}
@@ -346,8 +346,8 @@ static Word16 IIRFilter(const Word16 in, const Word32 coeff[], Word32 states[])
accu2 = fixmul( coeff[0], states[1] );
out = accu3 - accu2;
- states[0] = accu1;
- states[1] = out;
+ states[0] = accu1;
+ states[1] = out;
return round16(out);
}
@@ -374,54 +374,54 @@ Word16 SyncBlockSwitching(BLOCK_SWITCHING_CONTROL *blockSwitchingControlLeft,
const Word16 nChannels)
{
Word16 i;
- Word16 patchType = LONG_WINDOW;
+ Word16 patchType = LONG_WINDOW;
+
-
if (nChannels == 1) { /* Mono */
if (blockSwitchingControlLeft->windowSequence != SHORT_WINDOW) {
- blockSwitchingControlLeft->noOfGroups = 1;
- blockSwitchingControlLeft->groupLen[0] = 1;
+ blockSwitchingControlLeft->noOfGroups = 1;
+ blockSwitchingControlLeft->groupLen[0] = 1;
for (i=1; i<TRANS_FAC; i++) {
- blockSwitchingControlLeft->groupLen[i] = 0;
+ blockSwitchingControlLeft->groupLen[i] = 0;
}
}
}
else { /* Stereo common Window */
- patchType = synchronizedBlockTypeTable[patchType][blockSwitchingControlLeft->windowSequence];
- patchType = synchronizedBlockTypeTable[patchType][blockSwitchingControlRight->windowSequence];
+ patchType = synchronizedBlockTypeTable[patchType][blockSwitchingControlLeft->windowSequence];
+ patchType = synchronizedBlockTypeTable[patchType][blockSwitchingControlRight->windowSequence];
/* Set synchronized Blocktype */
- blockSwitchingControlLeft->windowSequence = patchType;
- blockSwitchingControlRight->windowSequence = patchType;
+ blockSwitchingControlLeft->windowSequence = patchType;
+ blockSwitchingControlRight->windowSequence = patchType;
- /* Synchronize grouping info */
+ /* Synchronize grouping info */
if(patchType != SHORT_WINDOW) { /* Long Blocks */
/* Set grouping info */
- blockSwitchingControlLeft->noOfGroups = 1;
- blockSwitchingControlRight->noOfGroups = 1;
- blockSwitchingControlLeft->groupLen[0] = 1;
- blockSwitchingControlRight->groupLen[0] = 1;
+ blockSwitchingControlLeft->noOfGroups = 1;
+ blockSwitchingControlRight->noOfGroups = 1;
+ blockSwitchingControlLeft->groupLen[0] = 1;
+ blockSwitchingControlRight->groupLen[0] = 1;
for (i=1; i<TRANS_FAC; i++) {
- blockSwitchingControlLeft->groupLen[i] = 0;
- blockSwitchingControlRight->groupLen[i] = 0;
+ blockSwitchingControlLeft->groupLen[i] = 0;
+ blockSwitchingControlRight->groupLen[i] = 0;
}
}
else {
-
+
if (blockSwitchingControlLeft->maxWindowNrg > blockSwitchingControlRight->maxWindowNrg) {
/* Left Channel wins */
- blockSwitchingControlRight->noOfGroups = blockSwitchingControlLeft->noOfGroups;
+ blockSwitchingControlRight->noOfGroups = blockSwitchingControlLeft->noOfGroups;
for (i=0; i<TRANS_FAC; i++) {
- blockSwitchingControlRight->groupLen[i] = blockSwitchingControlLeft->groupLen[i];
+ blockSwitchingControlRight->groupLen[i] = blockSwitchingControlLeft->groupLen[i];
}
}
else {
/* Right Channel wins */
- blockSwitchingControlLeft->noOfGroups = blockSwitchingControlRight->noOfGroups;
+ blockSwitchingControlLeft->noOfGroups = blockSwitchingControlRight->noOfGroups;
for (i=0; i<TRANS_FAC; i++) {
- blockSwitchingControlLeft->groupLen[i] = blockSwitchingControlRight->groupLen[i];
+ blockSwitchingControlLeft->groupLen[i] = blockSwitchingControlRight->groupLen[i];
}
}
}
diff --git a/media/libstagefright/codecs/aacenc/src/channel_map.c b/media/libstagefright/codecs/aacenc/src/channel_map.c
index 2d41f8c..f6552ed 100644
--- a/media/libstagefright/codecs/aacenc/src/channel_map.c
+++ b/media/libstagefright/codecs/aacenc/src/channel_map.c
@@ -29,32 +29,32 @@ static const Word16 maxChannelBits = MAXBITS_COEF;
static Word16 initElement(ELEMENT_INFO* elInfo, ELEMENT_TYPE elType)
{
- Word16 error=0;
+ Word16 error=0;
- elInfo->elType=elType;
+ elInfo->elType=elType;
switch(elInfo->elType) {
case ID_SCE:
- elInfo->nChannelsInEl=1;
+ elInfo->nChannelsInEl=1;
- elInfo->ChannelIndex[0]=0;
+ elInfo->ChannelIndex[0]=0;
- elInfo->instanceTag=0;
+ elInfo->instanceTag=0;
break;
case ID_CPE:
- elInfo->nChannelsInEl=2;
+ elInfo->nChannelsInEl=2;
- elInfo->ChannelIndex[0]=0;
- elInfo->ChannelIndex[1]=1;
+ elInfo->ChannelIndex[0]=0;
+ elInfo->ChannelIndex[1]=1;
- elInfo->instanceTag=0;
+ elInfo->instanceTag=0;
break;
default:
- error=1;
+ error=1;
}
return error;
@@ -64,11 +64,11 @@ static Word16 initElement(ELEMENT_INFO* elInfo, ELEMENT_TYPE elType)
Word16 InitElementInfo (Word16 nChannels, ELEMENT_INFO* elInfo)
{
Word16 error;
- error = 0;
+ error = 0;
switch(nChannels) {
- case 1:
+ case 1:
initElement(elInfo, ID_SCE);
break;
@@ -77,7 +77,7 @@ Word16 InitElementInfo (Word16 nChannels, ELEMENT_INFO* elInfo)
break;
default:
- error=4;
+ error=4;
}
return error;
@@ -91,18 +91,18 @@ Word16 InitElementBits(ELEMENT_BITS *elementBits,
Word16 staticBitsTot)
{
Word16 error;
- error = 0;
+ error = 0;
switch(elInfo.nChannelsInEl) {
case 1:
- elementBits->chBitrate = bitrateTot;
+ elementBits->chBitrate = bitrateTot;
elementBits->averageBits = averageBitsTot - staticBitsTot;
- elementBits->maxBits = maxChannelBits;
+ elementBits->maxBits = maxChannelBits;
elementBits->maxBitResBits = maxChannelBits - averageBitsTot;
- elementBits->maxBitResBits = elementBits->maxBitResBits - (elementBits->maxBitResBits & 7);
- elementBits->bitResLevel = elementBits->maxBitResBits;
- elementBits->relativeBits = 0x4000; /* 1.0f/2 */
+ elementBits->maxBitResBits = elementBits->maxBitResBits - (elementBits->maxBitResBits & 7);
+ elementBits->bitResLevel = elementBits->maxBitResBits;
+ elementBits->relativeBits = 0x4000; /* 1.0f/2 */
break;
case 2:
@@ -111,13 +111,13 @@ Word16 InitElementBits(ELEMENT_BITS *elementBits,
elementBits->maxBits = maxChannelBits << 1;
elementBits->maxBitResBits = (maxChannelBits << 1) - averageBitsTot;
- elementBits->maxBitResBits = elementBits->maxBitResBits - (elementBits->maxBitResBits & 7);
- elementBits->bitResLevel = elementBits->maxBitResBits;
- elementBits->relativeBits = 0x4000; /* 1.0f/2 */
+ elementBits->maxBitResBits = elementBits->maxBitResBits - (elementBits->maxBitResBits & 7);
+ elementBits->bitResLevel = elementBits->maxBitResBits;
+ elementBits->relativeBits = 0x4000; /* 1.0f/2 */
break;
default:
- error = 1;
+ error = 1;
}
return error;
}
diff --git a/media/libstagefright/codecs/aacenc/src/dyn_bits.c b/media/libstagefright/codecs/aacenc/src/dyn_bits.c
index f3b3e02..3d2efdc 100644
--- a/media/libstagefright/codecs/aacenc/src/dyn_bits.c
+++ b/media/libstagefright/codecs/aacenc/src/dyn_bits.c
@@ -45,12 +45,12 @@ buildBitLookUp(const Word16 *quantSpectrum,
for (i=0; i<maxSfb; i++) {
Word16 sfbWidth, maxVal;
- sectionInfo[i].sfbCnt = 1;
- sectionInfo[i].sfbStart = i;
- sectionInfo[i].sectionBits = INVALID_BITCOUNT;
- sectionInfo[i].codeBook = -1;
- sfbWidth = sfbOffset[i + 1] - sfbOffset[i];
- maxVal = sfbMax[i];
+ sectionInfo[i].sfbCnt = 1;
+ sectionInfo[i].sfbStart = i;
+ sectionInfo[i].sectionBits = INVALID_BITCOUNT;
+ sectionInfo[i].codeBook = -1;
+ sfbWidth = sfbOffset[i + 1] - sfbOffset[i];
+ maxVal = sfbMax[i];
bitCount(quantSpectrum + sfbOffset[i], sfbWidth, maxVal, bitLookUp[i]);
}
}
@@ -66,13 +66,13 @@ static Word16
findBestBook(const Word16 *bc, Word16 *book)
{
Word32 minBits, j;
- minBits = INVALID_BITCOUNT;
+ minBits = INVALID_BITCOUNT;
for (j=0; j<=CODE_BOOK_ESC_NDX; j++) {
-
+
if (bc[j] < minBits) {
- minBits = bc[j];
- *book = j;
+ minBits = bc[j];
+ *book = j;
}
}
return extract_l(minBits);
@@ -82,12 +82,12 @@ static Word16
findMinMergeBits(const Word16 *bc1, const Word16 *bc2)
{
Word32 minBits, j, sum;
- minBits = INVALID_BITCOUNT;
+ minBits = INVALID_BITCOUNT;
for (j=0; j<=CODE_BOOK_ESC_NDX; j++) {
sum = bc1[j] + bc2[j];
if (sum < minBits) {
- minBits = sum;
+ minBits = sum;
}
}
return extract_l(minBits);
@@ -109,13 +109,13 @@ findMaxMerge(const Word16 mergeGainLookUp[MAX_SFB_LONG],
const Word16 maxSfb, Word16 *maxNdx)
{
Word32 i, maxMergeGain;
- maxMergeGain = 0;
+ maxMergeGain = 0;
for (i=0; i+sectionInfo[i].sfbCnt < maxSfb; i += sectionInfo[i].sfbCnt) {
-
+
if (mergeGainLookUp[i] > maxMergeGain) {
- maxMergeGain = mergeGainLookUp[i];
- *maxNdx = i;
+ maxMergeGain = mergeGainLookUp[i];
+ *maxNdx = i;
}
}
return extract_l(maxMergeGain);
@@ -159,7 +159,7 @@ gmStage0(SECTION_INFO * sectionInfo,
for (i=0; i<maxSfb; i++) {
/* Side-Info bits will be calculated in Stage 1! */
-
+
if (sectionInfo[i].sectionBits == INVALID_BITCOUNT) {
sectionInfo[i].sectionBits = findBestBook(bitLookUp[i], &(sectionInfo[i].codeBook));
}
@@ -180,13 +180,13 @@ gmStage1(SECTION_INFO * sectionInfo,
SECTION_INFO * sectionInfo_s;
SECTION_INFO * sectionInfo_e;
Word32 mergeStart, mergeEnd;
- mergeStart = 0;
+ mergeStart = 0;
do {
sectionInfo_s = sectionInfo + mergeStart;
for (mergeEnd=mergeStart+1; mergeEnd<maxSfb; mergeEnd++) {
- sectionInfo_e = sectionInfo + mergeEnd;
+ sectionInfo_e = sectionInfo + mergeEnd;
if (sectionInfo_s->codeBook != sectionInfo_e->codeBook)
break;
sectionInfo_s->sfbCnt += 1;
@@ -196,11 +196,11 @@ gmStage1(SECTION_INFO * sectionInfo,
}
sectionInfo_s->sectionBits += sideInfoTab[sectionInfo_s->sfbCnt];
- sectionInfo[mergeEnd - 1].sfbStart = sectionInfo_s->sfbStart; /* speed up prev search */
+ sectionInfo[mergeEnd - 1].sfbStart = sectionInfo_s->sfbStart; /* speed up prev search */
+
+ mergeStart = mergeEnd;
- mergeStart = mergeEnd;
-
} while (mergeStart - maxSfb < 0);
}
@@ -230,7 +230,7 @@ gmStage2(SECTION_INFO *sectionInfo,
maxMergeGain = findMaxMerge(mergeGainLookUp, sectionInfo, maxSfb, &maxNdx);
-
+
if (maxMergeGain <= 0)
break;
@@ -244,7 +244,7 @@ gmStage2(SECTION_INFO *sectionInfo,
mergeBitLookUp(bitLookUp[maxNdx], bitLookUp[maxNdxNext]);
-
+
if (maxNdx != 0) {
maxNdxLast = sectionInfo[maxNdx - 1].sfbStart;
mergeGainLookUp[maxNdxLast] = CalcMergeGain(sectionInfo,
@@ -255,9 +255,9 @@ gmStage2(SECTION_INFO *sectionInfo,
}
maxNdxNext = maxNdx + sectionInfo[maxNdx].sfbCnt;
- sectionInfo[maxNdxNext - 1].sfbStart = sectionInfo[maxNdx].sfbStart;
+ sectionInfo[maxNdxNext - 1].sfbStart = sectionInfo[maxNdx].sfbStart;
+
-
if (maxNdxNext - maxSfb < 0) {
mergeGainLookUp[maxNdx] = CalcMergeGain(sectionInfo,
bitLookUp,
@@ -286,7 +286,7 @@ noiselessCounter(SECTION_DATA *sectionData,
/*
use appropriate side info table
- */
+ */
switch (blockType)
{
case LONG_WINDOW:
@@ -300,11 +300,11 @@ noiselessCounter(SECTION_DATA *sectionData,
}
- sectionData->noOfSections = 0;
- sectionData->huffmanBits = 0;
- sectionData->sideInfoBits = 0;
+ sectionData->noOfSections = 0;
+ sectionData->huffmanBits = 0;
+ sectionData->sideInfoBits = 0;
+
-
if (sectionData->maxSfbPerGroup == 0)
return;
@@ -353,7 +353,7 @@ noiselessCounter(SECTION_DATA *sectionData,
sectionData->huffmanBits = (sectionData->huffmanBits +
(sectionInfo[i].sectionBits - sideInfoTab[sectionInfo[i].sfbCnt]));
sectionData->sideInfoBits = (sectionData->sideInfoBits + sideInfoTab[sectionInfo[i].sfbCnt]);
- sectionData->sectionInfo[sectionData->noOfSections] = sectionInfo[i];
+ sectionData->sectionInfo[sectionData->noOfSections] = sectionInfo[i];
sectionData->noOfSections = sectionData->noOfSections + 1;
}
}
@@ -386,25 +386,25 @@ static void scfCount(const Word16 *scalefacGain,
Word32 lastValScf = 0;
Word32 deltaScf = 0;
Flag found = 0;
- Word32 scfSkipCounter = 0;
-
+ Word32 scfSkipCounter = 0;
+
+
+ sectionData->scalefacBits = 0;
- sectionData->scalefacBits = 0;
-
if (scalefacGain == NULL) {
return;
}
- lastValScf = 0;
- sectionData->firstScf = 0;
-
+ lastValScf = 0;
+ sectionData->firstScf = 0;
+
psectionInfo = sectionData->sectionInfo;
for (i=0; i<sectionData->noOfSections; i++) {
-
+
if (psectionInfo->codeBook != CODE_BOOK_ZERO_NO) {
- sectionData->firstScf = psectionInfo->sfbStart;
- lastValScf = scalefacGain[sectionData->firstScf];
+ sectionData->firstScf = psectionInfo->sfbStart;
+ lastValScf = scalefacGain[sectionData->firstScf];
break;
}
psectionInfo += 1;
@@ -412,38 +412,38 @@ static void scfCount(const Word16 *scalefacGain,
psectionInfo = sectionData->sectionInfo;
for (i=0; i<sectionData->noOfSections; i++, psectionInfo += 1) {
-
+
if (psectionInfo->codeBook != CODE_BOOK_ZERO_NO
&& psectionInfo->codeBook != CODE_BOOK_PNS_NO) {
for (j = psectionInfo->sfbStart;
j < (psectionInfo->sfbStart + psectionInfo->sfbCnt); j++) {
/* check if we can repeat the last value to save bits */
-
+
if (maxValueInSfb[j] == 0) {
- found = 0;
-
+ found = 0;
+
if (scfSkipCounter == 0) {
/* end of section */
-
+
if (j - ((psectionInfo->sfbStart + psectionInfo->sfbCnt) - 1) == 0) {
- found = 0;
+ found = 0;
}
else {
for (k = j + 1; k < psectionInfo->sfbStart + psectionInfo->sfbCnt; k++) {
-
+
if (maxValueInSfb[k] != 0) {
int tmp = L_abs(scalefacGain[k] - lastValScf);
- found = 1;
-
+ found = 1;
+
if ( tmp < CODE_BOOK_SCF_LAV) {
/* save bits */
- deltaScf = 0;
+ deltaScf = 0;
}
else {
/* do not save bits */
deltaScf = lastValScf - scalefacGain[j];
- lastValScf = scalefacGain[j];
- scfSkipCounter = 0;
+ lastValScf = scalefacGain[j];
+ scfSkipCounter = 0;
}
break;
}
@@ -451,26 +451,26 @@ static void scfCount(const Word16 *scalefacGain,
scfSkipCounter = scfSkipCounter + 1;
}
}
-
+
psectionInfom = psectionInfo + 1;
/* search for the next maxValueInSfb[] != 0 in all other sections */
for (m = i + 1; (m < sectionData->noOfSections) && (found == 0); m++) {
-
+
if ((psectionInfom->codeBook != CODE_BOOK_ZERO_NO) &&
(psectionInfom->codeBook != CODE_BOOK_PNS_NO)) {
for (n = psectionInfom->sfbStart;
n < (psectionInfom->sfbStart + psectionInfom->sfbCnt); n++) {
-
+
if (maxValueInSfb[n] != 0) {
- found = 1;
-
+ found = 1;
+
if ( (abs_s(scalefacGain[n] - lastValScf) < CODE_BOOK_SCF_LAV)) {
- deltaScf = 0;
+ deltaScf = 0;
}
else {
deltaScf = (lastValScf - scalefacGain[j]);
- lastValScf = scalefacGain[j];
- scfSkipCounter = 0;
+ lastValScf = scalefacGain[j];
+ scfSkipCounter = 0;
}
break;
}
@@ -481,20 +481,20 @@ static void scfCount(const Word16 *scalefacGain,
psectionInfom += 1;
}
-
+
if (found == 0) {
- deltaScf = 0;
- scfSkipCounter = 0;
+ deltaScf = 0;
+ scfSkipCounter = 0;
}
}
else {
- deltaScf = 0;
+ deltaScf = 0;
scfSkipCounter = scfSkipCounter - 1;
}
}
else {
deltaScf = lastValScf - scalefacGain[j];
- lastValScf = scalefacGain[j];
+ lastValScf = scalefacGain[j];
}
sectionData->scalefacBits += bitCountScalefactorDelta(deltaScf);
}
@@ -517,14 +517,14 @@ dynBitCount(const Word16 *quantSpectrum,
const Word16 *sfbOffset,
SECTION_DATA *sectionData)
{
- sectionData->blockType = blockType;
- sectionData->sfbCnt = sfbCnt;
- sectionData->sfbPerGroup = sfbPerGroup;
+ sectionData->blockType = blockType;
+ sectionData->sfbCnt = sfbCnt;
+ sectionData->sfbPerGroup = sfbPerGroup;
if(sfbPerGroup)
- sectionData->noOfGroups = sfbCnt/sfbPerGroup;
+ sectionData->noOfGroups = sfbCnt/sfbPerGroup;
else
sectionData->noOfGroups = 0x7fff;
- sectionData->maxSfbPerGroup = maxSfbPerGroup;
+ sectionData->maxSfbPerGroup = maxSfbPerGroup;
noiselessCounter(sectionData,
sectionData->mergeGainLookUp,
@@ -539,7 +539,7 @@ dynBitCount(const Word16 *quantSpectrum,
sectionData);
- return (sectionData->huffmanBits + sectionData->sideInfoBits +
+ return (sectionData->huffmanBits + sectionData->sideInfoBits +
sectionData->scalefacBits);
}
diff --git a/media/libstagefright/codecs/aacenc/src/grp_data.c b/media/libstagefright/codecs/aacenc/src/grp_data.c
index fb88654..7861e1c 100644
--- a/media/libstagefright/codecs/aacenc/src/grp_data.c
+++ b/media/libstagefright/codecs/aacenc/src/grp_data.c
@@ -57,29 +57,29 @@ groupShortData(Word32 *mdctSpectrum,
/* for short: regroup and */
/* cumulate energies und thresholds group-wise . */
-
+
/* calculate sfbCnt */
- highestSfb = 0;
+ highestSfb = 0;
for (wnd=0; wnd<TRANS_FAC; wnd++) {
for (sfb=sfbCnt - 1; sfb>=highestSfb; sfb--) {
for (line=(sfbOffset[sfb + 1] - 1); line>=sfbOffset[sfb]; line--) {
-
- if (mdctSpectrum[wnd*FRAME_LEN_SHORT+line] != 0) break;
+
+ if (mdctSpectrum[wnd*FRAME_LEN_SHORT+line] != 0) break;
}
-
+
if (line >= sfbOffset[sfb]) break;
}
highestSfb = max(highestSfb, sfb);
}
-
+
if (highestSfb < 0) {
- highestSfb = 0;
+ highestSfb = 0;
}
*maxSfbPerGroup = highestSfb + 1;
/* calculate sfbOffset */
- i = 0;
- offset = 0;
+ i = 0;
+ offset = 0;
for (grp = 0; grp < noOfGroups; grp++) {
for (sfb = 0; sfb < sfbCnt; sfb++) {
groupedSfbOffset[i] = offset + sfbOffset[sfb] * groupLen[grp];
@@ -87,15 +87,15 @@ groupShortData(Word32 *mdctSpectrum,
}
offset += groupLen[grp] * FRAME_LEN_SHORT;
}
- groupedSfbOffset[i] = FRAME_LEN_LONG;
+ groupedSfbOffset[i] = FRAME_LEN_LONG;
i += 1;
/* calculate minSnr */
- i = 0;
- offset = 0;
+ i = 0;
+ offset = 0;
for (grp = 0; grp < noOfGroups; grp++) {
for (sfb = 0; sfb < sfbCnt; sfb++) {
- groupedSfbMinSnr[i] = sfbMinSnr[sfb];
+ groupedSfbMinSnr[i] = sfbMinSnr[sfb];
i += 1;
}
offset += groupLen[grp] * FRAME_LEN_SHORT;
@@ -103,74 +103,74 @@ groupShortData(Word32 *mdctSpectrum,
/* sum up sfbThresholds */
- wnd = 0;
- i = 0;
+ wnd = 0;
+ i = 0;
for (grp = 0; grp < noOfGroups; grp++) {
for (sfb = 0; sfb < sfbCnt; sfb++) {
- Word32 thresh = sfbThreshold->sfbShort[wnd][sfb];
+ Word32 thresh = sfbThreshold->sfbShort[wnd][sfb];
for (j=1; j<groupLen[grp]; j++) {
thresh = L_add(thresh, sfbThreshold->sfbShort[wnd+j][sfb]);
}
- sfbThreshold->sfbLong[i] = thresh;
+ sfbThreshold->sfbLong[i] = thresh;
i += 1;
}
wnd += groupLen[grp];
}
/* sum up sfbEnergies left/right */
- wnd = 0;
- i = 0;
+ wnd = 0;
+ i = 0;
for (grp = 0; grp < noOfGroups; grp++) {
for (sfb = 0; sfb < sfbCnt; sfb++) {
- Word32 energy = sfbEnergy->sfbShort[wnd][sfb];
+ Word32 energy = sfbEnergy->sfbShort[wnd][sfb];
for (j=1; j<groupLen[grp]; j++) {
energy = L_add(energy, sfbEnergy->sfbShort[wnd+j][sfb]);
}
- sfbEnergy->sfbLong[i] = energy;
+ sfbEnergy->sfbLong[i] = energy;
i += 1;
}
wnd += groupLen[grp];
}
/* sum up sfbEnergies mid/side */
- wnd = 0;
- i = 0;
+ wnd = 0;
+ i = 0;
for (grp = 0; grp < noOfGroups; grp++) {
for (sfb = 0; sfb < sfbCnt; sfb++) {
- Word32 energy = sfbEnergyMS->sfbShort[wnd][sfb];
+ Word32 energy = sfbEnergyMS->sfbShort[wnd][sfb];
for (j=1; j<groupLen[grp]; j++) {
energy = L_add(energy, sfbEnergyMS->sfbShort[wnd+j][sfb]);
}
- sfbEnergyMS->sfbLong[i] = energy;
+ sfbEnergyMS->sfbLong[i] = energy;
i += 1;
}
wnd += groupLen[grp];
}
/* sum up sfbSpreadedEnergies */
- wnd = 0;
- i = 0;
+ wnd = 0;
+ i = 0;
for (grp = 0; grp < noOfGroups; grp++) {
for (sfb = 0; sfb < sfbCnt; sfb++) {
- Word32 energy = sfbSpreadedEnergy->sfbShort[wnd][sfb];
+ Word32 energy = sfbSpreadedEnergy->sfbShort[wnd][sfb];
for (j=1; j<groupLen[grp]; j++) {
energy = L_add(energy, sfbSpreadedEnergy->sfbShort[wnd+j][sfb]);
}
- sfbSpreadedEnergy->sfbLong[i] = energy;
+ sfbSpreadedEnergy->sfbLong[i] = energy;
i += 1;
}
wnd += groupLen[grp];
}
/* re-group spectrum */
- wnd = 0;
- i = 0;
+ wnd = 0;
+ i = 0;
for (grp = 0; grp < noOfGroups; grp++) {
for (sfb = 0; sfb < sfbCnt; sfb++) {
for (j = 0; j < groupLen[grp]; j++) {
Word16 lineOffset = FRAME_LEN_SHORT * (wnd + j);
for (line = lineOffset + sfbOffset[sfb]; line < lineOffset + sfbOffset[sfb+1]; line++) {
- tmpSpectrum[i] = mdctSpectrum[line];
+ tmpSpectrum[i] = mdctSpectrum[line];
i = i + 1;
}
}
@@ -179,10 +179,10 @@ groupShortData(Word32 *mdctSpectrum,
}
for(i=0;i<FRAME_LEN_LONG;i+=4) {
- mdctSpectrum[i] = tmpSpectrum[i];
- mdctSpectrum[i+1] = tmpSpectrum[i+1];
- mdctSpectrum[i+2] = tmpSpectrum[i+2];
- mdctSpectrum[i+3] = tmpSpectrum[i+3];
+ mdctSpectrum[i] = tmpSpectrum[i];
+ mdctSpectrum[i+1] = tmpSpectrum[i+1];
+ mdctSpectrum[i+2] = tmpSpectrum[i+2];
+ mdctSpectrum[i+3] = tmpSpectrum[i+3];
}
}
diff --git a/media/libstagefright/codecs/aacenc/src/interface.c b/media/libstagefright/codecs/aacenc/src/interface.c
index 34fee00..f2472d8 100644
--- a/media/libstagefright/codecs/aacenc/src/interface.c
+++ b/media/libstagefright/codecs/aacenc/src/interface.c
@@ -49,56 +49,56 @@ void BuildInterface(Word32 *groupedMdctSpectrum,
PSY_OUT_CHANNEL *psyOutCh)
{
Word32 j;
- Word32 grp;
+ Word32 grp;
Word32 mask;
Word16 *tmpV;
/*
copy values to psyOut
*/
- psyOutCh->maxSfbPerGroup = maxSfbPerGroup;
- psyOutCh->sfbCnt = groupedSfbCnt;
+ psyOutCh->maxSfbPerGroup = maxSfbPerGroup;
+ psyOutCh->sfbCnt = groupedSfbCnt;
if(noOfGroups)
psyOutCh->sfbPerGroup = groupedSfbCnt/ noOfGroups;
else
psyOutCh->sfbPerGroup = 0x7fff;
- psyOutCh->windowSequence = windowSequence;
- psyOutCh->windowShape = windowShape;
- psyOutCh->mdctScale = mdctScale;
+ psyOutCh->windowSequence = windowSequence;
+ psyOutCh->windowShape = windowShape;
+ psyOutCh->mdctScale = mdctScale;
psyOutCh->mdctSpectrum = groupedMdctSpectrum;
psyOutCh->sfbEnergy = groupedSfbEnergy->sfbLong;
psyOutCh->sfbThreshold = groupedSfbThreshold->sfbLong;
psyOutCh->sfbSpreadedEnergy = groupedSfbSpreadedEnergy->sfbLong;
-
+
tmpV = psyOutCh->sfbOffsets;
for(j=0; j<groupedSfbCnt + 1; j++) {
*tmpV++ = groupedSfbOffset[j];
}
-
+
tmpV = psyOutCh->sfbMinSnr;
for(j=0;j<groupedSfbCnt; j++) {
*tmpV++ = groupedSfbMinSnr[j];
}
-
+
/* generate grouping mask */
- mask = 0;
+ mask = 0;
for (grp = 0; grp < noOfGroups; grp++) {
mask = mask << 1;
for (j=1; j<groupLen[grp]; j++) {
mask = mask << 1;
- mask |= 1;
+ mask |= 1;
}
}
- psyOutCh->groupingMask = mask;
-
+ psyOutCh->groupingMask = mask;
+
if (windowSequence != SHORT_WINDOW) {
- psyOutCh->sfbEnSumLR = sfbEnergySumLR.sfbLong;
- psyOutCh->sfbEnSumMS = sfbEnergySumMS.sfbLong;
+ psyOutCh->sfbEnSumLR = sfbEnergySumLR.sfbLong;
+ psyOutCh->sfbEnSumMS = sfbEnergySumMS.sfbLong;
}
else {
Word32 i;
Word32 accuSumMS=0;
- Word32 accuSumLR=0;
+ Word32 accuSumLR=0;
Word32 *pSumMS = sfbEnergySumMS.sfbShort;
Word32 *pSumLR = sfbEnergySumLR.sfbShort;
@@ -106,7 +106,7 @@ void BuildInterface(Word32 *groupedMdctSpectrum,
accuSumLR = L_add(accuSumLR, *pSumLR); pSumLR++;
accuSumMS = L_add(accuSumMS, *pSumMS); pSumMS++;
}
- psyOutCh->sfbEnSumMS = accuSumMS;
- psyOutCh->sfbEnSumLR = accuSumLR;
+ psyOutCh->sfbEnSumMS = accuSumMS;
+ psyOutCh->sfbEnSumLR = accuSumLR;
}
}
diff --git a/media/libstagefright/codecs/aacenc/src/line_pe.c b/media/libstagefright/codecs/aacenc/src/line_pe.c
index 5e93cd0..480dc28 100644
--- a/media/libstagefright/codecs/aacenc/src/line_pe.c
+++ b/media/libstagefright/codecs/aacenc/src/line_pe.c
@@ -45,20 +45,20 @@ void prepareSfbPe(PE_DATA *peData,
const Word16 peOffset)
{
Word32 sfbGrp, sfb;
- Word32 ch;
+ Word32 ch;
for(ch=0; ch<nChannels; ch++) {
PSY_OUT_CHANNEL *psyOutChan = &psyOutChannel[ch];
PE_CHANNEL_DATA *peChanData=&peData->peChannelData[ch];
for(sfbGrp=0;sfbGrp<psyOutChan->sfbCnt; sfbGrp+=psyOutChan->sfbPerGroup){
for (sfb=0; sfb<psyOutChan->maxSfbPerGroup; sfb++) {
- peChanData->sfbNLines4[sfbGrp+sfb] = sfbNRelevantLines[ch][sfbGrp+sfb];
- sfbNRelevantLines[ch][sfbGrp+sfb] = sfbNRelevantLines[ch][sfbGrp+sfb] >> 2;
- peChanData->sfbLdEnergy[sfbGrp+sfb] = logSfbEnergy[ch][sfbGrp+sfb];
+ peChanData->sfbNLines4[sfbGrp+sfb] = sfbNRelevantLines[ch][sfbGrp+sfb];
+ sfbNRelevantLines[ch][sfbGrp+sfb] = sfbNRelevantLines[ch][sfbGrp+sfb] >> 2;
+ peChanData->sfbLdEnergy[sfbGrp+sfb] = logSfbEnergy[ch][sfbGrp+sfb];
}
}
}
- peData->offset = peOffset;
+ peData->offset = peOffset;
}
@@ -78,23 +78,23 @@ void calcSfbPe(PE_DATA *peData,
Word32 ldThr, ldRatio;
Word32 pe, constPart, nActiveLines;
- peData->pe = peData->offset;
- peData->constPart = 0;
- peData->nActiveLines = 0;
+ peData->pe = peData->offset;
+ peData->constPart = 0;
+ peData->nActiveLines = 0;
for(ch=0; ch<nChannels; ch++) {
PSY_OUT_CHANNEL *psyOutChan = &psyOutChannel[ch];
PE_CHANNEL_DATA *peChanData = &peData->peChannelData[ch];
const Word32 *sfbEnergy = psyOutChan->sfbEnergy;
const Word32 *sfbThreshold = psyOutChan->sfbThreshold;
- pe = 0;
- constPart = 0;
- nActiveLines = 0;
+ pe = 0;
+ constPart = 0;
+ nActiveLines = 0;
for(sfbGrp=0; sfbGrp<psyOutChan->sfbCnt; sfbGrp+=psyOutChan->sfbPerGroup) {
for (sfb=0; sfb<psyOutChan->maxSfbPerGroup; sfb++) {
- Word32 nrg = sfbEnergy[sfbGrp+sfb];
- Word32 thres = sfbThreshold[sfbGrp+sfb];
+ Word32 nrg = sfbEnergy[sfbGrp+sfb];
+ Word32 thres = sfbThreshold[sfbGrp+sfb];
Word32 sfbLDEn = peChanData->sfbLdEnergy[sfbGrp+sfb];
if (nrg > thres) {
@@ -102,8 +102,8 @@ void calcSfbPe(PE_DATA *peData,
ldRatio = sfbLDEn - ldThr;
- nLines4 = peChanData->sfbNLines4[sfbGrp+sfb];
-
+ nLines4 = peChanData->sfbNLines4[sfbGrp+sfb];
+
/* sfbPe = nl*log2(en/thr)*/
if (ldRatio >= C1_I) {
peChanData->sfbPe[sfbGrp+sfb] = (nLines4*ldRatio + 8) >> 4;
@@ -120,26 +120,26 @@ void calcSfbPe(PE_DATA *peData,
peChanData->sfbNActiveLines[sfbGrp+sfb] = nLines4 >> 2;
}
else {
- peChanData->sfbPe[sfbGrp+sfb] = 0;
- peChanData->sfbConstPart[sfbGrp+sfb] = 0;
- peChanData->sfbNActiveLines[sfbGrp+sfb] = 0;
+ peChanData->sfbPe[sfbGrp+sfb] = 0;
+ peChanData->sfbConstPart[sfbGrp+sfb] = 0;
+ peChanData->sfbNActiveLines[sfbGrp+sfb] = 0;
}
pe = pe + peChanData->sfbPe[sfbGrp+sfb];
constPart = constPart + peChanData->sfbConstPart[sfbGrp+sfb];
nActiveLines = nActiveLines + peChanData->sfbNActiveLines[sfbGrp+sfb];
}
}
-
- peChanData->pe = saturate(pe);
- peChanData->constPart = saturate(constPart);
- peChanData->nActiveLines = saturate(nActiveLines);
-
+ peChanData->pe = saturate(pe);
+ peChanData->constPart = saturate(constPart);
+ peChanData->nActiveLines = saturate(nActiveLines);
+
+
pe += peData->pe;
- peData->pe = saturate(pe);
+ peData->pe = saturate(pe);
constPart += peData->constPart;
- peData->constPart = saturate(constPart);
+ peData->constPart = saturate(constPart);
nActiveLines += peData->nActiveLines;
peData->nActiveLines = saturate(nActiveLines);
- }
+ }
}
diff --git a/media/libstagefright/codecs/aacenc/src/memalign.c b/media/libstagefright/codecs/aacenc/src/memalign.c
index 44dd4ba..bb266dc 100644
--- a/media/libstagefright/codecs/aacenc/src/memalign.c
+++ b/media/libstagefright/codecs/aacenc/src/memalign.c
@@ -32,7 +32,7 @@
/*****************************************************************************
*
* function name: mem_malloc
-* description: malloc the alignments memory
+* description: malloc the alignments memory
* returns: the point of the memory
*
**********************************************************************************/
diff --git a/media/libstagefright/codecs/aacenc/src/ms_stereo.c b/media/libstagefright/codecs/aacenc/src/ms_stereo.c
index 44d45cc..2e34f14 100644
--- a/media/libstagefright/codecs/aacenc/src/ms_stereo.c
+++ b/media/libstagefright/codecs/aacenc/src/ms_stereo.c
@@ -30,7 +30,7 @@
*
* function name: MsStereoProcessing
* description: detect use ms stereo or not
-* if ((min(thrLn, thrRn)*min(thrLn, thrRn))/(enMn*enSn))
+* if ((min(thrLn, thrRn)*min(thrLn, thrRn))/(enMn*enSn))
* >= ((thrLn *thrRn)/(enLn*enRn)) then ms stereo
*
**********************************************************************************/
@@ -51,7 +51,7 @@ void MsStereoProcessing(Word32 *sfbEnergyLeft,
const Word16 maxSfbPerGroup,
const Word16 *sfbOffset) {
Word32 temp;
- Word32 sfb,sfboffs, j;
+ Word32 sfb,sfboffs, j;
Word32 msMaskTrueSomewhere = 0;
Word32 msMaskFalseSomewhere = 0;
@@ -64,12 +64,12 @@ void MsStereoProcessing(Word32 *sfbEnergyLeft,
Word32 thrL, thrR, nrgL, nrgR;
Word32 idx, shift;
- idx = sfb + sfboffs;
+ idx = sfb + sfboffs;
- thrL = sfbThresholdLeft[idx];
- thrR = sfbThresholdRight[idx];
- nrgL = sfbEnergyLeft[idx];
- nrgR = sfbEnergyRight[idx];
+ thrL = sfbThresholdLeft[idx];
+ thrR = sfbThresholdRight[idx];
+ nrgL = sfbEnergyLeft[idx];
+ nrgR = sfbEnergyRight[idx];
minThreshold = min(thrL, thrR);
@@ -82,8 +82,8 @@ void MsStereoProcessing(Word32 *sfbEnergyLeft,
pnlr = fixmul(nrgL, nrgR);
- nrgL = sfbEnergyMid[idx];
- nrgR = sfbEnergySide[idx];
+ nrgL = sfbEnergyMid[idx];
+ nrgR = sfbEnergySide[idx];
nrgL = max(nrgL,minThreshold) + 1;
shift = norm_l(nrgL);
@@ -97,42 +97,42 @@ void MsStereoProcessing(Word32 *sfbEnergyLeft,
temp = (pnlr + 1) / ((pnms >> 8) + 1);
- temp = pnms - pnlr;
+ temp = pnms - pnlr;
if( temp > 0 ){
- msMask[idx] = 1;
- msMaskTrueSomewhere = 1;
+ msMask[idx] = 1;
+ msMaskTrueSomewhere = 1;
for (j=sfbOffset[idx]; j<sfbOffset[idx+1]; j++) {
Word32 left, right;
left = (mdctSpectrumLeft[j] >> 1);
right = (mdctSpectrumRight[j] >> 1);
- mdctSpectrumLeft[j] = left + right;
- mdctSpectrumRight[j] = left - right;
+ mdctSpectrumLeft[j] = left + right;
+ mdctSpectrumRight[j] = left - right;
}
-
- sfbThresholdLeft[idx] = minThreshold;
- sfbThresholdRight[idx] = minThreshold;
- sfbEnergyLeft[idx] = sfbEnergyMid[idx];
- sfbEnergyRight[idx] = sfbEnergySide[idx];
-
- sfbSpreadedEnRight[idx] = min(sfbSpreadedEnLeft[idx],sfbSpreadedEnRight[idx]) >> 1;
- sfbSpreadedEnLeft[idx] = sfbSpreadedEnRight[idx];
-
+
+ sfbThresholdLeft[idx] = minThreshold;
+ sfbThresholdRight[idx] = minThreshold;
+ sfbEnergyLeft[idx] = sfbEnergyMid[idx];
+ sfbEnergyRight[idx] = sfbEnergySide[idx];
+
+ sfbSpreadedEnRight[idx] = min(sfbSpreadedEnLeft[idx],sfbSpreadedEnRight[idx]) >> 1;
+ sfbSpreadedEnLeft[idx] = sfbSpreadedEnRight[idx];
+
}
else {
- msMask[idx] = 0;
- msMaskFalseSomewhere = 1;
+ msMask[idx] = 0;
+ msMaskFalseSomewhere = 1;
}
- }
- if ( msMaskTrueSomewhere ) {
+ }
+ if ( msMaskTrueSomewhere ) {
if(msMaskFalseSomewhere ) {
- *msDigest = SI_MS_MASK_SOME;
+ *msDigest = SI_MS_MASK_SOME;
} else {
- *msDigest = SI_MS_MASK_ALL;
+ *msDigest = SI_MS_MASK_ALL;
}
} else {
- *msDigest = SI_MS_MASK_NONE;
+ *msDigest = SI_MS_MASK_NONE;
}
}
diff --git a/media/libstagefright/codecs/aacenc/src/pre_echo_control.c b/media/libstagefright/codecs/aacenc/src/pre_echo_control.c
index 1e818a2..1406e11 100644
--- a/media/libstagefright/codecs/aacenc/src/pre_echo_control.c
+++ b/media/libstagefright/codecs/aacenc/src/pre_echo_control.c
@@ -29,7 +29,7 @@
/*****************************************************************************
*
-* function name:InitPreEchoControl
+* function name:InitPreEchoControl
* description: init pre echo control parameter
*
*****************************************************************************/
@@ -40,13 +40,13 @@ void InitPreEchoControl(Word32 *pbThresholdNm1,
Word16 pb;
for(pb=0; pb<numPb; pb++) {
- pbThresholdNm1[pb] = pbThresholdQuiet[pb];
+ pbThresholdNm1[pb] = pbThresholdQuiet[pb];
}
}
/*****************************************************************************
*
-* function name:PreEchoControl
+* function name:PreEchoControl
* description: update shreshold to avoid pre echo
* thr(n) = max(rpmin*thrq(n), min(thrq(n), rpelev*thrq1(n)))
*
@@ -68,22 +68,22 @@ void PreEchoControl(Word32 *pbThresholdNm1,
(void)maxAllowedIncreaseFactor;
scaling = ((mdctScale - mdctScalenm1) << 1);
-
+
if ( scaling > 0 ) {
for(i = 0; i < numPb; i++) {
tmpThreshold1 = pbThresholdNm1[i] >> (scaling-1);
tmpThreshold2 = L_mpy_ls(pbThreshold[i], minRemainingThresholdFactor);
/* copy thresholds to internal memory */
- pbThresholdNm1[i] = pbThreshold[i];
+ pbThresholdNm1[i] = pbThreshold[i];
+
-
if(pbThreshold[i] > tmpThreshold1) {
- pbThreshold[i] = tmpThreshold1;
+ pbThreshold[i] = tmpThreshold1;
}
-
+
if(tmpThreshold2 > pbThreshold[i]) {
- pbThreshold[i] = tmpThreshold2;
+ pbThreshold[i] = tmpThreshold2;
}
}
@@ -96,15 +96,15 @@ void PreEchoControl(Word32 *pbThresholdNm1,
tmpThreshold2 = L_mpy_ls(pbThreshold[i], minRemainingThresholdFactor);
/* copy thresholds to internal memory */
- pbThresholdNm1[i] = pbThreshold[i];
+ pbThresholdNm1[i] = pbThreshold[i];
+
-
if(((pbThreshold[i] >> scaling) > tmpThreshold1)) {
pbThreshold[i] = tmpThreshold1 << scaling;
}
-
+
if(tmpThreshold2 > pbThreshold[i]) {
- pbThreshold[i] = tmpThreshold2;
+ pbThreshold[i] = tmpThreshold2;
}
}
diff --git a/media/libstagefright/codecs/aacenc/src/psy_configuration.c b/media/libstagefright/codecs/aacenc/src/psy_configuration.c
index 8e599b0..02d92ab 100644
--- a/media/libstagefright/codecs/aacenc/src/psy_configuration.c
+++ b/media/libstagefright/codecs/aacenc/src/psy_configuration.c
@@ -88,17 +88,17 @@ Word32 GetSRIndex(Word32 sampleRate)
*
* function name: atan_1000
* description: calculates 1000*atan(x/1000)
-* based on atan approx for x > 0
+* based on atan approx for x > 0
* atan(x) = x/((float)1.0f+(float)0.280872f*x*x) if x < 1
* = pi/2 - x/((float)0.280872f +x*x) if x >= 1
* return: 1000*atan(x/1000)
*
**********************************************************************************/
-static Word16 atan_1000(Word32 val)
+static Word16 atan_1000(Word32 val)
{
Word32 y;
-
+
if(L_sub(val, 1000) < 0) {
y = extract_l(((1000 * val) / (1000 + ((val * val) / ATAN_COEF1))));
}
@@ -126,9 +126,9 @@ static Word16 BarcLineValue(Word16 noOfLines, Word16 fftLine, Word32 samplingFre
/* center frequency of fft line */
center_freq = (fftLine * samplingFreq) / (noOfLines << 1);
temp = atan_1000((center_freq << 2) / (3*10));
- bvalFFTLine =
+ bvalFFTLine =
(26600 * atan_1000((center_freq*76) / 100) + 7*temp*temp) / (2*1000*1000 / BARC_SCALE);
-
+
return saturate(bvalFFTLine);
}
@@ -148,17 +148,17 @@ static void initThrQuiet(Word16 numPb,
for(i=0; i<numPb; i++) {
Word16 bv1, bv2;
-
+
if (i>0)
bv1 = (pbBarcVal[i] + pbBarcVal[i-1]) >> 1;
else
bv1 = pbBarcVal[i] >> 1;
-
+
if (i < (numPb - 1))
bv2 = (pbBarcVal[i] + pbBarcVal[i+1]) >> 1;
else {
- bv2 = pbBarcVal[i];
+ bv2 = pbBarcVal[i];
}
bv1 = min((bv1 / BARC_SCALE), max_bark);
@@ -166,9 +166,9 @@ static void initThrQuiet(Word16 numPb,
barcThrQuiet = min(BARC_THR_QUIET[bv1], BARC_THR_QUIET[bv2]);
-
+
/*
- we calculate
+ we calculate
pow(10.0f,(float)(barcThrQuiet - ABS_LEV)*0.1)*(float)ABS_LOW*(pbOffset[i+1] - pbOffset[i]);
*/
@@ -196,47 +196,47 @@ static void initSpreading(Word16 numPb,
Word16 i;
Word16 maskLowSprEn, maskHighSprEn;
-
+
if (sub(blockType, SHORT_WINDOW) != 0) {
- maskLowSprEn = maskLowSprEnLong;
-
+ maskLowSprEn = maskLowSprEnLong;
+
if (bitrate > 22000)
maskHighSprEn = maskHighSprEnLong;
else
maskHighSprEn = maskHighSprEnLongLowBr;
}
else {
- maskLowSprEn = maskLowSprEnShort;
- maskHighSprEn = maskHighSprEnShort;
+ maskLowSprEn = maskLowSprEnShort;
+ maskHighSprEn = maskHighSprEnShort;
}
for(i=0; i<numPb; i++) {
-
+
if (i > 0) {
Word32 dbVal;
Word16 dbark = pbBarcValue[i] - pbBarcValue[i-1];
/*
- we calulate pow(10.0f, -0.1*dbVal/BARC_SCALE)
+ we calulate pow(10.0f, -0.1*dbVal/BARC_SCALE)
*/
dbVal = (maskHigh * dbark);
pbMaskHiFactor[i] = round16(pow2_xy(L_negate(dbVal), (Word32)LOG2_1000)); /* 0.301 log10(2) */
-
+
dbVal = (maskLow * dbark);
- pbMaskLoFactor[i-1] = round16(pow2_xy(L_negate(dbVal),(Word32)LOG2_1000));
-
-
+ pbMaskLoFactor[i-1] = round16(pow2_xy(L_negate(dbVal),(Word32)LOG2_1000));
+
+
dbVal = (maskHighSprEn * dbark);
- pbMaskHiFactorSprEn[i] = round16(pow2_xy(L_negate(dbVal),(Word32)LOG2_1000));
+ pbMaskHiFactorSprEn[i] = round16(pow2_xy(L_negate(dbVal),(Word32)LOG2_1000));
dbVal = (maskLowSprEn * dbark);
pbMaskLoFactorSprEn[i-1] = round16(pow2_xy(L_negate(dbVal),(Word32)LOG2_1000));
}
else {
- pbMaskHiFactor[i] = 0;
- pbMaskLoFactor[numPb-1] = 0;
+ pbMaskHiFactor[i] = 0;
+ pbMaskLoFactor[numPb-1] = 0;
- pbMaskHiFactorSprEn[i] = 0;
- pbMaskLoFactorSprEn[numPb-1] = 0;
+ pbMaskHiFactorSprEn[i] = 0;
+ pbMaskLoFactorSprEn[numPb-1] = 0;
}
}
@@ -258,12 +258,12 @@ static void initBarcValues(Word16 numPb,
Word16 i;
Word16 pbBval0, pbBval1;
- pbBval0 = 0;
+ pbBval0 = 0;
for(i=0; i<numPb; i++){
pbBval1 = BarcLineValue(numLines, pbOffset[i+1], samplingFrequency);
pbBval[i] = (pbBval0 + pbBval1) >> 1;
- pbBval0 = pbBval1;
+ pbBval0 = pbBval1;
}
}
@@ -295,38 +295,38 @@ static void initMinSnr(const Word32 bitrate,
pePerWindow = bits2pe(extract_l((bitrate * numLines) / samplerate));
- pbVal0 = 0;
+ pbVal0 = 0;
for (sfb=0; sfb<sfbActive; sfb++) {
pbVal1 = (pbBarcVal[sfb] << 1) - pbVal0;
barcWidth = pbVal1 - pbVal0;
- pbVal0 = pbVal1;
+ pbVal0 = pbVal1;
/* allow at least 2.4% of pe for each active barc */
pePart = ((pePerWindow * 24) * (max_bark * barcWidth)) /
(pbBarcVal[sfbActive-1] * (sfbOffset[sfb+1] - sfbOffset[sfb]));
-
-
- pePart = min(pePart, 8400);
+
+
+ pePart = min(pePart, 8400);
pePart = max(pePart, 1400);
/* minSnr(n) = 1/(2^sfbPemin(n)/w(n) - 1.5)*/
/* we add an offset of 2^16 to the pow functions */
/* 0xc000 = 1.5*(1 << 15)*/
-
+
snr = pow2_xy((pePart - 16*1000),1000) - 0x0000c000;
-
+
if(snr > 0x00008000)
{
shift = norm_l(snr);
- snr = Div_32(0x00008000 << shift, snr << shift);
+ snr = Div_32(0x00008000 << shift, snr << shift);
}
else
{
snr = 0x7fffffff;
}
-
+
/* upper limit is -1 dB */
snr = min(snr, c_maxsnr);
/* lower limit is -25 dB */
@@ -354,7 +354,7 @@ Word16 InitPsyConfigurationLong(Word32 bitrate,
/*
init sfb table
*/
- samplerateindex = GetSRIndex(samplerate);
+ samplerateindex = GetSRIndex(samplerate);
psyConf->sfbCnt = sfBandTotalLong[samplerateindex];
psyConf->sfbOffset = sfBandTabLong + sfBandTabLongOffset[samplerateindex];
psyConf->sampRateIdx = samplerateindex;
@@ -391,19 +391,19 @@ Word16 InitPsyConfigurationLong(Word32 bitrate,
/*
init ratio
*/
- psyConf->ratio = c_ratio;
+ psyConf->ratio = c_ratio;
- psyConf->maxAllowedIncreaseFactor = 2;
- psyConf->minRemainingThresholdFactor = c_minRemainingThresholdFactor; /* 0.01 *(1 << 15)*/
+ psyConf->maxAllowedIncreaseFactor = 2;
+ psyConf->minRemainingThresholdFactor = c_minRemainingThresholdFactor; /* 0.01 *(1 << 15)*/
- psyConf->clipEnergy = c_maxClipEnergyLong;
+ psyConf->clipEnergy = c_maxClipEnergyLong;
psyConf->lowpassLine = extract_l((bandwidth<<1) * FRAME_LEN_LONG / samplerate);
for (sfb = 0; sfb < psyConf->sfbCnt; sfb++) {
if (sub(psyConf->sfbOffset[sfb], psyConf->lowpassLine) >= 0)
break;
}
- psyConf->sfbActive = sfb;
+ psyConf->sfbActive = sfb;
/*
calculate minSnr
@@ -429,7 +429,7 @@ Word16 InitPsyConfigurationLong(Word32 bitrate,
Word16 InitPsyConfigurationShort(Word32 bitrate,
Word32 samplerate,
Word16 bandwidth,
- PSY_CONFIGURATION_SHORT *psyConf)
+ PSY_CONFIGURATION_SHORT *psyConf)
{
Word32 samplerateindex;
Word16 sfbBarcVal[MAX_SFB_SHORT];
@@ -437,7 +437,7 @@ Word16 InitPsyConfigurationShort(Word32 bitrate,
/*
init sfb table
*/
- samplerateindex = GetSRIndex(samplerate);
+ samplerateindex = GetSRIndex(samplerate);
psyConf->sfbCnt = sfBandTotalShort[samplerateindex];
psyConf->sfbOffset = sfBandTabShort + sfBandTabShortOffset[samplerateindex];
psyConf->sampRateIdx = samplerateindex;
@@ -473,21 +473,21 @@ Word16 InitPsyConfigurationShort(Word32 bitrate,
/*
init ratio
*/
- psyConf->ratio = c_ratio;
+ psyConf->ratio = c_ratio;
- psyConf->maxAllowedIncreaseFactor = 2;
- psyConf->minRemainingThresholdFactor = c_minRemainingThresholdFactor;
+ psyConf->maxAllowedIncreaseFactor = 2;
+ psyConf->minRemainingThresholdFactor = c_minRemainingThresholdFactor;
- psyConf->clipEnergy = c_maxClipEnergyShort;
+ psyConf->clipEnergy = c_maxClipEnergyShort;
psyConf->lowpassLine = extract_l(((bandwidth << 1) * FRAME_LEN_SHORT) / samplerate);
-
+
for (sfb = 0; sfb < psyConf->sfbCnt; sfb++) {
-
+
if (psyConf->sfbOffset[sfb] >= psyConf->lowpassLine)
break;
}
- psyConf->sfbActive = sfb;
+ psyConf->sfbActive = sfb;
/*
calculate minSnr
diff --git a/media/libstagefright/codecs/aacenc/src/psy_main.c b/media/libstagefright/codecs/aacenc/src/psy_main.c
index 3d0a355..085acb8 100644
--- a/media/libstagefright/codecs/aacenc/src/psy_main.c
+++ b/media/libstagefright/codecs/aacenc/src/psy_main.c
@@ -81,7 +81,7 @@ Word16 PsyNew(PSY_KERNEL *hPsy, Word32 nChan, VO_MEM_OPERATOR *pMemOP)
Word32 *mdctSpectrum;
Word32 *scratchTNS;
Word16 *mdctDelayBuffer;
-
+
mdctSpectrum = (Word32 *)mem_malloc(pMemOP, nChan * FRAME_LEN_LONG * sizeof(Word32), 32, VO_INDEX_ENC_AAC);
if(NULL == mdctSpectrum)
return 1;
@@ -99,7 +99,7 @@ Word16 PsyNew(PSY_KERNEL *hPsy, Word32 nChan, VO_MEM_OPERATOR *pMemOP)
}
for (i=0; i<nChan; i++){
- hPsy->psyData[i].mdctDelayBuffer = mdctDelayBuffer + i*BLOCK_SWITCHING_OFFSET;
+ hPsy->psyData[i].mdctDelayBuffer = mdctDelayBuffer + i*BLOCK_SWITCHING_OFFSET;
hPsy->psyData[i].mdctSpectrum = mdctSpectrum + i*FRAME_LEN_LONG;
}
@@ -124,12 +124,12 @@ Word16 PsyDelete(PSY_KERNEL *hPsy, VO_MEM_OPERATOR *pMemOP)
{
if(hPsy->psyData[0].mdctDelayBuffer)
mem_free(pMemOP, hPsy->psyData[0].mdctDelayBuffer, VO_INDEX_ENC_AAC);
-
+
if(hPsy->psyData[0].mdctSpectrum)
mem_free(pMemOP, hPsy->psyData[0].mdctSpectrum, VO_INDEX_ENC_AAC);
for (nch=0; nch<MAX_CHANNELS; nch++){
- hPsy->psyData[nch].mdctDelayBuffer = NULL;
+ hPsy->psyData[nch].mdctDelayBuffer = NULL;
hPsy->psyData[nch].mdctSpectrum = NULL;
}
@@ -216,14 +216,14 @@ Word16 psyMainInit(PSY_KERNEL *hPsy,
if (!err)
for(ch=0;ch < channels;ch++){
-
+
InitBlockSwitching(&hPsy->psyData[ch].blockSwitchingControl,
bitRate, channels);
InitPreEchoControl(hPsy->psyData[ch].sfbThresholdnm1,
hPsy->psyConfLong.sfbCnt,
hPsy->psyConfLong.sfbThresholdQuiet);
- hPsy->psyData[ch].mdctScalenm1 = 0;
+ hPsy->psyData[ch].mdctScalenm1 = 0;
}
return(err);
@@ -241,7 +241,7 @@ Word16 psyMainInit(PSY_KERNEL *hPsy,
Word16 psyMain(Word16 nChannels,
ELEMENT_INFO *elemInfo,
- Word16 *timeSignal,
+ Word16 *timeSignal,
PSY_DATA psyData[MAX_CHANNELS],
TNS_DATA tnsData[MAX_CHANNELS],
PSY_CONFIGURATION_LONG *hPsyConfLong,
@@ -260,8 +260,8 @@ Word16 psyMain(Word16 nChannels,
Word16 channels;
Word16 maxScale;
- channels = elemInfo->nChannelsInEl;
- maxScale = 0;
+ channels = elemInfo->nChannelsInEl;
+ maxScale = 0;
/* block switching */
for(ch = 0; ch < channels; ch++) {
@@ -291,7 +291,7 @@ Word16 psyMain(Word16 nChannels,
/* common scaling for all channels */
for (ch=0; ch<channels; ch++) {
Word16 scaleDiff = maxScale - mdctScalingArray[ch];
-
+
if (scaleDiff > 0) {
Word32 *Spectrum = psyData[ch].mdctSpectrum;
for(line=0; line<FRAME_LEN_LONG; line++) {
@@ -299,11 +299,11 @@ Word16 psyMain(Word16 nChannels,
Spectrum++;
}
}
- psyData[ch].mdctScale = maxScale;
+ psyData[ch].mdctScale = maxScale;
}
for (ch=0; ch<channels; ch++) {
-
+
if(psyData[ch].blockSwitchingControl.windowSequence != SHORT_WINDOW) {
/* update long block parameter */
advancePsychLong(&psyData[ch],
@@ -317,7 +317,7 @@ Word16 psyMain(Word16 nChannels,
/* determine maxSfb */
for (sfb=hPsyConfLong->sfbCnt-1; sfb>=0; sfb--) {
for (line=hPsyConfLong->sfbOffset[sfb+1] - 1; line>=hPsyConfLong->sfbOffset[sfb]; line--) {
-
+
if (psyData[ch].mdctSpectrum[line] != 0) break;
}
if (line >= hPsyConfLong->sfbOffset[sfb]) break;
@@ -326,7 +326,7 @@ Word16 psyMain(Word16 nChannels,
/* Calc bandwise energies for mid and side channel
Do it only if 2 channels exist */
-
+
if (ch == 1)
advancePsychLongMS(psyData, hPsyConfLong);
}
@@ -341,7 +341,7 @@ Word16 psyMain(Word16 nChannels,
/* Calc bandwise energies for mid and side channel
Do it only if 2 channels exist */
-
+
if (ch == 1)
advancePsychShortMS (psyData, hPsyConfShort);
}
@@ -349,7 +349,7 @@ Word16 psyMain(Word16 nChannels,
/* group short data */
for(ch=0; ch<channels; ch++) {
-
+
if (psyData[ch].blockSwitchingControl.windowSequence == SHORT_WINDOW) {
groupShortData(psyData[ch].mdctSpectrum,
pScratchTns,
@@ -374,10 +374,10 @@ Word16 psyMain(Word16 nChannels,
stereo Processing
*/
if (channels == 2) {
- psyOutElement->toolsInfo.msDigest = MS_NONE;
+ psyOutElement->toolsInfo.msDigest = MS_NONE;
maxSfbPerGroup[0] = maxSfbPerGroup[1] = max(maxSfbPerGroup[0], maxSfbPerGroup[1]);
-
+
if (psyData[0].blockSwitchingControl.windowSequence != SHORT_WINDOW)
MsStereoProcessing(psyData[0].sfbEnergy.sfbLong,
psyData[1].sfbEnergy.sfbLong,
@@ -420,7 +420,7 @@ Word16 psyMain(Word16 nChannels,
build output
*/
for(ch=0;ch<channels;ch++) {
-
+
if (psyData[ch].blockSwitchingControl.windowSequence != SHORT_WINDOW)
BuildInterface(psyData[ch].mdctSpectrum,
psyData[ch].mdctScale,
@@ -483,7 +483,7 @@ static Word16 advancePsychLong(PSY_DATA* psyData,
/* low pass */
data0 = psyData->mdctSpectrum + hPsyConfLong->lowpassLine;
for(i=hPsyConfLong->lowpassLine; i<FRAME_LEN_LONG; i++) {
- *data0++ = 0;
+ *data0++ = 0;
}
/* Calc sfb-bandwise mdct-energies for left and right channel */
@@ -505,7 +505,7 @@ static Word16 advancePsychLong(PSY_DATA* psyData,
psyData->blockSwitchingControl.windowSequence,
psyData->sfbEnergy.sfbLong);
- /* TnsSync */
+ /* TnsSync */
if (ch == 1) {
TnsSync(tnsData,
tnsData2,
@@ -514,7 +514,7 @@ static Word16 advancePsychLong(PSY_DATA* psyData,
psyData->blockSwitchingControl.windowSequence);
}
- /* Tns Encoder */
+ /* Tns Encoder */
TnsEncode(&psyOutChannel->tnsInfo,
tnsData,
hPsyConfLong->sfbCnt,
@@ -532,15 +532,15 @@ static Word16 advancePsychLong(PSY_DATA* psyData,
*data1++ = min(tdata, clipEnergy);
}
- /* Calc sfb-bandwise mdct-energies for left and right channel again */
+ /* Calc sfb-bandwise mdct-energies for left and right channel again */
if (tnsData->dataRaw.tnsLong.subBlockInfo.tnsActive!=0) {
- Word16 tnsStartBand = hPsyConfLong->tnsConf.tnsStartBand;
+ Word16 tnsStartBand = hPsyConfLong->tnsConf.tnsStartBand;
CalcBandEnergy( psyData->mdctSpectrum,
hPsyConfLong->sfbOffset+tnsStartBand,
hPsyConfLong->sfbActive - tnsStartBand,
psyData->sfbEnergy.sfbLong+tnsStartBand,
&psyData->sfbEnergySum.sfbLong);
-
+
data0 = psyData->sfbEnergy.sfbLong;
tdata = psyData->sfbEnergySum.sfbLong;
for (i=0; i<tnsStartBand; i++)
@@ -565,13 +565,13 @@ static Word16 advancePsychLong(PSY_DATA* psyData,
data0++; data1++;
}
- /* preecho control */
+ /* preecho control */
if (psyData->blockSwitchingControl.windowSequence == STOP_WINDOW) {
data0 = psyData->sfbThresholdnm1;
for (i=hPsyConfLong->sfbCnt; i; i--) {
- *data0++ = MAX_32;
+ *data0++ = MAX_32;
}
- psyData->mdctScalenm1 = 0;
+ psyData->mdctScalenm1 = 0;
}
PreEchoControl( psyData->sfbThresholdnm1,
@@ -581,15 +581,15 @@ static Word16 advancePsychLong(PSY_DATA* psyData,
psyData->sfbThreshold.sfbLong,
psyData->mdctScale,
psyData->mdctScalenm1);
- psyData->mdctScalenm1 = psyData->mdctScale;
+ psyData->mdctScalenm1 = psyData->mdctScale;
+
-
if (psyData->blockSwitchingControl.windowSequence== START_WINDOW) {
data0 = psyData->sfbThresholdnm1;
for (i=hPsyConfLong->sfbCnt; i; i--) {
- *data0++ = MAX_32;
+ *data0++ = MAX_32;
}
- psyData->mdctScalenm1 = 0;
+ psyData->mdctScalenm1 = 0;
}
/* apply tns mult table on cb thresholds */
@@ -603,13 +603,13 @@ static Word16 advancePsychLong(PSY_DATA* psyData,
data0 = psyData->sfbSpreadedEnergy.sfbLong;
data1 = psyData->sfbEnergy.sfbLong;
for (i=hPsyConfLong->sfbCnt; i; i--) {
- //psyData->sfbSpreadedEnergy.sfbLong[i] = psyData->sfbEnergy.sfbLong[i];
+ //psyData->sfbSpreadedEnergy.sfbLong[i] = psyData->sfbEnergy.sfbLong[i];
*data0++ = *data1++;
}
/* spreading energy */
SpreadingMax(hPsyConfLong->sfbCnt,
- hPsyConfLong->sfbMaskLowFactorSprEn,
+ hPsyConfLong->sfbMaskLowFactorSprEn,
hPsyConfLong->sfbMaskHighFactorSprEn,
psyData->sfbSpreadedEnergy.sfbLong);
@@ -619,7 +619,7 @@ static Word16 advancePsychLong(PSY_DATA* psyData,
/*****************************************************************************
*
* function name: advancePsychLongMS
-* description: update mdct-energies for left add or minus right channel
+* description: update mdct-energies for left add or minus right channel
* for long block
*
*****************************************************************************/
@@ -657,7 +657,7 @@ static Word16 advancePsychShort(PSY_DATA* psyData,
Word32 w;
Word32 normEnergyShift = (psyData->mdctScale + 1) << 1; /* in reference code, mdct spectrum must be multipied with 2, so +1 */
Word32 clipEnergy = hPsyConfShort->clipEnergy >> normEnergyShift;
- Word32 wOffset = 0;
+ Word32 wOffset = 0;
Word32 *data0, *data1;
for(w = 0; w < TRANS_FAC; w++) {
@@ -666,7 +666,7 @@ static Word16 advancePsychShort(PSY_DATA* psyData,
/* low pass */
data0 = psyData->mdctSpectrum + wOffset + hPsyConfShort->lowpassLine;
for(i=hPsyConfShort->lowpassLine; i<FRAME_LEN_SHORT; i++){
- *data0++ = 0;
+ *data0++ = 0;
}
/* Calc sfb-bandwise mdct-energies for left and right channel */
@@ -713,9 +713,9 @@ static Word16 advancePsychShort(PSY_DATA* psyData,
*data0++ = min(tdata, clipEnergy);
}
- /* Calc sfb-bandwise mdct-energies for left and right channel again */
+ /* Calc sfb-bandwise mdct-energies for left and right channel again */
if (tnsData->dataRaw.tnsShort.subBlockInfo[w].tnsActive != 0) {
- Word16 tnsStartBand = hPsyConfShort->tnsConf.tnsStartBand;
+ Word16 tnsStartBand = hPsyConfShort->tnsConf.tnsStartBand;
CalcBandEnergy( psyData->mdctSpectrum+wOffset,
hPsyConfShort->sfbOffset+tnsStartBand,
(hPsyConfShort->sfbActive - tnsStartBand),
@@ -748,7 +748,7 @@ static Word16 advancePsychShort(PSY_DATA* psyData,
}
- /* preecho */
+ /* preecho */
PreEchoControl( psyData->sfbThresholdnm1,
hPsyConfShort->sfbCnt,
hPsyConfShort->maxAllowedIncreaseFactor,
@@ -770,14 +770,14 @@ static Word16 advancePsychShort(PSY_DATA* psyData,
*data0++ = *data1++;
}
SpreadingMax(hPsyConfShort->sfbCnt,
- hPsyConfShort->sfbMaskLowFactorSprEn,
+ hPsyConfShort->sfbMaskLowFactorSprEn,
hPsyConfShort->sfbMaskHighFactorSprEn,
psyData->sfbSpreadedEnergy.sfbShort[w]);
wOffset += FRAME_LEN_SHORT;
} /* for TRANS_FAC */
- psyData->mdctScalenm1 = psyData->mdctScale;
+ psyData->mdctScalenm1 = psyData->mdctScale;
return 0;
}
@@ -785,7 +785,7 @@ static Word16 advancePsychShort(PSY_DATA* psyData,
/*****************************************************************************
*
* function name: advancePsychShortMS
-* description: update mdct-energies for left add or minus right channel
+* description: update mdct-energies for left add or minus right channel
* for short block
*
*****************************************************************************/
@@ -793,7 +793,7 @@ static Word16 advancePsychShortMS (PSY_DATA psyData[MAX_CHANNELS],
const PSY_CONFIGURATION_SHORT *hPsyConfShort)
{
Word32 w, wOffset;
- wOffset = 0;
+ wOffset = 0;
for(w=0; w<TRANS_FAC; w++) {
CalcBandEnergyMS(psyData[0].mdctSpectrum+wOffset,
psyData[1].mdctSpectrum+wOffset,
diff --git a/media/libstagefright/codecs/aacenc/src/qc_main.c b/media/libstagefright/codecs/aacenc/src/qc_main.c
index e8c39e4..df6d46e 100644
--- a/media/libstagefright/codecs/aacenc/src/qc_main.c
+++ b/media/libstagefright/codecs/aacenc/src/qc_main.c
@@ -68,12 +68,12 @@ static Word16 calcFrameLen(Word32 bitRate,
result = (FRAME_LEN_LONG >> 3) * bitRate;
quot = result / sampleRate;
-
+
if (mode == FRAME_LEN_BYTES_MODULO) {
result -= quot * sampleRate;
}
else { /* FRAME_LEN_BYTES_INT */
- result = quot;
+ result = quot;
}
return result;
@@ -83,7 +83,7 @@ static Word16 calcFrameLen(Word32 bitRate,
*
* function name:framePadding
* description: Calculates if padding is needed for actual frame
-* returns: paddingOn or not
+* returns: paddingOn or not
*
*****************************************************************************/
static Word16 framePadding(Word32 bitRate,
@@ -93,16 +93,16 @@ static Word16 framePadding(Word32 bitRate,
Word16 paddingOn;
Word16 difference;
- paddingOn = 0;
+ paddingOn = 0;
difference = calcFrameLen( bitRate,
sampleRate,
FRAME_LEN_BYTES_MODULO );
*paddingRest = *paddingRest - difference;
-
+
if (*paddingRest <= 0 ) {
- paddingOn = 1;
+ paddingOn = 1;
*paddingRest = *paddingRest + sampleRate;
}
@@ -123,12 +123,12 @@ Word16 QCOutNew(QC_OUT *hQC, Word16 nChannels, VO_MEM_OPERATOR *pMemOP)
Word32 i;
Word16 *quantSpec;
Word16 *scf;
- UWord16 *maxValueInSfb;
-
+ UWord16 *maxValueInSfb;
+
quantSpec = (Word16 *)mem_malloc(pMemOP, nChannels * FRAME_LEN_LONG * sizeof(Word16), 32, VO_INDEX_ENC_AAC);
if(NULL == quantSpec)
return 1;
- scf = (Word16 *)mem_malloc(pMemOP, nChannels * MAX_GROUPED_SFB * sizeof(Word16), 32, VO_INDEX_ENC_AAC);
+ scf = (Word16 *)mem_malloc(pMemOP, nChannels * MAX_GROUPED_SFB * sizeof(Word16), 32, VO_INDEX_ENC_AAC);
if(NULL == scf)
{
return 1;
@@ -141,12 +141,12 @@ Word16 QCOutNew(QC_OUT *hQC, Word16 nChannels, VO_MEM_OPERATOR *pMemOP)
for (i=0; i<nChannels; i++) {
hQC->qcChannel[i].quantSpec = quantSpec + i*FRAME_LEN_LONG;
-
+
hQC->qcChannel[i].maxValueInSfb = maxValueInSfb + i*MAX_GROUPED_SFB;
-
+
hQC->qcChannel[i].scf = scf + i*MAX_GROUPED_SFB;
}
-
+
return 0;
}
@@ -165,21 +165,21 @@ void QCOutDelete(QC_OUT* hQC, VO_MEM_OPERATOR *pMemOP)
{
if(hQC->qcChannel[0].quantSpec);
mem_free(pMemOP, hQC->qcChannel[0].quantSpec, VO_INDEX_ENC_AAC);
-
+
if(hQC->qcChannel[0].maxValueInSfb)
mem_free(pMemOP, hQC->qcChannel[0].maxValueInSfb, VO_INDEX_ENC_AAC);
-
+
if(hQC->qcChannel[0].scf)
mem_free(pMemOP, hQC->qcChannel[0].scf, VO_INDEX_ENC_AAC);
for (i=0; i<MAX_CHANNELS; i++) {
hQC->qcChannel[i].quantSpec = NULL;
-
+
hQC->qcChannel[i].maxValueInSfb = NULL;
-
+
hQC->qcChannel[i].scf = NULL;
}
- }
+ }
}
/*********************************************************************************
@@ -204,8 +204,8 @@ Word16 QCNew(QC_STATE *hQC, VO_MEM_OPERATOR *pMemOP)
**********************************************************************************/
void QCDelete(QC_STATE *hQC, VO_MEM_OPERATOR *pMemOP)
{
-
- /*
+
+ /*
nothing to do
*/
hQC=NULL;
@@ -221,15 +221,15 @@ void QCDelete(QC_STATE *hQC, VO_MEM_OPERATOR *pMemOP)
Word16 QCInit(QC_STATE *hQC,
struct QC_INIT *init)
{
- hQC->nChannels = init->elInfo->nChannelsInEl;
- hQC->maxBitsTot = init->maxBits;
+ hQC->nChannels = init->elInfo->nChannelsInEl;
+ hQC->maxBitsTot = init->maxBits;
hQC->bitResTot = sub(init->bitRes, init->averageBits);
- hQC->averageBitsTot = init->averageBits;
- hQC->maxBitFac = init->maxBitFac;
+ hQC->averageBitsTot = init->averageBits;
+ hQC->maxBitFac = init->maxBitFac;
- hQC->padding.paddingRest = init->padding.paddingRest;
+ hQC->padding.paddingRest = init->padding.paddingRest;
- hQC->globStatBits = 3; /* for ID_END */
+ hQC->globStatBits = 3; /* for ID_END */
/* channel elements init */
InitElementBits(&hQC->elementBits,
@@ -248,13 +248,13 @@ Word16 QCInit(QC_STATE *hQC,
/*********************************************************************************
-*
+*
* function name: QCMain
* description: quantization and coding the spectrum
* returns: 0 if success
*
**********************************************************************************/
-Word16 QCMain(QC_STATE* hQC,
+Word16 QCMain(QC_STATE* hQC,
ELEMENT_BITS* elBits,
ATS_ELEMENT* adjThrStateElement,
PSY_OUT_CHANNEL psyOutChannel[MAX_CHANNELS], /* may be modified in-place */
@@ -262,34 +262,34 @@ Word16 QCMain(QC_STATE* hQC,
QC_OUT_CHANNEL qcOutChannel[MAX_CHANNELS], /* out */
QC_OUT_ELEMENT* qcOutElement,
Word16 nChannels,
- Word16 ancillaryDataBytes)
+ Word16 ancillaryDataBytes)
{
Word16 maxChDynBits[MAX_CHANNELS];
- Word16 chBitDistribution[MAX_CHANNELS];
+ Word16 chBitDistribution[MAX_CHANNELS];
Word32 ch;
-
+
if (elBits->bitResLevel < 0) {
return -1;
}
-
+
if (elBits->bitResLevel > elBits->maxBitResBits) {
return -1;
}
qcOutElement->staticBitsUsed = countStaticBitdemand(psyOutChannel,
psyOutElement,
- nChannels,
+ nChannels,
qcOutElement->adtsUsed);
-
+
if (ancillaryDataBytes) {
qcOutElement->ancBitsUsed = 7 + (ancillaryDataBytes << 3);
-
+
if (ancillaryDataBytes >= 15)
qcOutElement->ancBitsUsed = qcOutElement->ancBitsUsed + 8;
}
else {
- qcOutElement->ancBitsUsed = 0;
+ qcOutElement->ancBitsUsed = 0;
}
CalcFormFactor(hQC->logSfbFormFactor, hQC->sfbNRelevantLines, hQC->logSfbEnergy, psyOutChannel, nChannels);
@@ -301,7 +301,7 @@ Word16 QCMain(QC_STATE* hQC,
psyOutElement,
chBitDistribution,
hQC->logSfbEnergy,
- hQC->sfbNRelevantLines,
+ hQC->sfbNRelevantLines,
qcOutElement,
elBits,
nChannels,
@@ -323,14 +323,14 @@ Word16 QCMain(QC_STATE* hQC,
maxChDynBits[ch] = extract_l(chBitDistribution[ch] * maxDynBits / 1000);
}
- qcOutElement->dynBitsUsed = 0;
+ qcOutElement->dynBitsUsed = 0;
for (ch = 0; ch < nChannels; ch++) {
Word32 chDynBits;
Flag constraintsFulfilled;
Word32 iter;
- iter = 0;
+ iter = 0;
do {
- constraintsFulfilled = 1;
+ constraintsFulfilled = 1;
QuantizeSpectrum(psyOutChannel[ch].sfbCnt,
psyOutChannel[ch].maxSfbPerGroup,
@@ -340,14 +340,14 @@ Word16 QCMain(QC_STATE* hQC,
qcOutChannel[ch].globalGain,
qcOutChannel[ch].scf,
qcOutChannel[ch].quantSpec);
-
+
if (calcMaxValueInSfb(psyOutChannel[ch].sfbCnt,
psyOutChannel[ch].maxSfbPerGroup,
psyOutChannel[ch].sfbPerGroup,
psyOutChannel[ch].sfbOffsets,
qcOutChannel[ch].quantSpec,
qcOutChannel[ch].maxValueInSfb) > MAX_QUANT) {
- constraintsFulfilled = 0;
+ constraintsFulfilled = 0;
}
chDynBits = dynBitCount(qcOutChannel[ch].quantSpec,
@@ -359,24 +359,24 @@ Word16 QCMain(QC_STATE* hQC,
psyOutChannel[ch].sfbPerGroup,
psyOutChannel[ch].sfbOffsets,
&qcOutChannel[ch].sectionData);
-
+
if (chDynBits >= maxChDynBits[ch]) {
- constraintsFulfilled = 0;
+ constraintsFulfilled = 0;
}
-
+
if (!constraintsFulfilled) {
qcOutChannel[ch].globalGain = qcOutChannel[ch].globalGain + 1;
}
iter = iter + 1;
-
+
} while(!constraintsFulfilled);
qcOutElement->dynBitsUsed = qcOutElement->dynBitsUsed + chDynBits;
- qcOutChannel[ch].mdctScale = psyOutChannel[ch].mdctScale;
- qcOutChannel[ch].groupingMask = psyOutChannel[ch].groupingMask;
- qcOutChannel[ch].windowShape = psyOutChannel[ch].windowShape;
+ qcOutChannel[ch].mdctScale = psyOutChannel[ch].mdctScale;
+ qcOutChannel[ch].groupingMask = psyOutChannel[ch].groupingMask;
+ qcOutChannel[ch].windowShape = psyOutChannel[ch].windowShape;
}
/* save dynBitsUsed for correction of bits2pe relation */
@@ -411,13 +411,13 @@ static Word16 calcMaxValueInSfb(Word16 sfbCnt,
Word16 sfbOffs, sfb;
Word16 maxValueAll;
- maxValueAll = 0;
+ maxValueAll = 0;
for(sfbOffs=0;sfbOffs<sfbCnt;sfbOffs+=sfbPerGroup) {
for (sfb = 0; sfb < maxSfbPerGroup; sfb++) {
Word16 line;
Word16 maxThisSfb;
- maxThisSfb = 0;
+ maxThisSfb = 0;
for (line = sfbOffset[sfbOffs+sfb]; line < sfbOffset[sfbOffs+sfb+1]; line++) {
Word16 absVal;
@@ -425,7 +425,7 @@ static Word16 calcMaxValueInSfb(Word16 sfbCnt,
maxThisSfb = max(maxThisSfb, absVal);
}
- maxValue[sfbOffs+sfb] = maxThisSfb;
+ maxValue[sfbOffs+sfb] = maxThisSfb;
maxValueAll = max(maxValueAll, maxThisSfb);
}
}
@@ -441,15 +441,15 @@ static Word16 calcMaxValueInSfb(Word16 sfbCnt,
**********************************************************************************/
void updateBitres(QC_STATE* qcKernel,
QC_OUT* qcOut)
-
+
{
ELEMENT_BITS *elBits;
-
- qcKernel->bitResTot = 0;
+
+ qcKernel->bitResTot = 0;
elBits = &qcKernel->elementBits;
-
+
if (elBits->averageBits > 0) {
/* constant bitrate */
Word16 bitsUsed;
@@ -460,8 +460,8 @@ void updateBitres(QC_STATE* qcKernel,
}
else {
/* variable bitrate */
- elBits->bitResLevel = elBits->maxBits;
- qcKernel->bitResTot = qcKernel->maxBitsTot;
+ elBits->bitResLevel = elBits->maxBits;
+ qcKernel->bitResTot = qcKernel->maxBitsTot;
}
}
@@ -476,55 +476,55 @@ Word16 FinalizeBitConsumption(QC_STATE *qcKernel,
{
Word32 nFullFillElem;
Word32 totFillBits;
- Word16 diffBits;
+ Word16 diffBits;
Word16 bitsUsed;
- totFillBits = 0;
+ totFillBits = 0;
- qcOut->totStaticBitsUsed = qcKernel->globStatBits;
+ qcOut->totStaticBitsUsed = qcKernel->globStatBits;
qcOut->totStaticBitsUsed += qcOut->qcElement.staticBitsUsed;
qcOut->totDynBitsUsed = qcOut->qcElement.dynBitsUsed;
qcOut->totAncBitsUsed = qcOut->qcElement.ancBitsUsed;
qcOut->totFillBits = qcOut->qcElement.fillBits;
-
+
if (qcOut->qcElement.fillBits) {
totFillBits += qcOut->qcElement.fillBits;
}
nFullFillElem = (max((qcOut->totFillBits - 1), 0) / maxFillElemBits) * maxFillElemBits;
-
+
qcOut->totFillBits = qcOut->totFillBits - nFullFillElem;
/* check fill elements */
-
+
if (qcOut->totFillBits > 0) {
/* minimum Fillelement contains 7 (TAG + byte cnt) bits */
qcOut->totFillBits = max(7, qcOut->totFillBits);
/* fill element size equals n*8 + 7 */
- qcOut->totFillBits = qcOut->totFillBits + ((8 - ((qcOut->totFillBits - 7) & 0x0007)) & 0x0007);
+ qcOut->totFillBits = qcOut->totFillBits + ((8 - ((qcOut->totFillBits - 7) & 0x0007)) & 0x0007);
}
qcOut->totFillBits = qcOut->totFillBits + nFullFillElem;
/* now distribute extra fillbits and alignbits over channel elements */
qcOut->alignBits = 7 - ((qcOut->totDynBitsUsed + qcOut->totStaticBitsUsed +
- qcOut->totAncBitsUsed + qcOut->totFillBits - 1) & 0x0007);
+ qcOut->totAncBitsUsed + qcOut->totFillBits - 1) & 0x0007);
+
-
if ( (qcOut->alignBits + qcOut->totFillBits - totFillBits == 8) &&
(qcOut->totFillBits > 8))
qcOut->totFillBits = qcOut->totFillBits - 8;
-
+
diffBits = qcOut->alignBits + qcOut->totFillBits - totFillBits;
-
+
if(diffBits>=0) {
qcOut->qcElement.fillBits += diffBits;
}
bitsUsed = qcOut->totDynBitsUsed + qcOut->totStaticBitsUsed + qcOut->totAncBitsUsed;
bitsUsed = bitsUsed + qcOut->totFillBits + qcOut->alignBits;
-
+
if (bitsUsed > qcKernel->maxBitsTot) {
return -1;
}
@@ -564,9 +564,9 @@ Word16 AdjustBitrate(QC_STATE *hQC,
codeBitsLast = hQC->averageBitsTot - hQC->globStatBits;
codeBits = frameLen - hQC->globStatBits;
- /* calculate bits for every channel element */
+ /* calculate bits for every channel element */
if (codeBits != codeBitsLast) {
- Word16 totalBits = 0;
+ Word16 totalBits = 0;
hQC->elementBits.averageBits = (hQC->elementBits.relativeBits * codeBits) >> 16; /* relativeBits was scaled down by 2 */
totalBits += hQC->elementBits.averageBits;
@@ -574,7 +574,7 @@ Word16 AdjustBitrate(QC_STATE *hQC,
hQC->elementBits.averageBits = hQC->elementBits.averageBits + (codeBits - totalBits);
}
- hQC->averageBitsTot = frameLen;
+ hQC->averageBitsTot = frameLen;
return 0;
}
diff --git a/media/libstagefright/codecs/aacenc/src/quantize.c b/media/libstagefright/codecs/aacenc/src/quantize.c
index 973554e..54add2f 100644
--- a/media/libstagefright/codecs/aacenc/src/quantize.c
+++ b/media/libstagefright/codecs/aacenc/src/quantize.c
@@ -34,32 +34,32 @@ static const Word32 XROUND = 0x33e425af; /* final rounding constant (-0.0946f+ 0
/*****************************************************************************
*
-* function name:pow34
-* description: calculate $x^{\frac{3}{4}}, for 0.5 < x < 1.0$.
+* function name:pow34
+* description: calculate $x^{\frac{3}{4}}, for 0.5 < x < 1.0$.
*
*****************************************************************************/
__inline Word32 pow34(Word32 x)
{
/* index table using MANT_DIGITS bits, but mask out the sign bit and the MSB
- which is always one */
+ which is always one */
return mTab_3_4[(x >> (INT_BITS-2-MANT_DIGITS)) & (MANT_SIZE-1)];
}
/*****************************************************************************
*
-* function name:quantizeSingleLine
-* description: quantizes spectrum
-* quaSpectrum = mdctSpectrum^3/4*2^(-(3/16)*gain)
+* function name:quantizeSingleLine
+* description: quantizes spectrum
+* quaSpectrum = mdctSpectrum^3/4*2^(-(3/16)*gain)
*
*****************************************************************************/
static Word16 quantizeSingleLine(const Word16 gain, const Word32 absSpectrum)
{
Word32 e, minusFinalExp, finalShift;
Word32 x;
- Word16 qua = 0;
+ Word16 qua = 0;
+
-
if (absSpectrum) {
e = norm_l(absSpectrum);
x = pow34(absSpectrum << e);
@@ -71,7 +71,7 @@ static Word16 quantizeSingleLine(const Word16 gain, const Word32 absSpectrum)
/* separate the exponent into a shift, and a multiply */
finalShift = minusFinalExp >> 4;
-
+
if (finalShift < INT_BITS) {
x = L_mpy_wx(x, pow2tominusNover16[minusFinalExp & 15]);
@@ -84,7 +84,7 @@ static Word16 quantizeSingleLine(const Word16 gain, const Word32 absSpectrum)
x >>= finalShift;
else
x <<= (-finalShift);
-
+
qua = saturate(x);
}
}
@@ -94,10 +94,10 @@ static Word16 quantizeSingleLine(const Word16 gain, const Word32 absSpectrum)
/*****************************************************************************
*
-* function name:quantizeLines
-* description: quantizes spectrum lines
-* quaSpectrum = mdctSpectrum^3/4*2^(-(3/16)*gain)
-* input: global gain, number of lines to process, spectral data
+* function name:quantizeLines
+* description: quantizes spectrum lines
+* quaSpectrum = mdctSpectrum^3/4*2^(-(3/16)*gain)
+* input: global gain, number of lines to process, spectral data
* output: quantized spectrum
*
*****************************************************************************/
@@ -116,15 +116,15 @@ static void quantizeLines(const Word16 gain,
pquat = quantBorders[m];
g += 16;
-
+
if(g >= 0)
{
for (line=0; line<noOfLines; line++) {
Word32 qua;
- qua = 0;
-
+ qua = 0;
+
mdctSpeL = mdctSpectrum[line];
-
+
if (mdctSpeL) {
Word32 sa;
Word32 saShft;
@@ -134,27 +134,27 @@ static void quantizeLines(const Word16 gain,
saShft = sa >> g;
if (saShft > pquat[0]) {
-
+
if (saShft < pquat[1]) {
-
+
qua = mdctSpeL>0 ? 1 : -1;
}
else {
-
+
if (saShft < pquat[2]) {
-
+
qua = mdctSpeL>0 ? 2 : -2;
}
else {
-
+
if (saShft < pquat[3]) {
-
+
qua = mdctSpeL>0 ? 3 : -3;
}
else {
qua = quantizeSingleLine(gain, sa);
/* adjust the sign. Since 0 < qua < 1, this cannot overflow. */
-
+
if (mdctSpeL < 0)
qua = -qua;
}
@@ -162,17 +162,17 @@ static void quantizeLines(const Word16 gain,
}
}
}
- quaSpectrum[line] = qua ;
+ quaSpectrum[line] = qua ;
}
}
else
{
for (line=0; line<noOfLines; line++) {
Word32 qua;
- qua = 0;
-
+ qua = 0;
+
mdctSpeL = mdctSpectrum[line];
-
+
if (mdctSpeL) {
Word32 sa;
Word32 saShft;
@@ -181,27 +181,27 @@ static void quantizeLines(const Word16 gain,
saShft = sa << g;
if (saShft > pquat[0]) {
-
+
if (saShft < pquat[1]) {
-
+
qua = mdctSpeL>0 ? 1 : -1;
}
else {
-
+
if (saShft < pquat[2]) {
-
+
qua = mdctSpeL>0 ? 2 : -2;
}
else {
-
+
if (saShft < pquat[3]) {
-
+
qua = mdctSpeL>0 ? 3 : -3;
}
else {
qua = quantizeSingleLine(gain, sa);
/* adjust the sign. Since 0 < qua < 1, this cannot overflow. */
-
+
if (mdctSpeL < 0)
qua = -qua;
}
@@ -209,8 +209,8 @@ static void quantizeLines(const Word16 gain,
}
}
}
- quaSpectrum[line] = qua ;
- }
+ quaSpectrum[line] = qua ;
+ }
}
}
@@ -218,10 +218,10 @@ static void quantizeLines(const Word16 gain,
/*****************************************************************************
*
-* function name:iquantizeLines
+* function name:iquantizeLines
* description: iquantizes spectrum lines without sign
-* mdctSpectrum = iquaSpectrum^4/3 *2^(0.25*gain)
-* input: global gain, number of lines to process,quantized spectrum
+* mdctSpectrum = iquaSpectrum^4/3 *2^(0.25*gain)
+* input: global gain, number of lines to process,quantized spectrum
* output: spectral data
*
*****************************************************************************/
@@ -234,11 +234,11 @@ static void iquantizeLines(const Word16 gain,
Word32 iquantizershift;
Word32 line;
- iquantizermod = gain & 3;
+ iquantizermod = gain & 3;
iquantizershift = gain >> 2;
for (line=0; line<noOfLines; line++) {
-
+
if( quantSpectrum[line] != 0 ) {
Word32 accu;
Word32 ex;
@@ -252,19 +252,19 @@ static void iquantizeLines(const Word16 gain,
accu = accu << ex;
specExp = INT_BITS-1 - ex;
- tabIndex = (accu >> (INT_BITS-2-MANT_DIGITS)) & (~MANT_SIZE);
+ tabIndex = (accu >> (INT_BITS-2-MANT_DIGITS)) & (~MANT_SIZE);
/* calculate "mantissa" ^4/3 */
- s = mTab_4_3[tabIndex];
+ s = mTab_4_3[tabIndex];
/* get approperiate exponent multiplier for specExp^3/4 combined with scfMod */
- t = specExpMantTableComb_enc[iquantizermod][specExp];
+ t = specExpMantTableComb_enc[iquantizermod][specExp];
/* multiply "mantissa" ^4/3 with exponent multiplier */
accu = MULHIGH(s, t);
/* get approperiate exponent shifter */
- specExp = specExpTableComb_enc[iquantizermod][specExp];
+ specExp = specExpTableComb_enc[iquantizermod][specExp];
specExp += iquantizershift + 1;
if(specExp >= 0)
@@ -273,7 +273,7 @@ static void iquantizeLines(const Word16 gain,
mdctSpectrum[line] = accu >> (-specExp);
}
else {
- mdctSpectrum[line] = 0;
+ mdctSpectrum[line] = 0;
}
}
}
@@ -301,7 +301,7 @@ void QuantizeSpectrum(Word16 sfbCnt,
for(sfbOffs=0;sfbOffs<sfbCnt;sfbOffs+=sfbPerGroup) {
Word32 sfbNext ;
for (sfb = 0; sfb < maxSfbPerGroup; sfb = sfbNext) {
- Word16 scalefactor = scalefactors[sfbOffs+sfb];
+ Word16 scalefactor = scalefactors[sfbOffs+sfb];
/* coalesce sfbs with the same scalefactor */
for (sfbNext = sfb+1;
sfbNext < maxSfbPerGroup && scalefactor == scalefactors[sfbOffs+sfbNext];
@@ -318,7 +318,7 @@ void QuantizeSpectrum(Word16 sfbCnt,
/*****************************************************************************
*
-* function name:calcSfbDist
+* function name:calcSfbDist
* description: quantizes and requantizes lines to calculate distortion
* input: number of lines to be quantized, ...
* output: distortion
@@ -338,14 +338,14 @@ Word32 calcSfbDist(const Word32 *spec,
pquat = quantBorders[m];
repquat = quantRecon[m];
-
- dist = 0;
+
+ dist = 0;
g += 16;
if(g2 < 0 && g >= 0)
- {
+ {
g2 = -g2;
- for(line=0; line<sfbWidth; line++) {
- if (spec[line]) {
+ for(line=0; line<sfbWidth; line++) {
+ if (spec[line]) {
Word32 diff;
Word32 distSingle;
Word32 sa;
@@ -359,19 +359,19 @@ Word32 calcSfbDist(const Word32 *spec,
distSingle = (saShft * saShft) >> g2;
}
else {
-
+
if (saShft < pquat[1]) {
diff = saShft - repquat[0];
distSingle = (diff * diff) >> g2;
}
else {
-
+
if (saShft < pquat[2]) {
diff = saShft - repquat[1];
distSingle = (diff * diff) >> g2;
}
else {
-
+
if (saShft < pquat[3]) {
diff = saShft - repquat[2];
distSingle = (diff * diff) >> g2;
@@ -387,15 +387,15 @@ Word32 calcSfbDist(const Word32 *spec,
}
}
}
-
+
dist = L_add(dist, distSingle);
}
}
}
else
{
- for(line=0; line<sfbWidth; line++) {
- if (spec[line]) {
+ for(line=0; line<sfbWidth; line++) {
+ if (spec[line]) {
Word32 diff;
Word32 distSingle;
Word32 sa;
@@ -408,19 +408,19 @@ Word32 calcSfbDist(const Word32 *spec,
distSingle = L_shl((saShft * saShft), g2);
}
else {
-
+
if (saShft < pquat[1]) {
diff = saShft - repquat[0];
distSingle = L_shl((diff * diff), g2);
}
else {
-
+
if (saShft < pquat[2]) {
diff = saShft - repquat[1];
distSingle = L_shl((diff * diff), g2);
}
else {
-
+
if (saShft < pquat[3]) {
diff = saShft - repquat[2];
distSingle = L_shl((diff * diff), g2);
@@ -438,7 +438,7 @@ Word32 calcSfbDist(const Word32 *spec,
}
dist = L_add(dist, distSingle);
}
- }
+ }
}
return dist;
diff --git a/media/libstagefright/codecs/aacenc/src/sf_estim.c b/media/libstagefright/codecs/aacenc/src/sf_estim.c
index ffe2e83..fe40137 100644
--- a/media/libstagefright/codecs/aacenc/src/sf_estim.c
+++ b/media/libstagefright/codecs/aacenc/src/sf_estim.c
@@ -30,17 +30,17 @@
static const Word16 MAX_SCF_DELTA = 60;
/*!
-constants reference in comments
+constants reference in comments
C0 = 6.75f;
- C1 = -69.33295f; -16/3*log(MAX_QUANT+0.5-logCon)/log(2)
+ C1 = -69.33295f; -16/3*log(MAX_QUANT+0.5-logCon)/log(2)
C2 = 4.0f;
C3 = 2.66666666f;
-
- PE_C1 = 3.0f; log(8.0)/log(2)
- PE_C2 = 1.3219281f; log(2.5)/log(2)
- PE_C3 = 0.5593573f; 1-C2/C1
-
+
+ PE_C1 = 3.0f; log(8.0)/log(2)
+ PE_C2 = 1.3219281f; log(2.5)/log(2)
+ PE_C3 = 0.5593573f; 1-C2/C1
+
*/
#define FF_SQRT_BITS 7
@@ -55,15 +55,15 @@ constants reference in comments
/*********************************************************************************
*
* function name: formfac_sqrt
-* description: calculates sqrt(x)/256
+* description: calculates sqrt(x)/256
*
**********************************************************************************/
__inline Word32 formfac_sqrt(Word32 x)
{
Word32 y;
Word32 preshift, postshift;
-
-
+
+
if (x==0) return 0;
preshift = norm_l(x) - (INT_BITS-1-FF_SQRT_BITS);
postshift = preshift >> 1;
@@ -74,12 +74,12 @@ __inline Word32 formfac_sqrt(Word32 x)
else
y = x >> (-preshift);
y = formfac_sqrttable[y-32];
-
+
if(postshift >= 0)
y = y >> postshift;
else
y = y << (-postshift);
-
+
return y;
}
@@ -100,19 +100,19 @@ CalcFormFactorChannel(Word16 *logSfbFormFactor,
Word32 sfbw, sfbw1;
Word32 i, j;
Word32 sfbOffs, sfb, shift;
-
+
sfbw = sfbw1 = 0;
for (sfbOffs=0; sfbOffs<psyOutChan->sfbCnt; sfbOffs+=psyOutChan->sfbPerGroup){
for (sfb=0; sfb<psyOutChan->maxSfbPerGroup; sfb++) {
- i = sfbOffs+sfb;
-
+ i = sfbOffs+sfb;
+
if (psyOutChan->sfbEnergy[i] > psyOutChan->sfbThreshold[i]) {
Word32 accu, avgFormFactor,iSfbWidth;
Word32 *mdctSpec;
sfbw = psyOutChan->sfbOffsets[i+1] - psyOutChan->sfbOffsets[i];
iSfbWidth = invSBF[(sfbw >> 2) - 1];
mdctSpec = psyOutChan->mdctSpectrum + psyOutChan->sfbOffsets[i];
- accu = 0;
+ accu = 0;
/* calc sum of sqrt(spec) */
for (j=sfbw; j; j--) {
accu += formfac_sqrt(L_abs(*mdctSpec)); mdctSpec++;
@@ -129,7 +129,7 @@ CalcFormFactorChannel(Word16 *logSfbFormFactor,
}
else {
/* set number of lines to zero */
- sfbNRelevantLines[i] = 0;
+ sfbNRelevantLines[i] = 0;
}
}
}
@@ -141,68 +141,68 @@ CalcFormFactorChannel(Word16 *logSfbFormFactor,
* description: find better scalefactor with analysis by synthesis
*
**********************************************************************************/
-static Word16 improveScf(Word32 *spec,
- Word16 sfbWidth,
- Word32 thresh,
+static Word16 improveScf(Word32 *spec,
+ Word16 sfbWidth,
+ Word32 thresh,
Word16 scf,
Word16 minScf,
- Word32 *dist,
+ Word32 *dist,
Word16 *minScfCalculated)
{
Word32 cnt;
Word32 sfbDist;
Word32 scfBest;
Word32 thresh125 = L_add(thresh, (thresh >> 2));
-
- scfBest = scf;
-
+
+ scfBest = scf;
+
/* calc real distortion */
sfbDist = calcSfbDist(spec, sfbWidth, scf);
- *minScfCalculated = scf;
+ *minScfCalculated = scf;
if(!sfbDist)
return scfBest;
-
+
if (sfbDist > thresh125) {
Word32 scfEstimated;
Word32 sfbDistBest;
- scfEstimated = scf;
- sfbDistBest = sfbDist;
-
- cnt = 0;
+ scfEstimated = scf;
+ sfbDistBest = sfbDist;
+
+ cnt = 0;
while (sfbDist > thresh125 && (cnt < 3)) {
-
+
scf = scf + 1;
sfbDist = calcSfbDist(spec, sfbWidth, scf);
-
+
if (sfbDist < sfbDistBest) {
- scfBest = scf;
- sfbDistBest = sfbDist;
+ scfBest = scf;
+ sfbDistBest = sfbDist;
}
cnt = cnt + 1;
}
- cnt = 0;
- scf = scfEstimated;
- sfbDist = sfbDistBest;
+ cnt = 0;
+ scf = scfEstimated;
+ sfbDist = sfbDistBest;
while ((sfbDist > thresh125) && (cnt < 1) && (scf > minScf)) {
-
+
scf = scf - 1;
sfbDist = calcSfbDist(spec, sfbWidth, scf);
-
+
if (sfbDist < sfbDistBest) {
- scfBest = scf;
- sfbDistBest = sfbDist;
+ scfBest = scf;
+ sfbDistBest = sfbDist;
}
- *minScfCalculated = scf;
+ *minScfCalculated = scf;
cnt = cnt + 1;
}
- *dist = sfbDistBest;
+ *dist = sfbDistBest;
}
else {
- Word32 sfbDistBest;
+ Word32 sfbDistBest;
Word32 sfbDistAllowed;
Word32 thresh08 = fixmul(COEF08_31, thresh);
- sfbDistBest = sfbDist;
-
+ sfbDistBest = sfbDist;
+
if (sfbDist < thresh08)
sfbDistAllowed = sfbDist;
else
@@ -210,16 +210,16 @@ static Word16 improveScf(Word32 *spec,
for (cnt=0; cnt<3; cnt++) {
scf = scf + 1;
sfbDist = calcSfbDist(spec, sfbWidth, scf);
-
+
if (fixmul(COEF08_31,sfbDist) < sfbDistAllowed) {
*minScfCalculated = scfBest + 1;
- scfBest = scf;
- sfbDistBest = sfbDist;
+ scfBest = scf;
+ sfbDistBest = sfbDist;
}
}
- *dist = sfbDistBest;
+ *dist = sfbDistBest;
}
-
+
/* return best scalefactor */
return scfBest;
}
@@ -233,10 +233,10 @@ static Word16 improveScf(Word32 *spec,
static Word16 countSingleScfBits(Word16 scf, Word16 scfLeft, Word16 scfRight)
{
Word16 scfBits;
-
+
scfBits = bitCountScalefactorDelta(scfLeft - scf) +
bitCountScalefactorDelta(scf - scfRight);
-
+
return scfBits;
}
@@ -245,7 +245,7 @@ static Word16 countSingleScfBits(Word16 scf, Word16 scfLeft, Word16 scfRight)
* function name: calcSingleSpecPe
* description: ldRatio = log2(en(n)) - 0,375*scfGain(n)
* nbits = 0.7*nLines*ldRation for ldRation >= c1
-* nbits = 0.7*nLines*(c2 + c3*ldRatio) for ldRation < c1
+* nbits = 0.7*nLines*(c2 + c3*ldRatio) for ldRation < c1
*
**********************************************************************************/
static Word16 calcSingleSpecPe(Word16 scf, Word16 sfbConstPePart, Word16 nLines)
@@ -253,18 +253,18 @@ static Word16 calcSingleSpecPe(Word16 scf, Word16 sfbConstPePart, Word16 nLines)
Word32 specPe;
Word32 ldRatio;
Word32 scf3;
-
+
ldRatio = sfbConstPePart << 3; /* (sfbConstPePart -0.375*scf)*8 */
scf3 = scf + scf + scf;
ldRatio = ldRatio - scf3;
-
+
if (ldRatio < PE_C1_8) {
- /* 21 : 2*8*PE_C2, 2*PE_C3 ~ 1*/
+ /* 21 : 2*8*PE_C2, 2*PE_C3 ~ 1*/
ldRatio = (ldRatio + PE_C2_16) >> 1;
}
specPe = nLines * ldRatio;
specPe = (specPe * PE_SCALE) >> 14;
-
+
return saturate(specPe);
}
@@ -275,53 +275,53 @@ static Word16 calcSingleSpecPe(Word16 scf, Word16 sfbConstPePart, Word16 nLines)
* description: count different scf bits used
*
**********************************************************************************/
-static Word16 countScfBitsDiff(Word16 *scfOld, Word16 *scfNew,
+static Word16 countScfBitsDiff(Word16 *scfOld, Word16 *scfNew,
Word16 sfbCnt, Word16 startSfb, Word16 stopSfb)
{
Word32 scfBitsDiff;
Word32 sfb, sfbLast;
Word32 sfbPrev, sfbNext;
-
- scfBitsDiff = 0;
- sfb = 0;
-
+
+ scfBitsDiff = 0;
+ sfb = 0;
+
/* search for first relevant sfb */
- sfbLast = startSfb;
+ sfbLast = startSfb;
while (sfbLast < stopSfb && scfOld[sfbLast] == VOAAC_SHRT_MIN) {
-
+
sfbLast = sfbLast + 1;
}
/* search for previous relevant sfb and count diff */
sfbPrev = startSfb - 1;
while ((sfbPrev>=0) && scfOld[sfbPrev] == VOAAC_SHRT_MIN) {
-
+
sfbPrev = sfbPrev - 1;
}
-
+
if (sfbPrev>=0) {
scfBitsDiff += bitCountScalefactorDelta(scfNew[sfbPrev] - scfNew[sfbLast]) -
bitCountScalefactorDelta(scfOld[sfbPrev] - scfOld[sfbLast]);
}
/* now loop through all sfbs and count diffs of relevant sfbs */
for (sfb=sfbLast+1; sfb<stopSfb; sfb++) {
-
+
if (scfOld[sfb] != VOAAC_SHRT_MIN) {
scfBitsDiff += bitCountScalefactorDelta(scfNew[sfbLast] - scfNew[sfb]) -
bitCountScalefactorDelta(scfOld[sfbLast] - scfOld[sfb]);
- sfbLast = sfb;
+ sfbLast = sfb;
}
}
/* search for next relevant sfb and count diff */
- sfbNext = stopSfb;
+ sfbNext = stopSfb;
while (sfbNext < sfbCnt && scfOld[sfbNext] == VOAAC_SHRT_MIN) {
-
+
sfbNext = sfbNext + 1;
}
-
+
if (sfbNext < sfbCnt)
scfBitsDiff += bitCountScalefactorDelta(scfNew[sfbLast] - scfNew[sfbNext]) -
bitCountScalefactorDelta(scfOld[sfbLast] - scfOld[sfbNext]);
-
+
return saturate(scfBitsDiff);
}
@@ -331,52 +331,52 @@ static Word16 calcSpecPeDiff(Word16 *scfOld,
Word16 *logSfbEnergy,
Word16 *logSfbFormFactor,
Word16 *sfbNRelevantLines,
- Word16 startSfb,
+ Word16 startSfb,
Word16 stopSfb)
{
Word32 specPeDiff;
Word32 sfb;
-
- specPeDiff = 0;
-
+
+ specPeDiff = 0;
+
/* loop through all sfbs and count pe difference */
for (sfb=startSfb; sfb<stopSfb; sfb++) {
-
-
+
+
if (scfOld[sfb] != VOAAC_SHRT_MIN) {
Word32 ldRatioOld, ldRatioNew;
Word32 scf3;
-
-
+
+
if (sfbConstPePart[sfb] == MIN_16) {
sfbConstPePart[sfb] = ((logSfbEnergy[sfb] -
logSfbFormFactor[sfb]) + 11-8*4+3) >> 2;
}
-
-
+
+
ldRatioOld = sfbConstPePart[sfb] << 3;
scf3 = scfOld[sfb] + scfOld[sfb] + scfOld[sfb];
ldRatioOld = ldRatioOld - scf3;
ldRatioNew = sfbConstPePart[sfb] << 3;
scf3 = scfNew[sfb] + scfNew[sfb] + scfNew[sfb];
ldRatioNew = ldRatioNew - scf3;
-
+
if (ldRatioOld < PE_C1_8) {
/* 21 : 2*8*PE_C2, 2*PE_C3 ~ 1*/
ldRatioOld = (ldRatioOld + PE_C2_16) >> 1;
}
-
+
if (ldRatioNew < PE_C1_8) {
/* 21 : 2*8*PE_C2, 2*PE_C3 ~ 1*/
ldRatioNew = (ldRatioNew + PE_C2_16) >> 1;
}
-
+
specPeDiff += sfbNRelevantLines[sfb] * (ldRatioNew - ldRatioOld);
}
}
-
+
specPeDiff = (specPeDiff * PE_SCALE) >> 14;
-
+
return saturate(specPeDiff);
}
@@ -390,9 +390,9 @@ static Word16 calcSpecPeDiff(Word16 *scfOld,
*
**********************************************************************************/
static void assimilateSingleScf(PSY_OUT_CHANNEL *psyOutChan,
- Word16 *scf,
+ Word16 *scf,
Word16 *minScf,
- Word32 *sfbDist,
+ Word32 *sfbDist,
Word16 *sfbConstPePart,
Word16 *logSfbEnergy,
Word16 *logSfbFormFactor,
@@ -411,94 +411,94 @@ static void assimilateSingleScf(PSY_OUT_CHANNEL *psyOutChan,
Word16 *prevScfNext = psyOutChan->prevScfNext;
Word16 *deltaPeLast = psyOutChan->deltaPeLast;
Flag updateMinScfCalculated;
-
- success = 0;
- deltaPe = 0;
-
+
+ success = 0;
+ deltaPe = 0;
+
for(j=0;j<psyOutChan->sfbCnt;j++){
- prevScfLast[j] = MAX_16;
- prevScfNext[j] = MAX_16;
- deltaPeLast[j] = MAX_16;
+ prevScfLast[j] = MAX_16;
+ prevScfNext[j] = MAX_16;
+ deltaPeLast[j] = MAX_16;
}
-
- sfbLast = -1;
- sfbAct = -1;
- sfbNext = -1;
+
+ sfbLast = -1;
+ sfbAct = -1;
+ sfbNext = -1;
scfLast = 0;
scfNext = 0;
- scfMin = MAX_16;
+ scfMin = MAX_16;
do {
/* search for new relevant sfb */
sfbNext = sfbNext + 1;
while (sfbNext < psyOutChan->sfbCnt && scf[sfbNext] == MIN_16) {
-
+
sfbNext = sfbNext + 1;
}
-
+
if ((sfbLast>=0) && (sfbAct>=0) && sfbNext < psyOutChan->sfbCnt) {
/* relevant scfs to the left and to the right */
- scfAct = scf[sfbAct];
+ scfAct = scf[sfbAct];
scfLast = scf + sfbLast;
scfNext = scf + sfbNext;
scfMin = min(*scfLast, *scfNext);
}
else {
-
+
if (sfbLast == -1 && (sfbAct>=0) && sfbNext < psyOutChan->sfbCnt) {
/* first relevant scf */
- scfAct = scf[sfbAct];
+ scfAct = scf[sfbAct];
scfLast = &scfAct;
scfNext = scf + sfbNext;
- scfMin = *scfNext;
+ scfMin = *scfNext;
}
else {
-
+
if ((sfbLast>=0) && (sfbAct>=0) && sfbNext == psyOutChan->sfbCnt) {
/* last relevant scf */
- scfAct = scf[sfbAct];
+ scfAct = scf[sfbAct];
scfLast = scf + sfbLast;
scfNext = &scfAct;
- scfMin = *scfLast;
+ scfMin = *scfLast;
}
}
}
-
+
if (sfbAct>=0)
scfMin = max(scfMin, minScf[sfbAct]);
-
- if ((sfbAct >= 0) &&
- (sfbLast>=0 || sfbNext < psyOutChan->sfbCnt) &&
- scfAct > scfMin &&
- (*scfLast != prevScfLast[sfbAct] ||
- *scfNext != prevScfNext[sfbAct] ||
+
+ if ((sfbAct >= 0) &&
+ (sfbLast>=0 || sfbNext < psyOutChan->sfbCnt) &&
+ scfAct > scfMin &&
+ (*scfLast != prevScfLast[sfbAct] ||
+ *scfNext != prevScfNext[sfbAct] ||
deltaPe < deltaPeLast[sfbAct])) {
- success = 0;
-
- /* estimate required bits for actual scf */
+ success = 0;
+
+ /* estimate required bits for actual scf */
if (sfbConstPePart[sfbAct] == MIN_16) {
sfbConstPePart[sfbAct] = logSfbEnergy[sfbAct] -
logSfbFormFactor[sfbAct] + 11-8*4; /* 4*log2(6.75) - 32 */
-
+
if (sfbConstPePart[sfbAct] < 0)
sfbConstPePart[sfbAct] = sfbConstPePart[sfbAct] + 3;
sfbConstPePart[sfbAct] = sfbConstPePart[sfbAct] >> 2;
}
-
+
sfbPeOld = calcSingleSpecPe(scfAct, sfbConstPePart[sfbAct], sfbNRelevantLines[sfbAct]) +
countSingleScfBits(scfAct, *scfLast, *scfNext);
- deltaPeNew = deltaPe;
- updateMinScfCalculated = 1;
+ deltaPeNew = deltaPe;
+ updateMinScfCalculated = 1;
do {
scfAct = scfAct - 1;
/* check only if the same check was not done before */
-
+
if (scfAct < minScfCalculated[sfbAct]) {
sfbPeNew = calcSingleSpecPe(scfAct, sfbConstPePart[sfbAct], sfbNRelevantLines[sfbAct]) +
countSingleScfBits(scfAct, *scfLast, *scfNext);
- /* use new scf if no increase in pe and
+ /* use new scf if no increase in pe and
quantization error is smaller */
deltaPeTmp = deltaPe + sfbPeNew - sfbPeOld;
-
+
if (deltaPeTmp < 10) {
sfbDistNew = calcSfbDist(psyOutChan->mdctSpectrum+
psyOutChan->sfbOffsets[sfbAct],
@@ -506,46 +506,46 @@ static void assimilateSingleScf(PSY_OUT_CHANNEL *psyOutChan,
scfAct);
if (sfbDistNew < sfbDist[sfbAct]) {
/* success, replace scf by new one */
- scf[sfbAct] = scfAct;
- sfbDist[sfbAct] = sfbDistNew;
- deltaPeNew = deltaPeTmp;
- success = 1;
+ scf[sfbAct] = scfAct;
+ sfbDist[sfbAct] = sfbDistNew;
+ deltaPeNew = deltaPeTmp;
+ success = 1;
}
/* mark as already checked */
-
+
if (updateMinScfCalculated) {
- minScfCalculated[sfbAct] = scfAct;
+ minScfCalculated[sfbAct] = scfAct;
}
}
else {
- updateMinScfCalculated = 0;
+ updateMinScfCalculated = 0;
}
}
-
+
} while (scfAct > scfMin);
- deltaPe = deltaPeNew;
+ deltaPe = deltaPeNew;
/* save parameters to avoid multiple computations of the same sfb */
- prevScfLast[sfbAct] = *scfLast;
- prevScfNext[sfbAct] = *scfNext;
- deltaPeLast[sfbAct] = deltaPe;
+ prevScfLast[sfbAct] = *scfLast;
+ prevScfNext[sfbAct] = *scfNext;
+ deltaPeLast[sfbAct] = deltaPe;
}
-
+
if (success && restartOnSuccess) {
/* start again at first sfb */
- sfbLast = -1;
- sfbAct = -1;
- sfbNext = -1;
+ sfbLast = -1;
+ sfbAct = -1;
+ sfbNext = -1;
scfLast = 0;
scfNext = 0;
- scfMin = MAX_16;
- success = 0;
+ scfMin = MAX_16;
+ success = 0;
}
else {
/* shift sfbs for next band */
- sfbLast = sfbAct;
- sfbAct = sfbNext;
+ sfbLast = sfbAct;
+ sfbAct = sfbNext;
}
-
+
} while (sfbNext < psyOutChan->sfbCnt);
}
@@ -557,9 +557,9 @@ static void assimilateSingleScf(PSY_OUT_CHANNEL *psyOutChan,
*
**********************************************************************************/
static void assimilateMultipleScf(PSY_OUT_CHANNEL *psyOutChan,
- Word16 *scf,
+ Word16 *scf,
Word16 *minScf,
- Word32 *sfbDist,
+ Word32 *sfbDist,
Word16 *sfbConstPePart,
Word16 *logSfbEnergy,
Word16 *logSfbFormFactor,
@@ -574,95 +574,95 @@ static void assimilateMultipleScf(PSY_OUT_CHANNEL *psyOutChan,
Word32 *sfbDistNew = psyOutChan->sfbDistNew;
Word16 *scfTmp = psyOutChan->prevScfLast;
- deltaPe = 0;
- sfbCnt = psyOutChan->sfbCnt;
-
+ deltaPe = 0;
+ sfbCnt = psyOutChan->sfbCnt;
+
/* calc min and max scalfactors */
- scfMin = MAX_16;
- scfMax = MIN_16;
+ scfMin = MAX_16;
+ scfMax = MIN_16;
for (sfb=0; sfb<sfbCnt; sfb++) {
-
+
if (scf[sfb] != MIN_16) {
scfMin = min(scfMin, scf[sfb]);
scfMax = max(scfMax, scf[sfb]);
}
}
-
+
if (scfMax != MIN_16) {
-
- scfAct = scfMax;
-
+
+ scfAct = scfMax;
+
do {
scfAct = scfAct - 1;
for (sfb=0; sfb<sfbCnt; sfb++) {
- scfTmp[sfb] = scf[sfb];
+ scfTmp[sfb] = scf[sfb];
}
- stopSfb = 0;
+ stopSfb = 0;
do {
- sfb = stopSfb;
-
+ sfb = stopSfb;
+
while (sfb < sfbCnt && (scf[sfb] == MIN_16 || scf[sfb] <= scfAct)) {
sfb = sfb + 1;
}
- startSfb = sfb;
+ startSfb = sfb;
sfb = sfb + 1;
-
+
while (sfb < sfbCnt && (scf[sfb] == MIN_16 || scf[sfb] > scfAct)) {
sfb = sfb + 1;
}
- stopSfb = sfb;
-
- possibleRegionFound = 0;
-
+ stopSfb = sfb;
+
+ possibleRegionFound = 0;
+
if (startSfb < sfbCnt) {
- possibleRegionFound = 1;
+ possibleRegionFound = 1;
for (sfb=startSfb; sfb<stopSfb; sfb++) {
-
+
if (scf[sfb]!=MIN_16) {
-
+
if (scfAct < minScf[sfb]) {
- possibleRegionFound = 0;
+ possibleRegionFound = 0;
break;
}
}
}
}
-
-
+
+
if (possibleRegionFound) { /* region found */
-
+
/* replace scfs in region by scfAct */
for (sfb=startSfb; sfb<stopSfb; sfb++) {
-
+
if (scfTmp[sfb]!=MIN_16)
- scfTmp[sfb] = scfAct;
+ scfTmp[sfb] = scfAct;
}
-
+
/* estimate change in bit demand for new scfs */
deltaScfBits = countScfBitsDiff(scf,scfTmp,sfbCnt,startSfb,stopSfb);
deltaSpecPe = calcSpecPeDiff(scf, scfTmp, sfbConstPePart,
- logSfbEnergy, logSfbFormFactor, sfbNRelevantLines,
+ logSfbEnergy, logSfbFormFactor, sfbNRelevantLines,
startSfb, stopSfb);
deltaPeNew = deltaPe + deltaScfBits + deltaSpecPe;
-
-
+
+
if (deltaPeNew < 10) {
Word32 distOldSum, distNewSum;
-
+
/* quantize and calc sum of new distortion */
- distOldSum = 0;
- distNewSum = 0;
+ distOldSum = 0;
+ distNewSum = 0;
for (sfb=startSfb; sfb<stopSfb; sfb++) {
-
+
if (scfTmp[sfb] != MIN_16) {
distOldSum = L_add(distOldSum, sfbDist[sfb]);
-
+
sfbDistNew[sfb] = calcSfbDist(psyOutChan->mdctSpectrum +
- psyOutChan->sfbOffsets[sfb],
+ psyOutChan->sfbOffsets[sfb],
(psyOutChan->sfbOffsets[sfb+1] - psyOutChan->sfbOffsets[sfb]),
scfAct);
-
-
+
+
if (sfbDistNew[sfb] > psyOutChan->sfbThreshold[sfb]) {
distNewSum = distOldSum << 1;
break;
@@ -670,20 +670,20 @@ static void assimilateMultipleScf(PSY_OUT_CHANNEL *psyOutChan,
distNewSum = L_add(distNewSum, sfbDistNew[sfb]);
}
}
-
+
if (distNewSum < distOldSum) {
- deltaPe = deltaPeNew;
+ deltaPe = deltaPeNew;
for (sfb=startSfb; sfb<stopSfb; sfb++) {
-
+
if (scf[sfb]!=MIN_16) {
- scf[sfb] = scfAct;
- sfbDist[sfb] = sfbDistNew[sfb];
+ scf[sfb] = scfAct;
+ sfbDist[sfb] = sfbDistNew[sfb];
}
}
}
}
- }
- } while (stopSfb <= sfbCnt);
+ }
+ } while (stopSfb <= sfbCnt);
} while (scfAct > scfMin);
}
}
@@ -710,125 +710,125 @@ EstimateScaleFactorsChannel(PSY_OUT_CHANNEL *psyOutChan,
Word32 *sfbDist = psyOutChan->sfbDist;
Word16 *minSfMaxQuant = psyOutChan->minSfMaxQuant;
Word16 *minScfCalculated = psyOutChan->minScfCalculated;
-
-
+
+
for (i=0; i<psyOutChan->sfbCnt; i++) {
Word32 sbfwith, sbfStart;
Word32 *mdctSpec;
- thresh = psyOutChan->sfbThreshold[i];
- energy = psyOutChan->sfbEnergy[i];
-
+ thresh = psyOutChan->sfbThreshold[i];
+ energy = psyOutChan->sfbEnergy[i];
+
sbfStart = psyOutChan->sfbOffsets[i];
sbfwith = psyOutChan->sfbOffsets[i+1] - sbfStart;
mdctSpec = psyOutChan->mdctSpectrum+sbfStart;
-
- maxSpec = 0;
+
+ maxSpec = 0;
/* maximum of spectrum */
for (j=sbfwith; j; j-- ) {
Word32 absSpec = L_abs(*mdctSpec); mdctSpec++;
- maxSpec |= absSpec;
+ maxSpec |= absSpec;
}
-
+
/* scfs without energy or with thresh>energy are marked with MIN_16 */
- scf[i] = MIN_16;
- minSfMaxQuant[i] = MIN_16;
-
+ scf[i] = MIN_16;
+ minSfMaxQuant[i] = MIN_16;
+
if ((maxSpec > 0) && (energy > thresh)) {
-
- energyPart = logSfbFormFactor[i];
- thresholdPart = iLog4(thresh);
+
+ energyPart = logSfbFormFactor[i];
+ thresholdPart = iLog4(thresh);
/* -20 = 4*log2(6.75) - 32 */
scfInt = ((thresholdPart - energyPart - 20) * SCALE_ESTIMATE_COEF) >> 15;
-
+
minSfMaxQuant[i] = iLog4(maxSpec) - 68; /* 68 -16/3*log(MAX_QUANT+0.5-logCon)/log(2) + 1 */
-
-
+
+
if (minSfMaxQuant[i] > scfInt) {
- scfInt = minSfMaxQuant[i];
+ scfInt = minSfMaxQuant[i];
}
-
+
/* find better scalefactor with analysis by synthesis */
scfInt = improveScf(psyOutChan->mdctSpectrum+sbfStart,
sbfwith,
- thresh, scfInt, minSfMaxQuant[i],
+ thresh, scfInt, minSfMaxQuant[i],
&sfbDist[i], &minScfCalculated[i]);
-
- scf[i] = scfInt;
+
+ scf[i] = scfInt;
}
}
-
-
+
+
/* scalefactor differece reduction */
{
Word16 sfbConstPePart[MAX_GROUPED_SFB];
for(i=0;i<psyOutChan->sfbCnt;i++) {
- sfbConstPePart[i] = MIN_16;
+ sfbConstPePart[i] = MIN_16;
}
-
- assimilateSingleScf(psyOutChan, scf,
+
+ assimilateSingleScf(psyOutChan, scf,
minSfMaxQuant, sfbDist, sfbConstPePart, logSfbEnergy,
logSfbFormFactor, sfbNRelevantLines, minScfCalculated, 1);
-
- assimilateMultipleScf(psyOutChan, scf,
+
+ assimilateMultipleScf(psyOutChan, scf,
minSfMaxQuant, sfbDist, sfbConstPePart, logSfbEnergy,
logSfbFormFactor, sfbNRelevantLines);
}
/* get max scalefac for global gain */
- maxScf = MIN_16;
- minScf = MAX_16;
+ maxScf = MIN_16;
+ minScf = MAX_16;
for (i=0; i<psyOutChan->sfbCnt; i++) {
-
+
if (maxScf < scf[i]) {
- maxScf = scf[i];
+ maxScf = scf[i];
}
-
+
if ((scf[i] != MIN_16) && (minScf > scf[i])) {
- minScf = scf[i];
+ minScf = scf[i];
}
}
/* limit scf delta */
maxAllowedScf = minScf + MAX_SCF_DELTA;
for(i=0; i<psyOutChan->sfbCnt; i++) {
-
+
if ((scf[i] != MIN_16) && (maxAllowedScf < scf[i])) {
- scf[i] = maxAllowedScf;
+ scf[i] = maxAllowedScf;
}
}
/* new maxScf if any scf has been limited */
-
+
if (maxAllowedScf < maxScf) {
- maxScf = maxAllowedScf;
+ maxScf = maxAllowedScf;
}
-
+
/* calc loop scalefactors */
-
+
if (maxScf > MIN_16) {
- *globalGain = maxScf;
- lastSf = 0;
-
+ *globalGain = maxScf;
+ lastSf = 0;
+
for(i=0; i<psyOutChan->sfbCnt; i++) {
-
+
if (scf[i] == MIN_16) {
- scf[i] = lastSf;
+ scf[i] = lastSf;
/* set band explicitely to zero */
for (j=psyOutChan->sfbOffsets[i]; j<psyOutChan->sfbOffsets[i+1]; j++) {
- psyOutChan->mdctSpectrum[j] = 0;
+ psyOutChan->mdctSpectrum[j] = 0;
}
}
else {
scf[i] = maxScf - scf[i];
- lastSf = scf[i];
+ lastSf = scf[i];
}
}
}
else{
- *globalGain = 0;
+ *globalGain = 0;
/* set spectrum explicitely to zero */
for(i=0; i<psyOutChan->sfbCnt; i++) {
- scf[i] = 0;
+ scf[i] = 0;
for (j=psyOutChan->sfbOffsets[i]; j<psyOutChan->sfbOffsets[i+1]; j++) {
- psyOutChan->mdctSpectrum[j] = 0;
+ psyOutChan->mdctSpectrum[j] = 0;
}
}
}
@@ -848,7 +848,7 @@ CalcFormFactor(Word16 logSfbFormFactor[MAX_CHANNELS][MAX_GROUPED_SFB],
const Word16 nChannels)
{
Word16 j;
-
+
for (j=0; j<nChannels; j++) {
CalcFormFactorChannel(logSfbFormFactor[j], sfbNRelevantLines[j], logSfbEnergy[j], &psyOutChannel[j]);
}
@@ -869,7 +869,7 @@ EstimateScaleFactors(PSY_OUT_CHANNEL psyOutChannel[MAX_CHANNELS],
const Word16 nChannels)
{
Word16 j;
-
+
for (j=0; j<nChannels; j++) {
EstimateScaleFactorsChannel(&psyOutChannel[j],
qcOutChannel[j].scf,
diff --git a/media/libstagefright/codecs/aacenc/src/stat_bits.c b/media/libstagefright/codecs/aacenc/src/stat_bits.c
index baa289c..c2bd8bd 100644
--- a/media/libstagefright/codecs/aacenc/src/stat_bits.c
+++ b/media/libstagefright/codecs/aacenc/src/stat_bits.c
@@ -52,9 +52,9 @@ static Word16 countMsMaskBits(Word16 sfbCnt,
struct TOOLSINFO *toolsInfo)
{
Word16 msBits, sfbOff, sfb;
- msBits = 0;
+ msBits = 0;
+
-
switch(toolsInfo->msDigest) {
case MS_NONE:
case MS_ALL:
@@ -85,34 +85,34 @@ static Word16 tnsCount(TNS_INFO *tnsInfo, Word16 blockType)
Word32 coefBits;
Word16 *ptcoef;
- count = 0;
-
+ count = 0;
+
if (blockType == 2)
numOfWindows = 8;
else
numOfWindows = 1;
- tnsPresent = 0;
+ tnsPresent = 0;
for (i=0; i<numOfWindows; i++) {
-
+
if (tnsInfo->tnsActive[i]!=0) {
- tnsPresent = 1;
+ tnsPresent = 1;
}
}
-
+
if (tnsPresent) {
/* there is data to be written*/
/*count += 1; */
for (i=0; i<numOfWindows; i++) {
-
+
if (blockType == 2)
count += 1;
else
count += 2;
-
+
if (tnsInfo->tnsActive[i]) {
count += 1;
-
+
if (blockType == 2) {
count += 4;
count += 3;
@@ -121,29 +121,29 @@ static Word16 tnsCount(TNS_INFO *tnsInfo, Word16 blockType)
count += 6;
count += 5;
}
-
+
if (tnsInfo->order[i]) {
count += 1; /*direction*/
- count += 1; /*coef_compression */
-
+ count += 1; /*coef_compression */
+
if (tnsInfo->coefRes[i] == 4) {
ptcoef = tnsInfo->coef + i*TNS_MAX_ORDER_SHORT;
- coefBits = 3;
+ coefBits = 3;
for(k=0; k<tnsInfo->order[i]; k++) {
-
+
if ((ptcoef[k] > 3) || (ptcoef[k] < -4)) {
- coefBits = 4;
+ coefBits = 4;
break;
}
}
}
else {
- coefBits = 2;
+ coefBits = 2;
ptcoef = tnsInfo->coef + i*TNS_MAX_ORDER_SHORT;
for(k=0; k<tnsInfo->order[i]; k++) {
-
+
if ((ptcoef[k] > 1) || (ptcoef[k] < -2)) {
- coefBits = 3;
+ coefBits = 3;
break;
}
}
@@ -155,14 +155,14 @@ static Word16 tnsCount(TNS_INFO *tnsInfo, Word16 blockType)
}
}
}
-
+
return count;
}
/**********************************************************************************
*
* function name: countTnsBits
-* description: count tns bit demand
+* description: count tns bit demand
*
**********************************************************************************/
static Word16 countTnsBits(TNS_INFO *tnsInfo,Word16 blockType)
@@ -173,29 +173,29 @@ static Word16 countTnsBits(TNS_INFO *tnsInfo,Word16 blockType)
/*********************************************************************************
*
* function name: countStaticBitdemand
-* description: count static bit demand include tns
+* description: count static bit demand include tns
*
**********************************************************************************/
Word16 countStaticBitdemand(PSY_OUT_CHANNEL psyOutChannel[MAX_CHANNELS],
PSY_OUT_ELEMENT *psyOutElement,
- Word16 channels,
+ Word16 channels,
Word16 adtsUsed)
{
Word32 statBits;
Word32 ch;
-
- statBits = 0;
+
+ statBits = 0;
/* if adts used, add 56 bits */
if(adtsUsed) statBits += 56;
-
+
switch (channels) {
case 1:
statBits += SI_ID_BITS+SI_SCE_BITS+SI_ICS_BITS;
statBits += countTnsBits(&(psyOutChannel[0].tnsInfo),
psyOutChannel[0].windowSequence);
-
+
switch(psyOutChannel[0].windowSequence){
case LONG_WINDOW:
case START_WINDOW:
@@ -215,7 +215,7 @@ Word16 countStaticBitdemand(PSY_OUT_CHANNEL psyOutChannel[MAX_CHANNELS],
psyOutChannel[0].sfbPerGroup,
psyOutChannel[0].maxSfbPerGroup,
&psyOutElement->toolsInfo);
-
+
switch (psyOutChannel[0].windowSequence) {
case LONG_WINDOW:
case START_WINDOW:
diff --git a/media/libstagefright/codecs/aacenc/src/tns.c b/media/libstagefright/codecs/aacenc/src/tns.c
index 473e0a0..455a864 100644
--- a/media/libstagefright/codecs/aacenc/src/tns.c
+++ b/media/libstagefright/codecs/aacenc/src/tns.c
@@ -100,20 +100,20 @@ static Word16 FreqToBandWithRounding(Word32 freq, /*!< frequen
/* assert(freq >= 0); */
shift = norm_l(fs);
lineNumber = (extract_l(fixmul((bandStartOffset[numOfBands] << 2),Div_32(freq << shift,fs << shift))) + 1) >> 1;
-
+
/* freq > fs/2 */
- temp = lineNumber - bandStartOffset[numOfBands] ;
+ temp = lineNumber - bandStartOffset[numOfBands] ;
if (temp >= 0)
return numOfBands;
/* find band the line number lies in */
for (band=0; band<numOfBands; band++) {
- temp = bandStartOffset[band + 1] - lineNumber;
+ temp = bandStartOffset[band + 1] - lineNumber;
if (temp > 0) break;
}
temp = (lineNumber - bandStartOffset[band]);
- temp = (temp - (bandStartOffset[band + 1] - lineNumber));
+ temp = (temp - (bandStartOffset[band + 1] - lineNumber));
if ( temp > 0 )
{
band = band + 1;
@@ -139,25 +139,25 @@ Word16 InitTnsConfigurationLong(Word32 bitRate, /*!< bitrate */
{
Word32 bitratePerChannel;
- tC->maxOrder = TNS_MAX_ORDER;
+ tC->maxOrder = TNS_MAX_ORDER;
tC->tnsStartFreq = 1275;
- tC->coefRes = 4;
-
+ tC->coefRes = 4;
+
/* to avoid integer division */
- if ( sub(channels,2) == 0 ) {
- bitratePerChannel = bitRate >> 1;
+ if ( sub(channels,2) == 0 ) {
+ bitratePerChannel = bitRate >> 1;
}
else {
- bitratePerChannel = bitRate;
+ bitratePerChannel = bitRate;
}
tC->tnsMaxSfb = tnsMaxBandsLongMainLow[pC->sampRateIdx];
- tC->tnsActive = active;
+ tC->tnsActive = active;
/* now calc band and line borders */
tC->tnsStopBand = min(pC->sfbCnt, tC->tnsMaxSfb);
- tC->tnsStopLine = pC->sfbOffset[tC->tnsStopBand];
+ tC->tnsStopLine = pC->sfbOffset[tC->tnsStopBand];
tC->tnsStartBand = FreqToBandWithRounding(tC->tnsStartFreq, sampleRate,
pC->sfbCnt, (const Word16*)pC->sfbOffset);
@@ -173,18 +173,18 @@ Word16 InitTnsConfigurationLong(Word32 bitRate, /*!< bitrate */
(const Word16*)pC->sfbOffset);
- tC->tnsStartLine = pC->sfbOffset[tC->tnsStartBand];
+ tC->tnsStartLine = pC->sfbOffset[tC->tnsStartBand];
tC->lpcStopBand = tnsMaxBandsLongMainLow[pC->sampRateIdx];
tC->lpcStopBand = min(tC->lpcStopBand, pC->sfbActive);
- tC->lpcStopLine = pC->sfbOffset[tC->lpcStopBand];
-
+ tC->lpcStopLine = pC->sfbOffset[tC->lpcStopBand];
+
tC->lpcStartBand = tnsMinBandNumberLong[pC->sampRateIdx];
- tC->lpcStartLine = pC->sfbOffset[tC->lpcStartBand];
+ tC->lpcStartLine = pC->sfbOffset[tC->lpcStartBand];
- tC->threshold = TNS_GAIN_THRESH;
+ tC->threshold = TNS_GAIN_THRESH;
return(0);
@@ -207,23 +207,23 @@ Word16 InitTnsConfigurationShort(Word32 bitRate, /*!< bitrate */
Word32 bitratePerChannel;
tC->maxOrder = TNS_MAX_ORDER_SHORT;
tC->tnsStartFreq = 2750;
- tC->coefRes = 3;
-
+ tC->coefRes = 3;
+
/* to avoid integer division */
if ( sub(channels,2) == 0 ) {
- bitratePerChannel = L_shr(bitRate,1);
+ bitratePerChannel = L_shr(bitRate,1);
}
else {
- bitratePerChannel = bitRate;
+ bitratePerChannel = bitRate;
}
tC->tnsMaxSfb = tnsMaxBandsShortMainLow[pC->sampRateIdx];
- tC->tnsActive = active;
+ tC->tnsActive = active;
/* now calc band and line borders */
tC->tnsStopBand = min(pC->sfbCnt, tC->tnsMaxSfb);
- tC->tnsStopLine = pC->sfbOffset[tC->tnsStopBand];
+ tC->tnsStopLine = pC->sfbOffset[tC->tnsStopBand];
tC->tnsStartBand=FreqToBandWithRounding(tC->tnsStartFreq, sampleRate,
pC->sfbCnt, (const Word16*)pC->sfbOffset);
@@ -239,19 +239,19 @@ Word16 InitTnsConfigurationShort(Word32 bitRate, /*!< bitrate */
(const Word16*)pC->sfbOffset);
- tC->tnsStartLine = pC->sfbOffset[tC->tnsStartBand];
+ tC->tnsStartLine = pC->sfbOffset[tC->tnsStartBand];
tC->lpcStopBand = tnsMaxBandsShortMainLow[pC->sampRateIdx];
tC->lpcStopBand = min(tC->lpcStopBand, pC->sfbActive);
- tC->lpcStopLine = pC->sfbOffset[tC->lpcStopBand];
+ tC->lpcStopLine = pC->sfbOffset[tC->lpcStopBand];
tC->lpcStartBand = tnsMinBandNumberShort[pC->sampRateIdx];
- tC->lpcStartLine = pC->sfbOffset[tC->lpcStartBand];
+ tC->lpcStartLine = pC->sfbOffset[tC->lpcStartBand];
- tC->threshold = TNS_GAIN_THRESH;
+ tC->threshold = TNS_GAIN_THRESH;
return(0);
}
@@ -259,7 +259,7 @@ Word16 InitTnsConfigurationShort(Word32 bitRate, /*!< bitrate */
/**
*
* function name: TnsDetect
-* description: Calculate TNS filter and decide on TNS usage
+* description: Calculate TNS filter and decide on TNS usage
* returns: 0 if success
*
*/
@@ -278,7 +278,7 @@ Word32 TnsDetect(TNS_DATA* tnsData, /*!< tns data structure (modified) */
Word32* pWork32 = &pScratchTns[subBlockNumber >> 8];
Word16* pWeightedSpectrum = (Word16 *)&pScratchTns[subBlockNumber >> 8];
-
+
if (tC.tnsActive) {
CalcWeightedSpectrum(spectrum,
pWeightedSpectrum,
@@ -290,7 +290,7 @@ Word32 TnsDetect(TNS_DATA* tnsData, /*!< tns data structure (modified) */
tC.lpcStopBand,
pWork32);
- temp = blockType - SHORT_WINDOW;
+ temp = blockType - SHORT_WINDOW;
if ( temp != 0 ) {
predictionGain = CalcTnsFilter( &pWeightedSpectrum[tC.lpcStartLine],
tC.acfWindow,
@@ -299,15 +299,15 @@ Word32 TnsDetect(TNS_DATA* tnsData, /*!< tns data structure (modified) */
tnsData->dataRaw.tnsLong.subBlockInfo.parcor);
- temp = predictionGain - tC.threshold;
+ temp = predictionGain - tC.threshold;
if ( temp > 0 ) {
- tnsData->dataRaw.tnsLong.subBlockInfo.tnsActive = 1;
+ tnsData->dataRaw.tnsLong.subBlockInfo.tnsActive = 1;
}
else {
- tnsData->dataRaw.tnsLong.subBlockInfo.tnsActive = 0;
+ tnsData->dataRaw.tnsLong.subBlockInfo.tnsActive = 0;
}
- tnsData->dataRaw.tnsLong.subBlockInfo.predictionGain = predictionGain;
+ tnsData->dataRaw.tnsLong.subBlockInfo.predictionGain = predictionGain;
}
else{
@@ -317,28 +317,28 @@ Word32 TnsDetect(TNS_DATA* tnsData, /*!< tns data structure (modified) */
tC.maxOrder,
tnsData->dataRaw.tnsShort.subBlockInfo[subBlockNumber].parcor);
- temp = predictionGain - tC.threshold;
+ temp = predictionGain - tC.threshold;
if ( temp > 0 ) {
- tnsData->dataRaw.tnsShort.subBlockInfo[subBlockNumber].tnsActive = 1;
+ tnsData->dataRaw.tnsShort.subBlockInfo[subBlockNumber].tnsActive = 1;
}
else {
- tnsData->dataRaw.tnsShort.subBlockInfo[subBlockNumber].tnsActive = 0;
+ tnsData->dataRaw.tnsShort.subBlockInfo[subBlockNumber].tnsActive = 0;
}
- tnsData->dataRaw.tnsShort.subBlockInfo[subBlockNumber].predictionGain = predictionGain;
+ tnsData->dataRaw.tnsShort.subBlockInfo[subBlockNumber].predictionGain = predictionGain;
}
}
else{
- temp = blockType - SHORT_WINDOW;
+ temp = blockType - SHORT_WINDOW;
if ( temp != 0 ) {
- tnsData->dataRaw.tnsLong.subBlockInfo.tnsActive = 0;
- tnsData->dataRaw.tnsLong.subBlockInfo.predictionGain = 0;
+ tnsData->dataRaw.tnsLong.subBlockInfo.tnsActive = 0;
+ tnsData->dataRaw.tnsLong.subBlockInfo.predictionGain = 0;
}
else {
- tnsData->dataRaw.tnsShort.subBlockInfo[subBlockNumber].tnsActive = 0;
- tnsData->dataRaw.tnsShort.subBlockInfo[subBlockNumber].predictionGain = 0;
+ tnsData->dataRaw.tnsShort.subBlockInfo[subBlockNumber].tnsActive = 0;
+ tnsData->dataRaw.tnsShort.subBlockInfo[subBlockNumber].predictionGain = 0;
}
}
@@ -362,21 +362,21 @@ void TnsSync(TNS_DATA *tnsDataDest,
const TNS_SUBBLOCK_INFO *sbInfoSrc;
Word32 i, temp;
- temp = blockType - SHORT_WINDOW;
+ temp = blockType - SHORT_WINDOW;
if ( temp != 0 ) {
- sbInfoDest = &tnsDataDest->dataRaw.tnsLong.subBlockInfo;
- sbInfoSrc = &tnsDataSrc->dataRaw.tnsLong.subBlockInfo;
+ sbInfoDest = &tnsDataDest->dataRaw.tnsLong.subBlockInfo;
+ sbInfoSrc = &tnsDataSrc->dataRaw.tnsLong.subBlockInfo;
}
else {
- sbInfoDest = &tnsDataDest->dataRaw.tnsShort.subBlockInfo[subBlockNumber];
- sbInfoSrc = &tnsDataSrc->dataRaw.tnsShort.subBlockInfo[subBlockNumber];
+ sbInfoDest = &tnsDataDest->dataRaw.tnsShort.subBlockInfo[subBlockNumber];
+ sbInfoSrc = &tnsDataSrc->dataRaw.tnsShort.subBlockInfo[subBlockNumber];
}
if (100*abs_s(sbInfoDest->predictionGain - sbInfoSrc->predictionGain) <
(3 * sbInfoDest->predictionGain)) {
- sbInfoDest->tnsActive = sbInfoSrc->tnsActive;
+ sbInfoDest->tnsActive = sbInfoSrc->tnsActive;
for ( i=0; i< tC.maxOrder; i++) {
- sbInfoDest->parcor[i] = sbInfoSrc->parcor[i];
+ sbInfoDest->parcor[i] = sbInfoSrc->parcor[i];
}
}
}
@@ -402,11 +402,11 @@ Word16 TnsEncode(TNS_INFO* tnsInfo, /*!< tns info structure (modified) */
Word32 temp;
TNS_SUBBLOCK_INFO *psubBlockInfo;
- temp_s = blockType - SHORT_WINDOW;
- if ( temp_s != 0) {
+ temp_s = blockType - SHORT_WINDOW;
+ if ( temp_s != 0) {
psubBlockInfo = &tnsData->dataRaw.tnsLong.subBlockInfo;
if (psubBlockInfo->tnsActive == 0) {
- tnsInfo->tnsActive[subBlockNumber] = 0;
+ tnsInfo->tnsActive[subBlockNumber] = 0;
return(0);
}
else {
@@ -422,22 +422,22 @@ Word16 TnsEncode(TNS_INFO* tnsInfo, /*!< tns info structure (modified) */
tC.coefRes);
for (i=tC.maxOrder - 1; i>=0; i--) {
- temp = psubBlockInfo->parcor[i] - TNS_PARCOR_THRESH;
+ temp = psubBlockInfo->parcor[i] - TNS_PARCOR_THRESH;
if ( temp > 0 )
break;
- temp = psubBlockInfo->parcor[i] + TNS_PARCOR_THRESH;
+ temp = psubBlockInfo->parcor[i] + TNS_PARCOR_THRESH;
if ( temp < 0 )
break;
}
- tnsInfo->order[subBlockNumber] = i + 1;
+ tnsInfo->order[subBlockNumber] = i + 1;
- tnsInfo->tnsActive[subBlockNumber] = 1;
+ tnsInfo->tnsActive[subBlockNumber] = 1;
for (i=subBlockNumber+1; i<TRANS_FAC; i++) {
- tnsInfo->tnsActive[i] = 0;
+ tnsInfo->tnsActive[i] = 0;
}
- tnsInfo->coefRes[subBlockNumber] = tC.coefRes;
- tnsInfo->length[subBlockNumber] = numOfSfb - tC.tnsStartBand;
+ tnsInfo->coefRes[subBlockNumber] = tC.coefRes;
+ tnsInfo->length[subBlockNumber] = numOfSfb - tC.tnsStartBand;
AnalysisFilterLattice(&(spectrum[tC.tnsStartLine]),
@@ -448,10 +448,10 @@ Word16 TnsEncode(TNS_INFO* tnsInfo, /*!< tns info structure (modified) */
}
} /* if (blockType!=SHORT_WINDOW) */
- else /*short block*/ {
+ else /*short block*/ {
psubBlockInfo = &tnsData->dataRaw.tnsShort.subBlockInfo[subBlockNumber];
if (psubBlockInfo->tnsActive == 0) {
- tnsInfo->tnsActive[subBlockNumber] = 0;
+ tnsInfo->tnsActive[subBlockNumber] = 0;
return(0);
}
else {
@@ -466,19 +466,19 @@ Word16 TnsEncode(TNS_INFO* tnsInfo, /*!< tns info structure (modified) */
tC.maxOrder,
tC.coefRes);
for (i=(tC.maxOrder - 1); i>=0; i--) {
- temp = psubBlockInfo->parcor[i] - TNS_PARCOR_THRESH;
+ temp = psubBlockInfo->parcor[i] - TNS_PARCOR_THRESH;
if ( temp > 0 )
break;
- temp = psubBlockInfo->parcor[i] + TNS_PARCOR_THRESH;
+ temp = psubBlockInfo->parcor[i] + TNS_PARCOR_THRESH;
if ( temp < 0 )
break;
}
- tnsInfo->order[subBlockNumber] = i + 1;
+ tnsInfo->order[subBlockNumber] = i + 1;
- tnsInfo->tnsActive[subBlockNumber] = 1;
- tnsInfo->coefRes[subBlockNumber] = tC.coefRes;
- tnsInfo->length[subBlockNumber] = numOfSfb - tC.tnsStartBand;
+ tnsInfo->tnsActive[subBlockNumber] = 1;
+ tnsInfo->coefRes[subBlockNumber] = tC.coefRes;
+ tnsInfo->length[subBlockNumber] = numOfSfb - tC.tnsStartBand;
AnalysisFilterLattice(&(spectrum[tC.tnsStartLine]), (tC.tnsStopLine - tC.tnsStartLine),
@@ -507,14 +507,14 @@ static Word32 m_pow2_cordic(Word32 x, Word16 scale)
{
Word32 k;
- Word32 accu_y = 0x40000000;
+ Word32 accu_y = 0x40000000;
accu_y = L_shr(accu_y,scale);
for(k=1; k<INT_BITS; k++) {
- const Word32 z = m_log2_table[k];
+ const Word32 z = m_log2_table[k];
while(L_sub(x,z) >= 0) {
-
+
x = L_sub(x, z);
accu_y = L_add(accu_y, (accu_y >> k));
}
@@ -548,43 +548,43 @@ static void CalcWeightedSpectrum(const Word32 spectrum[], /*!< input sp
Word32 maxWS;
Word32 tnsSfbMean[MAX_SFB]; /* length [lpcStopBand-lpcStartBand] should be sufficient here */
- maxWS = 0;
-
+ maxWS = 0;
+
/* calc 1.0*2^-INT_BITS/2/sqrt(en) */
for( sfb = lpcStartBand; sfb < lpcStopBand; sfb++) {
- tmp2 = sfbEnergy[sfb] - 2;
+ tmp2 = sfbEnergy[sfb] - 2;
if( tmp2 > 0) {
tmp = rsqrt(sfbEnergy[sfb], INT_BITS);
- if(tmp > INT_BITS_SCAL)
+ if(tmp > INT_BITS_SCAL)
{
shift = norm_l(tmp);
- tmp = Div_32( INT_BITS_SCAL << shift, tmp << shift );
+ tmp = Div_32( INT_BITS_SCAL << shift, tmp << shift );
}
else
{
- tmp = 0x7fffffff;
+ tmp = 0x7fffffff;
}
}
else {
- tmp = 0x7fffffff;
- }
- tnsSfbMean[sfb] = tmp;
+ tmp = 0x7fffffff;
+ }
+ tnsSfbMean[sfb] = tmp;
}
/* spread normalized values from sfbs to lines */
- sfb = lpcStartBand;
- tmp = tnsSfbMean[sfb];
+ sfb = lpcStartBand;
+ tmp = tnsSfbMean[sfb];
for ( i=lpcStartLine; i<lpcStopLine; i++){
- tmp_s = sfbOffset[sfb + 1] - i;
+ tmp_s = sfbOffset[sfb + 1] - i;
if ( tmp_s == 0 ) {
sfb = sfb + 1;
- tmp2_s = sfb + 1 - lpcStopBand;
+ tmp2_s = sfb + 1 - lpcStopBand;
if (tmp2_s <= 0) {
- tmp = tnsSfbMean[sfb];
+ tmp = tnsSfbMean[sfb];
}
}
- pWork32[i] = tmp;
+ pWork32[i] = tmp;
}
/*filter down*/
for (i=(lpcStopLine - 2); i>=lpcStartLine; i--){
@@ -597,8 +597,8 @@ static void CalcWeightedSpectrum(const Word32 spectrum[], /*!< input sp
/* weight and normalize */
for (i=lpcStartLine; i<lpcStopLine; i++){
- pWork32[i] = MULHIGH(pWork32[i], spectrum[i]);
- maxWS |= L_abs(pWork32[i]);
+ pWork32[i] = MULHIGH(pWork32[i], spectrum[i]);
+ maxWS |= L_abs(pWork32[i]);
}
maxShift = norm_l(maxWS);
@@ -646,7 +646,7 @@ static Word16 CalcTnsFilter(const Word16 *signal,
assert(tnsOrder <= TNS_MAX_ORDER); /* remove asserts later? (btg) */
for(i=0;i<tnsOrder;i++) {
- parcor[i] = 0;
+ parcor[i] = 0;
}
AutoCorrelation(signal, parcorWorkBuffer, numOfLines, tnsOrderPlus1);
@@ -678,15 +678,15 @@ void AutoCorrelation(const Word16 input[],
Word32 accu;
Word32 scf;
- scf = 10 - 1;
+ scf = 10 - 1;
isamples = samples;
/* calc first corrCoef: R[0] = sum { t[i] * t[i] } ; i = 0..N-1 */
- accu = 0;
+ accu = 0;
for(j=0; j<isamples; j++) {
accu = L_add(accu, ((input[j] * input[j]) >> scf));
}
- corr[0] = accu;
+ corr[0] = accu;
/* early termination if all corr coeffs are likely going to be zero */
if(corr[0] == 0) return ;
@@ -694,13 +694,13 @@ void AutoCorrelation(const Word16 input[],
/* calc all other corrCoef: R[j] = sum { t[i] * t[i+j] } ; i = 0..(N-j-1), j=1..p */
for(i=1; i<corrCoeff; i++) {
isamples = isamples - 1;
- accu = 0;
+ accu = 0;
for(j=0; j<isamples; j++) {
accu = L_add(accu, ((input[j] * input[j+i]) >> scf));
}
- corr[i] = accu;
+ corr[i] = accu;
}
-}
+}
#endif
/*****************************************************************************
@@ -720,20 +720,20 @@ static Word16 AutoToParcor(Word32 workBuffer[], Word32 reflCoeff[], Word16 numOf
Word32 predictionGain = 0;
Word32 num, denom;
Word32 temp, workBuffer0;
-
- num = workBuffer[0];
- temp = workBuffer[numOfCoeff];
+
+ num = workBuffer[0];
+ temp = workBuffer[numOfCoeff];
for(i=0; i<numOfCoeff-1; i++) {
- workBuffer[i + numOfCoeff] = workBuffer[i + 1];
+ workBuffer[i + numOfCoeff] = workBuffer[i + 1];
}
- workBuffer[i + numOfCoeff] = temp;
-
+ workBuffer[i + numOfCoeff] = temp;
+
for(i=0; i<numOfCoeff; i++) {
Word32 refc;
-
+
if (workBuffer[0] < L_abs(workBuffer[i + numOfCoeff])) {
return 0 ;
}
@@ -742,21 +742,21 @@ static Word16 AutoToParcor(Word32 workBuffer[], Word32 reflCoeff[], Word16 numOf
/* calculate refc = -workBuffer[numOfCoeff+i] / workBuffer[0]; -1 <= refc < 1 */
refc = L_negate(fixmul(workBuffer[numOfCoeff + i], workBuffer0));
- reflCoeff[i] = refc;
+ reflCoeff[i] = refc;
- pWorkBuffer = &(workBuffer[numOfCoeff]);
+ pWorkBuffer = &(workBuffer[numOfCoeff]);
for(j=i; j<numOfCoeff; j++) {
Word32 accu1, accu2;
accu1 = L_add(pWorkBuffer[j], fixmul(refc, workBuffer[j - i]));
accu2 = L_add(workBuffer[j - i], fixmul(refc, pWorkBuffer[j]));
- pWorkBuffer[j] = accu1;
- workBuffer[j - i] = accu2;
+ pWorkBuffer[j] = accu1;
+ workBuffer[j - i] = accu2;
}
}
denom = MULHIGH(workBuffer[0], NORM_COEF);
-
+
if (denom != 0) {
Word32 temp;
shift = norm_l(denom);
@@ -774,11 +774,11 @@ static Word16 Search3(Word32 parcor)
Word32 index = 0;
Word32 i;
Word32 temp;
-
+
for (i=0;i<8;i++) {
- temp = L_sub( parcor, tnsCoeff3Borders[i]);
+ temp = L_sub( parcor, tnsCoeff3Borders[i]);
if (temp > 0)
- index=i;
+ index=i;
}
return extract_l(index - 4);
}
@@ -788,12 +788,12 @@ static Word16 Search4(Word32 parcor)
Word32 index = 0;
Word32 i;
Word32 temp;
-
+
for (i=0;i<16;i++) {
- temp = L_sub(parcor, tnsCoeff4Borders[i]);
+ temp = L_sub(parcor, tnsCoeff4Borders[i]);
if (temp > 0)
- index=i;
+ index=i;
}
return extract_l(index - 8);
}
@@ -814,12 +814,12 @@ static void Parcor2Index(const Word32 parcor[], /*!< parcor coefficients */
Word32 temp;
for(i=0; i<order; i++) {
- temp = bitsPerCoeff - 3;
+ temp = bitsPerCoeff - 3;
if (temp == 0) {
- index[i] = Search3(parcor[i]);
- }
+ index[i] = Search3(parcor[i]);
+ }
else {
- index[i] = Search4(parcor[i]);
+ index[i] = Search4(parcor[i]);
}
}
}
@@ -839,12 +839,12 @@ static void Index2Parcor(const Word16 index[], /*!< quantized values */
Word32 temp;
for (i=0; i<order; i++) {
- temp = bitsPerCoeff - 4;
+ temp = bitsPerCoeff - 4;
if ( temp == 0 ) {
- parcor[i] = tnsCoeff4[index[i] + 8];
+ parcor[i] = tnsCoeff4[index[i] + 8];
}
else {
- parcor[i] = tnsCoeff3[index[i] + 4];
+ parcor[i] = tnsCoeff3[index[i] + 4];
}
}
}
@@ -865,20 +865,20 @@ static Word32 FIRLattice(Word16 order, /*!< filter order */
Word32 accu,tmp,tmpSave;
x = x >> 1;
- tmpSave = x;
+ tmpSave = x;
for (i=0; i<(order - 1); i++) {
tmp = L_add(fixmul(coef_par[i], x), state_par[i]);
x = L_add(fixmul(coef_par[i], state_par[i]), x);
- state_par[i] = tmpSave;
- tmpSave = tmp;
+ state_par[i] = tmpSave;
+ tmpSave = tmp;
}
/* last stage: only need half operations */
accu = fixmul(state_par[order - 1], coef_par[(order - 1)]);
- state_par[(order - 1)] = tmpSave;
+ state_par[(order - 1)] = tmpSave;
x = L_add(accu, x);
x = L_add(x, x);
@@ -903,11 +903,11 @@ static void AnalysisFilterLattice(const Word32 signal[], /*!< input spectrum *
Word32 j;
for ( j=0; j<TNS_MAX_ORDER; j++ ) {
- state_par[j] = 0;
+ state_par[j] = 0;
}
for(j=0; j<numOfLines; j++) {
- output[j] = FIRLattice(order,signal[j],state_par,parCoeff);
+ output[j] = FIRLattice(order,signal[j],state_par,parCoeff);
}
}
@@ -922,11 +922,11 @@ void ApplyTnsMultTableToRatios(Word16 startCb,
TNS_SUBBLOCK_INFO subInfo, /*!< TNS subblock info */
Word32 *thresholds) /*!< thresholds (modified) */
{
- Word32 i;
+ Word32 i;
if (subInfo.tnsActive) {
for(i=startCb; i<stopCb; i++) {
/* thresholds[i] * 0.25 */
- thresholds[i] = (thresholds[i] >> 2);
+ thresholds[i] = (thresholds[i] >> 2);
}
}
}
diff --git a/media/libstagefright/codecs/aacenc/src/transform.c b/media/libstagefright/codecs/aacenc/src/transform.c
index 4d11f78..a154a2f 100644
--- a/media/libstagefright/codecs/aacenc/src/transform.c
+++ b/media/libstagefright/codecs/aacenc/src/transform.c
@@ -31,7 +31,7 @@
#define swap2(p0,p1) \
t = p0; t1 = *(&(p0)+1); \
p0 = p1; *(&(p0)+1) = *(&(p1)+1); \
- p1 = t; *(&(p1)+1) = t1
+ p1 = t; *(&(p1)+1) = t1
/*********************************************************************************
*
@@ -47,18 +47,18 @@ static void Shuffle(int *buf, int num, const unsigned char* bitTab)
part0 = buf;
part1 = buf + num;
-
+
while ((i = *bitTab++) != 0) {
j = *bitTab++;
- swap2(part0[4*i+0], part0[4*j+0]);
- swap2(part0[4*i+2], part1[4*j+0]);
- swap2(part1[4*i+0], part0[4*j+2]);
- swap2(part1[4*i+2], part1[4*j+2]);
+ swap2(part0[4*i+0], part0[4*j+0]);
+ swap2(part0[4*i+2], part1[4*j+0]);
+ swap2(part1[4*i+0], part0[4*j+2]);
+ swap2(part1[4*i+2], part1[4*j+2]);
}
do {
- swap2(part0[4*i+2], part1[4*i+0]);
+ swap2(part0[4*i+2], part1[4*i+0]);
} while ((i = *bitTab++) != 0);
}
@@ -74,8 +74,8 @@ static void Radix4First(int *buf, int num)
{
int r0, r1, r2, r3;
int r4, r5, r6, r7;
-
- for (; num != 0; num--)
+
+ for (; num != 0; num--)
{
r0 = buf[0] + buf[2];
r1 = buf[1] + buf[3];
@@ -113,7 +113,7 @@ static void Radix8First(int *buf, int num)
int i4, i5, i6, i7;
int t0, t1, t2, t3;
- for ( ; num != 0; num--)
+ for ( ; num != 0; num--)
{
r0 = buf[0] + buf[2];
i0 = buf[1] + buf[3];
@@ -194,23 +194,23 @@ static void Radix4FFT(int *buf, int num, int bgn, int *twidTab)
int i, j, step;
int *xptr, *csptr;
- for (num >>= 2; num != 0; num >>= 2)
+ for (num >>= 2; num != 0; num >>= 2)
{
step = 2*bgn;
xptr = buf;
- for (i = num; i != 0; i--)
+ for (i = num; i != 0; i--)
{
csptr = twidTab;
- for (j = bgn; j != 0; j--)
+ for (j = bgn; j != 0; j--)
{
r0 = xptr[0];
r1 = xptr[1];
xptr += step;
-
+
t0 = xptr[0];
- t1 = xptr[1];
+ t1 = xptr[1];
cosx = csptr[0];
sinx = csptr[1];
r2 = MULHIGH(cosx, t0) + MULHIGH(sinx, t1); /* cos*br + sin*bi */
@@ -223,7 +223,7 @@ static void Radix4FFT(int *buf, int num, int bgn, int *twidTab)
r1 = t1 - r3;
r2 = t0 + r2;
r3 = t1 + r3;
-
+
t0 = xptr[0];
t1 = xptr[1];
cosx = csptr[2];
@@ -231,7 +231,7 @@ static void Radix4FFT(int *buf, int num, int bgn, int *twidTab)
r4 = MULHIGH(cosx, t0) + MULHIGH(sinx, t1); /* cos*cr + sin*ci */
r5 = MULHIGH(cosx, t1) - MULHIGH(sinx, t0); /* cos*ci - sin*cr */
xptr += step;
-
+
t0 = xptr[0];
t1 = xptr[1];
cosx = csptr[4];
@@ -282,25 +282,25 @@ static void PreMDCT(int *buf0, int num, const int *csptr)
int tr1, ti1, tr2, ti2;
int cosa, sina, cosb, sinb;
int *buf1;
-
+
buf1 = buf0 + num - 1;
for(i = num >> 2; i != 0; i--)
{
- cosa = *csptr++;
- sina = *csptr++;
- cosb = *csptr++;
- sinb = *csptr++;
+ cosa = *csptr++;
+ sina = *csptr++;
+ cosb = *csptr++;
+ sinb = *csptr++;
tr1 = *(buf0 + 0);
ti2 = *(buf0 + 1);
tr2 = *(buf1 - 1);
ti1 = *(buf1 + 0);
-
+
*buf0++ = MULHIGH(cosa, tr1) + MULHIGH(sina, ti1);
- *buf0++ = MULHIGH(cosa, ti1) - MULHIGH(sina, tr1);
-
- *buf1-- = MULHIGH(cosb, ti2) - MULHIGH(sinb, tr2);
+ *buf0++ = MULHIGH(cosa, ti1) - MULHIGH(sina, tr1);
+
+ *buf1-- = MULHIGH(cosb, ti2) - MULHIGH(sinb, tr2);
*buf1-- = MULHIGH(cosb, tr2) + MULHIGH(sinb, ti2);
}
}
@@ -319,12 +319,12 @@ static void PostMDCT(int *buf0, int num, const int *csptr)
int *buf1;
buf1 = buf0 + num - 1;
-
+
for(i = num >> 2; i != 0; i--)
{
- cosa = *csptr++;
- sina = *csptr++;
- cosb = *csptr++;
+ cosa = *csptr++;
+ sina = *csptr++;
+ cosb = *csptr++;
sinb = *csptr++;
tr1 = *(buf0 + 0);
@@ -333,10 +333,10 @@ static void PostMDCT(int *buf0, int num, const int *csptr)
tr2 = *(buf1 - 1);
*buf0++ = MULHIGH(cosa, tr1) + MULHIGH(sina, ti1);
- *buf1-- = MULHIGH(sina, tr1) - MULHIGH(cosa, ti1);
-
+ *buf1-- = MULHIGH(sina, tr1) - MULHIGH(cosa, ti1);
+
*buf0++ = MULHIGH(sinb, tr2) - MULHIGH(cosb, ti2);
- *buf1-- = MULHIGH(cosb, tr2) + MULHIGH(sinb, ti2);
+ *buf1-- = MULHIGH(cosb, tr2) + MULHIGH(sinb, ti2);
}
}
#endif
@@ -353,17 +353,17 @@ void Mdct_Long(int *buf)
PreMDCT(buf, 1024, cossintab + 128);
Shuffle(buf, 512, bitrevTab + 17);
- Radix8First(buf, 512 >> 3);
+ Radix8First(buf, 512 >> 3);
Radix4FFT(buf, 512 >> 3, 8, (int *)twidTab512);
- PostMDCT(buf, 1024, cossintab + 128);
+ PostMDCT(buf, 1024, cossintab + 128);
}
/**********************************************************************************
*
* function name: Mdct_Short
-* description: the short block mdct
+* description: the short block mdct
*
**********************************************************************************/
void Mdct_Short(int *buf)
@@ -371,10 +371,10 @@ void Mdct_Short(int *buf)
PreMDCT(buf, 128, cossintab);
Shuffle(buf, 64, bitrevTab);
- Radix4First(buf, 64 >> 2);
- Radix4FFT(buf, 64 >> 2, 4, (int *)twidTab64);
+ Radix4First(buf, 64 >> 2);
+ Radix4FFT(buf, 64 >> 2, 4, (int *)twidTab64);
- PostMDCT(buf, 128, cossintab);
+ PostMDCT(buf, 128, cossintab);
}
@@ -382,7 +382,7 @@ void Mdct_Short(int *buf)
*
* function name: shiftMdctDelayBuffer
* description: the mdct delay buffer has a size of 1600,
-* so the calculation of LONG,STOP must be spilt in two
+* so the calculation of LONG,STOP must be spilt in two
* passes with 1024 samples and a mid shift,
* the SHORT transforms can be completed in the delay buffer,
* and afterwards a shift
@@ -409,7 +409,7 @@ static void shiftMdctDelayBuffer(Word16 *mdctDelayBuffer, /*! start of mdct dela
dsBuf = timeSignal;
for(i=0; i<FRAME_LEN_LONG; i+=8)
- {
+ {
*srBuf++ = *dsBuf; dsBuf += chIncrement;
*srBuf++ = *dsBuf; dsBuf += chIncrement;
*srBuf++ = *dsBuf; dsBuf += chIncrement;
@@ -470,10 +470,10 @@ void Transform_Real(Word16 *mdctDelayBuffer,
Word32 delayBufferSf,timeSignalSf,minSf;
Word32 headRoom=0;
-
+
switch(blockType){
-
-
+
+
case LONG_WINDOW:
/*
we access BLOCK_SWITCHING_OFFSET (1600 ) delay buffer samples + 448 new timeSignal samples
@@ -483,15 +483,15 @@ void Transform_Real(Word16 *mdctDelayBuffer,
timeSignalSf = getScalefactorOfShortVectorStride(timeSignal,2*FRAME_LEN_LONG-BLOCK_SWITCHING_OFFSET,chIncrement);
minSf = min(delayBufferSf,timeSignalSf);
minSf = min(minSf,14);
-
+
dctIn0 = mdctDelayBuffer;
dctIn1 = mdctDelayBuffer + FRAME_LEN_LONG - 1;
outData0 = realOut + FRAME_LEN_LONG/2;
-
+
/* add windows and pre add for mdct to last buffer*/
winPtr = (int *)LongWindowKBD;
for(i=0;i<FRAME_LEN_LONG/2;i++){
- timeSignalSample = (*dctIn0++) << minSf;
+ timeSignalSample = (*dctIn0++) << minSf;
ws1 = timeSignalSample * (*winPtr >> 16);
timeSignalSample = (*dctIn1--) << minSf;
ws2 = timeSignalSample * (*winPtr & 0xffff);
@@ -499,30 +499,30 @@ void Transform_Real(Word16 *mdctDelayBuffer,
/* shift 2 to avoid overflow next */
*outData0++ = (ws1 >> 2) - (ws2 >> 2);
}
-
+
shiftMdctDelayBuffer(mdctDelayBuffer,timeSignal,chIncrement);
-
+
/* add windows and pre add for mdct to new buffer*/
dctIn0 = mdctDelayBuffer;
dctIn1 = mdctDelayBuffer + FRAME_LEN_LONG - 1;
- outData0 = realOut + FRAME_LEN_LONG/2 - 1;
+ outData0 = realOut + FRAME_LEN_LONG/2 - 1;
winPtr = (int *)LongWindowKBD;
- for(i=0;i<FRAME_LEN_LONG/2;i++){
+ for(i=0;i<FRAME_LEN_LONG/2;i++){
timeSignalSample = (*dctIn0++) << minSf;
ws1 = timeSignalSample * (*winPtr & 0xffff);
timeSignalSample = (*dctIn1--) << minSf;
ws2 = timeSignalSample * (*winPtr >> 16);
winPtr++;
/* shift 2 to avoid overflow next */
- *outData0-- = -((ws1 >> 2) + (ws2 >> 2));
+ *outData0-- = -((ws1 >> 2) + (ws2 >> 2));
}
Mdct_Long(realOut);
/* update scale factor */
minSf = 14 - minSf;
- *mdctScale=minSf;
+ *mdctScale=minSf;
break;
-
+
case START_WINDOW:
/*
we access BLOCK_SWITCHING_OFFSET (1600 ) delay buffer samples + no timeSignal samples
@@ -533,7 +533,7 @@ void Transform_Real(Word16 *mdctDelayBuffer,
dctIn0 = mdctDelayBuffer;
dctIn1 = mdctDelayBuffer + FRAME_LEN_LONG - 1;
- outData0 = realOut + FRAME_LEN_LONG/2;
+ outData0 = realOut + FRAME_LEN_LONG/2;
winPtr = (int *)LongWindowKBD;
/* add windows and pre add for mdct to last buffer*/
@@ -545,18 +545,18 @@ void Transform_Real(Word16 *mdctDelayBuffer,
winPtr ++;
*outData0++ = (ws1 >> 2) - (ws2 >> 2); /* shift 2 to avoid overflow next */
}
-
+
shiftMdctDelayBuffer(mdctDelayBuffer,timeSignal,chIncrement);
-
- outData0 = realOut + FRAME_LEN_LONG/2 - 1;
+
+ outData0 = realOut + FRAME_LEN_LONG/2 - 1;
for(i=0;i<LS_TRANS;i++){
- *outData0-- = -mdctDelayBuffer[i] << (15 - 2 + minSf);
+ *outData0-- = -mdctDelayBuffer[i] << (15 - 2 + minSf);
}
-
+
/* add windows and pre add for mdct to new buffer*/
dctIn0 = mdctDelayBuffer + LS_TRANS;
dctIn1 = mdctDelayBuffer + FRAME_LEN_LONG - 1 - LS_TRANS;
- outData0 = realOut + FRAME_LEN_LONG/2 - 1 -LS_TRANS;
+ outData0 = realOut + FRAME_LEN_LONG/2 - 1 -LS_TRANS;
winPtr = (int *)ShortWindowSine;
for(i=0;i<FRAME_LEN_SHORT/2;i++){
timeSignalSample= (*dctIn0++) << minSf;
@@ -572,7 +572,7 @@ void Transform_Real(Word16 *mdctDelayBuffer,
minSf = 14 - minSf;
*mdctScale= minSf;
break;
-
+
case STOP_WINDOW:
/*
we access BLOCK_SWITCHING_OFFSET-LS_TRANS (1600-448 ) delay buffer samples + 448 new timeSignal samples
@@ -580,19 +580,19 @@ void Transform_Real(Word16 *mdctDelayBuffer,
*/
delayBufferSf = getScalefactorOfShortVectorStride(mdctDelayBuffer+LS_TRANS,BLOCK_SWITCHING_OFFSET-LS_TRANS,1);
timeSignalSf = getScalefactorOfShortVectorStride(timeSignal,2*FRAME_LEN_LONG-BLOCK_SWITCHING_OFFSET,chIncrement);
- minSf = min(delayBufferSf,timeSignalSf);
+ minSf = min(delayBufferSf,timeSignalSf);
minSf = min(minSf,13);
-
+
outData0 = realOut + FRAME_LEN_LONG/2;
dctIn1 = mdctDelayBuffer + FRAME_LEN_LONG - 1;
for(i=0;i<LS_TRANS;i++){
- *outData0++ = -(*dctIn1--) << (15 - 2 + minSf);
+ *outData0++ = -(*dctIn1--) << (15 - 2 + minSf);
}
-
+
/* add windows and pre add for mdct to last buffer*/
dctIn0 = mdctDelayBuffer + LS_TRANS;
dctIn1 = mdctDelayBuffer + FRAME_LEN_LONG - 1 - LS_TRANS;
- outData0 = realOut + FRAME_LEN_LONG/2 + LS_TRANS;
+ outData0 = realOut + FRAME_LEN_LONG/2 + LS_TRANS;
winPtr = (int *)ShortWindowSine;
for(i=0;i<FRAME_LEN_SHORT/2;i++){
timeSignalSample = (*dctIn0++) << minSf;
@@ -602,13 +602,13 @@ void Transform_Real(Word16 *mdctDelayBuffer,
winPtr++;
*outData0++ = (ws1 >> 2) - (ws2 >> 2); /* shift 2 to avoid overflow next */
}
-
+
shiftMdctDelayBuffer(mdctDelayBuffer,timeSignal,chIncrement);
-
+
/* add windows and pre add for mdct to new buffer*/
dctIn0 = mdctDelayBuffer;
dctIn1 = mdctDelayBuffer + FRAME_LEN_LONG - 1;
- outData0 = realOut + FRAME_LEN_LONG/2 - 1;
+ outData0 = realOut + FRAME_LEN_LONG/2 - 1;
winPtr = (int *)LongWindowKBD;
for(i=0;i<FRAME_LEN_LONG/2;i++){
timeSignalSample= (*dctIn0++) << minSf;
@@ -618,26 +618,26 @@ void Transform_Real(Word16 *mdctDelayBuffer,
*outData0-- = -((ws1 >> 2) + (ws2 >> 2)); /* shift 2 to avoid overflow next */
winPtr++;
}
-
+
Mdct_Long(realOut);
minSf = 14 - minSf;
*mdctScale= minSf; /* update scale factor */
break;
-
+
case SHORT_WINDOW:
/*
we access BLOCK_SWITCHING_OFFSET (1600 ) delay buffer samples + no new timeSignal samples
and get the biggest scale factor for next calculate more precise
- */
+ */
minSf = getScalefactorOfShortVectorStride(mdctDelayBuffer+TRANSFORM_OFFSET_SHORT,9*FRAME_LEN_SHORT,1);
minSf = min(minSf,10);
-
-
+
+
for(w=0;w<TRANS_FAC;w++){
dctIn0 = mdctDelayBuffer+w*FRAME_LEN_SHORT+TRANSFORM_OFFSET_SHORT;
dctIn1 = mdctDelayBuffer+w*FRAME_LEN_SHORT+TRANSFORM_OFFSET_SHORT + FRAME_LEN_SHORT-1;
- outData0 = realOut + FRAME_LEN_SHORT/2;
- outData1 = realOut + FRAME_LEN_SHORT/2 - 1;
+ outData0 = realOut + FRAME_LEN_SHORT/2;
+ outData1 = realOut + FRAME_LEN_SHORT/2 - 1;
winPtr = (int *)ShortWindowSine;
for(i=0;i<FRAME_LEN_SHORT/2;i++){
@@ -646,7 +646,7 @@ void Transform_Real(Word16 *mdctDelayBuffer,
timeSignalSample= *dctIn1 << minSf;
ws2 = timeSignalSample * (*winPtr & 0xffff);
*outData0++ = (ws1 >> 2) - (ws2 >> 2); /* shift 2 to avoid overflow next */
-
+
timeSignalSample= *(dctIn0 + FRAME_LEN_SHORT) << minSf;
ws1 = timeSignalSample * (*winPtr & 0xffff);
timeSignalSample= *(dctIn1 + FRAME_LEN_SHORT) << minSf;
@@ -661,10 +661,10 @@ void Transform_Real(Word16 *mdctDelayBuffer,
Mdct_Short(realOut);
realOut += FRAME_LEN_SHORT;
}
-
+
minSf = 11 - minSf;
*mdctScale = minSf; /* update scale factor */
-
+
shiftMdctDelayBuffer(mdctDelayBuffer,timeSignal,chIncrement);
break;
}
diff --git a/media/libstagefright/codecs/amrwbenc/Android.mk b/media/libstagefright/codecs/amrwbenc/Android.mk
index 5179380..ae43870 100644
--- a/media/libstagefright/codecs/amrwbenc/Android.mk
+++ b/media/libstagefright/codecs/amrwbenc/Android.mk
@@ -3,7 +3,7 @@ include $(CLEAR_VARS)
include frameworks/base/media/libstagefright/codecs/common/Config.mk
-
+
LOCAL_SRC_FILES := \
AMRWBEncoder.cpp \
src/autocorr.c \
@@ -91,7 +91,7 @@ LOCAL_MODULE := libstagefright_amrwbenc
LOCAL_ARM_MODE := arm
-LOCAL_STATIC_LIBRARIES :=
+LOCAL_STATIC_LIBRARIES :=
LOCAL_SHARED_LIBRARIES :=
diff --git a/media/libstagefright/codecs/amrwbenc/inc/basic_op.h b/media/libstagefright/codecs/amrwbenc/inc/basic_op.h
index 7734913..c23dce6 100644
--- a/media/libstagefright/codecs/amrwbenc/inc/basic_op.h
+++ b/media/libstagefright/codecs/amrwbenc/inc/basic_op.h
@@ -33,7 +33,7 @@
#define static_vo static __inline__
#else
#define static_vo static __inline
-#endif
+#endif
#define saturate(L_var1) (((L_var1) > 0X00007fffL) ? (MAX_16): (((L_var1) < (Word32) 0xffff8000L) ? (MIN_16): ((L_var1) & 0xffff)))
@@ -87,7 +87,7 @@ static_vo Word32 L_shr (Word32 L_var1, Word16 var2); /* Long shift right
static_vo Word32 L_shr_r (Word32 L_var1, Word16 var2); /* Long shift right with round, 3 */
static_vo Word16 norm_s (Word16 var1); /* Short norm, 15 */
static_vo Word16 div_s (Word16 var1, Word16 var2); /* Short division, 18 */
-static_vo Word16 norm_l (Word32 L_var1); /* Long norm, 30 */
+static_vo Word16 norm_l (Word32 L_var1); /* Long norm, 30 */
/*___________________________________________________________________________
| |
@@ -1030,8 +1030,8 @@ static_vo Word16 div_s (Word16 var1, Word16 var2)
L_num <<= 1;
if (L_num >= L_denom)
{
- L_num -= L_denom;
- var_out += 1;
+ L_num -= L_denom;
+ var_out += 1;
}
}
}
diff --git a/media/libstagefright/codecs/amrwbenc/inc/homing.tab b/media/libstagefright/codecs/amrwbenc/inc/homing.tab
index edcccdd..e399fb8 100644
--- a/media/libstagefright/codecs/amrwbenc/inc/homing.tab
+++ b/media/libstagefright/codecs/amrwbenc/inc/homing.tab
@@ -33,89 +33,89 @@
static const Word16 dfh_M7k[PRMN_7k] =
{
- 3168, 29954, 29213, 16121,
- 64, 13440, 30624, 16430,
+ 3168, 29954, 29213, 16121,
+ 64, 13440, 30624, 16430,
19008
};
static const Word16 dfh_M9k[PRMN_9k] =
{
- 3168, 31665, 9943, 9123,
- 15599, 4358, 20248, 2048,
+ 3168, 31665, 9943, 9123,
+ 15599, 4358, 20248, 2048,
17040, 27787, 16816, 13888
};
static const Word16 dfh_M12k[PRMN_12k] =
{
- 3168, 31665, 9943, 9128,
- 3647, 8129, 30930, 27926,
- 18880, 12319, 496, 1042,
- 4061, 20446, 25629, 28069,
+ 3168, 31665, 9943, 9128,
+ 3647, 8129, 30930, 27926,
+ 18880, 12319, 496, 1042,
+ 4061, 20446, 25629, 28069,
13948
};
static const Word16 dfh_M14k[PRMN_14k] =
{
- 3168, 31665, 9943, 9131,
- 24815, 655, 26616, 26764,
- 7238, 19136, 6144, 88,
- 4158, 25733, 30567, 30494,
+ 3168, 31665, 9943, 9131,
+ 24815, 655, 26616, 26764,
+ 7238, 19136, 6144, 88,
+ 4158, 25733, 30567, 30494,
221, 20321, 17823
};
static const Word16 dfh_M16k[PRMN_16k] =
{
- 3168, 31665, 9943, 9131,
- 24815, 700, 3824, 7271,
- 26400, 9528, 6594, 26112,
- 108, 2068, 12867, 16317,
- 23035, 24632, 7528, 1752,
+ 3168, 31665, 9943, 9131,
+ 24815, 700, 3824, 7271,
+ 26400, 9528, 6594, 26112,
+ 108, 2068, 12867, 16317,
+ 23035, 24632, 7528, 1752,
6759, 24576
};
static const Word16 dfh_M18k[PRMN_18k] =
{
- 3168, 31665, 9943, 9135,
- 14787, 14423, 30477, 24927,
- 25345, 30154, 916, 5728,
- 18978, 2048, 528, 16449,
- 2436, 3581, 23527, 29479,
- 8237, 16810, 27091, 19052,
+ 3168, 31665, 9943, 9135,
+ 14787, 14423, 30477, 24927,
+ 25345, 30154, 916, 5728,
+ 18978, 2048, 528, 16449,
+ 2436, 3581, 23527, 29479,
+ 8237, 16810, 27091, 19052,
0
};
static const Word16 dfh_M20k[PRMN_20k] =
{
- 3168, 31665, 9943, 9129,
- 8637, 31807, 24646, 736,
- 28643, 2977, 2566, 25564,
- 12930, 13960, 2048, 834,
- 3270, 4100, 26920, 16237,
- 31227, 17667, 15059, 20589,
+ 3168, 31665, 9943, 9129,
+ 8637, 31807, 24646, 736,
+ 28643, 2977, 2566, 25564,
+ 12930, 13960, 2048, 834,
+ 3270, 4100, 26920, 16237,
+ 31227, 17667, 15059, 20589,
30249, 29123, 0
};
static const Word16 dfh_M23k[PRMN_23k] =
{
- 3168, 31665, 9943, 9132,
- 16748, 3202, 28179, 16317,
- 30590, 15857, 19960, 8818,
- 21711, 21538, 4260, 16690,
- 20224, 3666, 4194, 9497,
- 16320, 15388, 5755, 31551,
- 14080, 3574, 15932, 50,
+ 3168, 31665, 9943, 9132,
+ 16748, 3202, 28179, 16317,
+ 30590, 15857, 19960, 8818,
+ 21711, 21538, 4260, 16690,
+ 20224, 3666, 4194, 9497,
+ 16320, 15388, 5755, 31551,
+ 14080, 3574, 15932, 50,
23392, 26053, 31216
};
static const Word16 dfh_M24k[PRMN_24k] =
{
- 3168, 31665, 9943, 9134,
- 24776, 5857, 18475, 28535,
- 29662, 14321, 16725, 4396,
- 29353, 10003, 17068, 20504,
- 720, 0, 8465, 12581,
- 28863, 24774, 9709, 26043,
- 7941, 27649, 13965, 15236,
+ 3168, 31665, 9943, 9134,
+ 24776, 5857, 18475, 28535,
+ 29662, 14321, 16725, 4396,
+ 29353, 10003, 17068, 20504,
+ 720, 0, 8465, 12581,
+ 28863, 24774, 9709, 26043,
+ 7941, 27649, 13965, 15236,
18026, 22047, 16681, 3968
};
diff --git a/media/libstagefright/codecs/amrwbenc/inc/isp_isf.tab b/media/libstagefright/codecs/amrwbenc/inc/isp_isf.tab
index 2322845..97c3b68 100644
--- a/media/libstagefright/codecs/amrwbenc/inc/isp_isf.tab
+++ b/media/libstagefright/codecs/amrwbenc/inc/isp_isf.tab
@@ -42,7 +42,7 @@ const static Word16 table[129] = {
/* slope in Q11 used to compute y = acos(x) */
-const static Word16 slope[128] = {
+const static Word16 slope[128] = {
-26214, -9039, -5243, -3799, -2979, -2405, -2064, -1771,
-1579, -1409, -1279, -1170, -1079, -1004, -933, -880,
-827, -783, -743, -708, -676, -647, -621, -599,
diff --git a/media/libstagefright/codecs/amrwbenc/inc/log2.h b/media/libstagefright/codecs/amrwbenc/inc/log2.h
index 6a35019..b065eb4 100644
--- a/media/libstagefright/codecs/amrwbenc/inc/log2.h
+++ b/media/libstagefright/codecs/amrwbenc/inc/log2.h
@@ -25,20 +25,20 @@
*/
#ifndef __LOG2_H__
#define __LOG2_H__
-
+
/*
********************************************************************************
* INCLUDE FILES
********************************************************************************
*/
#include "typedef.h"
-
+
/*
********************************************************************************
* DEFINITION OF DATA TYPES
********************************************************************************
*/
-
+
/*
********************************************************************************
* DECLARATION OF PROTOTYPES
diff --git a/media/libstagefright/codecs/amrwbenc/inc/mime_io.tab b/media/libstagefright/codecs/amrwbenc/inc/mime_io.tab
index 5f85dd0..7b485ea 100644
--- a/media/libstagefright/codecs/amrwbenc/inc/mime_io.tab
+++ b/media/libstagefright/codecs/amrwbenc/inc/mime_io.tab
@@ -98,7 +98,7 @@ static Word16 sort_1265[253] = {
244, 61, 111, 164, 214, 65, 115, 168, 218, 70,
120, 173, 223, 74, 124, 177, 227, 79, 129, 182,
232, 83, 133, 186, 236, 88, 138, 191, 241, 92,
- 142, 195, 245
+ 142, 195, 245
};
static Word16 sort_1425[285] = {
@@ -205,7 +205,7 @@ static Word16 sort_1825[365] = {
257, 243, 229, 356, 159, 119, 67, 187, 173, 145,
240, 77, 304, 332, 314, 342, 109, 254, 81, 278,
105, 91, 346, 318, 183, 250, 197, 328, 95, 155,
- 169, 268, 226, 236, 264
+ 169, 268, 226, 236, 264
};
static Word16 sort_1985[397] = {
@@ -248,7 +248,7 @@ static Word16 sort_1985[397] = {
128, 118, 303, 104, 379, 182, 114, 375, 200, 96,
293, 172, 214, 365, 279, 86, 289, 351, 347, 357,
261, 186, 176, 271, 90, 100, 147, 322, 275, 361,
- 71, 332, 61, 265, 157, 246, 236
+ 71, 332, 61, 265, 157, 246, 236
};
static Word16 sort_2305[461] = {
@@ -349,7 +349,7 @@ static Word16 sort_2385[477] = {
132, 453, 336, 425, 325, 347, 126, 104, 137, 458,
352, 243, 447, 115, 341, 210, 330, 221, 232, 436,
465, 319, 359, 111, 454, 228, 217, 122, 443, 348,
- 239, 250, 133, 144, 432, 337, 326
+ 239, 250, 133, 144, 432, 337, 326
};
static Word16 sort_SID[35] = {
diff --git a/media/libstagefright/codecs/amrwbenc/inc/stream.h b/media/libstagefright/codecs/amrwbenc/inc/stream.h
index 3e5336a..4c1d0f0 100644
--- a/media/libstagefright/codecs/amrwbenc/inc/stream.h
+++ b/media/libstagefright/codecs/amrwbenc/inc/stream.h
@@ -26,7 +26,7 @@ Contains: VOME API Buffer Operator Implement Header
#define __STREAM_H__
#include "voMem.h"
-#define Frame_Maxsize 1024 * 2 //Work Buffer 10K
+#define Frame_Maxsize 1024 * 2 //Work Buffer 10K
#define Frame_MaxByte 640 //AMR_WB Encoder one frame 320 samples = 640 Bytes
#define MIN(a,b) ((a) < (b)? (a) : (b))
@@ -35,7 +35,7 @@ typedef struct{
unsigned char *frame_ptr;
unsigned char *frame_ptr_bk;
int set_len;
- int framebuffer_len;
+ int framebuffer_len;
int frame_storelen;
int used_len;
}FrameStream;
diff --git a/media/libstagefright/codecs/amrwbenc/inc/typedef.h b/media/libstagefright/codecs/amrwbenc/inc/typedef.h
index 533e68b..f08a678 100644
--- a/media/libstagefright/codecs/amrwbenc/inc/typedef.h
+++ b/media/libstagefright/codecs/amrwbenc/inc/typedef.h
@@ -31,7 +31,7 @@
/*
* this is the original code from the ETSI file typedef.h
*/
-
+
#if defined(__BORLANDC__) || defined(__WATCOMC__) || defined(_MSC_VER) || defined(__ZTC__)
typedef signed char Word8;
typedef short Word16;
diff --git a/media/libstagefright/codecs/amrwbenc/inc/typedefs.h b/media/libstagefright/codecs/amrwbenc/inc/typedefs.h
index f30d255..0062584 100644
--- a/media/libstagefright/codecs/amrwbenc/inc/typedefs.h
+++ b/media/libstagefright/codecs/amrwbenc/inc/typedefs.h
@@ -45,7 +45,7 @@
* OSF only defined if the current platform is an Alpha
* PC only defined if the current platform is a PC
* SUN only defined if the current platform is a Sun
-*
+*
* LSBFIRST is defined if the byte order on this platform is
* "least significant byte first" -> defined on DEC Alpha
* and PC, undefined on Sun
@@ -68,7 +68,7 @@
/*
********************************************************************************
-* DEFINITION OF CONSTANTS
+* DEFINITION OF CONSTANTS
********************************************************************************
*/
/*
@@ -197,7 +197,7 @@ typedef int Bool;
#define Syn_filt_32 voAWB_Syn_filt_32
#define Isf_isp voAWB_Isf_isp
#define Levinson voAWB_Levinson
-#define median5 voAWB_median5
+#define median5 voAWB_median5
#define Pred_lt4 voAWB_Pred_lt4
#define Reorder_isf voAWB_Reorder_isf
#define Dpisf_2s_36b voAWB_Dpisf_2s_36b
diff --git a/media/libstagefright/codecs/amrwbenc/src/asm/ARMV5E/Deemph_32_opt.s b/media/libstagefright/codecs/amrwbenc/src/asm/ARMV5E/Deemph_32_opt.s
index c1c74e6..282db92 100644
--- a/media/libstagefright/codecs/amrwbenc/src/asm/ARMV5E/Deemph_32_opt.s
+++ b/media/libstagefright/codecs/amrwbenc/src/asm/ARMV5E/Deemph_32_opt.s
@@ -30,10 +30,10 @@
.section .text
.global Deemph_32_asm
-
+
Deemph_32_asm:
- STMFD r13!, {r4 - r12, r14}
+ STMFD r13!, {r4 - r12, r14}
MOV r4, #2 @i=0
LDRSH r6, [r0], #2 @load x_hi[0]
LDRSH r7, [r1], #2 @load x_lo[0]
@@ -47,9 +47,9 @@ Deemph_32_asm:
ADD r12, r10, r7, LSL #4 @L_tmp += x_lo[0] << 4
MOV r10, r12, LSL #3 @L_tmp <<= 3
MUL r9, r5, r8
- LDRSH r6, [r0], #2 @load x_hi[1]
+ LDRSH r6, [r0], #2 @load x_hi[1]
QDADD r10, r10, r9
- LDRSH r7, [r1], #2 @load x_lo[1]
+ LDRSH r7, [r1], #2 @load x_lo[1]
MOV r12, r10, LSL #1 @L_tmp = L_mac(L_tmp, *mem, fac)
QADD r10, r12, r11
MOV r14, r10, ASR #16 @y[0] = round(L_tmp)
@@ -94,9 +94,9 @@ LOOP:
BLT LOOP
STR r14, [r3]
- STRH r14, [r2]
+ STRH r14, [r2]
- LDMFD r13!, {r4 - r12, r15}
+ LDMFD r13!, {r4 - r12, r15}
@ENDP
.END
diff --git a/media/libstagefright/codecs/amrwbenc/src/asm/ARMV5E/Dot_p_opt.s b/media/libstagefright/codecs/amrwbenc/src/asm/ARMV5E/Dot_p_opt.s
index 02bdcab..4aa317e 100644
--- a/media/libstagefright/codecs/amrwbenc/src/asm/ARMV5E/Dot_p_opt.s
+++ b/media/libstagefright/codecs/amrwbenc/src/asm/ARMV5E/Dot_p_opt.s
@@ -31,7 +31,7 @@
Dot_product12_asm:
- STMFD r13!, {r4 - r12, r14}
+ STMFD r13!, {r4 - r12, r14}
MOV r4, #0 @ L_sum = 0
MOV r5, #0 @ i = 0
@@ -41,13 +41,13 @@ LOOP:
LDR r8, [r0], #4
SMLABB r4, r6, r7, r4
LDR r9, [r1], #4
- SMLATT r4, r6, r7, r4
+ SMLATT r4, r6, r7, r4
LDR r6, [r0], #4
SMLABB r4, r8, r9, r4
LDR r7, [r1], #4
- SMLATT r4, r8, r9, r4
+ SMLATT r4, r8, r9, r4
LDR r8, [r0], #4
SMLABB r4, r6, r7, r4
@@ -58,7 +58,7 @@ LOOP:
CMP r5, r2
SMLATT r4, r8, r9, r4
BLT LOOP
-
+
MOV r12, r4, LSL #1
ADD r12, r12, #1 @ L_sum = (L_sum << 1) + 1
MOV r4, r12
@@ -69,12 +69,12 @@ LOOP:
SUB r10, r10, #1 @ sft = norm_l(L_sum)
MOV r0, r12, LSL r10 @ L_sum = L_sum << sft
RSB r11, r10, #30 @ *exp = 30 - sft
- STRH r11, [r3]
+ STRH r11, [r3]
Dot_product12_end:
-
- LDMFD r13!, {r4 - r12, r15}
+
+ LDMFD r13!, {r4 - r12, r15}
@ENDFUNC
.END
-
+
diff --git a/media/libstagefright/codecs/amrwbenc/src/asm/ARMV5E/Filt_6k_7k_opt.s b/media/libstagefright/codecs/amrwbenc/src/asm/ARMV5E/Filt_6k_7k_opt.s
index 1ce2a85..856ada8 100644
--- a/media/libstagefright/codecs/amrwbenc/src/asm/ARMV5E/Filt_6k_7k_opt.s
+++ b/media/libstagefright/codecs/amrwbenc/src/asm/ARMV5E/Filt_6k_7k_opt.s
@@ -23,7 +23,7 @@
@******************************************************************
@ r0 --- signal[]
@ r1 --- lg
-@ r2 --- mem[]
+@ r2 --- mem[]
.section .text
.global Filt_6k_7k_asm
@@ -32,7 +32,7 @@
Filt_6k_7k_asm:
- STMFD r13!, {r4 - r12, r14}
+ STMFD r13!, {r4 - r12, r14}
SUB r13, r13, #240 @ x[L_SUBFR16k + (L_FIR - 1)]
MOV r8, r0 @ copy signal[] address
MOV r4, r1 @ copy lg address
@@ -43,9 +43,9 @@ Filt_6k_7k_asm:
MOV r2, #30 @ L_FIR - 1
BL voAWB_Copy @ memcpy(x, mem, (L_FIR - 1)<<1)
- LDR r10, Lable1 @ get fir_7k address
+ LDR r10, Lable1 @ get fir_7k address
- MOV r14, #0
+ MOV r14, #0
MOV r3, r8 @ change myMemCopy to Copy, due to Copy will change r3 content
ADD r6, r13, #60 @ get x[L_FIR - 1] address
MOV r7, r3 @ get signal[i]
@@ -76,14 +76,14 @@ LOOP1:
STRH r12, [r6], #2
ADD r14, r14, #8
CMP r14, #80
- BLT LOOP1
+ BLT LOOP1
STR r5, [sp, #-4] @ PUSH r5 to stack
@ not use registers: r4, r10, r12, r14, r5
- MOV r4, r13
- MOV r5, #0 @ i = 0
+ MOV r4, r13
+ MOV r5, #0 @ i = 0
LOOP2:
LDR r0, [r10]
@@ -111,13 +111,13 @@ LOOP2:
LDRSH r8, [r4, #10] @ load x[i+5]
LDRSH r9, [r4, #50] @ load x[i+25]
SMLABT r14, r1, r0, r14 @ (x[i+3] + x[i+27]) * fir_7k[3]
- ADD r8, r8, r9 @ x[i+5] + x[i+25]
-
+ ADD r8, r8, r9 @ x[i+5] + x[i+25]
+
LDR r0, [r10, #8]
LDRSH r1, [r4, #12] @ x[i+6]
LDRSH r2, [r4, #48] @ x[i+24]
SMLABB r14, r6, r0, r14 @ (x[i+4] + x[i+26]) * fir_7k[4]
- LDRSH r6, [r4, #14] @ x[i+7]
+ LDRSH r6, [r4, #14] @ x[i+7]
LDRSH r7, [r4, #46] @ x[i+23]
SMLABT r14, r8, r0, r14 @ (x[i+5] + x[i+25]) * fir_7k[5]
LDR r0, [r10, #12]
@@ -125,8 +125,8 @@ LOOP2:
ADD r6, r6, r7 @ (x[i+7] + x[i+23])
SMLABB r14, r1, r0, r14 @ (x[i+6] + x[i+24]) * fir_7k[6]
LDRSH r8, [r4, #16] @ x[i+8]
- LDRSH r9, [r4, #44] @ x[i+22]
- SMLABT r14, r6, r0, r14 @ (x[i+7] + x[i+23]) * fir_7k[7]
+ LDRSH r9, [r4, #44] @ x[i+22]
+ SMLABT r14, r6, r0, r14 @ (x[i+7] + x[i+23]) * fir_7k[7]
LDR r0, [r10, #16]
LDRSH r1, [r4, #18] @ x[i+9]
LDRSH r2, [r4, #42] @ x[i+21]
@@ -144,7 +144,7 @@ LOOP2:
LDRSH r2, [r4, #36] @ x[i+18]
SMLABB r14, r6, r0, r14 @ (x[i+10] + x[i+20]) * fir_7k[10]
LDRSH r6, [r4, #26] @ x[i+13]
- ADD r8, r8, r9 @ (x[i+11] + x[i+19])
+ ADD r8, r8, r9 @ (x[i+11] + x[i+19])
LDRSH r7, [r4, #34] @ x[i+17]
SMLABT r14, r8, r0, r14 @ (x[i+11] + x[i+19]) * fir_7k[11]
LDR r0, [r10, #24]
@@ -152,31 +152,31 @@ LOOP2:
LDRSH r8, [r4, #28] @ x[i+14]
SMLABB r14, r1, r0, r14 @ (x[i+12] + x[i+18]) * fir_7k[12]
ADD r6, r6, r7 @ (x[i+13] + x[i+17])
- LDRSH r9, [r4, #32] @ x[i+16]
+ LDRSH r9, [r4, #32] @ x[i+16]
SMLABT r14, r6, r0, r14 @ (x[i+13] + x[i+17]) * fir_7k[13]
- LDR r0, [r10, #28]
+ LDR r0, [r10, #28]
ADD r8, r8, r9 @ (x[i+14] + x[i+16])
LDRSH r1, [r4, #30] @ x[i+15]
SMLABB r14, r8, r0, r14 @ (x[i+14] + x[i+16]) * fir_7k[14]
- SMLABT r14, r1, r0, r14 @ x[i+15] * fir_7k[15]
+ SMLABT r14, r1, r0, r14 @ x[i+15] * fir_7k[15]
ADD r5, r5, #1
ADD r14, r14, #0x4000
- ADD r4, r4, #2
+ ADD r4, r4, #2
MOV r1, r14, ASR #15
CMP r5, #80
STRH r1, [r3], #2 @signal[i] = (L_tmp + 0x4000) >> 15
- BLT LOOP2
-
+ BLT LOOP2
+
LDR r1, [sp, #-4] @mem address
ADD r0, r13, #160 @x + lg
MOV r2, #30
BL voAWB_Copy
-
+
Filt_6k_7k_end:
- ADD r13, r13, #240
- LDMFD r13!, {r4 - r12, r15}
-
+ ADD r13, r13, #240
+ LDMFD r13!, {r4 - r12, r15}
+
Lable1:
.word fir_6k_7k
@ENDFUNC
diff --git a/media/libstagefright/codecs/amrwbenc/src/asm/ARMV5E/Norm_Corr_opt.s b/media/libstagefright/codecs/amrwbenc/src/asm/ARMV5E/Norm_Corr_opt.s
index b440a31..49bdc2b 100644
--- a/media/libstagefright/codecs/amrwbenc/src/asm/ARMV5E/Norm_Corr_opt.s
+++ b/media/libstagefright/codecs/amrwbenc/src/asm/ARMV5E/Norm_Corr_opt.s
@@ -32,8 +32,8 @@
@ r6 --- corr_norm[]
- .section .text
- .global Norm_corr_asm
+ .section .text
+ .global Norm_corr_asm
.extern Convolve_asm
.extern Isqrt_n
@******************************
@@ -47,17 +47,17 @@
.equ T_MIN , 212
.equ T_MAX , 216
.equ CORR_NORM , 220
-
+
Norm_corr_asm:
- STMFD r13!, {r4 - r12, r14}
+ STMFD r13!, {r4 - r12, r14}
SUB r13, r13, #voSTACK
-
+
ADD r8, r13, #20 @get the excf[L_SUBFR]
LDR r4, [r13, #T_MIN] @get t_min
RSB r11, r4, #0 @k = -t_min
- ADD r5, r0, r11, LSL #1 @get the &exc[k]
-
+ ADD r5, r0, r11, LSL #1 @get the &exc[k]
+
@transfer Convolve function
STMFD sp!, {r0 - r3}
MOV r0, r5
@@ -68,7 +68,7 @@ Norm_corr_asm:
@ r8 --- excf[]
- MOV r14, r1 @copy xn[] address
+ MOV r14, r1 @copy xn[] address
MOV r5, #64
MOV r6, #0 @L_tmp = 0
MOV r7, #1
@@ -93,21 +93,21 @@ LOOP1:
CLZ r7, r9
SUB r6, r7, #1 @exp = norm_l(L_tmp)
RSB r7, r6, #32 @exp = 32 - exp
- MOV r6, r7, ASR #1
+ MOV r6, r7, ASR #1
RSB r7, r6, #0 @scale = -(exp >> 1)
-
+
@loop for every possible period
@for(t = t_min@ t <= t_max@ t++)
@r7 --- scale r4 --- t_min r8 --- excf[]
-LOOPFOR:
+LOOPFOR:
MOV r5, #0 @L_tmp = 0
MOV r6, #0 @L_tmp1 = 0
- MOV r9, #64
+ MOV r9, #64
MOV r12, r1 @copy of xn[]
ADD r14, r13, #20 @copy of excf[]
MOV r8, #0x8000
-
+
LOOPi:
LDR r11, [r14], #4 @load excf[i], excf[i+1]
LDR r10, [r12], #4 @load xn[i], xn[i+1]
@@ -128,13 +128,13 @@ LOOPi:
MOV r10, #1
ADD r5, r10, r5, LSL #1 @L_tmp = (L_tmp << 1) + 1
ADD r6, r10, r6, LSL #1 @L_tmp1 = (L_tmp1 << 1) + 1
-
- CLZ r10, r5
+
+ CLZ r10, r5
CMP r5, #0
RSBLT r11, r5, #0
CLZLT r10, r11
SUB r10, r10, #1 @exp = norm_l(L_tmp)
-
+
MOV r5, r5, LSL r10 @L_tmp = (L_tmp << exp)
RSB r10, r10, #30 @exp_corr = 30 - exp
MOV r11, r5, ASR #16 @corr = extract_h(L_tmp)
@@ -150,7 +150,7 @@ LOOPi:
@Isqrt_n(&L_tmp, &exp_norm)
MOV r14, r0
- MOV r12, r1
+ MOV r12, r1
STMFD sp!, {r0 - r4, r7 - r12, r14}
ADD r1, sp, #4
@@ -168,7 +168,7 @@ LOOPi:
MOV r6, r6, ASR #16 @norm = extract_h(L_tmp)
MUL r12, r6, r11
ADD r12, r12, r12 @L_tmp = vo_L_mult(corr, norm)
-
+
ADD r6, r10, r5
ADD r6, r6, r7 @exp_corr + exp_norm + scale
@@ -187,9 +187,9 @@ LOOPi:
CMP r4, r6
BEQ Norm_corr_asm_end
-
+
ADD r4, r4, #1 @ t_min ++
-
+
RSB r5, r4, #0 @ k
MOV r6, #63 @ i = 63
@@ -216,16 +216,16 @@ LOOPK:
MUL r14, r11, r8
LDR r6, [r13, #T_MAX] @ get t_max
MOV r8, r14, ASR #15
- STRH r8, [r10]
+ STRH r8, [r10]
CMP r4, r6
BLE LOOPFOR
-Norm_corr_asm_end:
-
- ADD r13, r13, #voSTACK
+Norm_corr_asm_end:
+
+ ADD r13, r13, #voSTACK
LDMFD r13!, {r4 - r12, r15}
-
+
.END
diff --git a/media/libstagefright/codecs/amrwbenc/src/asm/ARMV5E/Syn_filt_32_opt.s b/media/libstagefright/codecs/amrwbenc/src/asm/ARMV5E/Syn_filt_32_opt.s
index 70464e4..3f4930c 100644
--- a/media/libstagefright/codecs/amrwbenc/src/asm/ARMV5E/Syn_filt_32_opt.s
+++ b/media/libstagefright/codecs/amrwbenc/src/asm/ARMV5E/Syn_filt_32_opt.s
@@ -38,7 +38,7 @@
Syn_filt_32_asm:
- STMFD r13!, {r4 - r12, r14}
+ STMFD r13!, {r4 - r12, r14}
LDR r4, [r13, #40] @ get sig_hi[] address
LDR r5, [r13, #44] @ get sig_lo[] address
@@ -55,7 +55,7 @@ Syn_filt_32_asm:
AND r8, r8, r14
ORR r10, r6, r7, LSL #16 @ Aq[2] -- Aq[1]
ORR r11, r8, r9, LSL #16 @ Aq[4] -- Aq[3]
- STR r10, [r13, #-4]
+ STR r10, [r13, #-4]
STR r11, [r13, #-8]
LDRSH r6, [r0, #10] @ load Aq[5]
@@ -73,12 +73,12 @@ Syn_filt_32_asm:
LDRSH r7, [r0, #20] @ load Aq[10]
LDRSH r8, [r0, #22] @ load Aq[11]
LDRSH r9, [r0, #24] @ load Aq[12]
- AND r6, r6, r14
+ AND r6, r6, r14
AND r8, r8, r14
ORR r10, r6, r7, LSL #16 @ Aq[10] -- Aq[9]
ORR r11, r8, r9, LSL #16 @ Aq[12] -- Aq[11]
STR r10, [r13, #-20]
- STR r11, [r13, #-24]
+ STR r11, [r13, #-24]
LDRSH r6, [r0, #26] @ load Aq[13]
LDRSH r7, [r0, #28] @ load Aq[14]
@@ -90,14 +90,14 @@ Syn_filt_32_asm:
ORR r11, r8, r9, LSL #16 @ Aq[16] -- Aq[15]
STR r10, [r13, #-28]
STR r11, [r13, #-32]
-
+
MOV r8, #0 @ i = 0
-
-LOOP:
+
+LOOP:
LDRSH r6, [r5, #-2] @ load sig_lo[i-1]
LDRSH r7, [r5, #-4] @ load sig_lo[i-2]
- LDR r11, [r13, #-4] @ Aq[2] -- Aq[1]
+ LDR r11, [r13, #-4] @ Aq[2] -- Aq[1]
LDRSH r9, [r5, #-6] @ load sig_lo[i-3]
LDRSH r10, [r5, #-8] @ load sig_lo[i-4]
@@ -135,12 +135,12 @@ LOOP:
LDRSH r10, [r5, #-32] @ load sig_lo[i-16]
SMLABB r12, r6, r11, r12 @ sig_lo[i-13] * Aq[13]
SMLABT r12, r7, r11, r12 @ sig_lo[i-14] * Aq[14]
-
+
LDR r11, [r13, #-32] @ Aq[16] -- Aq[15]
- LDRSH r6, [r2],#2 @ load exc[i]
+ LDRSH r6, [r2],#2 @ load exc[i]
SMLABB r12, r9, r11, r12 @ sig_lo[i-15] * Aq[15]
SMLABT r12, r10, r11, r12 @ sig_lo[i-16] * Aq[16]
- MUL r7, r6, r3 @ exc[i] * a0
+ MUL r7, r6, r3 @ exc[i] * a0
RSB r14, r12, #0 @ L_tmp
MOV r14, r14, ASR #11 @ L_tmp >>= 11
ADD r14, r14, r7, LSL #1 @ L_tmp += (exc[i] * a0) << 1
@@ -149,7 +149,7 @@ LOOP:
LDRSH r6, [r4, #-2] @ load sig_hi[i-1]
LDRSH r7, [r4, #-4] @ load sig_hi[i-2]
- LDR r11, [r13, #-4] @ Aq[2] -- Aq[1]
+ LDR r11, [r13, #-4] @ Aq[2] -- Aq[1]
LDRSH r9, [r4, #-6] @ load sig_hi[i-3]
LDRSH r10, [r4, #-8] @ load sig_hi[i-4]
SMULBB r12, r6, r11 @ sig_hi[i-1] * Aq[1]
@@ -198,14 +198,14 @@ LOOP:
LDRSH r10, [r4, #-32] @ load sig_hi[i-16]
SMLABB r12, r6, r11, r12 @ sig_hi[i-13] * Aq[13]
SMLABT r12, r7, r11, r12 @ sig_hi[i-14] * Aq[14]
-
+
LDR r11, [r13, #-32] @ Aq[16] -- Aq[15]
SMLABB r12, r9, r11, r12 @ sig_hi[i-15] * Aq[15]
- SMLABT r12, r10, r11, r12 @ sig_hi[i-16] * Aq[16]
+ SMLABT r12, r10, r11, r12 @ sig_hi[i-16] * Aq[16]
ADD r6, r12, r12 @ r12 << 1
- SUB r14, r14, r6
+ SUB r14, r14, r6
MOV r14, r14, LSL #3 @ L_tmp <<=3
-
+
MOV r7, r14, ASR #16 @ L_tmp >> 16
MOV r14, r14, ASR #4 @ L_tmp >>=4
@@ -213,14 +213,14 @@ LOOP:
SUB r9, r14, r7, LSL #12 @ sig_lo[i] = L_tmp - (sig_hi[i] << 12)
ADD r8, r8, #1
- STRH r9, [r5], #2
+ STRH r9, [r5], #2
CMP r8, #64
- BLT LOOP
-
+ BLT LOOP
+
Syn_filt_32_end:
-
- LDMFD r13!, {r4 - r12, r15}
+
+ LDMFD r13!, {r4 - r12, r15}
@ENDFUNC
.END
-
+
diff --git a/media/libstagefright/codecs/amrwbenc/src/asm/ARMV5E/convolve_opt.s b/media/libstagefright/codecs/amrwbenc/src/asm/ARMV5E/convolve_opt.s
index 0228bda..71bb532 100644
--- a/media/libstagefright/codecs/amrwbenc/src/asm/ARMV5E/convolve_opt.s
+++ b/media/libstagefright/codecs/amrwbenc/src/asm/ARMV5E/convolve_opt.s
@@ -27,24 +27,24 @@
@ r3 --- L
.section .text
- .global Convolve_asm
+ .global Convolve_asm
Convolve_asm:
- STMFD r13!, {r4 - r12, r14}
+ STMFD r13!, {r4 - r12, r14}
MOV r3, #0 @ n
MOV r11, #0x8000
-
-LOOP:
+
+LOOP:
ADD r4, r1, r3, LSL #1 @ tmpH address
ADD r5, r3, #1 @ i = n + 1
MOV r6, r0 @ tmpX = x
LDRSH r9, [r6], #2 @ *tmpX++
LDRSH r10, [r4], #-2 @ *tmpH--
SUB r5, r5, #1
- MUL r8, r9, r10
+ MUL r8, r9, r10
-LOOP1:
+LOOP1:
CMP r5, #0
BLE L1
LDRSH r9, [r6], #2 @ *tmpX++
@@ -58,12 +58,12 @@ LOOP1:
LDRSH r12, [r6], #2 @ *tmpX++
LDRSH r14, [r4], #-2 @ *tmpH--
MLA r8, r9, r10, r8
- SUBS r5, r5, #4
+ SUBS r5, r5, #4
MLA r8, r12, r14, r8
-
- B LOOP1
-L1:
+ B LOOP1
+
+L1:
ADD r5, r11, r8, LSL #1
MOV r5, r5, LSR #16 @extract_h(s)
@@ -75,14 +75,14 @@ L1:
ADD r5, r3, #1
MOV r6, r0
LDRSH r9, [r6], #2 @ *tmpX++
- LDRSH r10, [r4], #-2
+ LDRSH r10, [r4], #-2
LDRSH r12, [r6], #2
LDRSH r14, [r4], #-2
MUL r8, r9, r10
SUB r5, r5, #2
MLA r8, r12, r14, r8
-
+
LOOP2:
CMP r5, #0
BLE L2
@@ -97,14 +97,14 @@ LOOP2:
LDRSH r12, [r6], #2 @ *tmpX++
LDRSH r14, [r4], #-2 @ *tmpH--
MLA r8, r9, r10, r8
- SUBS r5, r5, #4
+ SUBS r5, r5, #4
MLA r8, r12, r14, r8
B LOOP2
L2:
ADD r8, r11, r8, LSL #1
MOV r8, r8, LSR #16 @extract_h(s)
- ADD r3, r3, #1
+ ADD r3, r3, #1
STRH r8, [r2], #2 @y[n]
ADD r4, r1, r3, LSL #1
@@ -117,7 +117,7 @@ L2:
MUL r8, r9, r10
LDRSH r9, [r6], #2
LDRSH r10, [r4], #-2
- MLA r8, r12, r14, r8
+ MLA r8, r12, r14, r8
SUB r5, r5, #3
MLA r8, r9, r10, r8
@@ -135,9 +135,9 @@ LOOP3:
LDRSH r12, [r6], #2 @ *tmpX++
LDRSH r14, [r4], #-2 @ *tmpH--
MLA r8, r9, r10, r8
- SUBS r5, r5, #4
- MLA r8, r12, r14, r8
- B LOOP3
+ SUBS r5, r5, #4
+ MLA r8, r12, r14, r8
+ B LOOP3
L3:
ADD r8, r11, r8, LSL #1
@@ -150,7 +150,7 @@ L3:
MOV r6, r0
MOV r8, #0
-LOOP4:
+LOOP4:
CMP r5, #0
BLE L4
LDRSH r9, [r6], #2 @ *tmpX++
@@ -164,22 +164,22 @@ LOOP4:
LDRSH r12, [r6], #2 @ *tmpX++
LDRSH r14, [r4], #-2 @ *tmpH--
MLA r8, r9, r10, r8
- SUBS r5, r5, #4
- MLA r8, r12, r14, r8
- B LOOP4
-L4:
+ SUBS r5, r5, #4
+ MLA r8, r12, r14, r8
+ B LOOP4
+L4:
ADD r5, r11, r8, LSL #1
MOV r5, r5, LSR #16 @extract_h(s)
ADD r3, r3, #1
STRH r5, [r2], #2 @y[n]
-
+
CMP r3, #64
BLT LOOP
-
-Convolve_asm_end:
-
+
+Convolve_asm_end:
+
LDMFD r13!, {r4 - r12, r15}
-
+
@ENDFUNC
.END
diff --git a/media/libstagefright/codecs/amrwbenc/src/asm/ARMV5E/cor_h_vec_opt.s b/media/libstagefright/codecs/amrwbenc/src/asm/ARMV5E/cor_h_vec_opt.s
index 8f32733..2d4c7cc 100644
--- a/media/libstagefright/codecs/amrwbenc/src/asm/ARMV5E/cor_h_vec_opt.s
+++ b/media/libstagefright/codecs/amrwbenc/src/asm/ARMV5E/cor_h_vec_opt.s
@@ -51,12 +51,12 @@ LOOPi:
RSB r11, r2, #62 @j=62-pos
LOOPj1:
- LDRSH r12, [r10], #2
+ LDRSH r12, [r10], #2
LDRSH r8, [r9], #2
LDRSH r14, [r9]
SUBS r11, r11, #1
MLA r5, r12, r8, r5
- MLA r6, r12, r14, r6
+ MLA r6, r12, r14, r6
BGE LOOPj1
LDRSH r12, [r10], #2 @*p1++
@@ -64,7 +64,7 @@ LOOPj1:
MLA r5, r12, r14, r5
MOV r14, #0x8000
MOV r5, r5, LSL #2 @L_sum1 = (L_sum1 << 2)
- ADD r10, r6, r14
+ ADD r10, r6, r14
ADD r9, r5, r14
MOV r5, r9, ASR #16
MOV r6, r10, ASR #16
@@ -76,7 +76,7 @@ LOOPj1:
MUL r14, r6, r11
MOV r5, r12, ASR #15
MOV r6, r14, ASR #15
- LDR r9, [r13, #44]
+ LDR r9, [r13, #44]
LDR r12, [r13, #48]
LDRSH r10, [r7], #2 @*p0++
LDRSH r11, [r8] @*p3++
@@ -88,7 +88,7 @@ LOOPj1:
STRH r6, [r12]
ADD r2, r2, #4
-
+
MOV r5, #0 @L_sum1 = 0
MOV r6, #0 @L_sum2 = 0
ADD r9, r1, r2, LSL #1 @p2 = &vec[pos]
@@ -97,12 +97,12 @@ LOOPj1:
ADD r4, r4, #1 @i++
LOOPj2:
- LDRSH r12, [r10], #2
+ LDRSH r12, [r10], #2
LDRSH r8, [r9], #2
LDRSH r14, [r9]
SUBS r11, r11, #1
MLA r5, r12, r8, r5
- MLA r6, r12, r14, r6
+ MLA r6, r12, r14, r6
BGE LOOPj2
LDRSH r12, [r10], #2 @*p1++
@@ -110,7 +110,7 @@ LOOPj2:
MLA r5, r12, r14, r5
MOV r14, #0x8000
MOV r5, r5, LSL #2 @L_sum1 = (L_sum1 << 2)
- ADD r10, r6, r14
+ ADD r10, r6, r14
ADD r9, r5, r14
MOV r5, r9, ASR #16
@@ -123,7 +123,7 @@ LOOPj2:
MUL r14, r6, r11
MOV r5, r12, ASR #15
MOV r6, r14, ASR #15
- LDR r9, [r13, #44]
+ LDR r9, [r13, #44]
LDR r12, [r13, #48]
LDRSH r10, [r7], #2 @*p0++
LDRSH r11, [r8] @*p3++
@@ -136,16 +136,16 @@ LOOPj2:
ADD r4, r4, #1 @i+1
ADD r2, r2, #4 @pos += STEP
CMP r4, #16
-
+
BLT LOOPi
-
+
the_end:
LDMFD r13!, {r4 - r12, r15}
-
+
@ENDFUNC
- .END
-
-
-
+ .END
+
+
+
diff --git a/media/libstagefright/codecs/amrwbenc/src/asm/ARMV5E/pred_lt4_1_opt.s b/media/libstagefright/codecs/amrwbenc/src/asm/ARMV5E/pred_lt4_1_opt.s
index d7b4509..e0b338d 100644
--- a/media/libstagefright/codecs/amrwbenc/src/asm/ARMV5E/pred_lt4_1_opt.s
+++ b/media/libstagefright/codecs/amrwbenc/src/asm/ARMV5E/pred_lt4_1_opt.s
@@ -35,7 +35,7 @@
pred_lt4_asm:
- STMFD r13!, {r4 - r12, r14}
+ STMFD r13!, {r4 - r12, r14}
RSB r4, r1, #0 @-T0
RSB r2, r2, #0 @frac = -frac
ADD r5, r0, r4, LSL #1 @x = exc - T0
@@ -45,7 +45,7 @@ pred_lt4_asm:
SUB r5, r5, #30 @x -= 15
RSB r4, r2, #3 @k = 3 - frac
LDR r6, Table
- MOV r8, r4, LSL #6
+ MOV r8, r4, LSL #6
@MOV r7, #0 @j = 0
ADD r8, r6, r8 @ptr2 = &(inter4_2[k][0])
@@ -63,7 +63,7 @@ THREE_LOOP:
LDRSH r6, [r1], #2 @x[1]
LDRSH r9, [r1], #2 @x[2]
- SMULBB r10, r4, r3 @x[0] * h[0]
+ SMULBB r10, r4, r3 @x[0] * h[0]
SMULBB r11, r6, r3 @x[1] * h[0]
SMULBB r12, r9, r3 @x[2] * h[0]
@@ -285,7 +285,7 @@ Last2LOOP:
SMLABB r10, r9, r3, r10 @x[2] * h[2]
SMLABB r11, r4, r3, r11 @x[3] * h[2]
-
+
SMLABT r10, r4, r3, r10 @x[3] * h[3]
SMLABT r11, r6, r3, r11 @x[4] * h[3]
@@ -435,7 +435,7 @@ Last2LOOP:
MOV r11, r11, LSL #1
QADD r10, r10, r10
- QADD r11, r11, r11
+ QADD r11, r11, r11
QADD r10, r10, r5
QADD r11, r11, r5
diff --git a/media/libstagefright/codecs/amrwbenc/src/asm/ARMV5E/residu_asm_opt.s b/media/libstagefright/codecs/amrwbenc/src/asm/ARMV5E/residu_asm_opt.s
index 86b3bd6..5ff0964 100644
--- a/media/libstagefright/codecs/amrwbenc/src/asm/ARMV5E/residu_asm_opt.s
+++ b/media/libstagefright/codecs/amrwbenc/src/asm/ARMV5E/residu_asm_opt.s
@@ -34,12 +34,12 @@ Residu_opt:
LDRH r5, [r0], #2
LDRH r6, [r0], #2
- ORR r5, r6, r5, LSL #16 @r5 --- a0, a1
+ ORR r5, r6, r5, LSL #16 @r5 --- a0, a1
LDRH r6, [r0], #2
LDRH r7, [r0], #2
ORR r6, r7, r6, LSL #16 @r6 --- a2, a3
-
+
LDRH r7, [r0], #2
LDRH r8, [r0], #2
ORR r7, r8, r7, LSL #16 @r7 --- a4, a5
@@ -59,13 +59,13 @@ Residu_opt:
LDRH r11, [r0], #2
LDRH r12, [r0], #2
ORR r11, r12, r11, LSL #16 @r11 --- a12, a13
-
+
LDRH r12, [r0], #2
LDRH r4, [r0], #2
ORR r12, r4, r12, LSL #16 @r12 --- a14, a15
-
- STMFD r13!, {r8 - r12} @store r8-r12
+
+ STMFD r13!, {r8 - r12} @store r8-r12
LDRH r4, [r0], #2 @load a16
MOV r14, r3, ASR #2 @one loop get 4 outputs
ADD r1, r1, #4
@@ -78,7 +78,7 @@ residu_loop:
LDR r2, [r1], #-4 @r2 --- x[1], x[0]
SMULTB r3, r5, r2 @i1(0) --- r3 = x[0] * a0
- SMULTT r4, r5, r2 @i2(0) --- r4 = x[1] * a0
+ SMULTT r4, r5, r2 @i2(0) --- r4 = x[1] * a0
SMULTB r11, r5, r10 @i3(0) --- r11 = x[2] * a0
SMULTT r12, r5, r10 @i4(0) --- r12 = x[3] * a0
@@ -88,20 +88,20 @@ residu_loop:
SMLATB r11, r6, r2, r11 @i3(2) --- r11 += x[0] * a2
SMLATT r12, r6, r2, r12 @i4(2) --- r12 += x[1] * a2
- SMLABB r12, r6, r2, r12 @i4(3) --- r12 += x[0] * a3
-
+ SMLABB r12, r6, r2, r12 @i4(3) --- r12 += x[0] * a3
+
LDR r2, [r1], #-4 @r2 ---- x[-1], x[-2]
SMLABT r3, r5, r2, r3 @i1(1) --- r3 += x[-1] * a1
SMLATT r4, r6, r2, r4 @i2(2) --- r4 += x[-1] * a2
SMLABT r11, r6, r2, r11 @i3(3) --- r11 += x[-1] * a3
SMLATT r12, r7, r2, r12 @i4(4) --- r12 += x[-1] * a4
- SMLATB r3, r6, r2, r3 @i1(2) --- r3 += x[-2] * a2
+ SMLATB r3, r6, r2, r3 @i1(2) --- r3 += x[-2] * a2
SMLABB r4, r6, r2, r4 @ i2 (3)
SMLATB r11,r7, r2, r11 @ i3 (4)
SMLABB r12,r7, r2, r12 @ i4 (5)
-
+
LDR r2,[r1],#-4
SMLABT r3, r6, r2, r3 @ i1 (3)
SMLATT r4, r7, r2, r4 @ i2 (4)
@@ -111,7 +111,7 @@ residu_loop:
SMLABB r4, r7, r2, r4 @ i2 (5)
SMLATB r11,r8, r2, r11 @ i3 (6)
SMLABB r12,r8, r2, r12 @ i4 (7)
-
+
LDR r2,[r1],#-4
SMLABT r3, r7, r2, r3 @ i1 (5)
SMLATT r4, r8, r2, r4 @ i2 (6)
@@ -122,7 +122,7 @@ residu_loop:
SMLATB r11,r9, r2, r11 @ i3 (8)
SMLABB r12,r9, r2, r12 @ i4 (9)
LDR r10, [r13, #8] @ [ a10 | a11]
-
+
LDR r2,[r1],#-4
SMLABT r3, r8, r2, r3 @ i1 (7)
SMLATT r4, r9, r2, r4 @ i2 (8)
@@ -133,7 +133,7 @@ residu_loop:
SMLATB r11,r10, r2, r11 @ i3 (10)
SMLABB r12,r10, r2, r12 @ i4 (11)
LDR r8, [r13, #12] @ [ a12 | a13 ]
-
+
LDR r2,[r1],#-4
SMLABT r3, r9, r2, r3 @ i1 (9)
SMLATT r4, r10, r2, r4 @ i2 (10)
@@ -144,7 +144,7 @@ residu_loop:
SMLATB r11,r8, r2, r11 @ i3 (12)
SMLABB r12,r8, r2, r12 @ i4 (13)
LDR r9, [r13, #16] @ [ a14 | a15 ]
-
+
LDR r2,[r1],#-4
SMLABT r3, r10, r2, r3 @ i1 (11)
SMLATT r4, r8, r2, r4 @ i2 (12)
@@ -154,7 +154,7 @@ residu_loop:
SMLABB r4, r8, r2, r4 @ i2 (13)
SMLATB r11,r9, r2, r11 @ i3 (14)
SMLABB r12,r9, r2, r12 @ i4 (15)
-
+
LDR r2,[r1],#-4
SMLABT r3, r8, r2, r3 @ i1 (13)
@@ -165,64 +165,64 @@ residu_loop:
SMLABB r4, r9, r2, r4 @ i2 (15)
SMLABB r11,r14, r2, r11 @ i3 (16)
LDR r8, [r13] @ [ a6 | a7 ]
-
+
LDR r2,[r1],#44 @ Change
SMLABT r3, r9, r2, r3
SMLABB r3, r14, r2, r3
SMLABT r4, r14, r2, r4
LDR r9, [r13, #4] @ [ a8 | a9 ]
-
-
- QADD r3,r3,r3
- QADD r4,r4,r4
- QADD r11,r11,r11
- QADD r12,r12,r12
-
- QADD r3,r3,r3
- QADD r4,r4,r4
- QADD r11,r11,r11
- QADD r12,r12,r12
-
- QADD r3,r3,r3
- QADD r4,r4,r4
- QADD r11,r11,r11
- QADD r12,r12,r12
-
- QADD r3,r3,r3
- QADD r4,r4,r4
- QADD r11,r11,r11
- QADD r12,r12,r12
-
- MOV r2,#32768
-
- QDADD r3,r2,r3
- QDADD r4,r2,r4
- QDADD r11,r2,r11
- QDADD r12,r2,r12
-
-
+
+
+ QADD r3,r3,r3
+ QADD r4,r4,r4
+ QADD r11,r11,r11
+ QADD r12,r12,r12
+
+ QADD r3,r3,r3
+ QADD r4,r4,r4
+ QADD r11,r11,r11
+ QADD r12,r12,r12
+
+ QADD r3,r3,r3
+ QADD r4,r4,r4
+ QADD r11,r11,r11
+ QADD r12,r12,r12
+
+ QADD r3,r3,r3
+ QADD r4,r4,r4
+ QADD r11,r11,r11
+ QADD r12,r12,r12
+
+ MOV r2,#32768
+
+ QDADD r3,r2,r3
+ QDADD r4,r2,r4
+ QDADD r11,r2,r11
+ QDADD r12,r2,r12
+
+
MOV r3,r3,asr #16
MOV r4,r4,asr #16
MOV r11,r11,asr #16
MOV r12,r12,asr #16
-
+
STRH r3,[r0],#2
STRH r4,[r0],#2
STRH r11,[r0],#2
STRH r12,[r0],#2
-
+
MOV r2,r14,asr #16
SUB r14, r14, #0x10000
SUBS r2,r2,#1
- BNE residu_loop
+ BNE residu_loop
end:
- LDMFD r13!, {r8 -r12}
+ LDMFD r13!, {r8 -r12}
LDMFD r13!, {r4 -r12,pc}
@ENDFUNC
- .END
-
-
-
+ .END
+
+
+
diff --git a/media/libstagefright/codecs/amrwbenc/src/asm/ARMV5E/scale_sig_opt.s b/media/libstagefright/codecs/amrwbenc/src/asm/ARMV5E/scale_sig_opt.s
index f83e688..b300224 100644
--- a/media/libstagefright/codecs/amrwbenc/src/asm/ARMV5E/scale_sig_opt.s
+++ b/media/libstagefright/codecs/amrwbenc/src/asm/ARMV5E/scale_sig_opt.s
@@ -38,7 +38,7 @@ Scale_sig_opt:
MOV r8, #0x7fffffff
MOV r9, #0x8000
BLE LOOP2
-
+
LOOP1:
LDRSH r5, [r4] @load x[i]
@@ -65,11 +65,11 @@ LOOP2:
The_end:
LDMFD r13!, {r4 - r12, r15}
-
+
@ENDFUNC
- .END
-
-
-
+ .END
+
+
+
diff --git a/media/libstagefright/codecs/amrwbenc/src/asm/ARMV5E/syn_filt_opt.s b/media/libstagefright/codecs/amrwbenc/src/asm/ARMV5E/syn_filt_opt.s
index f4700cd..0c287a4 100644
--- a/media/libstagefright/codecs/amrwbenc/src/asm/ARMV5E/syn_filt_opt.s
+++ b/media/libstagefright/codecs/amrwbenc/src/asm/ARMV5E/syn_filt_opt.s
@@ -33,18 +33,18 @@
Syn_filt_asm:
- STMFD r13!, {r4 - r12, r14}
+ STMFD r13!, {r4 - r12, r14}
SUB r13, r13, #700 @ y_buf[L_FRAME16k + M16k]
-
+
MOV r4, r3 @ copy mem[] address
MOV r5, r13 @ copy yy = y_buf address
@ for(i = 0@ i < m@ i++)
@{
@ *yy++ = mem[i]@
- @}
+ @}
- LDRH r6, [r4], #2
+ LDRH r6, [r4], #2
LDRH r7, [r4], #2
LDRH r8, [r4], #2
LDRH r9, [r4], #2
@@ -62,7 +62,7 @@ Syn_filt_asm:
STRH r12, [r5], #2
STRH r14, [r5], #2
- LDRH r6, [r4], #2
+ LDRH r6, [r4], #2
LDRH r7, [r4], #2
LDRH r8, [r4], #2
LDRH r9, [r4], #2
@@ -92,45 +92,45 @@ Syn_filt_asm:
LDRSH r9, [r0, #6] @ load a[3]
LDRSH r11,[r0, #8] @ load a[4]
AND r6, r6, r14
- AND r9, r9, r14
+ AND r9, r9, r14
ORR r10, r6, r7, LSL #16 @ -a[2] -- -a[1]
ORR r12, r9, r11, LSL #16 @ -a[4] -- -a[3]
STR r10, [r13, #-4]
STR r12, [r13, #-8]
-
+
LDRSH r6, [r0, #10] @ load a[5]
LDRSH r7, [r0, #12] @ load a[6]
LDRSH r9, [r0, #14] @ load a[7]
LDRSH r11,[r0, #16] @ load a[8]
AND r6, r6, r14
- AND r9, r9, r14
+ AND r9, r9, r14
ORR r10, r6, r7, LSL #16 @ -a[6] -- -a[5]
ORR r12, r9, r11, LSL #16 @ -a[8] -- -a[7]
STR r10, [r13, #-12]
- STR r12, [r13, #-16]
-
+ STR r12, [r13, #-16]
+
LDRSH r6, [r0, #18] @ load a[9]
LDRSH r7, [r0, #20] @ load a[10]
LDRSH r9, [r0, #22] @ load a[11]
LDRSH r11,[r0, #24] @ load a[12]
AND r6, r6, r14
- AND r9, r9, r14
+ AND r9, r9, r14
ORR r10, r6, r7, LSL #16 @ -a[10] -- -a[9]
ORR r12, r9, r11, LSL #16 @ -a[12] -- -a[11]
STR r10, [r13, #-20]
- STR r12, [r13, #-24]
+ STR r12, [r13, #-24]
LDRSH r6, [r0, #26] @ load a[13]
LDRSH r7, [r0, #28] @ load a[14]
LDRSH r9, [r0, #30] @ load a[15]
LDRSH r11,[r0, #32] @ load a[16]
AND r6, r6, r14
- AND r9, r9, r14
+ AND r9, r9, r14
ORR r10, r6, r7, LSL #16 @ -a[14] -- -a[13]
ORR r12, r9, r11, LSL #16 @ -a[16] -- -a[15]
STR r10, [r13, #-28]
- STR r12, [r13, #-32]
-
+ STR r12, [r13, #-32]
+
ADD r4, r13, #32
LOOP:
LDRSH r6, [r1], #2 @ load x[i]
@@ -155,8 +155,8 @@ LOOP:
SMLABB r14, r6, r7, r14 @ -a[3] * (*(temp_p -3))
LDRSH r9, [r10, #-10] @ *(temp_p - 5)
-
- SMLABT r14, r11, r7, r14 @ -a[4] * (*(temp_p -4))
+
+ SMLABT r14, r11, r7, r14 @ -a[4] * (*(temp_p -4))
LDR r7, [r13, #-12] @ -a[6] -a[5]
LDRSH r12, [r10, #-12] @ *(temp_p - 6)
@@ -169,13 +169,13 @@ LOOP:
LDR r7, [r13, #-16] @ -a[8] -a[7]
LDRSH r11, [r10, #-16] @ *(temp_p - 8)
-
+
SMLABB r14, r6, r7, r14 @ -a[7] * (*(temp_p -7))
LDRSH r9, [r10, #-18] @ *(temp_p - 9)
- SMLABT r14, r11, r7, r14 @ -a[8] * (*(temp_p -8))
-
+ SMLABT r14, r11, r7, r14 @ -a[8] * (*(temp_p -8))
+
LDR r7, [r13, #-20] @ -a[10] -a[9]
LDRSH r12, [r10, #-20] @ *(temp_p - 10)
@@ -192,11 +192,11 @@ LOOP:
LDRSH r9, [r10, #-26] @ *(temp_p - 13)
- SMLABT r14, r11, r7, r14 @ -a[12] * (*(temp_p -12))
+ SMLABT r14, r11, r7, r14 @ -a[12] * (*(temp_p -12))
LDR r7, [r13, #-28] @ -a[14] -a[13]
LDRSH r12, [r10, #-28] @ *(temp_p - 14)
-
+
SMLABB r14, r9, r7, r14 @ -a[13] * (*(temp_p -13))
LDRSH r6, [r10, #-30] @ *(temp_p - 15)
@@ -211,28 +211,28 @@ LOOP:
SMLABT r14, r11, r7, r14 @ -a[16] * (*(temp_p -16))
RSB r14, r14, r0
-
+
MOV r7, r14, LSL #4 @ L_tmp <<=4
ADD r8, r8, #1
- ADD r14, r7, #0x8000
+ ADD r14, r7, #0x8000
MOV r7, r14, ASR #16 @ (L_tmp + 0x8000) >> 16
CMP r8, #80
STRH r7, [r10] @ yy[i]
STRH r7, [r2], #2 @ y[i]
BLT LOOP
-
+
@ update mem[]
ADD r5, r13, #160 @ yy[64] address
MOV r1, r3
MOV r0, r5
MOV r2, #16
- BL voAWB_Copy
+ BL voAWB_Copy
Syn_filt_asm_end:
-
- ADD r13, r13, #700
- LDMFD r13!, {r4 - r12, r15}
+
+ ADD r13, r13, #700
+ LDMFD r13!, {r4 - r12, r15}
@ENDFUNC
.END
-
+
diff --git a/media/libstagefright/codecs/amrwbenc/src/asm/ARMV7/Deemph_32_neon.s b/media/libstagefright/codecs/amrwbenc/src/asm/ARMV7/Deemph_32_neon.s
index 2afc146..1d5893f 100644
--- a/media/libstagefright/codecs/amrwbenc/src/asm/ARMV7/Deemph_32_neon.s
+++ b/media/libstagefright/codecs/amrwbenc/src/asm/ARMV7/Deemph_32_neon.s
@@ -30,10 +30,10 @@
.section .text
.global Deemph_32_asm
-
+
Deemph_32_asm:
- STMFD r13!, {r4 - r12, r14}
+ STMFD r13!, {r4 - r12, r14}
MOV r4, #2 @i=0
LDRSH r6, [r0], #2 @load x_hi[0]
LDRSH r7, [r1], #2 @load x_lo[0]
@@ -47,9 +47,9 @@ Deemph_32_asm:
ADD r12, r10, r7, LSL #4 @L_tmp += x_lo[0] << 4
MOV r10, r12, LSL #3 @L_tmp <<= 3
MUL r9, r5, r8
- LDRSH r6, [r0], #2 @load x_hi[1]
+ LDRSH r6, [r0], #2 @load x_hi[1]
QDADD r10, r10, r9
- LDRSH r7, [r1], #2 @load x_lo[1]
+ LDRSH r7, [r1], #2 @load x_lo[1]
MOV r12, r10, LSL #1 @L_tmp = L_mac(L_tmp, *mem, fac)
QADD r10, r12, r11
MOV r14, r10, ASR #16 @y[0] = round(L_tmp)
@@ -94,9 +94,9 @@ LOOP:
BLT LOOP
STR r14, [r3]
- STRH r14, [r2]
+ STRH r14, [r2]
- LDMFD r13!, {r4 - r12, r15}
+ LDMFD r13!, {r4 - r12, r15}
.END
diff --git a/media/libstagefright/codecs/amrwbenc/src/asm/ARMV7/Dot_p_neon.s b/media/libstagefright/codecs/amrwbenc/src/asm/ARMV7/Dot_p_neon.s
index 678f1d0..8230944 100644
--- a/media/libstagefright/codecs/amrwbenc/src/asm/ARMV7/Dot_p_neon.s
+++ b/media/libstagefright/codecs/amrwbenc/src/asm/ARMV7/Dot_p_neon.s
@@ -45,14 +45,14 @@ Dot_product12_asm:
VLD1.S16 {Q12, Q13}, [r1]! @load 16 Word16 y[]
VMULL.S16 Q15, D16, D0
- VMLAL.S16 Q15, D17, D1
+ VMLAL.S16 Q15, D17, D1
VMLAL.S16 Q15, D18, D2
VMLAL.S16 Q15, D19, D3
- VLD1.S16 {Q0, Q1}, [r1]! @load 16 Word16 y[]
- VMLAL.S16 Q15, D20, D4
+ VLD1.S16 {Q0, Q1}, [r1]! @load 16 Word16 y[]
+ VMLAL.S16 Q15, D20, D4
VMLAL.S16 Q15, D21, D5
VMLAL.S16 Q15, D22, D6
- VMLAL.S16 Q15, D23, D7
+ VMLAL.S16 Q15, D23, D7
VMLAL.S16 Q15, D24, D8
VMLAL.S16 Q15, D25, D9
VMLAL.S16 Q15, D26, D10
@@ -64,9 +64,9 @@ Dot_product12_asm:
CMP r2, #64
BEQ Lable1
- VLD1.S16 {Q0, Q1}, [r0]! @load 16 Word16 x[]
- VLD1.S16 {Q2, Q3}, [r1]!
- VMLAL.S16 Q15, D4, D0
+ VLD1.S16 {Q0, Q1}, [r0]! @load 16 Word16 x[]
+ VLD1.S16 {Q2, Q3}, [r1]!
+ VMLAL.S16 Q15, D4, D0
VMLAL.S16 Q15, D5, D1
VMLAL.S16 Q15, D6, D2
VMLAL.S16 Q15, D7, D3
@@ -102,11 +102,11 @@ LOOP_EQ:
VMLAL.S16 Q15, D2, D2
VMLAL.S16 Q15, D3, D3
-Lable1:
+Lable1:
VQADD.S32 D30, D30, D31
VPADD.S32 D30, D30, D30
- VMOV.S32 r12, D30[0]
+ VMOV.S32 r12, D30[0]
ADD r12, r12, r12
ADD r12, r12, #1 @ L_sum = (L_sum << 1) + 1
@@ -117,11 +117,11 @@ Lable1:
SUB r10, r10, #1 @ sft = norm_l(L_sum)
MOV r0, r12, LSL r10 @ L_sum = L_sum << sft
RSB r11, r10, #30 @ *exp = 30 - sft
- STRH r11, [r3]
+ STRH r11, [r3]
Dot_product12_end:
-
- LDMFD r13!, {r4 - r12, r15}
+
+ LDMFD r13!, {r4 - r12, r15}
.END
diff --git a/media/libstagefright/codecs/amrwbenc/src/asm/ARMV7/Filt_6k_7k_neon.s b/media/libstagefright/codecs/amrwbenc/src/asm/ARMV7/Filt_6k_7k_neon.s
index 5389a1c..14ba828 100644
--- a/media/libstagefright/codecs/amrwbenc/src/asm/ARMV7/Filt_6k_7k_neon.s
+++ b/media/libstagefright/codecs/amrwbenc/src/asm/ARMV7/Filt_6k_7k_neon.s
@@ -13,7 +13,7 @@
@ ** See the License for the specific language governing permissions and
@ ** limitations under the License.
@ */
-@
+@
@**********************************************************************/
@void Filt_6k_7k(
@ Word16 signal[], /* input: signal */
@@ -23,7 +23,7 @@
@***********************************************************************
@ r0 --- signal[]
@ r1 --- lg
-@ r2 --- mem[]
+@ r2 --- mem[]
.section .text
.global Filt_6k_7k_asm
@@ -31,7 +31,7 @@
Filt_6k_7k_asm:
- STMFD r13!, {r0 - r12, r14}
+ STMFD r13!, {r0 - r12, r14}
SUB r13, r13, #240 @ x[L_SUBFR16k + (L_FIR - 1)]
MOV r8, r0 @ copy signal[] address
MOV r5, r2 @ copy mem[] address
@@ -49,7 +49,7 @@ Filt_6k_7k_asm:
- LDR r10, Lable1 @ get fir_7k address
+ LDR r10, Lable1 @ get fir_7k address
MOV r3, r8 @ change myMemCopy to Copy, due to Copy will change r3 content
ADD r6, r13, #60 @ get x[L_FIR - 1] address
MOV r7, r3 @ get signal[i]
@@ -81,9 +81,9 @@ Filt_6k_7k_asm:
MOV r12, r5
@STR r5, [sp, #-4] @ PUSH r5 to stack
@ not use registers: r4, r10, r12, r14, r5
- MOV r4, r13
- MOV r5, #0 @ i = 0
-
+ MOV r4, r13
+ MOV r5, #0 @ i = 0
+
@ r4 --- x[i], r10 ---- fir_6k_7k
VLD1.S16 {Q0, Q1}, [r10]! @fir_6k_7k[0] ~ fir_6k_7k[15]
VLD1.S16 {Q2, Q3}, [r10]! @fir_6k_7k[16] ~ fir_6k_7k[31]
@@ -91,20 +91,20 @@ Filt_6k_7k_asm:
VLD1.S16 {Q4, Q5}, [r4]! @x[0] ~ x[15]
VLD1.S16 {Q6, Q7}, [r4]! @x[16] ~ X[31]
- VLD1.S16 {Q8}, [r4]!
- VMOV.S16 Q15, #0
-
+ VLD1.S16 {Q8}, [r4]!
+ VMOV.S16 Q15, #0
+
LOOP_6K7K:
- VMULL.S16 Q9,D8,D0[0]
- VMULL.S16 Q10,D9,D1[0]
- VMULL.S16 Q11,D9,D0[0]
+ VMULL.S16 Q9,D8,D0[0]
+ VMULL.S16 Q10,D9,D1[0]
+ VMULL.S16 Q11,D9,D0[0]
VMULL.S16 Q12,D10,D1[0]
VEXT.8 Q4,Q4,Q5,#2
VMLAL.S16 Q9,D10,D2[0]
VMLAL.S16 Q10,D11,D3[0]
VMLAL.S16 Q11,D11,D2[0]
- VMLAL.S16 Q12,D12,D3[0]
+ VMLAL.S16 Q12,D12,D3[0]
VEXT.8 Q5,Q5,Q6,#2
VMLAL.S16 Q9,D12,D4[0]
VMLAL.S16 Q10,D13,D5[0]
@@ -115,18 +115,18 @@ LOOP_6K7K:
VMLAL.S16 Q10,D15,D7[0]
VMLAL.S16 Q11,D15,D6[0]
VMLAL.S16 Q12,D16,D7[0]
- VEXT.8 Q7,Q7,Q8,#2
+ VEXT.8 Q7,Q7,Q8,#2
- VMLAL.S16 Q9,D8,D0[1]
+ VMLAL.S16 Q9,D8,D0[1]
VMLAL.S16 Q10,D9,D1[1]
- VEXT.8 Q8,Q8,Q15,#2
- VMLAL.S16 Q11,D9,D0[1]
+ VEXT.8 Q8,Q8,Q15,#2
+ VMLAL.S16 Q11,D9,D0[1]
VMLAL.S16 Q12,D10,D1[1]
VEXT.8 Q4,Q4,Q5,#2
VMLAL.S16 Q9,D10,D2[1]
VMLAL.S16 Q10,D11,D3[1]
VMLAL.S16 Q11,D11,D2[1]
- VMLAL.S16 Q12,D12,D3[1]
+ VMLAL.S16 Q12,D12,D3[1]
VEXT.8 Q5,Q5,Q6,#2
VMLAL.S16 Q9,D12,D4[1]
VMLAL.S16 Q10,D13,D5[1]
@@ -137,18 +137,18 @@ LOOP_6K7K:
VMLAL.S16 Q10,D15,D7[1]
VMLAL.S16 Q11,D15,D6[1]
VMLAL.S16 Q12,D16,D7[1]
- VEXT.8 Q7,Q7,Q8,#2
+ VEXT.8 Q7,Q7,Q8,#2
- VMLAL.S16 Q9,D8,D0[2]
+ VMLAL.S16 Q9,D8,D0[2]
VMLAL.S16 Q10,D9,D1[2]
- VEXT.8 Q8,Q8,Q15,#2
- VMLAL.S16 Q11,D9,D0[2]
+ VEXT.8 Q8,Q8,Q15,#2
+ VMLAL.S16 Q11,D9,D0[2]
VMLAL.S16 Q12,D10,D1[2]
VEXT.8 Q4,Q4,Q5,#2
VMLAL.S16 Q9,D10,D2[2]
VMLAL.S16 Q10,D11,D3[2]
VMLAL.S16 Q11,D11,D2[2]
- VMLAL.S16 Q12,D12,D3[2]
+ VMLAL.S16 Q12,D12,D3[2]
VEXT.8 Q5,Q5,Q6,#2
VMLAL.S16 Q9,D12,D4[2]
VMLAL.S16 Q10,D13,D5[2]
@@ -159,18 +159,18 @@ LOOP_6K7K:
VMLAL.S16 Q10,D15,D7[2]
VMLAL.S16 Q11,D15,D6[2]
VMLAL.S16 Q12,D16,D7[2]
- VEXT.8 Q7,Q7,Q8,#2
+ VEXT.8 Q7,Q7,Q8,#2
- VMLAL.S16 Q9,D8,D0[3]
+ VMLAL.S16 Q9,D8,D0[3]
VMLAL.S16 Q10,D9,D1[3]
- VEXT.8 Q8,Q8,Q15,#2
- VMLAL.S16 Q11,D9,D0[3]
+ VEXT.8 Q8,Q8,Q15,#2
+ VMLAL.S16 Q11,D9,D0[3]
VMLAL.S16 Q12,D10,D1[3]
VEXT.8 Q4,Q4,Q5,#2
VMLAL.S16 Q9,D10,D2[3]
VMLAL.S16 Q10,D11,D3[3]
VMLAL.S16 Q11,D11,D2[3]
- VMLAL.S16 Q12,D12,D3[3]
+ VMLAL.S16 Q12,D12,D3[3]
VEXT.8 Q5,Q5,Q6,#2
VMLAL.S16 Q9,D12,D4[3]
VMLAL.S16 Q10,D13,D5[3]
@@ -181,10 +181,10 @@ LOOP_6K7K:
VMLAL.S16 Q10,D15,D7[3]
VMLAL.S16 Q11,D15,D6[3]
VMLAL.S16 Q12,D16,D7[3]
- VEXT.8 Q7,Q7,Q8,#2
+ VEXT.8 Q7,Q7,Q8,#2
VMOV.S16 D8,D9
- VEXT.8 Q8,Q8,Q15,#2
+ VEXT.8 Q8,Q8,Q15,#2
VMOV.S16 D9,D10
VADD.S32 Q9,Q9,Q10
VMOV.S16 D10,D11
@@ -214,12 +214,12 @@ LOOP_6K7K:
VST1.S16 {D4, D5, D6}, [r1]!
VST1.S16 D7[0], [r1]!
VST1.S16 D7[1], [r1]!
-
+
Filt_6k_7k_end:
- ADD r13, r13, #240
- LDMFD r13!, {r0 - r12, r15}
-
+ ADD r13, r13, #240
+ LDMFD r13!, {r0 - r12, r15}
+
Lable1:
.word fir_6k_7k
@ENDFUNC
diff --git a/media/libstagefright/codecs/amrwbenc/src/asm/ARMV7/Norm_Corr_neon.s b/media/libstagefright/codecs/amrwbenc/src/asm/ARMV7/Norm_Corr_neon.s
index 60e9ade..4263cd4 100644
--- a/media/libstagefright/codecs/amrwbenc/src/asm/ARMV7/Norm_Corr_neon.s
+++ b/media/libstagefright/codecs/amrwbenc/src/asm/ARMV7/Norm_Corr_neon.s
@@ -33,7 +33,7 @@
.section .text
- .global Norm_corr_asm
+ .global Norm_corr_asm
.extern Convolve_asm
.extern Isqrt_n
@******************************
@@ -47,17 +47,17 @@
.equ T_MIN , 212
.equ T_MAX , 216
.equ CORR_NORM , 220
-
+
Norm_corr_asm:
- STMFD r13!, {r4 - r12, r14}
+ STMFD r13!, {r4 - r12, r14}
SUB r13, r13, #voSTACK
-
+
ADD r8, r13, #20 @get the excf[L_SUBFR]
LDR r4, [r13, #T_MIN] @get t_min
RSB r11, r4, #0 @k = -t_min
- ADD r5, r0, r11, LSL #1 @get the &exc[k]
-
+ ADD r5, r0, r11, LSL #1 @get the &exc[k]
+
@transfer Convolve function
STMFD sp!, {r0 - r3}
MOV r0, r5
@@ -68,7 +68,7 @@ Norm_corr_asm:
@ r8 --- excf[]
- MOV r14, r1 @copy xn[] address
+ MOV r14, r1 @copy xn[] address
MOV r7, #1
VLD1.S16 {Q0, Q1}, [r14]!
VLD1.S16 {Q2, Q3}, [r14]!
@@ -95,34 +95,34 @@ Norm_corr_asm:
VQADD.S32 D20, D20, D21
VMOV.S32 r9, D20[0]
VMOV.S32 r10, D20[1]
- QADD r6, r9, r10
+ QADD r6, r9, r10
QADD r6, r6, r6
QADD r9, r6, r7 @L_tmp = (L_tmp << 1) + 1;
CLZ r7, r9
SUB r6, r7, #1 @exp = norm_l(L_tmp)
RSB r7, r6, #32 @exp = 32 - exp
- MOV r6, r7, ASR #1
+ MOV r6, r7, ASR #1
RSB r7, r6, #0 @scale = -(exp >> 1)
-
+
@loop for every possible period
@for(t = t_min@ t <= t_max@ t++)
@r7 --- scale r4 --- t_min r8 --- excf[]
-LOOPFOR:
+LOOPFOR:
ADD r14, r13, #20 @copy of excf[]
MOV r12, r1 @copy of xn[]
MOV r8, #0x8000
VLD1.S16 {Q0, Q1}, [r14]! @ load 16 excf[]
- VLD1.S16 {Q2, Q3}, [r14]! @ load 16 excf[]
+ VLD1.S16 {Q2, Q3}, [r14]! @ load 16 excf[]
VLD1.S16 {Q4, Q5}, [r12]! @ load 16 x[]
VLD1.S16 {Q6, Q7}, [r12]! @ load 16 x[]
VMULL.S16 Q10, D0, D0 @L_tmp1 += excf[] * excf[]
- VMULL.S16 Q11, D0, D8 @L_tmp += x[] * excf[]
+ VMULL.S16 Q11, D0, D8 @L_tmp += x[] * excf[]
VMLAL.S16 Q10, D1, D1
VMLAL.S16 Q11, D1, D9
VMLAL.S16 Q10, D2, D2
- VMLAL.S16 Q11, D2, D10
+ VMLAL.S16 Q11, D2, D10
VMLAL.S16 Q10, D3, D3
VMLAL.S16 Q11, D3, D11
VMLAL.S16 Q10, D4, D4
@@ -143,7 +143,7 @@ LOOPFOR:
VMLAL.S16 Q10, D1, D1
VMLAL.S16 Q11, D1, D9
VMLAL.S16 Q10, D2, D2
- VMLAL.S16 Q11, D2, D10
+ VMLAL.S16 Q11, D2, D10
VMLAL.S16 Q10, D3, D3
VMLAL.S16 Q11, D3, D11
VMLAL.S16 Q10, D4, D4
@@ -162,19 +162,19 @@ LOOPFOR:
VPADD.S32 D22, D22, D22 @D22[0] --- L_tmp << 1
VMOV.S32 r6, D20[0]
- VMOV.S32 r5, D22[0]
+ VMOV.S32 r5, D22[0]
@r5 --- L_tmp, r6 --- L_tmp1
MOV r10, #1
ADD r5, r10, r5, LSL #1 @L_tmp = (L_tmp << 1) + 1
ADD r6, r10, r6, LSL #1 @L_tmp1 = (L_tmp1 << 1) + 1
-
- CLZ r10, r5
+
+ CLZ r10, r5
CMP r5, #0
RSBLT r11, r5, #0
CLZLT r10, r11
SUB r10, r10, #1 @exp = norm_l(L_tmp)
-
+
MOV r5, r5, LSL r10 @L_tmp = (L_tmp << exp)
RSB r10, r10, #30 @exp_corr = 30 - exp
MOV r11, r5, ASR #16 @corr = extract_h(L_tmp)
@@ -190,7 +190,7 @@ LOOPFOR:
@Isqrt_n(&L_tmp, &exp_norm)
MOV r14, r0
- MOV r12, r1
+ MOV r12, r1
STMFD sp!, {r0 - r4, r7 - r12, r14}
ADD r1, sp, #4
@@ -208,7 +208,7 @@ LOOPFOR:
MOV r6, r6, ASR #16 @norm = extract_h(L_tmp)
MUL r12, r6, r11
ADD r12, r12, r12 @L_tmp = vo_L_mult(corr, norm)
-
+
ADD r6, r10, r5
ADD r6, r6, r7 @exp_corr + exp_norm + scale
@@ -227,8 +227,8 @@ LOOPFOR:
CMP r4, r6
BEQ Norm_corr_asm_end
-
- ADD r4, r4, #1 @ t_min ++
+
+ ADD r4, r4, #1 @ t_min ++
RSB r5, r4, #0 @ k
MOV r6, #63 @ i = 63
@@ -255,16 +255,16 @@ LOOPK:
MUL r14, r11, r8
LDR r6, [r13, #T_MAX] @ get t_max
MOV r8, r14, ASR #15
- STRH r8, [r10]
+ STRH r8, [r10]
CMP r4, r6
BLE LOOPFOR
-Norm_corr_asm_end:
-
- ADD r13, r13, #voSTACK
+Norm_corr_asm_end:
+
+ ADD r13, r13, #voSTACK
LDMFD r13!, {r4 - r12, r15}
-
+
.END
diff --git a/media/libstagefright/codecs/amrwbenc/src/asm/ARMV7/Syn_filt_32_neon.s b/media/libstagefright/codecs/amrwbenc/src/asm/ARMV7/Syn_filt_32_neon.s
index 1e65efa..e786dde 100644
--- a/media/libstagefright/codecs/amrwbenc/src/asm/ARMV7/Syn_filt_32_neon.s
+++ b/media/libstagefright/codecs/amrwbenc/src/asm/ARMV7/Syn_filt_32_neon.s
@@ -33,12 +33,12 @@
@ sig_lo[] --- r5
@ lg --- r6
- .section .text
+ .section .text
.global Syn_filt_32_asm
Syn_filt_32_asm:
- STMFD r13!, {r4 - r12, r14}
+ STMFD r13!, {r4 - r12, r14}
LDR r4, [r13, #40] @ get sig_hi[] address
LDR r5, [r13, #44] @ get sig_lo[] address
@@ -49,8 +49,8 @@ Syn_filt_32_asm:
SUB r10, r4, #32 @ sig_hi[-16] address
SUB r11, r5, #32 @ sig_lo[-16] address
- VLD1.S16 {D0, D1, D2, D3}, [r0]! @a[1] ~ a[16]
-
+ VLD1.S16 {D0, D1, D2, D3}, [r0]! @a[1] ~ a[16]
+
MOV r8, #0 @ i = 0
VLD1.S16 {D4, D5, D6, D7}, [r10]! @ sig_hi[-16] ~ sig_hi[-1]
@@ -58,9 +58,9 @@ Syn_filt_32_asm:
VREV64.16 D1, D1
VLD1.S16 {D8, D9, D10, D11}, [r11]! @ sig_lo[-16] ~ sig_lo[-1]
VREV64.16 D2, D2
- VREV64.16 D3, D3
+ VREV64.16 D3, D3
VDUP.S32 Q15, r8
-
+
SYN_LOOP:
LDRSH r6, [r2], #2 @exc[i]
@@ -73,12 +73,12 @@ SYN_LOOP:
VEXT.8 D9, D9, D10, #2
VEXT.8 D10, D10, D11, #2
-
+
VPADD.S32 D28, D20, D21
MUL r12, r6, r3 @exc[i] * a0
VPADD.S32 D29, D28, D28
VDUP.S32 Q10, D29[0] @result1
-
+
VMULL.S16 Q11, D4, D3
VMLAL.S16 Q11, D5, D2
VSUB.S32 Q10, Q15, Q10
@@ -101,7 +101,7 @@ SYN_LOOP:
VSHR.S32 Q10, Q10, #11 @result1 >>= 11
VSHL.S32 Q11, Q11, #1 @result2 <<= 1
- VDUP.S32 Q12, r14
+ VDUP.S32 Q12, r14
VADD.S32 Q12, Q12, Q10 @L_tmp = L_tmp - (result1 >>= 11) - (result2 <<= 1)
VSUB.S32 Q12, Q12, Q11
@@ -122,12 +122,12 @@ SYN_LOOP:
STRH r12, [r5], #2 @stroe sig_lo[i]
CMP r8, #64
- BLT SYN_LOOP
-
+ BLT SYN_LOOP
+
Syn_filt_32_end:
-
- LDMFD r13!, {r4 - r12, r15}
+
+ LDMFD r13!, {r4 - r12, r15}
@ENDFUNC
.END
-
+
diff --git a/media/libstagefright/codecs/amrwbenc/src/asm/ARMV7/convolve_neon.s b/media/libstagefright/codecs/amrwbenc/src/asm/ARMV7/convolve_neon.s
index 189e33b..8efa9fb 100644
--- a/media/libstagefright/codecs/amrwbenc/src/asm/ARMV7/convolve_neon.s
+++ b/media/libstagefright/codecs/amrwbenc/src/asm/ARMV7/convolve_neon.s
@@ -20,22 +20,22 @@
@* Word16 y[], /* (o) : output vector */
@* Word16 L /* (i) : vector size */
@*)
-@
+@
@ r0 --- x[]
@ r1 --- h[]
@ r2 --- y[]
@ r3 --- L
- .section .text
- .global Convolve_asm
+ .section .text
+ .global Convolve_asm
Convolve_asm:
- STMFD r13!, {r4 - r12, r14}
- MOV r3, #0
+ STMFD r13!, {r4 - r12, r14}
+ MOV r3, #0
MOV r11, #0x8000
-
-LOOP:
+
+LOOP:
@MOV r8, #0 @ s = 0
ADD r4, r1, r3, LSL #1 @ tmpH address
ADD r5, r3, #1 @ i = n + 1
@@ -43,21 +43,21 @@ LOOP:
LDRSH r9, [r6], #2 @ *tmpX++
LDRSH r10, [r4] @ *tmpH--
SUB r5, r5, #1
- VMOV.S32 Q10, #0
- MUL r8, r9, r10
+ VMOV.S32 Q10, #0
+ MUL r8, r9, r10
-LOOP1:
+LOOP1:
CMP r5, #0
BLE L1
SUB r4, r4, #8
MOV r9, r4
- VLD1.S16 D0, [r6]!
+ VLD1.S16 D0, [r6]!
VLD1.S16 D1, [r9]!
VREV64.16 D1, D1
- SUBS r5, r5, #4
- VMLAL.S16 Q10, D0, D1
- B LOOP1
-L1:
+ SUBS r5, r5, #4
+ VMLAL.S16 Q10, D0, D1
+ B LOOP1
+L1:
VADD.S32 D20, D20, D21
VPADD.S32 D20, D20, D20
VMOV.S32 r5, D20[0]
@@ -73,25 +73,25 @@ L1:
ADD r5, r3, #1
MOV r6, r0
LDRSH r9, [r6], #2 @ *tmpX++
- LDRSH r10, [r4], #-2
+ LDRSH r10, [r4], #-2
LDRSH r12, [r6], #2
LDRSH r14, [r4]
MUL r8, r9, r10
SUB r5, r5, #2
MLA r8, r12, r14, r8
-
+
VMOV.S32 Q10, #0
LOOP2:
CMP r5, #0
BLE L2
SUB r4, r4, #8
MOV r9, r4
- VLD1.S16 D0, [r6]!
+ VLD1.S16 D0, [r6]!
VLD1.S16 D1, [r9]!
SUBS r5, r5, #4
VREV64.16 D1, D1
- VMLAL.S16 Q10, D0, D1
+ VMLAL.S16 Q10, D0, D1
B LOOP2
L2:
VADD.S32 D20, D20, D21
@@ -100,7 +100,7 @@ L2:
ADD r8, r8, r5
ADD r8, r11, r8, LSL #1
MOV r8, r8, LSR #16 @extract_h(s)
- ADD r3, r3, #1
+ ADD r3, r3, #1
STRH r8, [r2], #2 @y[n]
@@ -115,7 +115,7 @@ L2:
MUL r8, r9, r10
LDRSH r9, [r6], #2
LDRSH r10, [r4]
- MLA r8, r12, r14, r8
+ MLA r8, r12, r14, r8
SUB r5, r5, #3
MLA r8, r9, r10, r8
@@ -125,12 +125,12 @@ LOOP3:
BLE L3
SUB r4, r4, #8
MOV r9, r4
- VLD1.S16 D0, [r6]!
+ VLD1.S16 D0, [r6]!
VLD1.S16 D1, [r9]!
VREV64.16 D1, D1
SUBS r5, r5, #4
- VMLAL.S16 Q10, D0, D1
- B LOOP3
+ VMLAL.S16 Q10, D0, D1
+ B LOOP3
L3:
VADD.S32 D20, D20, D21
@@ -146,18 +146,18 @@ L3:
ADD r4, r1, r5, LSL #1 @ tmpH address
MOV r6, r0
VMOV.S32 Q10, #0
-LOOP4:
+LOOP4:
CMP r5, #0
BLE L4
SUB r4, r4, #8
MOV r9, r4
- VLD1.S16 D0, [r6]!
+ VLD1.S16 D0, [r6]!
VLD1.S16 D1, [r9]!
VREV64.16 D1, D1
- SUBS r5, r5, #4
- VMLAL.S16 Q10, D0, D1
- B LOOP4
-L4:
+ SUBS r5, r5, #4
+ VMLAL.S16 Q10, D0, D1
+ B LOOP4
+L4:
VADD.S32 D20, D20, D21
VPADD.S32 D20, D20, D20
VMOV.S32 r5, D20[0]
@@ -165,14 +165,14 @@ L4:
MOV r5, r5, LSR #16 @extract_h(s)
ADD r3, r3, #1
STRH r5, [r2], #2 @y[n]
-
+
CMP r3, #64
BLT LOOP
-
-Convolve_asm_end:
-
+
+Convolve_asm_end:
+
LDMFD r13!, {r4 - r12, r15}
-
+
@ENDFUNC
.END
diff --git a/media/libstagefright/codecs/amrwbenc/src/asm/ARMV7/cor_h_vec_neon.s b/media/libstagefright/codecs/amrwbenc/src/asm/ARMV7/cor_h_vec_neon.s
index c314a88..8904289 100644
--- a/media/libstagefright/codecs/amrwbenc/src/asm/ARMV7/cor_h_vec_neon.s
+++ b/media/libstagefright/codecs/amrwbenc/src/asm/ARMV7/cor_h_vec_neon.s
@@ -31,7 +31,7 @@
@r5 ---- cor_1[]
@r6 ---- cor_2[]
- .section .text
+ .section .text
.global cor_h_vec_012_asm
cor_h_vec_012_asm:
@@ -52,12 +52,12 @@ LOOPi:
RSB r11, r2, #62 @j=62-pos
LOOPj1:
- LDRSH r12, [r10], #2
+ LDRSH r12, [r10], #2
LDRSH r8, [r9], #2
LDRSH r14, [r9]
SUBS r11, r11, #1
MLA r5, r12, r8, r5
- MLA r6, r12, r14, r6
+ MLA r6, r12, r14, r6
BGE LOOPj1
LDRSH r12, [r10], #2 @*p1++
@@ -65,7 +65,7 @@ LOOPj1:
MLA r5, r12, r14, r5
MOV r14, #0x8000
MOV r5, r5, LSL #2 @L_sum1 = (L_sum1 << 2)
- ADD r10, r6, r14
+ ADD r10, r6, r14
ADD r9, r5, r14
MOV r5, r9, ASR #16
MOV r6, r10, ASR #16
@@ -77,7 +77,7 @@ LOOPj1:
MUL r14, r6, r11
MOV r5, r12, ASR #15
MOV r6, r14, ASR #15
- LDR r9, [r13, #44]
+ LDR r9, [r13, #44]
LDR r12, [r13, #48]
LDRSH r10, [r7], #2 @*p0++
LDRSH r11, [r8] @*p3++
@@ -89,7 +89,7 @@ LOOPj1:
STRH r6, [r12]
ADD r2, r2, #4
-
+
MOV r5, #0 @L_sum1 = 0
MOV r6, #0 @L_sum2 = 0
ADD r9, r1, r2, LSL #1 @p2 = &vec[pos]
@@ -98,12 +98,12 @@ LOOPj1:
ADD r4, r4, #1 @i++
LOOPj2:
- LDRSH r12, [r10], #2
+ LDRSH r12, [r10], #2
LDRSH r8, [r9], #2
LDRSH r14, [r9]
SUBS r11, r11, #1
MLA r5, r12, r8, r5
- MLA r6, r12, r14, r6
+ MLA r6, r12, r14, r6
BGE LOOPj2
LDRSH r12, [r10], #2 @*p1++
@@ -111,7 +111,7 @@ LOOPj2:
MLA r5, r12, r14, r5
MOV r14, #0x8000
MOV r5, r5, LSL #2 @L_sum1 = (L_sum1 << 2)
- ADD r10, r6, r14
+ ADD r10, r6, r14
ADD r9, r5, r14
MOV r5, r9, ASR #16
@@ -124,7 +124,7 @@ LOOPj2:
MUL r14, r6, r11
MOV r5, r12, ASR #15
MOV r6, r14, ASR #15
- LDR r9, [r13, #44]
+ LDR r9, [r13, #44]
LDR r12, [r13, #48]
LDRSH r10, [r7], #2 @*p0++
LDRSH r11, [r8] @*p3++
@@ -137,15 +137,15 @@ LOOPj2:
ADD r4, r4, #1 @i+1
ADD r2, r2, #4 @pos += STEP
CMP r4, #16
-
+
BLT LOOPi
-
+
the_end:
LDMFD r13!, {r4 - r12, r15}
-
- .END
-
-
-
+
+ .END
+
+
+
diff --git a/media/libstagefright/codecs/amrwbenc/src/asm/ARMV7/pred_lt4_1_neon.s b/media/libstagefright/codecs/amrwbenc/src/asm/ARMV7/pred_lt4_1_neon.s
index dffb750..6b782cb 100644
--- a/media/libstagefright/codecs/amrwbenc/src/asm/ARMV7/pred_lt4_1_neon.s
+++ b/media/libstagefright/codecs/amrwbenc/src/asm/ARMV7/pred_lt4_1_neon.s
@@ -25,14 +25,14 @@
@ r1 --- T0
@ r2 --- frac
@ r3 --- L_subfr
-
- .section .text
+
+ .section .text
.global pred_lt4_asm
.extern inter4_2
pred_lt4_asm:
- STMFD r13!, {r4 - r12, r14}
+ STMFD r13!, {r4 - r12, r14}
SUB r4, r0, r1, LSL #1 @ x = exc - T0
RSB r2, r2, #0 @ frac = - frac
SUB r4, r4, #30 @ x -= L_INTERPOL2 - 1
@@ -47,8 +47,8 @@ pred_lt4_asm:
VLD1.S16 {Q0, Q1}, [r11]!
VLD1.S16 {Q2, Q3}, [r11]!
-
- MOV r6, #0x8000
+
+ MOV r6, #0x8000
VLD1.S16 {Q4, Q5}, [r4]! @load 16 x[]
VLD1.S16 {Q6, Q7}, [r4]! @load 16 x[]
@@ -58,14 +58,14 @@ LOOP:
VQDMLAL.S16 Q15, D9, D1
VQDMLAL.S16 Q15, D10, D2
VQDMLAL.S16 Q15, D11, D3
-
+
VQDMLAL.S16 Q15, D12, D4
VQDMLAL.S16 Q15, D13, D5
VQDMLAL.S16 Q15, D14, D6
VQDMLAL.S16 Q15, D15, D7
- LDRSH r12, [r4], #2
-
+ LDRSH r12, [r4], #2
+
VEXT.S16 D8, D8, D9, #1
VEXT.S16 D9, D9, D10, #1
VEXT.S16 D10, D10, D11, #1
@@ -73,26 +73,26 @@ LOOP:
VDUP.S16 D24, r12
VEXT.S16 D12, D12, D13, #1
VEXT.S16 D13, D13, D14, #1
-
+
VQADD.S32 D30, D30, D31
- MOV r11, #0x8000
+ MOV r11, #0x8000
VPADD.S32 D30, D30, D30
ADD r8, r8, #1
VMOV.S32 r12, D30[0]
- VEXT.S16 D14, D14, D15, #1
+ VEXT.S16 D14, D14, D15, #1
QADD r1, r12, r12 @ L_sum = (L_sum << 2)
VEXT.S16 D15, D15, D24, #1
- QADD r5, r1, r6
+ QADD r5, r1, r6
MOV r1, r5, ASR #16
CMP r8, r3
STRH r1, [r0], #2 @ exc[j] = (L_sum + 0x8000) >> 16
BLT LOOP
-
+
pred_lt4_end:
-
- LDMFD r13!, {r4 - r12, r15}
-
+
+ LDMFD r13!, {r4 - r12, r15}
+
Lable1:
.word inter4_2
@ENDFUNC
diff --git a/media/libstagefright/codecs/amrwbenc/src/asm/ARMV7/residu_asm_neon.s b/media/libstagefright/codecs/amrwbenc/src/asm/ARMV7/residu_asm_neon.s
index b9e6b23..394fa83 100644
--- a/media/libstagefright/codecs/amrwbenc/src/asm/ARMV7/residu_asm_neon.s
+++ b/media/libstagefright/codecs/amrwbenc/src/asm/ARMV7/residu_asm_neon.s
@@ -26,17 +26,17 @@
@lg RN r3
.section .text
- .global Residu_opt
+ .global Residu_opt
Residu_opt:
- STMFD r13!, {r4 - r12, r14}
+ STMFD r13!, {r4 - r12, r14}
SUB r7, r3, #4 @i = lg - 4
-
- VLD1.S16 {D0, D1, D2, D3}, [r0]! @get all a[]
+
+ VLD1.S16 {D0, D1, D2, D3}, [r0]! @get all a[]
VLD1.S16 {D4}, [r0]!
VMOV.S32 Q8, #0x8000
-
+
LOOP1:
ADD r9, r1, r7, LSL #1 @copy the address
ADD r10, r2, r7, LSL #1
@@ -45,7 +45,7 @@ LOOP1:
VQDMULL.S16 Q10, D5, D0[0] @finish the first L_mult
SUB r8, r9, #2 @get the x[i-1] address
- VLD1.S16 D5, [r8]!
+ VLD1.S16 D5, [r8]!
VQDMLAL.S16 Q10, D5, D0[1]
SUB r8, r9, #4 @load the x[i-2] address
@@ -53,36 +53,36 @@ LOOP1:
VQDMLAL.S16 Q10, D5, D0[2]
SUB r8, r9, #6 @load the x[i-3] address
- VLD1.S16 D5, [r8]!
- VQDMLAL.S16 Q10, D5, D0[3]
+ VLD1.S16 D5, [r8]!
+ VQDMLAL.S16 Q10, D5, D0[3]
SUB r8, r9, #8 @load the x[i-4] address
- VLD1.S16 D5, [r8]!
- VQDMLAL.S16 Q10, D5, D1[0]
+ VLD1.S16 D5, [r8]!
+ VQDMLAL.S16 Q10, D5, D1[0]
SUB r8, r9, #10 @load the x[i-5] address
- VLD1.S16 D5, [r8]!
- VQDMLAL.S16 Q10, D5, D1[1]
+ VLD1.S16 D5, [r8]!
+ VQDMLAL.S16 Q10, D5, D1[1]
SUB r8, r9, #12 @load the x[i-6] address
- VLD1.S16 D5, [r8]!
- VQDMLAL.S16 Q10, D5, D1[2]
+ VLD1.S16 D5, [r8]!
+ VQDMLAL.S16 Q10, D5, D1[2]
SUB r8, r9, #14 @load the x[i-7] address
- VLD1.S16 D5, [r8]!
- VQDMLAL.S16 Q10, D5, D1[3]
+ VLD1.S16 D5, [r8]!
+ VQDMLAL.S16 Q10, D5, D1[3]
SUB r8, r9, #16 @load the x[i-8] address
- VLD1.S16 D5, [r8]!
- VQDMLAL.S16 Q10, D5, D2[0]
+ VLD1.S16 D5, [r8]!
+ VQDMLAL.S16 Q10, D5, D2[0]
SUB r8, r9, #18 @load the x[i-9] address
- VLD1.S16 D5, [r8]!
- VQDMLAL.S16 Q10, D5, D2[1]
-
+ VLD1.S16 D5, [r8]!
+ VQDMLAL.S16 Q10, D5, D2[1]
+
SUB r8, r9, #20 @load the x[i-10] address
- VLD1.S16 D5, [r8]!
- VQDMLAL.S16 Q10, D5, D2[2]
+ VLD1.S16 D5, [r8]!
+ VQDMLAL.S16 Q10, D5, D2[2]
SUB r8, r9, #22 @load the x[i-11] address
VLD1.S16 D5, [r8]!
@@ -117,10 +117,10 @@ LOOP1:
BGE LOOP1
-Residu_asm_end:
-
+Residu_asm_end:
+
LDMFD r13!, {r4 - r12, r15}
-
+
@ENDFUNC
.END
diff --git a/media/libstagefright/codecs/amrwbenc/src/asm/ARMV7/scale_sig_neon.s b/media/libstagefright/codecs/amrwbenc/src/asm/ARMV7/scale_sig_neon.s
index bbd354d..e45daac 100644
--- a/media/libstagefright/codecs/amrwbenc/src/asm/ARMV7/scale_sig_neon.s
+++ b/media/libstagefright/codecs/amrwbenc/src/asm/ARMV7/scale_sig_neon.s
@@ -13,7 +13,7 @@
@ ** See the License for the specific language governing permissions and
@ ** limitations under the License.
@ */
-@
+@
@**********************************************************************/
@void Scale_sig(
@ Word16 x[], /* (i/o) : signal to scale */
@@ -25,16 +25,16 @@
@ lg --- r1
@ exp --- r2
- .section .text
+ .section .text
.global Scale_sig_opt
Scale_sig_opt:
- STMFD r13!, {r4 - r12, r14}
+ STMFD r13!, {r4 - r12, r14}
MOV r4, #4
- VMOV.S32 Q15, #0x8000
- VDUP.S32 Q14, r2
- MOV r5, r0 @ copy x[] address
+ VMOV.S32 Q15, #0x8000
+ VDUP.S32 Q14, r2
+ MOV r5, r0 @ copy x[] address
CMP r1, #64
MOVEQ r4, #1
BEQ LOOP
@@ -48,7 +48,7 @@ Scale_sig_opt:
BEQ LOOP1
LOOP1:
- VLD1.S16 {Q0, Q1}, [r5]! @load 16 Word16 x[]
+ VLD1.S16 {Q0, Q1}, [r5]! @load 16 Word16 x[]
VSHLL.S16 Q10, D0, #16
VSHLL.S16 Q11, D1, #16
VSHLL.S16 Q12, D2, #16
@@ -63,7 +63,7 @@ LOOP1:
VADDHN.S32 D19, Q13, Q15
VST1.S16 {Q8, Q9}, [r0]! @store 16 Word16 x[]
-LOOP:
+LOOP:
VLD1.S16 {Q0, Q1}, [r5]! @load 16 Word16 x[]
VLD1.S16 {Q2, Q3}, [r5]! @load 16 Word16 x[]
VLD1.S16 {Q4, Q5}, [r5]! @load 16 Word16 x[]
@@ -72,7 +72,7 @@ LOOP:
VSHLL.S16 Q8, D0, #16
VSHLL.S16 Q9, D1, #16
VSHLL.S16 Q10, D2, #16
- VSHLL.S16 Q11, D3, #16
+ VSHLL.S16 Q11, D3, #16
VSHL.S32 Q8, Q8, Q14
VSHL.S32 Q9, Q9, Q14
VSHL.S32 Q10, Q10, Q14
@@ -83,7 +83,7 @@ LOOP:
VADDHN.S32 D19, Q11, Q15
VST1.S16 {Q8, Q9}, [r0]! @store 16 Word16 x[]
-
+
VSHLL.S16 Q12, D4, #16
VSHLL.S16 Q13, D5, #16
VSHLL.S16 Q10, D6, #16
@@ -112,7 +112,7 @@ LOOP:
VADDHN.S32 D19, Q13, Q15
VST1.S16 {Q8, Q9}, [r0]! @store 16 Word16 x[]
- VSHLL.S16 Q10, D12, #16
+ VSHLL.S16 Q10, D12, #16
VSHLL.S16 Q11, D13, #16
VSHLL.S16 Q12, D14, #16
VSHLL.S16 Q13, D15, #16
@@ -123,16 +123,16 @@ LOOP:
VADDHN.S32 D16, Q10, Q15
VADDHN.S32 D17, Q11, Q15
VADDHN.S32 D18, Q12, Q15
- VADDHN.S32 D19, Q13, Q15
- VST1.S16 {Q8, Q9}, [r0]! @store 16 Word16 x[]
+ VADDHN.S32 D19, Q13, Q15
+ VST1.S16 {Q8, Q9}, [r0]! @store 16 Word16 x[]
SUBS r4, r4, #1
- BGT LOOP
-
-
+ BGT LOOP
+
+
Scale_sig_asm_end:
- LDMFD r13!, {r4 - r12, r15}
+ LDMFD r13!, {r4 - r12, r15}
@ENDFUNC
.END
-
+
diff --git a/media/libstagefright/codecs/amrwbenc/src/asm/ARMV7/syn_filt_neon.s b/media/libstagefright/codecs/amrwbenc/src/asm/ARMV7/syn_filt_neon.s
index db4559c..5731bdb 100644
--- a/media/libstagefright/codecs/amrwbenc/src/asm/ARMV7/syn_filt_neon.s
+++ b/media/libstagefright/codecs/amrwbenc/src/asm/ARMV7/syn_filt_neon.s
@@ -27,21 +27,21 @@
@ mem[] --- r3
@ m --- 16 lg --- 80 update --- 1
- .section .text
+ .section .text
.global Syn_filt_asm
Syn_filt_asm:
- STMFD r13!, {r4 - r12, r14}
+ STMFD r13!, {r4 - r12, r14}
SUB r13, r13, #700 @ y_buf[L_FRAME16k + M16k]
-
+
MOV r4, r3 @ copy mem[] address
MOV r5, r13 @ copy yy = y_buf address
@ for(i = 0@ i < m@ i++)
@{
@ *yy++ = mem[i]@
- @}
+ @}
VLD1.S16 {D0, D1, D2, D3}, [r4]! @load 16 mems
VST1.S16 {D0, D1, D2, D3}, [r5]! @store 16 mem[] to *yy
@@ -54,7 +54,7 @@ Syn_filt_asm:
VREV64.16 D0, D0
VREV64.16 D1, D1
VREV64.16 D2, D2
- VREV64.16 D3, D3
+ VREV64.16 D3, D3
MOV r8, #0 @ loop times
MOV r10, r13 @ temp = y_buf
ADD r4, r13, #32 @ yy[i] address
@@ -68,7 +68,7 @@ SYN_LOOP:
ADD r10, r4, r8, LSL #1 @ y[i], yy[i] address
VDUP.S32 Q10, r12
- VMULL.S16 Q5, D3, D4
+ VMULL.S16 Q5, D3, D4
VMLAL.S16 Q5, D2, D5
VMLAL.S16 Q5, D1, D6
VMLAL.S16 Q5, D0, D7
@@ -82,25 +82,25 @@ SYN_LOOP:
VDUP.S32 Q7, D10[0]
VSUB.S32 Q9, Q10, Q7
- VQRSHRN.S32 D20, Q9, #12
+ VQRSHRN.S32 D20, Q9, #12
VMOV.S16 r9, D20[0]
VEXT.8 D7, D7, D20, #2
CMP r8, #80
STRH r9, [r10] @ yy[i]
- STRH r9, [r2], #2 @ y[i]
-
+ STRH r9, [r2], #2 @ y[i]
+
BLT SYN_LOOP
-
+
@ update mem[]
ADD r5, r13, #160 @ yy[64] address
VLD1.S16 {D0, D1, D2, D3}, [r5]!
- VST1.S16 {D0, D1, D2, D3}, [r3]!
+ VST1.S16 {D0, D1, D2, D3}, [r3]!
Syn_filt_asm_end:
-
- ADD r13, r13, #700
- LDMFD r13!, {r4 - r12, r15}
+
+ ADD r13, r13, #700
+ LDMFD r13!, {r4 - r12, r15}
@ENDFUNC
.END
-
+
diff --git a/media/libstagefright/codecs/amrwbenc/src/autocorr.c b/media/libstagefright/codecs/amrwbenc/src/autocorr.c
index 9baa937..8c477ca 100644
--- a/media/libstagefright/codecs/amrwbenc/src/autocorr.c
+++ b/media/libstagefright/codecs/amrwbenc/src/autocorr.c
@@ -70,19 +70,19 @@ void Autocorr(
p1 = y;
for (i = 0; i < L_WINDOW; i+=4)
{
- *p1 = vo_shr_r(*p1, shift);
+ *p1 = vo_shr_r(*p1, shift);
p1++;
- *p1 = vo_shr_r(*p1, shift);
+ *p1 = vo_shr_r(*p1, shift);
p1++;
*p1 = vo_shr_r(*p1, shift);
p1++;
- *p1 = vo_shr_r(*p1, shift);
+ *p1 = vo_shr_r(*p1, shift);
p1++;
}
}
/* Compute and normalize r[0] */
- L_sum = 1;
+ L_sum = 1;
for (i = 0; i < L_WINDOW; i+=4)
{
L_sum += vo_L_mult(y[i], y[i]);
diff --git a/media/libstagefright/codecs/amrwbenc/src/az_isp.c b/media/libstagefright/codecs/amrwbenc/src/az_isp.c
index 9333d19..43db27a 100644
--- a/media/libstagefright/codecs/amrwbenc/src/az_isp.c
+++ b/media/libstagefright/codecs/amrwbenc/src/az_isp.c
@@ -90,9 +90,9 @@ void Az_isp(
f1[i] = vo_round(t0 + (a[M - i] << 15)); /* =(a[i]+a[M-i])/2 */
f2[i] = vo_round(t0 - (a[M - i] << 15)); /* =(a[i]-a[M-i])/2 */
}
- f1[NC] = a[NC];
+ f1[NC] = a[NC];
for (i = 2; i < NC; i++) /* Divide by (1-z^-2) */
- f2[i] = add1(f2[i], f2[i - 2]);
+ f2[i] = add1(f2[i], f2[i - 2]);
/*---------------------------------------------------------------------*
* Find the ISPs (roots of F1(z) and F2(z) ) using the *
@@ -107,17 +107,17 @@ void Az_isp(
*---------------------------------------------------------------------*/
nf = 0; /* number of found frequencies */
ip = 0; /* indicator for f1 or f2 */
- coef = f1;
- order = NC;
- xlow = vogrid[0];
+ coef = f1;
+ order = NC;
+ xlow = vogrid[0];
ylow = Chebps2(xlow, coef, order);
j = 0;
while ((nf < M - 1) && (j < GRID_POINTS))
{
j ++;
- xhigh = xlow;
- yhigh = ylow;
- xlow = vogrid[j];
+ xhigh = xlow;
+ yhigh = ylow;
+ xlow = vogrid[j];
ylow = Chebps2(xlow, coef, order);
if ((ylow * yhigh) <= (Word32) 0)
{
@@ -128,12 +128,12 @@ void Az_isp(
ymid = Chebps2(xmid, coef, order);
if ((ylow * ymid) <= (Word32) 0)
{
- yhigh = ymid;
- xhigh = xmid;
+ yhigh = ymid;
+ xhigh = xmid;
} else
{
- ylow = ymid;
- xlow = xmid;
+ ylow = ymid;
+ xlow = xmid;
}
}
/*-------------------------------------------------------------*
@@ -144,10 +144,10 @@ void Az_isp(
y = yhigh - ylow;
if (y == 0)
{
- xint = xlow;
+ xint = xlow;
} else
{
- sign = y;
+ sign = y;
y = abs_s(y);
exp = norm_s(y);
y = y << exp;
@@ -161,19 +161,19 @@ void Az_isp(
t0 = (t0 >> 10); /* result in Q15 */
xint = vo_sub(xlow, vo_extract_l(t0)); /* xint = xlow - ylow*y */
}
- isp[nf] = xint;
- xlow = xint;
- nf++;
+ isp[nf] = xint;
+ xlow = xint;
+ nf++;
if (ip == 0)
{
- ip = 1;
- coef = f2;
- order = NC - 1;
+ ip = 1;
+ coef = f2;
+ order = NC - 1;
} else
{
- ip = 0;
- coef = f1;
- order = NC;
+ ip = 0;
+ coef = f1;
+ order = NC;
}
ylow = Chebps2(xlow, coef, order);
}
@@ -183,7 +183,7 @@ void Az_isp(
{
for (i = 0; i < M; i++)
{
- isp[i] = old_isp[i];
+ isp[i] = old_isp[i];
}
} else
{
@@ -243,9 +243,9 @@ static __inline Word16 Chebps2(Word16 x, Word16 f[], Word32 n)
b0_l = (t0 & 0xffff) >> 1;
b2_l = b1_l; /* b2 = b1; */
- b2_h = b1_h;
+ b2_h = b1_h;
b1_l = b0_l; /* b1 = b0; */
- b1_h = b0_h;
+ b1_h = b0_h;
}
t0 = ((b1_h * x)<<1) + (((b1_l * x)>>15)<<1);
diff --git a/media/libstagefright/codecs/amrwbenc/src/bits.c b/media/libstagefright/codecs/amrwbenc/src/bits.c
index 61cac3d..e78dc1f 100644
--- a/media/libstagefright/codecs/amrwbenc/src/bits.c
+++ b/media/libstagefright/codecs/amrwbenc/src/bits.c
@@ -34,8 +34,8 @@
int PackBits(Word16 prms[], /* i: analysis parameters */
Word16 coding_mode, /* i: coding bit-stream ratio mode */
- Word16 mode, /* i: coding bit-stream ratio mode*/
- Coder_State *st /*i/o: coder global parameters struct */
+ Word16 mode, /* i: coding bit-stream ratio mode*/
+ Coder_State *st /*i/o: coder global parameters struct */
)
{
Word16 i, frame_type;
@@ -46,7 +46,7 @@ int PackBits(Word16 prms[], /* i: analysis parameters */
unsigned short* dataOut = st->outputStream;
if (coding_mode == MRDTX)
- {
+ {
st->sid_update_counter--;
if (st->prev_ft == TX_SPEECH)
@@ -92,7 +92,7 @@ int PackBits(Word16 prms[], /* i: analysis parameters */
} else
{
if (bitstreamformat == 1) /* ITU file format */
- {
+ {
*(dataOut) = 0x6b21;
if(frame_type != TX_NO_DATA && frame_type != TX_SID_FIRST)
{
@@ -100,17 +100,17 @@ int PackBits(Word16 prms[], /* i: analysis parameters */
for (i = 0; i < nb_of_bits[coding_mode]; i++)
{
if(prms[i] == BIT_0){
- *(dataOut + 2 + i) = BIT_0_ITU;
+ *(dataOut + 2 + i) = BIT_0_ITU;
}
else{
*(dataOut + 2 + i) = BIT_1_ITU;
}
}
- return (2 + nb_of_bits[coding_mode])<<1;
+ return (2 + nb_of_bits[coding_mode])<<1;
} else
{
*(dataOut + 1) = 0;
- return 2<<1;
+ return 2<<1;
}
} else /* MIME/storage file format */
{
@@ -191,7 +191,7 @@ void Parm_serial(
)
{
Word16 i, bit;
- *prms += no_of_bits;
+ *prms += no_of_bits;
for (i = 0; i < no_of_bits; i++)
{
bit = (Word16) (value & 0x0001); /* get lsb */
@@ -199,9 +199,9 @@ void Parm_serial(
*--(*prms) = BIT_0;
else
*--(*prms) = BIT_1;
- value >>= 1;
+ value >>= 1;
}
- *prms += no_of_bits;
+ *prms += no_of_bits;
return;
}
diff --git a/media/libstagefright/codecs/amrwbenc/src/c2t64fx.c b/media/libstagefright/codecs/amrwbenc/src/c2t64fx.c
index 80990d9..18698e2 100644
--- a/media/libstagefright/codecs/amrwbenc/src/c2t64fx.c
+++ b/media/libstagefright/codecs/amrwbenc/src/c2t64fx.c
@@ -79,7 +79,7 @@ void ACELP_2t64_fx(
#endif
Isqrt_n(&s, &exp);
- s = L_shl(s, add1(exp, 5));
+ s = L_shl(s, add1(exp, 5));
k_cn = vo_round(s);
/* set k_dn = 32..512 (ener_dn = 2^30..2^22) */
@@ -107,22 +107,22 @@ void ACELP_2t64_fx(
s = (k_cn* (*p0++))+(k_dn * (*p1++));
*p2++ = s >> 7;
s = (k_cn* (*p0++))+(k_dn * (*p1++));
- *p2++ = s >> 7;
+ *p2++ = s >> 7;
}
/* set sign according to dn2[] = k_cn*cn[] + k_dn*dn[] */
for (i = 0; i < L_SUBFR; i ++)
{
- val = dn[i];
- ps = dn2[i];
+ val = dn[i];
+ ps = dn2[i];
if (ps >= 0)
{
sign[i] = 32767; /* sign = +1 (Q12) */
- vec[i] = -32768;
+ vec[i] = -32768;
} else
{
sign[i] = -32768; /* sign = -1 (Q12) */
- vec[i] = 32767;
+ vec[i] = 32767;
dn[i] = -val;
}
}
@@ -130,13 +130,13 @@ void ACELP_2t64_fx(
* Compute h_inv[i]. *
*------------------------------------------------------------*/
/* impulse response buffer for fast computation */
- h = h_buf + L_SUBFR;
- h_inv = h + (L_SUBFR<<1);
+ h = h_buf + L_SUBFR;
+ h_inv = h + (L_SUBFR<<1);
for (i = 0; i < L_SUBFR; i++)
{
- h[i] = H[i];
- h_inv[i] = vo_negate(h[i]);
+ h[i] = H[i];
+ h_inv[i] = vo_negate(h[i]);
}
/*------------------------------------------------------------*
@@ -144,46 +144,46 @@ void ACELP_2t64_fx(
* Result is multiplied by 0.5 *
*------------------------------------------------------------*/
/* Init pointers to last position of rrixix[] */
- p0 = &rrixix[0][NB_POS - 1];
- p1 = &rrixix[1][NB_POS - 1];
+ p0 = &rrixix[0][NB_POS - 1];
+ p1 = &rrixix[1][NB_POS - 1];
- ptr_h1 = h;
+ ptr_h1 = h;
cor = 0x00010000L; /* for rounding */
for (i = 0; i < NB_POS; i++)
{
cor += ((*ptr_h1) * (*ptr_h1) << 1);
ptr_h1++;
- *p1-- = (extract_h(cor) >> 1);
+ *p1-- = (extract_h(cor) >> 1);
cor += ((*ptr_h1) * (*ptr_h1) << 1);
ptr_h1++;
- *p0-- = (extract_h(cor) >> 1);
+ *p0-- = (extract_h(cor) >> 1);
}
/*------------------------------------------------------------*
* Compute rrixiy[][] needed for the codebook search. *
*------------------------------------------------------------*/
- pos = MSIZE - 1;
- pos2 = MSIZE - 2;
- ptr_hf = h + 1;
+ pos = MSIZE - 1;
+ pos2 = MSIZE - 2;
+ ptr_hf = h + 1;
for (k = 0; k < NB_POS; k++)
{
- p1 = &rrixiy[pos];
- p0 = &rrixiy[pos2];
+ p1 = &rrixiy[pos];
+ p0 = &rrixiy[pos2];
cor = 0x00008000L; /* for rounding */
- ptr_h1 = h;
- ptr_h2 = ptr_hf;
+ ptr_h1 = h;
+ ptr_h2 = ptr_hf;
for (i = (k + 1); i < NB_POS; i++)
{
cor += ((*ptr_h1) * (*ptr_h2))<<1;
ptr_h1++;
ptr_h2++;
- *p1 = extract_h(cor);
+ *p1 = extract_h(cor);
cor += ((*ptr_h1) * (*ptr_h2))<<1;
ptr_h1++;
ptr_h2++;
- *p0 = extract_h(cor);
+ *p0 = extract_h(cor);
p1 -= (NB_POS + 1);
p0 -= (NB_POS + 1);
@@ -191,7 +191,7 @@ void ACELP_2t64_fx(
cor += ((*ptr_h1) * (*ptr_h2))<<1;
ptr_h1++;
ptr_h2++;
- *p1 = extract_h(cor);
+ *p1 = extract_h(cor);
pos -= NB_POS;
pos2--;
@@ -201,17 +201,17 @@ void ACELP_2t64_fx(
/*------------------------------------------------------------*
* Modification of rrixiy[][] to take signs into account. *
*------------------------------------------------------------*/
- p0 = rrixiy;
+ p0 = rrixiy;
for (i = 0; i < L_SUBFR; i += STEP)
{
- psign = sign;
+ psign = sign;
if (psign[i] < 0)
{
- psign = vec;
+ psign = vec;
}
for (j = 1; j < L_SUBFR; j += STEP)
{
- *p0 = vo_mult(*p0, psign[j]);
+ *p0 = vo_mult(*p0, psign[j]);
p0++;
}
}
@@ -220,20 +220,20 @@ void ACELP_2t64_fx(
* ~@~~~~~~~~~~~~~~ *
* 32 pos x 32 pos = 1024 tests (all combinaisons is tested) *
*-------------------------------------------------------------------*/
- p0 = rrixix[0];
- p1 = rrixix[1];
- p2 = rrixiy;
+ p0 = rrixix[0];
+ p1 = rrixix[1];
+ p2 = rrixiy;
- psk = -1;
- alpk = 1;
- ix = 0;
- iy = 1;
+ psk = -1;
+ alpk = 1;
+ ix = 0;
+ iy = 1;
for (i0 = 0; i0 < L_SUBFR; i0 += STEP)
{
- ps1 = dn[i0];
- alp1 = (*p0++);
- pos = -1;
+ ps1 = dn[i0];
+ alp1 = (*p0++);
+ pos = -1;
for (i1 = 1; i1 < L_SUBFR; i1 += STEP)
{
ps2 = add1(ps1, dn[i1]);
@@ -242,16 +242,16 @@ void ACELP_2t64_fx(
s = vo_L_mult(alpk, sq) - ((psk * alp2)<<1);
if (s > 0)
{
- psk = sq;
- alpk = alp2;
- pos = i1;
+ psk = sq;
+ alpk = alp2;
+ pos = i1;
}
}
p1 -= NB_POS;
if (pos >= 0)
{
- ix = i0;
- iy = pos;
+ ix = i0;
+ iy = pos;
}
}
/*-------------------------------------------------------------------*
@@ -260,7 +260,7 @@ void ACELP_2t64_fx(
for (i = 0; i < L_SUBFR; i++)
{
- code[i] = 0;
+ code[i] = 0;
}
i0 = (ix >> 1); /* pos of pulse 1 (0..31) */
@@ -268,24 +268,24 @@ void ACELP_2t64_fx(
if (sign[ix] > 0)
{
code[ix] = 512; /* codeword in Q9 format */
- p0 = h - ix;
+ p0 = h - ix;
} else
{
- code[ix] = -512;
- i0 += NB_POS;
- p0 = h_inv - ix;
+ code[ix] = -512;
+ i0 += NB_POS;
+ p0 = h_inv - ix;
}
if (sign[iy] > 0)
{
- code[iy] = 512;
- p1 = h - iy;
+ code[iy] = 512;
+ p1 = h - iy;
} else
{
- code[iy] = -512;
- i1 += NB_POS;
- p1 = h_inv - iy;
+ code[iy] = -512;
+ i1 += NB_POS;
+ p1 = h_inv - iy;
}
- *index = add1((i0 << 6), i1);
+ *index = add1((i0 << 6), i1);
for (i = 0; i < L_SUBFR; i++)
{
y[i] = vo_shr_r(add1((*p0++), (*p1++)), 3);
diff --git a/media/libstagefright/codecs/amrwbenc/src/c4t64fx.c b/media/libstagefright/codecs/amrwbenc/src/c4t64fx.c
index 17f3d47..1ecc11f 100644
--- a/media/libstagefright/codecs/amrwbenc/src/c4t64fx.c
+++ b/media/libstagefright/codecs/amrwbenc/src/c4t64fx.c
@@ -151,58 +151,58 @@ void ACELP_4t64_fx(
case 20: /* 20 bits, 4 pulses, 4 tracks */
nbiter = 4; /* 4x16x16=1024 loop */
alp = 8192; /* alp = 2.0 (Q12) */
- nb_pulse = 4;
- nbpos[0] = 4;
- nbpos[1] = 8;
+ nb_pulse = 4;
+ nbpos[0] = 4;
+ nbpos[1] = 8;
break;
case 36: /* 36 bits, 8 pulses, 4 tracks */
nbiter = 4; /* 4x20x16=1280 loop */
alp = 4096; /* alp = 1.0 (Q12) */
- nb_pulse = 8;
- nbpos[0] = 4;
- nbpos[1] = 8;
- nbpos[2] = 8;
+ nb_pulse = 8;
+ nbpos[0] = 4;
+ nbpos[1] = 8;
+ nbpos[2] = 8;
break;
case 44: /* 44 bits, 10 pulses, 4 tracks */
nbiter = 4; /* 4x26x16=1664 loop */
alp = 4096; /* alp = 1.0 (Q12) */
- nb_pulse = 10;
- nbpos[0] = 4;
- nbpos[1] = 6;
- nbpos[2] = 8;
- nbpos[3] = 8;
+ nb_pulse = 10;
+ nbpos[0] = 4;
+ nbpos[1] = 6;
+ nbpos[2] = 8;
+ nbpos[3] = 8;
break;
case 52: /* 52 bits, 12 pulses, 4 tracks */
nbiter = 4; /* 4x26x16=1664 loop */
alp = 4096; /* alp = 1.0 (Q12) */
- nb_pulse = 12;
- nbpos[0] = 4;
- nbpos[1] = 6;
- nbpos[2] = 8;
- nbpos[3] = 8;
+ nb_pulse = 12;
+ nbpos[0] = 4;
+ nbpos[1] = 6;
+ nbpos[2] = 8;
+ nbpos[3] = 8;
break;
case 64: /* 64 bits, 16 pulses, 4 tracks */
nbiter = 3; /* 3x36x16=1728 loop */
alp = 3277; /* alp = 0.8 (Q12) */
- nb_pulse = 16;
- nbpos[0] = 4;
- nbpos[1] = 4;
- nbpos[2] = 6;
- nbpos[3] = 6;
- nbpos[4] = 8;
- nbpos[5] = 8;
+ nb_pulse = 16;
+ nbpos[0] = 4;
+ nbpos[1] = 4;
+ nbpos[2] = 6;
+ nbpos[3] = 6;
+ nbpos[4] = 8;
+ nbpos[5] = 8;
break;
case 72: /* 72 bits, 18 pulses, 4 tracks */
nbiter = 3; /* 3x35x16=1680 loop */
alp = 3072; /* alp = 0.75 (Q12) */
- nb_pulse = 18;
- nbpos[0] = 2;
- nbpos[1] = 3;
- nbpos[2] = 4;
- nbpos[3] = 5;
- nbpos[4] = 6;
- nbpos[5] = 7;
- nbpos[6] = 8;
+ nb_pulse = 18;
+ nbpos[0] = 2;
+ nbpos[1] = 3;
+ nbpos[2] = 4;
+ nbpos[3] = 5;
+ nbpos[4] = 6;
+ nbpos[5] = 7;
+ nbpos[6] = 8;
break;
case 88: /* 88 bits, 24 pulses, 4 tracks */
if(ser_size > 462)
@@ -211,17 +211,17 @@ void ACELP_4t64_fx(
nbiter = 2; /* 2x53x16=1696 loop */
alp = 2048; /* alp = 0.5 (Q12) */
- nb_pulse = 24;
- nbpos[0] = 2;
- nbpos[1] = 2;
- nbpos[2] = 3;
- nbpos[3] = 4;
- nbpos[4] = 5;
- nbpos[5] = 6;
- nbpos[6] = 7;
- nbpos[7] = 8;
- nbpos[8] = 8;
- nbpos[9] = 8;
+ nb_pulse = 24;
+ nbpos[0] = 2;
+ nbpos[1] = 2;
+ nbpos[2] = 3;
+ nbpos[3] = 4;
+ nbpos[4] = 5;
+ nbpos[5] = 6;
+ nbpos[6] = 7;
+ nbpos[7] = 8;
+ nbpos[8] = 8;
+ nbpos[9] = 8;
break;
default:
nbiter = 0;
@@ -231,7 +231,7 @@ void ACELP_4t64_fx(
for (i = 0; i < nb_pulse; i++)
{
- codvec[i] = i;
+ codvec[i] = i;
}
/*----------------------------------------------------------------*
@@ -246,7 +246,7 @@ void ACELP_4t64_fx(
#endif
Isqrt_n(&s, &exp);
- s = L_shl(s, (exp + 5));
+ s = L_shl(s, (exp + 5));
k_cn = extract_h(L_add(s, 0x8000));
/* set k_dn = 32..512 (ener_dn = 2^30..2^22) */
@@ -274,22 +274,22 @@ void ACELP_4t64_fx(
s = (k_cn* (*p0++))+(k_dn * (*p1++));
*p2++ = s >> 7;
s = (k_cn* (*p0++))+(k_dn * (*p1++));
- *p2++ = s >> 7;
+ *p2++ = s >> 7;
}
/* set sign according to dn2[] = k_cn*cn[] + k_dn*dn[] */
for(i = 0; i < L_SUBFR; i++)
{
- val = dn[i];
- ps = dn2[i];
+ val = dn[i];
+ ps = dn2[i];
if (ps >= 0)
{
sign[i] = 32767; /* sign = +1 (Q12) */
- vec[i] = -32768;
+ vec[i] = -32768;
} else
{
sign[i] = -32768; /* sign = -1 (Q12) */
- vec[i] = 32767;
+ vec[i] = 32767;
dn[i] = -val;
dn2[i] = -ps;
}
@@ -302,19 +302,19 @@ void ACELP_4t64_fx(
{
for (k = 0; k < NB_MAX; k++)
{
- ps = -1;
+ ps = -1;
for (j = i; j < L_SUBFR; j += STEP)
{
if(dn2[j] > ps)
{
- ps = dn2[j];
- pos = j;
+ ps = dn2[j];
+ pos = j;
}
}
dn2[pos] = (k - NB_MAX); /* dn2 < 0 when position is selected */
if (k == 0)
{
- pos_max[i] = pos;
+ pos_max[i] = pos;
}
}
}
@@ -335,22 +335,22 @@ void ACELP_4t64_fx(
/* impulse response buffer for fast computation */
- h = h_buf;
- h_inv = h_buf + (2 * L_SUBFR);
+ h = h_buf;
+ h_inv = h_buf + (2 * L_SUBFR);
L_tmp = 0;
for (i = 0; i < L_SUBFR; i++)
{
- *h++ = 0;
- *h_inv++ = 0;
+ *h++ = 0;
+ *h_inv++ = 0;
L_tmp += (H[i] * H[i]) << 1;
}
/* scale h[] down (/2) when energy of h[] is high with many pulses used */
val = extract_h(L_tmp);
- h_shift = 0;
+ h_shift = 0;
if ((nb_pulse >= 12) && (val > 1024))
{
- h_shift = 1;
+ h_shift = 1;
}
p0 = H;
p1 = h;
@@ -358,14 +358,14 @@ void ACELP_4t64_fx(
for (i = 0; i < L_SUBFR/4; i++)
{
- *p1 = *p0++ >> h_shift;
- *p2++ = -(*p1++);
- *p1 = *p0++ >> h_shift;
- *p2++ = -(*p1++);
- *p1 = *p0++ >> h_shift;
- *p2++ = -(*p1++);
- *p1 = *p0++ >> h_shift;
- *p2++ = -(*p1++);
+ *p1 = *p0++ >> h_shift;
+ *p2++ = -(*p1++);
+ *p1 = *p0++ >> h_shift;
+ *p2++ = -(*p1++);
+ *p1 = *p0++ >> h_shift;
+ *p2++ = -(*p1++);
+ *p1 = *p0++ >> h_shift;
+ *p2++ = -(*p1++);
}
/*------------------------------------------------------------*
@@ -377,27 +377,27 @@ void ACELP_4t64_fx(
/* storage order --> i3i3, i2i2, i1i1, i0i0 */
/* Init pointers to last position of rrixix[] */
- p0 = &rrixix[0][NB_POS - 1];
- p1 = &rrixix[1][NB_POS - 1];
- p2 = &rrixix[2][NB_POS - 1];
- p3 = &rrixix[3][NB_POS - 1];
+ p0 = &rrixix[0][NB_POS - 1];
+ p1 = &rrixix[1][NB_POS - 1];
+ p2 = &rrixix[2][NB_POS - 1];
+ p3 = &rrixix[3][NB_POS - 1];
- ptr_h1 = h;
+ ptr_h1 = h;
cor = 0x00008000L; /* for rounding */
for (i = 0; i < NB_POS; i++)
{
cor += vo_L_mult((*ptr_h1), (*ptr_h1));
ptr_h1++;
- *p3-- = extract_h(cor);
+ *p3-- = extract_h(cor);
cor += vo_L_mult((*ptr_h1), (*ptr_h1));
ptr_h1++;
- *p2-- = extract_h(cor);
+ *p2-- = extract_h(cor);
cor += vo_L_mult((*ptr_h1), (*ptr_h1));
ptr_h1++;
- *p1-- = extract_h(cor);
+ *p1-- = extract_h(cor);
cor += vo_L_mult((*ptr_h1), (*ptr_h1));
ptr_h1++;
- *p0-- = extract_h(cor);
+ *p0-- = extract_h(cor);
}
/*------------------------------------------------------------*
@@ -409,38 +409,38 @@ void ACELP_4t64_fx(
/* storage order --> i2i3, i1i2, i0i1, i3i0 */
- pos = MSIZE - 1;
- ptr_hf = h + 1;
+ pos = MSIZE - 1;
+ ptr_hf = h + 1;
for (k = 0; k < NB_POS; k++)
{
- p3 = &rrixiy[2][pos];
- p2 = &rrixiy[1][pos];
- p1 = &rrixiy[0][pos];
- p0 = &rrixiy[3][pos - NB_POS];
+ p3 = &rrixiy[2][pos];
+ p2 = &rrixiy[1][pos];
+ p1 = &rrixiy[0][pos];
+ p0 = &rrixiy[3][pos - NB_POS];
cor = 0x00008000L; /* for rounding */
- ptr_h1 = h;
- ptr_h2 = ptr_hf;
+ ptr_h1 = h;
+ ptr_h2 = ptr_hf;
for (i = k + 1; i < NB_POS; i++)
{
cor += vo_L_mult((*ptr_h1), (*ptr_h2));
ptr_h1++;
ptr_h2++;
- *p3 = extract_h(cor);
+ *p3 = extract_h(cor);
cor += vo_L_mult((*ptr_h1), (*ptr_h2));
ptr_h1++;
ptr_h2++;
- *p2 = extract_h(cor);
+ *p2 = extract_h(cor);
cor += vo_L_mult((*ptr_h1), (*ptr_h2));
ptr_h1++;
ptr_h2++;
- *p1 = extract_h(cor);
+ *p1 = extract_h(cor);
cor += vo_L_mult((*ptr_h1), (*ptr_h2));
ptr_h1++;
ptr_h2++;
- *p0 = extract_h(cor);
+ *p0 = extract_h(cor);
p3 -= (NB_POS + 1);
p2 -= (NB_POS + 1);
@@ -450,15 +450,15 @@ void ACELP_4t64_fx(
cor += vo_L_mult((*ptr_h1), (*ptr_h2));
ptr_h1++;
ptr_h2++;
- *p3 = extract_h(cor);
+ *p3 = extract_h(cor);
cor += vo_L_mult((*ptr_h1), (*ptr_h2));
ptr_h1++;
ptr_h2++;
- *p2 = extract_h(cor);
+ *p2 = extract_h(cor);
cor += vo_L_mult((*ptr_h1), (*ptr_h2));
ptr_h1++;
ptr_h2++;
- *p1 = extract_h(cor);
+ *p1 = extract_h(cor);
pos -= NB_POS;
ptr_hf += STEP;
@@ -466,38 +466,38 @@ void ACELP_4t64_fx(
/* storage order --> i3i0, i2i3, i1i2, i0i1 */
- pos = MSIZE - 1;
- ptr_hf = h + 3;
+ pos = MSIZE - 1;
+ ptr_hf = h + 3;
for (k = 0; k < NB_POS; k++)
{
- p3 = &rrixiy[3][pos];
- p2 = &rrixiy[2][pos - 1];
- p1 = &rrixiy[1][pos - 1];
- p0 = &rrixiy[0][pos - 1];
+ p3 = &rrixiy[3][pos];
+ p2 = &rrixiy[2][pos - 1];
+ p1 = &rrixiy[1][pos - 1];
+ p0 = &rrixiy[0][pos - 1];
cor = 0x00008000L; /* for rounding */
- ptr_h1 = h;
- ptr_h2 = ptr_hf;
+ ptr_h1 = h;
+ ptr_h2 = ptr_hf;
for (i = k + 1; i < NB_POS; i++)
{
cor += vo_L_mult((*ptr_h1), (*ptr_h2));
ptr_h1++;
ptr_h2++;
- *p3 = extract_h(cor);
+ *p3 = extract_h(cor);
cor += vo_L_mult((*ptr_h1), (*ptr_h2));
ptr_h1++;
ptr_h2++;
- *p2 = extract_h(cor);
+ *p2 = extract_h(cor);
cor += vo_L_mult((*ptr_h1), (*ptr_h2));
ptr_h1++;
ptr_h2++;
- *p1 = extract_h(cor);
+ *p1 = extract_h(cor);
cor += vo_L_mult((*ptr_h1), (*ptr_h2));
ptr_h1++;
ptr_h2++;
- *p0 = extract_h(cor);
+ *p0 = extract_h(cor);
p3 -= (NB_POS + 1);
p2 -= (NB_POS + 1);
@@ -507,7 +507,7 @@ void ACELP_4t64_fx(
cor += vo_L_mult((*ptr_h1), (*ptr_h2));
ptr_h1++;
ptr_h2++;
- *p3 = extract_h(cor);
+ *p3 = extract_h(cor);
pos--;
ptr_hf += STEP;
@@ -517,22 +517,22 @@ void ACELP_4t64_fx(
* Modification of rrixiy[][] to take signs into account. *
*------------------------------------------------------------*/
- p0 = &rrixiy[0][0];
+ p0 = &rrixiy[0][0];
for (k = 0; k < NB_TRACK; k++)
{
j_temp = (k + 1)&0x03;
for (i = k; i < L_SUBFR; i += STEP)
{
- psign = sign;
+ psign = sign;
if (psign[i] < 0)
{
- psign = vec;
+ psign = vec;
}
j = j_temp;
for (; j < L_SUBFR; j += STEP)
{
- *p0 = vo_mult(*p0, psign[j]);
+ *p0 = vo_mult(*p0, psign[j]);
p0++;
}
}
@@ -542,8 +542,8 @@ void ACELP_4t64_fx(
* Deep first search *
*-------------------------------------------------------------------*/
- psk = -1;
- alpk = 1;
+ psk = -1;
+ alpk = 1;
for (k = 0; k < nbiter; k++)
{
@@ -553,12 +553,12 @@ void ACELP_4t64_fx(
if(nbbits == 20)
{
- pos = 0;
- ps = 0;
- alp = 0;
+ pos = 0;
+ ps = 0;
+ alp = 0;
for (i = 0; i < L_SUBFR; i++)
{
- vec[i] = 0;
+ vec[i] = 0;
}
} else if ((nbbits == 36) || (nbbits == 44))
{
@@ -591,18 +591,18 @@ void ACELP_4t64_fx(
if(nbbits == 44)
{
- ipos[8] = 0;
- ipos[9] = 1;
+ ipos[8] = 0;
+ ipos[9] = 1;
}
} else
{
/* first stage: fix 4 pulses */
pos = 4;
- ix = ind[0] = pos_max[ipos[0]];
- iy = ind[1] = pos_max[ipos[1]];
- i = ind[2] = pos_max[ipos[2]];
- j = ind[3] = pos_max[ipos[3]];
+ ix = ind[0] = pos_max[ipos[0]];
+ iy = ind[1] = pos_max[ipos[1]];
+ i = ind[2] = pos_max[ipos[2]];
+ j = ind[3] = pos_max[ipos[3]];
ps = add1(add1(add1(dn[ix], dn[iy]), dn[i]), dn[j]);
if (sign[ix] < 0)
@@ -636,8 +636,8 @@ void ACELP_4t64_fx(
if(nbbits == 72)
{
- ipos[16] = 0;
- ipos[17] = 1;
+ ipos[16] = 0;
+ ipos[17] = 1;
}
}
@@ -668,8 +668,8 @@ void ACELP_4t64_fx(
search_ixiy(nbpos[st], ipos[j], ipos[j + 1], &ps, &alp,
&ix, &iy, dn, dn2, cor_x, cor_y, rrixiy);
- ind[j] = ix;
- ind[j + 1] = iy;
+ ind[j] = ix;
+ ind[j + 1] = iy;
if (sign[ix] < 0)
p0 = h_inv - ix;
@@ -682,10 +682,10 @@ void ACELP_4t64_fx(
for (i = 0; i < L_SUBFR; i+=4)
{
- vec[i] += add1((*p0++), (*p1++));
- vec[i+1] += add1((*p0++), (*p1++));
- vec[i+2] += add1((*p0++), (*p1++));
- vec[i+3] += add1((*p0++), (*p1++));
+ vec[i] += add1((*p0++), (*p1++));
+ vec[i+1] += add1((*p0++), (*p1++));
+ vec[i+2] += add1((*p0++), (*p1++));
+ vec[i+3] += add1((*p0++), (*p1++));
}
}
/* memorise the best codevector */
@@ -693,15 +693,15 @@ void ACELP_4t64_fx(
s = vo_L_msu(vo_L_mult(alpk, ps), psk, alp);
if (s > 0)
{
- psk = ps;
- alpk = alp;
+ psk = ps;
+ alpk = alp;
for (i = 0; i < nb_pulse; i++)
{
- codvec[i] = ind[i];
+ codvec[i] = ind[i];
}
for (i = 0; i < L_SUBFR; i++)
{
- y[i] = vec[i];
+ y[i] = vec[i];
}
}
}
@@ -710,11 +710,11 @@ void ACELP_4t64_fx(
*-------------------------------------------------------------------*/
for (i = 0; i < NPMAXPT * NB_TRACK; i++)
{
- ind[i] = -1;
+ ind[i] = -1;
}
for (i = 0; i < L_SUBFR; i++)
{
- code[i] = 0;
+ code[i] = 0;
y[i] = vo_shr_r(y[i], 3); /* Q12 to Q9 */
}
val = (512 >> h_shift); /* codeword in Q9 format */
@@ -727,12 +727,12 @@ void ACELP_4t64_fx(
if (j > 0)
{
- code[i] += val;
- codvec[k] += 128;
+ code[i] += val;
+ codvec[k] += 128;
} else
{
- code[i] -= val;
- index += NB_POS;
+ code[i] -= val;
+ index += NB_POS;
}
i = (Word16)((vo_L_mult(track, NPMAXPT) >> 1));
@@ -741,10 +741,10 @@ void ACELP_4t64_fx(
{
i += 1;
}
- ind[i] = index;
+ ind[i] = index;
}
- k = 0;
+ k = 0;
/* Build index of codevector */
if(nbbits == 20)
{
@@ -849,20 +849,20 @@ void cor_h_vec_30(
p2 = &vec[pos];
for (j=pos;j < L_SUBFR; j++)
{
- L_sum1 += *p1 * *p2;
+ L_sum1 += *p1 * *p2;
p2-=3;
- L_sum2 += *p1++ * *p2;
+ L_sum2 += *p1++ * *p2;
p2+=4;
}
p2-=3;
- L_sum2 += *p1++ * *p2++;
- L_sum2 += *p1++ * *p2++;
- L_sum2 += *p1++ * *p2++;
+ L_sum2 += *p1++ * *p2++;
+ L_sum2 += *p1++ * *p2++;
+ L_sum2 += *p1++ * *p2++;
L_sum1 = (L_sum1 << 2);
L_sum2 = (L_sum2 << 2);
- corr = vo_round(L_sum1);
+ corr = vo_round(L_sum1);
*cor_x++ = vo_mult(corr, sign[pos]) + (*p0++);
corr = vo_round(L_sum2);
*cor_y++ = vo_mult(corr, sign[pos-3]) + (*p3++);
@@ -873,20 +873,20 @@ void cor_h_vec_30(
p2 = &vec[pos];
for (j=pos;j < L_SUBFR; j++)
{
- L_sum1 += *p1 * *p2;
+ L_sum1 += *p1 * *p2;
p2-=3;
- L_sum2 += *p1++ * *p2;
+ L_sum2 += *p1++ * *p2;
p2+=4;
}
p2-=3;
- L_sum2 += *p1++ * *p2++;
- L_sum2 += *p1++ * *p2++;
- L_sum2 += *p1++ * *p2++;
+ L_sum2 += *p1++ * *p2++;
+ L_sum2 += *p1++ * *p2++;
+ L_sum2 += *p1++ * *p2++;
L_sum1 = (L_sum1 << 2);
L_sum2 = (L_sum2 << 2);
- corr = vo_round(L_sum1);
+ corr = vo_round(L_sum1);
*cor_x++ = vo_mult(corr, sign[pos]) + (*p0++);
corr = vo_round(L_sum2);
*cor_y++ = vo_mult(corr, sign[pos-3]) + (*p3++);
@@ -982,17 +982,17 @@ void search_ixiy(
Word16 *p0, *p1, *p2;
Word32 s, alp0, alp1, alp2;
- p0 = cor_x;
- p1 = cor_y;
- p2 = rrixiy[track_x];
+ p0 = cor_x;
+ p1 = cor_y;
+ p2 = rrixiy[track_x];
thres_ix = nb_pos_ix - NB_MAX;
alp0 = L_deposit_h(*alp);
alp0 = (alp0 + 0x00008000L); /* for rounding */
- sqk = -1;
- alpk = 1;
+ sqk = -1;
+ alpk = 1;
for (x = track_x; x < L_SUBFR; x += STEP)
{
@@ -1014,17 +1014,17 @@ void search_ixiy(
if (s > 0)
{
- sqk = sq;
- alpk = alp_16;
- pos = y;
+ sqk = sq;
+ alpk = alp_16;
+ pos = y;
}
}
p1 -= NB_POS;
if (pos >= 0)
{
- *ix = x;
- *iy = pos;
+ *ix = x;
+ *iy = pos;
}
} else
{
@@ -1032,8 +1032,8 @@ void search_ixiy(
}
}
- *ps = add1(*ps, add1(dn[*ix], dn[*iy]));
- *alp = alpk;
+ *ps = add1(*ps, add1(dn[*ix], dn[*iy]));
+ *alp = alpk;
return;
}
diff --git a/media/libstagefright/codecs/amrwbenc/src/convolve.c b/media/libstagefright/codecs/amrwbenc/src/convolve.c
index 4f7fd8a..acba532 100644
--- a/media/libstagefright/codecs/amrwbenc/src/convolve.c
+++ b/media/libstagefright/codecs/amrwbenc/src/convolve.c
@@ -49,7 +49,7 @@ void Convolve (
s += vo_mult32((*tmpX++), (*tmpH--));
i -= 4;
}
- y[n] = ((s<<1) + 0x8000)>>16;
+ y[n] = ((s<<1) + 0x8000)>>16;
n++;
tmpH = h+n;
@@ -66,7 +66,7 @@ void Convolve (
s += vo_mult32((*tmpX++), (*tmpH--));
i -= 4;
}
- y[n] = ((s<<1) + 0x8000)>>16;
+ y[n] = ((s<<1) + 0x8000)>>16;
n++;
tmpH = h+n;
@@ -84,7 +84,7 @@ void Convolve (
s += vo_mult32((*tmpX++), (*tmpH--));
i -= 4;
}
- y[n] = ((s<<1) + 0x8000)>>16;
+ y[n] = ((s<<1) + 0x8000)>>16;
n++;
s = 0;
@@ -99,8 +99,8 @@ void Convolve (
s += vo_mult32((*tmpX++), (*tmpH--));
i -= 4;
}
- y[n] = ((s<<1) + 0x8000)>>16;
- n++;
+ y[n] = ((s<<1) + 0x8000)>>16;
+ n++;
}
return;
}
diff --git a/media/libstagefright/codecs/amrwbenc/src/cor_h_x.c b/media/libstagefright/codecs/amrwbenc/src/cor_h_x.c
index b645fa3..d9245ed 100644
--- a/media/libstagefright/codecs/amrwbenc/src/cor_h_x.c
+++ b/media/libstagefright/codecs/amrwbenc/src/cor_h_x.c
@@ -18,7 +18,7 @@
* File: cor_h_x.c *
* *
* Description:Compute correlation between target "x[]" and "h[]" *
-* Designed for codebook search (24 pulses, 4 tracks, *
+* Designed for codebook search (24 pulses, 4 tracks, *
* 4 pulses per track, 16 positions in each track) to *
* avoid saturation. *
* *
@@ -44,8 +44,8 @@ void cor_h_x(
Word32 *p3;
Word32 L_max, L_max1, L_max2, L_max3;
/* first keep the result on 32 bits and find absolute maximum */
- L_tot = 1;
- L_max = 0;
+ L_tot = 1;
+ L_max = 0;
L_max1 = 0;
L_max2 = 0;
L_max3 = 0;
@@ -57,11 +57,11 @@ void cor_h_x(
for (j = i; j < L_SUBFR; j++)
L_tmp += vo_L_mult(*p1++, *p2++);
- y32[i] = L_tmp;
+ y32[i] = L_tmp;
L_tmp = (L_tmp > 0)? L_tmp:-L_tmp;
if(L_tmp > L_max)
{
- L_max = L_tmp;
+ L_max = L_tmp;
}
L_tmp = 1L;
@@ -70,11 +70,11 @@ void cor_h_x(
for (j = i+1; j < L_SUBFR; j++)
L_tmp += vo_L_mult(*p1++, *p2++);
- y32[i+1] = L_tmp;
+ y32[i+1] = L_tmp;
L_tmp = (L_tmp > 0)? L_tmp:-L_tmp;
if(L_tmp > L_max1)
{
- L_max1 = L_tmp;
+ L_max1 = L_tmp;
}
L_tmp = 1;
@@ -83,11 +83,11 @@ void cor_h_x(
for (j = i+2; j < L_SUBFR; j++)
L_tmp += vo_L_mult(*p1++, *p2++);
- y32[i+2] = L_tmp;
+ y32[i+2] = L_tmp;
L_tmp = (L_tmp > 0)? L_tmp:-L_tmp;
if(L_tmp > L_max2)
{
- L_max2 = L_tmp;
+ L_max2 = L_tmp;
}
L_tmp = 1;
@@ -96,11 +96,11 @@ void cor_h_x(
for (j = i+3; j < L_SUBFR; j++)
L_tmp += vo_L_mult(*p1++, *p2++);
- y32[i+3] = L_tmp;
+ y32[i+3] = L_tmp;
L_tmp = (L_tmp > 0)? L_tmp:-L_tmp;
if(L_tmp > L_max3)
{
- L_max3 = L_tmp;
+ L_max3 = L_tmp;
}
}
/* tot += 3*max / 8 */
diff --git a/media/libstagefright/codecs/amrwbenc/src/decim54.c b/media/libstagefright/codecs/amrwbenc/src/decim54.c
index 7bc5576..3b88514 100644
--- a/media/libstagefright/codecs/amrwbenc/src/decim54.c
+++ b/media/libstagefright/codecs/amrwbenc/src/decim54.c
@@ -136,8 +136,8 @@ static void Down_samp(
L_sum += vo_mult32((*x++),(*y++));
L_sum += vo_mult32((*x),(*y));
- L_sum = L_shl2(L_sum, 2);
- sig_d[j] = extract_h(L_add(L_sum, 0x8000));
+ L_sum = L_shl2(L_sum, 2);
+ sig_d[j] = extract_h(L_add(L_sum, 0x8000));
pos += FAC5; /* pos + 5/4 */
}
return;
diff --git a/media/libstagefright/codecs/amrwbenc/src/deemph.c b/media/libstagefright/codecs/amrwbenc/src/deemph.c
index 4ee1449..0c49d6b 100644
--- a/media/libstagefright/codecs/amrwbenc/src/deemph.c
+++ b/media/libstagefright/codecs/amrwbenc/src/deemph.c
@@ -39,16 +39,16 @@ void Deemph(
L_tmp = L_deposit_h(x[0]);
L_tmp = L_mac(L_tmp, *mem, mu);
- x[0] = vo_round(L_tmp);
+ x[0] = vo_round(L_tmp);
for (i = 1; i < L; i++)
{
L_tmp = L_deposit_h(x[i]);
L_tmp = L_mac(L_tmp, x[i - 1], mu);
- x[i] = voround(L_tmp);
+ x[i] = voround(L_tmp);
}
- *mem = x[L - 1];
+ *mem = x[L - 1];
return;
}
@@ -65,14 +65,14 @@ void Deemph2(
Word32 L_tmp;
L_tmp = x[0] << 15;
L_tmp += ((*mem) * mu)<<1;
- x[0] = (L_tmp + 0x8000)>>16;
+ x[0] = (L_tmp + 0x8000)>>16;
for (i = 1; i < L; i++)
{
L_tmp = x[i] << 15;
L_tmp += (x[i - 1] * mu)<<1;
- x[i] = (L_tmp + 0x8000)>>16;
+ x[i] = (L_tmp + 0x8000)>>16;
}
- *mem = x[L - 1];
+ *mem = x[L - 1];
return;
}
@@ -95,8 +95,8 @@ void Deemph_32(
L_tmp += (x_lo[0] * 8)<<1;
L_tmp = (L_tmp << 3);
L_tmp += ((*mem) * fac)<<1;
- L_tmp = (L_tmp << 1);
- y[0] = (L_tmp + 0x8000)>>16;
+ L_tmp = (L_tmp << 1);
+ y[0] = (L_tmp + 0x8000)>>16;
for (i = 1; i < L; i++)
{
@@ -104,11 +104,11 @@ void Deemph_32(
L_tmp += (x_lo[i] * 8)<<1;
L_tmp = (L_tmp << 3);
L_tmp += (y[i - 1] * fac)<<1;
- L_tmp = (L_tmp << 1);
- y[i] = (L_tmp + 0x8000)>>16;
+ L_tmp = (L_tmp << 1);
+ y[i] = (L_tmp + 0x8000)>>16;
}
- *mem = y[L - 1];
+ *mem = y[L - 1];
return;
}
diff --git a/media/libstagefright/codecs/amrwbenc/src/dtx.c b/media/libstagefright/codecs/amrwbenc/src/dtx.c
index df53131..2cfaced 100644
--- a/media/libstagefright/codecs/amrwbenc/src/dtx.c
+++ b/media/libstagefright/codecs/amrwbenc/src/dtx.c
@@ -105,30 +105,30 @@ Word16 dtx_enc_reset(dtx_encState * st, Word16 isf_init[])
fprintf(stderr, "dtx_enc_reset: invalid parameter\n");
return -1;
}
- st->hist_ptr = 0;
- st->log_en_index = 0;
+ st->hist_ptr = 0;
+ st->log_en_index = 0;
/* Init isf_hist[] */
for (i = 0; i < DTX_HIST_SIZE; i++)
{
Copy(isf_init, &st->isf_hist[i * M], M);
}
- st->cng_seed = RANDOM_INITSEED;
+ st->cng_seed = RANDOM_INITSEED;
/* Reset energy history */
Set_zero(st->log_en_hist, DTX_HIST_SIZE);
- st->dtxHangoverCount = DTX_HANG_CONST;
- st->decAnaElapsedCount = 32767;
+ st->dtxHangoverCount = DTX_HANG_CONST;
+ st->decAnaElapsedCount = 32767;
for (i = 0; i < 28; i++)
{
- st->D[i] = 0;
+ st->D[i] = 0;
}
for (i = 0; i < DTX_HIST_SIZE - 1; i++)
{
- st->sumD[i] = 0;
+ st->sumD[i] = 0;
}
return 1;
@@ -279,7 +279,7 @@ Word16 dtx_enc(
for (i = 0; i < L_FRAME; i++)
{
tmp = mult(exc2[i], gain); /* Q0 * Q15 */
- exc2[i] = shl(tmp, exp);
+ exc2[i] = shl(tmp, exp);
}
return 0;
@@ -301,7 +301,7 @@ Word16 dtx_buffer(
Word16 log_en_e;
Word16 log_en_m;
- st->hist_ptr = add(st->hist_ptr, 1);
+ st->hist_ptr = add(st->hist_ptr, 1);
if(st->hist_ptr == DTX_HIST_SIZE)
{
st->hist_ptr = 0;
@@ -345,7 +345,7 @@ void tx_dtx_handler(dtx_encState * st, /* i/o : State struct */
{
/* this state machine is in synch with the GSMEFR txDtx machine */
- st->decAnaElapsedCount = add(st->decAnaElapsedCount, 1);
+ st->decAnaElapsedCount = add(st->decAnaElapsedCount, 1);
if (vad_flag != 0)
{
@@ -354,8 +354,8 @@ void tx_dtx_handler(dtx_encState * st, /* i/o : State struct */
{ /* non-speech */
if (st->dtxHangoverCount == 0)
{ /* out of decoder analysis hangover */
- st->decAnaElapsedCount = 0;
- *usedMode = MRDTX;
+ st->decAnaElapsedCount = 0;
+ *usedMode = MRDTX;
} else
{ /* in possible analysis hangover */
st->dtxHangoverCount = sub(st->dtxHangoverCount, 1);
@@ -394,8 +394,8 @@ static void aver_isf_history(
{
for (i = 0; i < M; i++)
{
- isf_tmp[k * M + i] = isf_old[indices[k] * M + i];
- isf_old[indices[k] * M + i] = isf_old[indices[2] * M + i];
+ isf_tmp[k * M + i] = isf_old[indices[k] * M + i];
+ isf_old[indices[k] * M + i] = isf_old[indices[2] * M + i];
}
}
}
@@ -403,13 +403,13 @@ static void aver_isf_history(
/* Perform the ISF averaging */
for (j = 0; j < M; j++)
{
- L_tmp = 0;
+ L_tmp = 0;
for (i = 0; i < DTX_HIST_SIZE; i++)
{
L_tmp = L_add(L_tmp, L_deposit_l(isf_old[i * M + j]));
}
- isf_aver[j] = L_tmp;
+ isf_aver[j] = L_tmp;
}
/* Retrieve from isf_tmp[][] the ISF vectors saved prior to averaging */
@@ -441,12 +441,12 @@ static void find_frame_indices(
/* sum sumD[0..DTX_HIST_SIZE-1]. sumD[DTX_HIST_SIZE] is */
/* not updated since it will be removed later. */
- tmp = DTX_HIST_SIZE_MIN_ONE;
- j = -1;
+ tmp = DTX_HIST_SIZE_MIN_ONE;
+ j = -1;
for (i = 0; i < DTX_HIST_SIZE_MIN_ONE; i++)
{
j = add(j, tmp);
- st->sumD[i] = L_sub(st->sumD[i], st->D[j]);
+ st->sumD[i] = L_sub(st->sumD[i], st->D[j]);
tmp = sub(tmp, 1);
}
@@ -458,86 +458,86 @@ static void find_frame_indices(
for (i = DTX_HIST_SIZE_MIN_ONE; i > 0; i--)
{
- st->sumD[i] = st->sumD[i - 1];
+ st->sumD[i] = st->sumD[i - 1];
}
- st->sumD[0] = 0;
+ st->sumD[0] = 0;
/* Remove the oldest frame from the distance matrix. */
/* Note that the distance matrix is replaced by a one- */
/* dimensional array to save static memory. */
- tmp = 0;
+ tmp = 0;
for (i = 27; i >= 12; i = (Word16) (i - tmp))
{
tmp = add(tmp, 1);
for (j = tmp; j > 0; j--)
{
- st->D[i - j + 1] = st->D[i - j - tmp];
+ st->D[i - j + 1] = st->D[i - j - tmp];
}
}
/* Compute the first column of the distance matrix D */
/* (squared Euclidean distances from isf1[] to isf_old_tx[][]). */
- ptr = st->hist_ptr;
+ ptr = st->hist_ptr;
for (i = 1; i < DTX_HIST_SIZE; i++)
{
/* Compute the distance between the latest isf and the other isfs. */
ptr = sub(ptr, 1);
if (ptr < 0)
{
- ptr = DTX_HIST_SIZE_MIN_ONE;
+ ptr = DTX_HIST_SIZE_MIN_ONE;
}
- L_tmp = 0;
+ L_tmp = 0;
for (j = 0; j < M; j++)
{
tmp = sub(isf_old_tx[st->hist_ptr * M + j], isf_old_tx[ptr * M + j]);
L_tmp = L_mac(L_tmp, tmp, tmp);
}
- st->D[i - 1] = L_tmp;
+ st->D[i - 1] = L_tmp;
/* Update also the column sums. */
- st->sumD[0] = L_add(st->sumD[0], st->D[i - 1]);
- st->sumD[i] = L_add(st->sumD[i], st->D[i - 1]);
+ st->sumD[0] = L_add(st->sumD[0], st->D[i - 1]);
+ st->sumD[i] = L_add(st->sumD[i], st->D[i - 1]);
}
/* Find the minimum and maximum distances */
- summax = st->sumD[0];
- summin = st->sumD[0];
- indices[0] = 0;
- indices[2] = 0;
+ summax = st->sumD[0];
+ summin = st->sumD[0];
+ indices[0] = 0;
+ indices[2] = 0;
for (i = 1; i < DTX_HIST_SIZE; i++)
{
if (L_sub(st->sumD[i], summax) > 0)
{
- indices[0] = i;
- summax = st->sumD[i];
+ indices[0] = i;
+ summax = st->sumD[i];
}
if (L_sub(st->sumD[i], summin) < 0)
{
- indices[2] = i;
- summin = st->sumD[i];
+ indices[2] = i;
+ summin = st->sumD[i];
}
}
/* Find the second largest distance */
- summax2nd = -2147483647L;
- indices[1] = -1;
+ summax2nd = -2147483647L;
+ indices[1] = -1;
for (i = 0; i < DTX_HIST_SIZE; i++)
{
if ((L_sub(st->sumD[i], summax2nd) > 0) && (sub(i, indices[0]) != 0))
{
- indices[1] = i;
- summax2nd = st->sumD[i];
+ indices[1] = i;
+ summax2nd = st->sumD[i];
}
}
for (i = 0; i < 3; i++)
{
- indices[i] = sub(st->hist_ptr, indices[i]);
+ indices[i] = sub(st->hist_ptr, indices[i]);
if (indices[i] < 0)
{
- indices[i] = add(indices[i], DTX_HIST_SIZE);
+ indices[i] = add(indices[i], DTX_HIST_SIZE);
}
}
@@ -549,7 +549,7 @@ static void find_frame_indices(
L_tmp = L_mult(voround(summax), INV_MED_THRESH);
if(L_tmp <= summin)
{
- indices[0] = -1;
+ indices[0] = -1;
}
/* If second largest distance/MED_THRESH is smaller than */
/* minimum distance then the median ISF vector replacement is */
@@ -558,7 +558,7 @@ static void find_frame_indices(
L_tmp = L_mult(voround(summax2nd), INV_MED_THRESH);
if(L_tmp <= summin)
{
- indices[1] = -1;
+ indices[1] = -1;
}
return;
}
diff --git a/media/libstagefright/codecs/amrwbenc/src/g_pitch.c b/media/libstagefright/codecs/amrwbenc/src/g_pitch.c
index f5112c5..d681f2e 100644
--- a/media/libstagefright/codecs/amrwbenc/src/g_pitch.c
+++ b/media/libstagefright/codecs/amrwbenc/src/g_pitch.c
@@ -48,10 +48,10 @@ Word16 G_pitch( /* (o) Q14 : Gain of pitch lag satura
#endif
- g_coeff[0] = yy;
- g_coeff[1] = exp_yy;
- g_coeff[2] = xy;
- g_coeff[3] = exp_xy;
+ g_coeff[0] = yy;
+ g_coeff[1] = exp_yy;
+ g_coeff[2] = xy;
+ g_coeff[3] = exp_xy;
/* If (xy < 0) gain = 0 */
if (xy < 0)
@@ -65,12 +65,12 @@ Word16 G_pitch( /* (o) Q14 : Gain of pitch lag satura
i = exp_xy;
i -= exp_yy;
- gain = shl(gain, i);
+ gain = shl(gain, i);
/* if (gain > 1.2) gain = 1.2 in Q14 */
if(gain > 19661)
{
- gain = 19661;
+ gain = 19661;
}
return (gain);
}
diff --git a/media/libstagefright/codecs/amrwbenc/src/gpclip.c b/media/libstagefright/codecs/amrwbenc/src/gpclip.c
index 24158e3..800b3f9 100644
--- a/media/libstagefright/codecs/amrwbenc/src/gpclip.c
+++ b/media/libstagefright/codecs/amrwbenc/src/gpclip.c
@@ -22,7 +22,7 @@
* case occurs *
* a resonance on LPC filter(lp_disp < 60Hz) *
* a good pitch prediction (lp_gp > 0.95) *
-* *
+* *
***************************************************************************/
#include "typedef.h"
#include "basic_op.h"
@@ -38,8 +38,8 @@ void Init_gp_clip(
Word16 mem[] /* (o) : memory of gain of pitch clipping algorithm */
)
{
- mem[0] = DIST_ISF_MAX;
- mem[1] = GAIN_PIT_MIN;
+ mem[0] = DIST_ISF_MAX;
+ mem[1] = GAIN_PIT_MIN;
}
@@ -49,7 +49,7 @@ Word16 Gp_clip(
{
Word16 clip = 0;
if ((mem[0] < DIST_ISF_THRES) && (mem[1] > GAIN_PIT_THRES))
- clip = 1;
+ clip = 1;
return (clip);
}
@@ -70,7 +70,7 @@ void Gp_clip_test_isf(
dist = vo_sub(isf[i], isf[i - 1]);
if(dist < dist_min)
{
- dist_min = dist;
+ dist_min = dist;
}
}
@@ -78,9 +78,9 @@ void Gp_clip_test_isf(
if (dist > DIST_ISF_MAX)
{
- dist = DIST_ISF_MAX;
+ dist = DIST_ISF_MAX;
}
- mem[0] = dist;
+ mem[0] = dist;
return;
}
@@ -100,9 +100,9 @@ void Gp_clip_test_gain_pit(
if(gain < GAIN_PIT_MIN)
{
- gain = GAIN_PIT_MIN;
+ gain = GAIN_PIT_MIN;
}
- mem[1] = gain;
+ mem[1] = gain;
return;
}
diff --git a/media/libstagefright/codecs/amrwbenc/src/hp400.c b/media/libstagefright/codecs/amrwbenc/src/hp400.c
index fa66f1a..a6f9701 100644
--- a/media/libstagefright/codecs/amrwbenc/src/hp400.c
+++ b/media/libstagefright/codecs/amrwbenc/src/hp400.c
@@ -68,8 +68,8 @@ void HP400_12k8(
y2_lo = *mem++;
y1_hi = *mem++;
y1_lo = *mem++;
- x0 = *mem++;
- x1 = *mem;
+ x0 = *mem++;
+ x1 = *mem;
num = (Word32)lg;
do
{
@@ -98,7 +98,7 @@ void HP400_12k8(
*mem-- = y1_lo;
*mem-- = y1_hi;
*mem-- = y2_lo;
- *mem = y2_hi;
+ *mem = y2_hi;
return;
}
diff --git a/media/libstagefright/codecs/amrwbenc/src/hp50.c b/media/libstagefright/codecs/amrwbenc/src/hp50.c
index 36dd1f1..c1c7b83 100644
--- a/media/libstagefright/codecs/amrwbenc/src/hp50.c
+++ b/media/libstagefright/codecs/amrwbenc/src/hp50.c
@@ -70,7 +70,7 @@ void HP50_12k8(
y2_lo = *mem++;
y1_hi = *mem++;
y1_lo = *mem++;
- x0 = *mem++;
+ x0 = *mem++;
x1 = *mem;
num = (Word32)lg;
do
@@ -98,7 +98,7 @@ void HP50_12k8(
*mem-- = y1_lo;
*mem-- = y1_hi;
*mem-- = y2_lo;
- *mem-- = y2_hi;
+ *mem-- = y2_hi;
return;
}
diff --git a/media/libstagefright/codecs/amrwbenc/src/hp6k.c b/media/libstagefright/codecs/amrwbenc/src/hp6k.c
index 578633a..8e66eb0 100644
--- a/media/libstagefright/codecs/amrwbenc/src/hp6k.c
+++ b/media/libstagefright/codecs/amrwbenc/src/hp6k.c
@@ -20,7 +20,7 @@
* Description:15th order band pass 6kHz to 7kHz FIR filter *
* frequency: 4kHz 5kHz 5.5kHz 6kHz 6.5kHz 7kHz 7.5kHz 8kHz *
* dB loss: -60dB -45dB -13dB -3dB 0dB -3dB -13dB -45dB *
-* *
+* *
************************************************************************/
#include "typedef.h"
@@ -63,7 +63,7 @@ void Filt_6k_7k(
for (i = lg - 1; i >= 0; i--)
{
x[i + L_FIR - 1] = signal[i] >> 2; /* gain of filter = 4 */
- }
+ }
for (i = 0; i < lg; i++)
{
L_tmp = (x[i] + x[i+ 30]) * fir_6k_7k[0];
diff --git a/media/libstagefright/codecs/amrwbenc/src/hp_wsp.c b/media/libstagefright/codecs/amrwbenc/src/hp_wsp.c
index 3510272..bc1ec49 100644
--- a/media/libstagefright/codecs/amrwbenc/src/hp_wsp.c
+++ b/media/libstagefright/codecs/amrwbenc/src/hp_wsp.c
@@ -88,22 +88,22 @@ void Hp_wsp(
Word16 y3_hi, y3_lo, y2_hi, y2_lo, y1_hi, y1_lo;
Word32 i, L_tmp;
- y3_hi = mem[0];
- y3_lo = mem[1];
- y2_hi = mem[2];
- y2_lo = mem[3];
- y1_hi = mem[4];
- y1_lo = mem[5];
- x0 = mem[6];
- x1 = mem[7];
- x2 = mem[8];
+ y3_hi = mem[0];
+ y3_lo = mem[1];
+ y2_hi = mem[2];
+ y2_lo = mem[3];
+ y1_hi = mem[4];
+ y1_lo = mem[5];
+ x0 = mem[6];
+ x1 = mem[7];
+ x2 = mem[8];
for (i = 0; i < lg; i++)
{
- x3 = x2;
- x2 = x1;
- x1 = x0;
- x0 = wsp[i];
+ x3 = x2;
+ x2 = x1;
+ x1 = x0;
+ x0 = wsp[i];
/* y[i] = b[0]*x[i] + b[1]*x[i-1] + b140[2]*x[i-2] + b[3]*x[i-3] */
/* + a[1]*y[i-1] + a[2] * y[i-2] + a[3]*y[i-3] */
@@ -122,25 +122,25 @@ void Hp_wsp(
L_tmp = L_tmp << 2;
- y3_hi = y2_hi;
- y3_lo = y2_lo;
- y2_hi = y1_hi;
- y2_lo = y1_lo;
+ y3_hi = y2_hi;
+ y3_lo = y2_lo;
+ y2_hi = y1_hi;
+ y2_lo = y1_lo;
y1_hi = L_tmp >> 16;
y1_lo = (L_tmp & 0xffff) >>1;
- hp_wsp[i] = (L_tmp + 0x4000)>>15;
+ hp_wsp[i] = (L_tmp + 0x4000)>>15;
}
- mem[0] = y3_hi;
- mem[1] = y3_lo;
- mem[2] = y2_hi;
- mem[3] = y2_lo;
- mem[4] = y1_hi;
- mem[5] = y1_lo;
- mem[6] = x0;
- mem[7] = x1;
- mem[8] = x2;
+ mem[0] = y3_hi;
+ mem[1] = y3_lo;
+ mem[2] = y2_hi;
+ mem[3] = y2_lo;
+ mem[4] = y1_hi;
+ mem[5] = y1_lo;
+ mem[6] = x0;
+ mem[7] = x1;
+ mem[8] = x2;
return;
}
diff --git a/media/libstagefright/codecs/amrwbenc/src/int_lpc.c b/media/libstagefright/codecs/amrwbenc/src/int_lpc.c
index 88285e8..1119bc7 100644
--- a/media/libstagefright/codecs/amrwbenc/src/int_lpc.c
+++ b/media/libstagefright/codecs/amrwbenc/src/int_lpc.c
@@ -36,21 +36,21 @@ void Int_isp(
Word16 Az[] /* output: LP coefficients in 4 subframes */
)
{
- Word32 i, k;
+ Word32 i, k;
Word16 fac_old, fac_new;
Word16 isp[M];
Word32 L_tmp;
for (k = 0; k < 3; k++)
{
- fac_new = frac[k];
+ fac_new = frac[k];
fac_old = (32767 - fac_new) + 1; /* 1.0 - fac_new */
for (i = 0; i < M; i++)
{
L_tmp = (isp_old[i] * fac_old)<<1;
L_tmp += (isp_new[i] * fac_new)<<1;
- isp[i] = (L_tmp + 0x8000)>>16;
+ isp[i] = (L_tmp + 0x8000)>>16;
}
Isp_Az(isp, Az, M, 0);
Az += MP1;
diff --git a/media/libstagefright/codecs/amrwbenc/src/isp_az.c b/media/libstagefright/codecs/amrwbenc/src/isp_az.c
index c235c5d..30a8bbd 100644
--- a/media/libstagefright/codecs/amrwbenc/src/isp_az.c
+++ b/media/libstagefright/codecs/amrwbenc/src/isp_az.c
@@ -42,7 +42,7 @@ void Isp_Az(
/* 1 : adaptive scaling enabled */
)
{
- Word32 i, j;
+ Word32 i, j;
Word16 hi, lo;
Word32 f1[NC16k + 1], f2[NC16k];
Word16 nc;
@@ -92,14 +92,14 @@ void Isp_Az(
lo = (f1[i] & 0xffff)>>1;
t0 = Mpy_32_16(hi, lo, isp[m - 1]);
- f1[i] = vo_L_add(f1[i], t0);
+ f1[i] = vo_L_add(f1[i], t0);
/* f2[i] *= (1.0 - isp[M-1]); */
hi = f2[i] >> 16;
lo = (f2[i] & 0xffff)>>1;
t0 = Mpy_32_16(hi, lo, isp[m - 1]);
- f2[i] = vo_L_sub(f2[i], t0);
+ f2[i] = vo_L_sub(f2[i], t0);
}
/*-----------------------------------------------------*
@@ -108,20 +108,20 @@ void Isp_Az(
*-----------------------------------------------------*/
/* a[0] = 1.0; */
- a[0] = 4096;
- tmax = 1;
+ a[0] = 4096;
+ tmax = 1;
for (i = 1, j = m - 1; i < nc; i++, j--)
{
/* a[i] = 0.5*(f1[i] + f2[i]); */
t0 = vo_L_add(f1[i], f2[i]); /* f1[i] + f2[i] */
- tmax |= L_abs(t0);
+ tmax |= L_abs(t0);
a[i] = (Word16)(vo_L_shr_r(t0, 12)); /* from Q23 to Q12 and * 0.5 */
/* a[j] = 0.5*(f1[i] - f2[i]); */
t0 = vo_L_sub(f1[i], f2[i]); /* f1[i] - f2[i] */
- tmax |= L_abs(t0);
+ tmax |= L_abs(t0);
a[j] = (Word16)(vo_L_shr_r(t0, 12)); /* from Q23 to Q12 and * 0.5 */
}
@@ -144,12 +144,12 @@ void Isp_Az(
t0 = vo_L_sub(f1[i], f2[i]); /* f1[i] - f2[i] */
a[j] = (Word16)(vo_L_shr_r(t0, q_sug)); /* from Q23 to Q12 and * 0.5 */
}
- a[0] = shr(a[0], q);
+ a[0] = shr(a[0], q);
}
else
{
- q_sug = 12;
- q = 0;
+ q_sug = 12;
+ q = 0;
}
/* a[NC] = 0.5*f1[NC]*(1.0 + isp[M-1]); */
hi = f1[nc] >> 16;
@@ -196,7 +196,7 @@ static void Get_isp_pol(Word16 * isp, Word32 * f, Word16 n)
isp += 2; /* Advance isp pointer */
for (i = 2; i <= n; i++)
{
- *f = f[-2];
+ *f = f[-2];
for (j = 1; j < i; j++, f--)
{
hi = f[-1]>>16;
@@ -228,7 +228,7 @@ static void Get_isp_pol_16kHz(Word16 * isp, Word32 * f, Word16 n)
for (i = 2; i <= n; i++)
{
- *f = f[-2];
+ *f = f[-2];
for (j = 1; j < i; j++, f--)
{
VO_L_Extract(f[-1], &hi, &lo);
diff --git a/media/libstagefright/codecs/amrwbenc/src/isp_isf.c b/media/libstagefright/codecs/amrwbenc/src/isp_isf.c
index fbe80eb..b4ba408 100644
--- a/media/libstagefright/codecs/amrwbenc/src/isp_isf.c
+++ b/media/libstagefright/codecs/amrwbenc/src/isp_isf.c
@@ -51,9 +51,9 @@ void Isp_isf(
/* acos(isp[i])= ind*128 + ( ( isp[i]-table[ind] ) * slope[ind] )/2048 */
L_tmp = vo_L_mult(vo_sub(isp[i], table[ind]), slope[ind]);
isf[i] = vo_round((L_tmp << 4)); /* (isp[i]-table[ind])*slope[ind])>>11 */
- isf[i] = add1(isf[i], (ind << 7));
+ isf[i] = add1(isf[i], (ind << 7));
}
- isf[m - 1] = (isf[m - 1] >> 1);
+ isf[m - 1] = (isf[m - 1] >> 1);
return;
}
@@ -69,7 +69,7 @@ void Isf_isp(
for (i = 0; i < m - 1; i++)
{
- isp[i] = isf[i];
+ isp[i] = isf[i];
}
isp[m - 1] = (isf[m - 1] << 1);
@@ -80,7 +80,7 @@ void Isf_isp(
/* isp[i] = table[ind]+ ((table[ind+1]-table[ind])*offset) / 128 */
L_tmp = vo_L_mult(vo_sub(table[ind + 1], table[ind]), offset);
- isp[i] = add1(table[ind], (Word16)((L_tmp >> 8)));
+ isp[i] = add1(table[ind], (Word16)((L_tmp >> 8)));
}
return;
diff --git a/media/libstagefright/codecs/amrwbenc/src/levinson.c b/media/libstagefright/codecs/amrwbenc/src/levinson.c
index a68845f..4b2f8ed 100644
--- a/media/libstagefright/codecs/amrwbenc/src/levinson.c
+++ b/media/libstagefright/codecs/amrwbenc/src/levinson.c
@@ -122,8 +122,8 @@ void Levinson(
Word16 *old_A, *old_rc;
/* Last A(z) for case of unstable filter */
- old_A = mem;
- old_rc = mem + M;
+ old_A = mem;
+ old_rc = mem + M;
/* K = A[1] = -R[1] / R[0] */
@@ -135,7 +135,7 @@ void Levinson(
Kh = t0 >> 16;
Kl = (t0 & 0xffff)>>1;
- rc[0] = Kh;
+ rc[0] = Kh;
t0 = (t0 >> 4); /* A[1] in Q27 */
Ah[1] = t0 >> 16;
@@ -163,7 +163,7 @@ void Levinson(
for (i = 2; i <= M; i++)
{
/* t0 = SUM ( R[j]*A[i-j] ,j=1,i-1 ) + R[i] */
- t0 = 0;
+ t0 = 0;
for (j = 1; j < i; j++)
t0 = vo_L_add(t0, Mpy_32(Rh[j], Rl[j], Ah[i - j], Al[i - j]));
@@ -182,14 +182,14 @@ void Levinson(
Kh = t2 >> 16;
Kl = (t2 & 0xffff)>>1;
- rc[i - 1] = Kh;
+ rc[i - 1] = Kh;
/* Test for unstable filter. If unstable keep old A(z) */
if (abs_s(Kh) > 32750)
{
A[0] = 4096; /* Ai[0] not stored (always 1.0) */
for (j = 0; j < M; j++)
{
- A[j + 1] = old_A[j];
+ A[j + 1] = old_A[j];
}
rc[0] = old_rc[0]; /* only two rc coefficients are needed */
rc[1] = old_rc[1];
@@ -229,19 +229,19 @@ void Levinson(
/* A[j] = An[j] */
for (j = 1; j <= i; j++)
{
- Ah[j] = Anh[j];
- Al[j] = Anl[j];
+ Ah[j] = Anh[j];
+ Al[j] = Anl[j];
}
}
/* Truncate A[i] in Q27 to Q12 with rounding */
- A[0] = 4096;
+ A[0] = 4096;
for (i = 1; i <= M; i++)
{
t0 = (Ah[i] << 16) + (Al[i] << 1);
- old_A[i - 1] = A[i] = vo_round((t0 << 1));
+ old_A[i - 1] = A[i] = vo_round((t0 << 1));
}
- old_rc[0] = rc[0];
- old_rc[1] = rc[1];
+ old_rc[0] = rc[0];
+ old_rc[1] = rc[1];
return;
}
diff --git a/media/libstagefright/codecs/amrwbenc/src/log2.c b/media/libstagefright/codecs/amrwbenc/src/log2.c
index 646d6af..0f65541 100644
--- a/media/libstagefright/codecs/amrwbenc/src/log2.c
+++ b/media/libstagefright/codecs/amrwbenc/src/log2.c
@@ -64,11 +64,11 @@ void Log2_norm (
Word32 L_y;
if (L_x <= (Word32) 0)
{
- *exponent = 0;
- *fraction = 0;
+ *exponent = 0;
+ *fraction = 0;
return;
}
- *exponent = (30 - exp);
+ *exponent = (30 - exp);
L_x = (L_x >> 9);
i = extract_h (L_x); /* Extract b25-b31 */
L_x = (L_x >> 1);
@@ -78,7 +78,7 @@ void Log2_norm (
L_y = L_deposit_h (table[i]); /* table[i] << 16 */
tmp = vo_sub(table[i], table[i + 1]); /* table[i] - table[i+1] */
L_y = vo_L_msu (L_y, tmp, a); /* L_y -= tmp*a*2 */
- *fraction = extract_h (L_y);
+ *fraction = extract_h (L_y);
return;
}
diff --git a/media/libstagefright/codecs/amrwbenc/src/lp_dec2.c b/media/libstagefright/codecs/amrwbenc/src/lp_dec2.c
index 29bd46b..1d5d076 100644
--- a/media/libstagefright/codecs/amrwbenc/src/lp_dec2.c
+++ b/media/libstagefright/codecs/amrwbenc/src/lp_dec2.c
@@ -42,25 +42,25 @@ void LP_Decim2(
Word32 i, j;
Word32 L_tmp;
/* copy initial filter states into buffer */
- p_x = x_buf;
+ p_x = x_buf;
for (i = 0; i < L_MEM; i++)
{
- *p_x++ = mem[i];
- mem[i] = x[l - L_MEM + i];
+ *p_x++ = mem[i];
+ mem[i] = x[l - L_MEM + i];
}
for (i = 0; i < l; i++)
{
- *p_x++ = x[i];
+ *p_x++ = x[i];
}
for (i = 0, j = 0; i < l; i += 2, j++)
{
- p_x = &x_buf[i];
+ p_x = &x_buf[i];
L_tmp = ((*p_x++) * h_fir[0]);
L_tmp += ((*p_x++) * h_fir[1]);
L_tmp += ((*p_x++) * h_fir[2]);
L_tmp += ((*p_x++) * h_fir[3]);
L_tmp += ((*p_x++) * h_fir[4]);
- x[j] = (L_tmp + 0x4000)>>15;
+ x[j] = (L_tmp + 0x4000)>>15;
}
return;
}
diff --git a/media/libstagefright/codecs/amrwbenc/src/math_op.c b/media/libstagefright/codecs/amrwbenc/src/math_op.c
index 1a7b513..7affbb2 100644
--- a/media/libstagefright/codecs/amrwbenc/src/math_op.c
+++ b/media/libstagefright/codecs/amrwbenc/src/math_op.c
@@ -106,21 +106,21 @@ void Isqrt_n(
if (*frac <= (Word32) 0)
{
- *exp = 0;
- *frac = 0x7fffffffL;
+ *exp = 0;
+ *frac = 0x7fffffffL;
return;
}
if((*exp & 1) == 1) /*If exponant odd -> shift right */
*frac = (*frac) >> 1;
- *exp = negate((*exp - 1) >> 1);
+ *exp = negate((*exp - 1) >> 1);
- *frac = (*frac >> 9);
+ *frac = (*frac >> 9);
i = extract_h(*frac); /* Extract b25-b31 */
- *frac = (*frac >> 1);
+ *frac = (*frac >> 1);
a = (Word16)(*frac); /* Extract b10-b24 */
- a = (Word16) (a & (Word16) 0x7fff);
+ a = (Word16) (a & (Word16) 0x7fff);
i -= 16;
*frac = L_deposit_h(table_isqrt[i]); /* table[i] << 16 */
tmp = vo_sub(table_isqrt[i], table_isqrt[i + 1]); /* table[i] - table[i+1]) */
@@ -167,7 +167,7 @@ Word32 Pow2( /* (o) Q0 : result (range: 0<=
i = extract_h(L_x); /* Extract b10-b16 of fraction */
L_x =L_x >> 1;
a = (Word16)(L_x); /* Extract b0-b9 of fraction */
- a = (Word16) (a & (Word16) 0x7fff);
+ a = (Word16) (a & (Word16) 0x7fff);
L_x = L_deposit_h(table_pow2[i]); /* table[i] << 16 */
tmp = vo_sub(table_pow2[i], table_pow2[i + 1]); /* table[i] - table[i+1] */
diff --git a/media/libstagefright/codecs/amrwbenc/src/mem_align.c b/media/libstagefright/codecs/amrwbenc/src/mem_align.c
index e58915a..a29baf3 100644
--- a/media/libstagefright/codecs/amrwbenc/src/mem_align.c
+++ b/media/libstagefright/codecs/amrwbenc/src/mem_align.c
@@ -27,7 +27,7 @@
/*****************************************************************************
*
* function name: mem_malloc
-* description: malloc the alignments memory
+* description: malloc the alignments memory
* returns: the point of the memory
*
**********************************************************************************/
diff --git a/media/libstagefright/codecs/amrwbenc/src/p_med_ol.c b/media/libstagefright/codecs/amrwbenc/src/p_med_ol.c
index 08f430f..b8174b9 100644
--- a/media/libstagefright/codecs/amrwbenc/src/p_med_ol.c
+++ b/media/libstagefright/codecs/amrwbenc/src/p_med_ol.c
@@ -18,7 +18,7 @@
* File: p_med_ol.c *
* *
* Description: Compute the open loop pitch lag *
-* output: open loop pitch lag *
+* output: open loop pitch lag *
************************************************************************/
#include "typedef.h"
@@ -29,7 +29,7 @@
#include "p_med_ol.tab"
Word16 Pitch_med_ol(
- Word16 wsp[], /* i: signal used to compute the open loop pitch*/
+ Word16 wsp[], /* i: signal used to compute the open loop pitch*/
/* wsp[-pit_max] to wsp[-1] should be known */
Coder_State *st, /* i/o: codec global structure */
Word16 L_frame /* i: length of frame to compute pitch */
@@ -52,8 +52,8 @@ Word16 Pitch_med_ol(
ww = &corrweight[198];
we = &corrweight[98 + L_max - L_0];
- max = MIN_32;
- Tm = 0;
+ max = MIN_32;
+ Tm = 0;
for (i = L_max; i > L_min; i--)
{
/* Compute the correlation */
@@ -65,7 +65,7 @@ Word16 Pitch_med_ol(
R0 += vo_L_mult((*p1++), (*p2++));
R0 += vo_L_mult((*p1++), (*p2++));
R0 += vo_L_mult((*p1++), (*p2++));
- R0 += vo_L_mult((*p1++), (*p2++));
+ R0 += vo_L_mult((*p1++), (*p2++));
}
/* Weighting of the correlation function. */
hi = R0>>16;
@@ -90,13 +90,13 @@ Word16 Pitch_med_ol(
}
/* Hypass the wsp[] vector */
- hp_wsp = old_hp_wsp + L_max;
+ hp_wsp = old_hp_wsp + L_max;
Hp_wsp(wsp, hp_wsp, L_frame, hp_wsp_mem);
/* Compute normalize correlation at delay Tm */
- R0 = 0;
- R1 = 0;
- R2 = 0;
+ R0 = 0;
+ R1 = 0;
+ R2 = 0;
p1 = hp_wsp;
p2 = hp_wsp - Tm;
for (j = 0; j < L_frame; j+=4)
@@ -174,57 +174,57 @@ Word16 median5(Word16 x[])
Word16 x1, x2, x3, x4, x5;
Word16 tmp;
- x1 = x[-2];
- x2 = x[-1];
- x3 = x[0];
- x4 = x[1];
- x5 = x[2];
+ x1 = x[-2];
+ x2 = x[-1];
+ x3 = x[0];
+ x4 = x[1];
+ x5 = x[2];
if (x2 < x1)
{
tmp = x1;
x1 = x2;
- x2 = tmp;
+ x2 = tmp;
}
if (x3 < x1)
{
tmp = x1;
x1 = x3;
- x3 = tmp;
+ x3 = tmp;
}
if (x4 < x1)
{
tmp = x1;
x1 = x4;
- x4 = tmp;
+ x4 = tmp;
}
if (x5 < x1)
{
- x5 = x1;
+ x5 = x1;
}
if (x3 < x2)
{
tmp = x2;
x2 = x3;
- x3 = tmp;
+ x3 = tmp;
}
if (x4 < x2)
{
tmp = x2;
x2 = x4;
- x4 = tmp;
+ x4 = tmp;
}
if (x5 < x2)
{
- x5 = x2;
+ x5 = x2;
}
if (x4 < x3)
{
- x3 = x4;
+ x3 = x4;
}
if (x5 < x3)
{
- x3 = x5;
+ x3 = x5;
}
return (x3);
}
@@ -241,10 +241,10 @@ Word16 Med_olag( /* output : median of 5 previous ope
for (i = 4; i > 0; i--)
{
- old_ol_lag[i] = old_ol_lag[i - 1];
+ old_ol_lag[i] = old_ol_lag[i - 1];
}
- old_ol_lag[0] = prev_ol_lag;
+ old_ol_lag[0] = prev_ol_lag;
i = median5(&old_ol_lag[2]);
diff --git a/media/libstagefright/codecs/amrwbenc/src/pitch_f4.c b/media/libstagefright/codecs/amrwbenc/src/pitch_f4.c
index 41d7413..0d66c31 100644
--- a/media/libstagefright/codecs/amrwbenc/src/pitch_f4.c
+++ b/media/libstagefright/codecs/amrwbenc/src/pitch_f4.c
@@ -90,7 +90,7 @@ Word16 Pitch_fr4( /* (o) : pitch period.
Norm_corr_asm(exc, xn, h, L_subfr, t_min, t_max, corr);
#else
Norm_Corr(exc, xn, h, L_subfr, t_min, t_max, corr);
-#endif
+#endif
/* Find integer pitch */
@@ -100,8 +100,8 @@ Word16 Pitch_fr4( /* (o) : pitch period.
{
if (corr[i] >= max)
{
- max = corr[i];
- t0 = i;
+ max = corr[i];
+ t0 = i;
}
}
/* If first subframe and t0 >= t0_fr1, do not search fractionnal pitch */
@@ -182,7 +182,7 @@ static void Norm_Corr(
#endif
/* Compute rounded down 1/sqrt(energy of xn[]) */
- L_tmp = 0;
+ L_tmp = 0;
for (i = 0; i < 64; i+=4)
{
L_tmp += (xn[i] * xn[i]);
@@ -202,7 +202,7 @@ static void Norm_Corr(
for (t = t_min; t <= t_max; t++)
{
/* Compute correlation between xn[] and excf[] */
- L_tmp = 0;
+ L_tmp = 0;
L_tmp1 = 0;
for (i = 0; i < 64; i+=4)
{
@@ -246,7 +246,7 @@ static void Norm_Corr(
L_tmp = L_tmp << L_tmp2;
}
- corr_norm[t] = vo_round(L_tmp);
+ corr_norm[t] = vo_round(L_tmp);
/* modify the filtered excitation excf[] for the next iteration */
if(t != t_max)
@@ -310,10 +310,10 @@ static Word16 Interpol_4( /* (o) : interpolated value */
L_sum += vo_mult32(x[1], (*ptr++));
L_sum += vo_mult32(x[2], (*ptr++));
L_sum += vo_mult32(x[3], (*ptr++));
- L_sum += vo_mult32(x[4], (*ptr++));
+ L_sum += vo_mult32(x[4], (*ptr++));
L_sum += vo_mult32(x[5], (*ptr++));
L_sum += vo_mult32(x[6], (*ptr++));
- L_sum += vo_mult32(x[7], (*ptr++));
+ L_sum += vo_mult32(x[7], (*ptr++));
sum = extract_h(L_add(L_shl2(L_sum, 2), 0x8000));
return (sum);
diff --git a/media/libstagefright/codecs/amrwbenc/src/pred_lt4.c b/media/libstagefright/codecs/amrwbenc/src/pred_lt4.c
index b359651..8404cf9 100644
--- a/media/libstagefright/codecs/amrwbenc/src/pred_lt4.c
+++ b/media/libstagefright/codecs/amrwbenc/src/pred_lt4.c
@@ -60,13 +60,13 @@ void Pred_lt4(
Word16 *ptr, *ptr1;
Word16 *ptr2;
- x = exc - T0;
+ x = exc - T0;
frac = -frac;
if (frac < 0)
{
frac += UP_SAMP;
x--;
- }
+ }
x -= 15; /* x = L_INTERPOL2 - 1 */
k = 3 - frac; /* k = UP_SAMP - 1 - frac */
diff --git a/media/libstagefright/codecs/amrwbenc/src/preemph.c b/media/libstagefright/codecs/amrwbenc/src/preemph.c
index 5408617..c867bf7 100644
--- a/media/libstagefright/codecs/amrwbenc/src/preemph.c
+++ b/media/libstagefright/codecs/amrwbenc/src/preemph.c
@@ -35,20 +35,20 @@ void Preemph(
Word16 temp;
Word32 i, L_tmp;
- temp = x[lg - 1];
+ temp = x[lg - 1];
for (i = lg - 1; i > 0; i--)
{
L_tmp = L_deposit_h(x[i]);
L_tmp -= (x[i - 1] * mu)<<1;
- x[i] = (L_tmp + 0x8000)>>16;
+ x[i] = (L_tmp + 0x8000)>>16;
}
L_tmp = L_deposit_h(x[0]);
L_tmp -= ((*mem) * mu)<<1;
- x[0] = (L_tmp + 0x8000)>>16;
+ x[0] = (L_tmp + 0x8000)>>16;
- *mem = temp;
+ *mem = temp;
return;
}
@@ -64,22 +64,22 @@ void Preemph2(
Word16 temp;
Word32 i, L_tmp;
- temp = x[lg - 1];
+ temp = x[lg - 1];
for (i = (Word16) (lg - 1); i > 0; i--)
{
L_tmp = L_deposit_h(x[i]);
L_tmp -= (x[i - 1] * mu)<<1;
L_tmp = (L_tmp << 1);
- x[i] = (L_tmp + 0x8000)>>16;
+ x[i] = (L_tmp + 0x8000)>>16;
}
L_tmp = L_deposit_h(x[0]);
L_tmp -= ((*mem) * mu)<<1;
L_tmp = (L_tmp << 1);
- x[0] = (L_tmp + 0x8000)>>16;
+ x[0] = (L_tmp + 0x8000)>>16;
- *mem = temp;
+ *mem = temp;
return;
}
diff --git a/media/libstagefright/codecs/amrwbenc/src/q_gain2.c b/media/libstagefright/codecs/amrwbenc/src/q_gain2.c
index 7bc299f..e8ca043 100644
--- a/media/libstagefright/codecs/amrwbenc/src/q_gain2.c
+++ b/media/libstagefright/codecs/amrwbenc/src/q_gain2.c
@@ -83,7 +83,7 @@ Word16 Q_gain2( /* Return index of quantization.
Word32 i, j, L_tmp, dist_min;
Word16 *past_qua_en, *t_qua_gain;
- past_qua_en = mem;
+ past_qua_en = mem;
/*-----------------------------------------------------------------*
* - Find the initial quantization pitch index *
@@ -91,9 +91,9 @@ Word16 Q_gain2( /* Return index of quantization.
*-----------------------------------------------------------------*/
if (nbits == 6)
{
- t_qua_gain = t_qua_gain6b;
- min_ind = 0;
- size = RANGE;
+ t_qua_gain = t_qua_gain6b;
+ min_ind = 0;
+ size = RANGE;
if(gp_clip == 1)
{
@@ -101,18 +101,18 @@ Word16 Q_gain2( /* Return index of quantization.
}
} else
{
- t_qua_gain = t_qua_gain7b;
+ t_qua_gain = t_qua_gain7b;
p = t_qua_gain7b + RANGE; /* pt at 1/4th of table */
- j = nb_qua_gain7b - RANGE;
+ j = nb_qua_gain7b - RANGE;
if (gp_clip == 1)
{
j = j - 27; /* limit gain pitch to 1.0 */
}
- min_ind = 0;
- g_pitch = *gain_pit;
+ min_ind = 0;
+ g_pitch = *gain_pit;
for (i = 0; i < j; i++, p += 2)
{
@@ -121,7 +121,7 @@ Word16 Q_gain2( /* Return index of quantization.
min_ind = min_ind + 1;
}
}
- size = RANGE;
+ size = RANGE;
}
/*------------------------------------------------------------------*
@@ -137,10 +137,10 @@ Word16 Q_gain2( /* Return index of quantization.
* are in vector g_coeff[]. *
*------------------------------------------------------------------*/
- coeff[0] = g_coeff[0];
- exp_coeff[0] = g_coeff[1];
+ coeff[0] = g_coeff[0];
+ exp_coeff[0] = g_coeff[1];
coeff[1] = negate(g_coeff[2]); /* coeff[1] = -2 xn y1 */
- exp_coeff[1] = g_coeff[3] + 1;
+ exp_coeff[1] = g_coeff[3] + 1;
/* Compute scalar product <y2[],y2[]> */
#ifdef ASM_OPT /* asm optimization branch */
@@ -242,20 +242,20 @@ Word16 Q_gain2( /* Return index of quantization.
*-------------------------------------------------------------------------*/
exp_code = (exp_gcode0 + 4);
- exp_max[0] = (exp_coeff[0] - 13);
- exp_max[1] = (exp_coeff[1] - 14);
- exp_max[2] = (exp_coeff[2] + (15 + (exp_code << 1)));
- exp_max[3] = (exp_coeff[3] + exp_code);
- exp_max[4] = (exp_coeff[4] + (1 + exp_code));
+ exp_max[0] = (exp_coeff[0] - 13);
+ exp_max[1] = (exp_coeff[1] - 14);
+ exp_max[2] = (exp_coeff[2] + (15 + (exp_code << 1)));
+ exp_max[3] = (exp_coeff[3] + exp_code);
+ exp_max[4] = (exp_coeff[4] + (1 + exp_code));
/* Find maximum exponant */
- e_max = exp_max[0];
+ e_max = exp_max[0];
for (i = 1; i < 5; i++)
{
if(exp_max[i] > e_max)
{
- e_max = exp_max[i];
+ e_max = exp_max[i];
}
}
@@ -271,14 +271,14 @@ Word16 Q_gain2( /* Return index of quantization.
}
/* Codebook search */
- dist_min = MAX_32;
- p = &t_qua_gain[min_ind << 1];
+ dist_min = MAX_32;
+ p = &t_qua_gain[min_ind << 1];
- index = 0;
+ index = 0;
for (i = 0; i < size; i++)
{
- g_pitch = *p++;
- g_code = *p++;
+ g_pitch = *p++;
+ g_code = *p++;
g_code = ((g_code * gcode0) + 0x4000)>>15;
g2_pitch = ((g_pitch * g_pitch) + 0x4000)>>15;
@@ -302,14 +302,14 @@ Word16 Q_gain2( /* Return index of quantization.
if(L_tmp < dist_min)
{
- dist_min = L_tmp;
- index = i;
+ dist_min = L_tmp;
+ index = i;
}
}
/* Read the quantized gains */
index = index + min_ind;
- p = &t_qua_gain[(index + index)];
+ p = &t_qua_gain[(index + index)];
*gain_pit = *p++; /* selected pitch gain in Q14 */
g_code = *p++; /* selected code gain in Q11 */
@@ -333,10 +333,10 @@ Word16 Q_gain2( /* Return index of quantization.
/* update table of past quantized energies */
- past_qua_en[3] = past_qua_en[2];
- past_qua_en[2] = past_qua_en[1];
- past_qua_en[1] = past_qua_en[0];
- past_qua_en[0] = qua_ener;
+ past_qua_en[3] = past_qua_en[2];
+ past_qua_en[2] = past_qua_en[1];
+ past_qua_en[1] = past_qua_en[0];
+ past_qua_en[0] = qua_ener;
return (index);
}
diff --git a/media/libstagefright/codecs/amrwbenc/src/q_pulse.c b/media/libstagefright/codecs/amrwbenc/src/q_pulse.c
index 496ca80..80a0b73 100644
--- a/media/libstagefright/codecs/amrwbenc/src/q_pulse.c
+++ b/media/libstagefright/codecs/amrwbenc/src/q_pulse.c
@@ -82,7 +82,7 @@ Word32 quant_2p_2N1( /* (o) return (2*N)+1 bits */
if (vo_sub((Word16) (pos1 & mask), (Word16) (pos2 & mask)) <= 0)
{
/* index = ((pos2 & mask) << N) + (pos1 & mask); */
- index = L_deposit_l(add1((((Word16) (pos2 & mask)) << N), ((Word16) (pos1 & mask))));
+ index = L_deposit_l(add1((((Word16) (pos2 & mask)) << N), ((Word16) (pos1 & mask))));
if ((pos2 & NB_POS) != 0)
{
tmp = (N << 1); /* index += 1 << (2*N); */
@@ -91,7 +91,7 @@ Word32 quant_2p_2N1( /* (o) return (2*N)+1 bits */
} else
{
/* index = ((pos1 & mask) << N) + (pos2 & mask); */
- index = L_deposit_l(add1((((Word16) (pos1 & mask)) << N), ((Word16) (pos2 & mask))));
+ index = L_deposit_l(add1((((Word16) (pos1 & mask)) << N), ((Word16) (pos2 & mask))));
if ((pos1 & NB_POS) != 0)
{
tmp = (N << 1);
@@ -120,14 +120,14 @@ Word32 quant_3p_3N1( /* (o) return (3*N)+1 bits */
{
index = quant_2p_2N1(pos1, pos2, sub(N, 1)); /* index = quant_2p_2N1(pos1, pos2, (N-1)); */
/* index += (pos1 & nb_pos) << N; */
- index = vo_L_add(index, (L_deposit_l((Word16) (pos1 & nb_pos)) << N));
+ index = vo_L_add(index, (L_deposit_l((Word16) (pos1 & nb_pos)) << N));
/* index += quant_1p_N1(pos3, N) << (2*N); */
index = vo_L_add(index, (quant_1p_N1(pos3, N)<<(N << 1)));
} else if (((pos1 ^ pos3) & nb_pos) == 0)
{
index = quant_2p_2N1(pos1, pos3, sub(N, 1)); /* index = quant_2p_2N1(pos1, pos3, (N-1)); */
- index = vo_L_add(index, (L_deposit_l((Word16) (pos1 & nb_pos)) << N));
+ index = vo_L_add(index, (L_deposit_l((Word16) (pos1 & nb_pos)) << N));
/* index += (pos1 & nb_pos) << N; */
index = vo_L_add(index, (quant_1p_N1(pos2, N) << (N << 1)));
/* index += quant_1p_N1(pos2, N) <<
@@ -136,7 +136,7 @@ Word32 quant_3p_3N1( /* (o) return (3*N)+1 bits */
{
index = quant_2p_2N1(pos2, pos3, (N - 1)); /* index = quant_2p_2N1(pos2, pos3, (N-1)); */
/* index += (pos2 & nb_pos) << N; */
- index = vo_L_add(index, (L_deposit_l((Word16) (pos2 & nb_pos)) << N));
+ index = vo_L_add(index, (L_deposit_l((Word16) (pos2 & nb_pos)) << N));
/* index += quant_1p_N1(pos1, N) << (2*N); */
index = vo_L_add(index, (quant_1p_N1(pos1, N) << (N << 1)));
}
@@ -162,21 +162,21 @@ Word32 quant_4p_4N1( /* (o) return (4*N)+1 bits */
{
index = quant_2p_2N1(pos1, pos2, sub(N, 1)); /* index = quant_2p_2N1(pos1, pos2, (N-1)); */
/* index += (pos1 & nb_pos) << N; */
- index = vo_L_add(index, (L_deposit_l((Word16) (pos1 & nb_pos)) << N));
+ index = vo_L_add(index, (L_deposit_l((Word16) (pos1 & nb_pos)) << N));
/* index += quant_2p_2N1(pos3, pos4, N) << (2*N); */
index = vo_L_add(index, (quant_2p_2N1(pos3, pos4, N) << (N << 1)));
} else if (((pos1 ^ pos3) & nb_pos) == 0)
{
index = quant_2p_2N1(pos1, pos3, (N - 1));
/* index += (pos1 & nb_pos) << N; */
- index = vo_L_add(index, (L_deposit_l((Word16) (pos1 & nb_pos)) << N));
+ index = vo_L_add(index, (L_deposit_l((Word16) (pos1 & nb_pos)) << N));
/* index += quant_2p_2N1(pos2, pos4, N) << (2*N); */
index = vo_L_add(index, (quant_2p_2N1(pos2, pos4, N) << (N << 1)));
} else
{
index = quant_2p_2N1(pos2, pos3, (N - 1));
/* index += (pos2 & nb_pos) << N; */
- index = vo_L_add(index, (L_deposit_l((Word16) (pos2 & nb_pos)) << N));
+ index = vo_L_add(index, (L_deposit_l((Word16) (pos2 & nb_pos)) << N));
/* index += quant_2p_2N1(pos1, pos4, N) << (2*N); */
index = vo_L_add(index, (quant_2p_2N1(pos1, pos4, N) << (N << 1)));
}
@@ -192,20 +192,20 @@ Word32 quant_4p_4N( /* (o) return 4*N bits */
Word16 posA[4], posB[4];
Word32 i, j, k, index;
- n_1 = (Word16) (N - 1);
+ n_1 = (Word16) (N - 1);
nb_pos = (1 << n_1); /* nb_pos = (1<<n_1); */
mask = vo_sub((1 << N), 1); /* mask = ((1<<N)-1); */
- i = 0;
- j = 0;
+ i = 0;
+ j = 0;
for (k = 0; k < 4; k++)
{
if ((pos[k] & nb_pos) == 0)
{
- posA[i++] = pos[k];
+ posA[i++] = pos[k];
} else
{
- posB[j++] = pos[k];
+ posB[j++] = pos[k];
}
}
@@ -258,19 +258,19 @@ Word32 quant_5p_5N( /* (o) return 5*N bits */
Word16 posA[5], posB[5];
Word32 i, j, k, index, tmp2;
- n_1 = (Word16) (N - 1);
+ n_1 = (Word16) (N - 1);
nb_pos = (1 << n_1); /* nb_pos = (1<<n_1); */
- i = 0;
- j = 0;
+ i = 0;
+ j = 0;
for (k = 0; k < 5; k++)
{
if ((pos[k] & nb_pos) == 0)
{
- posA[i++] = pos[k];
+ posA[i++] = pos[k];
} else
{
- posB[j++] = pos[k];
+ posB[j++] = pos[k];
}
}
@@ -333,19 +333,19 @@ Word32 quant_6p_6N_2( /* (o) return (6*N)-2 bits */
Word32 i, j, k, index;
/* !! N and n_1 are constants -> it doesn't need to be operated by Basic Operators */
- n_1 = (Word16) (N - 1);
+ n_1 = (Word16) (N - 1);
nb_pos = (1 << n_1); /* nb_pos = (1<<n_1); */
- i = 0;
- j = 0;
+ i = 0;
+ j = 0;
for (k = 0; k < 6; k++)
{
if ((pos[k] & nb_pos) == 0)
{
- posA[i++] = pos[k];
+ posA[i++] = pos[k];
} else
{
- posB[j++] = pos[k];
+ posB[j++] = pos[k];
}
}
@@ -368,23 +368,23 @@ Word32 quant_6p_6N_2( /* (o) return (6*N)-2 bits */
index = vo_L_add(index, quant_2p_2N1(posA[0], posA[1], n_1)); /* index += quant_2p_2N1(posA[0], posA[1], n_1); */
break;
case 3:
- index = (quant_3p_3N1(posA[0], posA[1], posA[2], n_1) << (Word16) (3 * n_1 + 1));
+ index = (quant_3p_3N1(posA[0], posA[1], posA[2], n_1) << (Word16) (3 * n_1 + 1));
/* index = quant_3p_3N1(posA[0], posA[1], posA[2], n_1) << ((3*n_1)+1); */
- index =vo_L_add(index, quant_3p_3N1(posB[0], posB[1], posB[2], n_1));
+ index =vo_L_add(index, quant_3p_3N1(posB[0], posB[1], posB[2], n_1));
/* index += quant_3p_3N1(posB[0], posB[1], posB[2], n_1); */
break;
case 4:
- i = 2;
+ i = 2;
index = (quant_4p_4N(posA, n_1) << (Word16) (2 * n_1 + 1)); /* index = quant_4p_4N(posA, n_1) << ((2*n_1)+1); */
index = vo_L_add(index, quant_2p_2N1(posB[0], posB[1], n_1)); /* index += quant_2p_2N1(posB[0], posB[1], n_1); */
break;
case 5:
- i = 1;
+ i = 1;
index = (quant_5p_5N(posA, n_1) << N); /* index = quant_5p_5N(posA, n_1) << N; */
index = vo_L_add(index, quant_1p_N1(posB[0], n_1)); /* index += quant_1p_N1(posB[0], n_1); */
break;
case 6:
- i = 0;
+ i = 0;
index = (quant_5p_5N(posA, n_1) << N); /* index = quant_5p_5N(posA, n_1) << N; */
index = vo_L_add(index, quant_1p_N1(posA[5], n_1)); /* index += quant_1p_N1(posA[5], n_1); */
break;
diff --git a/media/libstagefright/codecs/amrwbenc/src/qisf_ns.c b/media/libstagefright/codecs/amrwbenc/src/qisf_ns.c
index f6d53de..fc2f00d 100644
--- a/media/libstagefright/codecs/amrwbenc/src/qisf_ns.c
+++ b/media/libstagefright/codecs/amrwbenc/src/qisf_ns.c
@@ -43,14 +43,14 @@ void Qisf_ns(
for (i = 0; i < ORDER; i++)
{
- isf_q[i] = sub(isf1[i], mean_isf_noise[i]);
+ isf_q[i] = sub(isf1[i], mean_isf_noise[i]);
}
- indice[0] = Sub_VQ(&isf_q[0], dico1_isf_noise, 2, SIZE_BK_NOISE1, &tmp);
- indice[1] = Sub_VQ(&isf_q[2], dico2_isf_noise, 3, SIZE_BK_NOISE2, &tmp);
- indice[2] = Sub_VQ(&isf_q[5], dico3_isf_noise, 3, SIZE_BK_NOISE3, &tmp);
- indice[3] = Sub_VQ(&isf_q[8], dico4_isf_noise, 4, SIZE_BK_NOISE4, &tmp);
- indice[4] = Sub_VQ(&isf_q[12], dico5_isf_noise, 4, SIZE_BK_NOISE5, &tmp);
+ indice[0] = Sub_VQ(&isf_q[0], dico1_isf_noise, 2, SIZE_BK_NOISE1, &tmp);
+ indice[1] = Sub_VQ(&isf_q[2], dico2_isf_noise, 3, SIZE_BK_NOISE2, &tmp);
+ indice[2] = Sub_VQ(&isf_q[5], dico3_isf_noise, 3, SIZE_BK_NOISE3, &tmp);
+ indice[3] = Sub_VQ(&isf_q[8], dico4_isf_noise, 4, SIZE_BK_NOISE4, &tmp);
+ indice[4] = Sub_VQ(&isf_q[12], dico5_isf_noise, 4, SIZE_BK_NOISE5, &tmp);
/* decoding the ISFs */
@@ -78,28 +78,28 @@ void Disf_ns(
for (i = 0; i < 2; i++)
{
- isf_q[i] = dico1_isf_noise[indice[0] * 2 + i];
+ isf_q[i] = dico1_isf_noise[indice[0] * 2 + i];
}
for (i = 0; i < 3; i++)
{
- isf_q[i + 2] = dico2_isf_noise[indice[1] * 3 + i];
+ isf_q[i + 2] = dico2_isf_noise[indice[1] * 3 + i];
}
for (i = 0; i < 3; i++)
{
- isf_q[i + 5] = dico3_isf_noise[indice[2] * 3 + i];
+ isf_q[i + 5] = dico3_isf_noise[indice[2] * 3 + i];
}
for (i = 0; i < 4; i++)
{
- isf_q[i + 8] = dico4_isf_noise[indice[3] * 4 + i];
+ isf_q[i + 8] = dico4_isf_noise[indice[3] * 4 + i];
}
for (i = 0; i < 4; i++)
{
- isf_q[i + 12] = dico5_isf_noise[indice[4] * 4 + i];
+ isf_q[i + 12] = dico5_isf_noise[indice[4] * 4 + i];
}
for (i = 0; i < ORDER; i++)
{
- isf_q[i] = add(isf_q[i], mean_isf_noise[i]);
+ isf_q[i] = add(isf_q[i], mean_isf_noise[i]);
}
Reorder_isf(isf_q, ISF_GAP, ORDER);
diff --git a/media/libstagefright/codecs/amrwbenc/src/qpisf_2s.c b/media/libstagefright/codecs/amrwbenc/src/qpisf_2s.c
index ac13a67..c711cd0 100644
--- a/media/libstagefright/codecs/amrwbenc/src/qpisf_2s.c
+++ b/media/libstagefright/codecs/amrwbenc/src/qpisf_2s.c
@@ -70,30 +70,30 @@ void Qpisf_2s_46b(
for (i = 0; i < ORDER; i++)
{
isf[i] = vo_sub(isf1[i], mean_isf[i]);
- isf[i] = vo_sub(isf[i], vo_mult(MU, past_isfq[i]));
+ isf[i] = vo_sub(isf[i], vo_mult(MU, past_isfq[i]));
}
VQ_stage1(&isf[0], dico1_isf, 9, SIZE_BK1, surv1, nb_surv);
- distance = MAX_32;
+ distance = MAX_32;
for (k = 0; k < nb_surv; k++)
{
for (i = 0; i < 9; i++)
{
- isf_stage2[i] = vo_sub(isf[i], dico1_isf[i + surv1[k] * 9]);
+ isf_stage2[i] = vo_sub(isf[i], dico1_isf[i + surv1[k] * 9]);
}
- tmp_ind[0] = Sub_VQ(&isf_stage2[0], dico21_isf, 3, SIZE_BK21, &min_err);
+ tmp_ind[0] = Sub_VQ(&isf_stage2[0], dico21_isf, 3, SIZE_BK21, &min_err);
temp = min_err;
- tmp_ind[1] = Sub_VQ(&isf_stage2[3], dico22_isf, 3, SIZE_BK22, &min_err);
+ tmp_ind[1] = Sub_VQ(&isf_stage2[3], dico22_isf, 3, SIZE_BK22, &min_err);
temp = vo_L_add(temp, min_err);
- tmp_ind[2] = Sub_VQ(&isf_stage2[6], dico23_isf, 3, SIZE_BK23, &min_err);
+ tmp_ind[2] = Sub_VQ(&isf_stage2[6], dico23_isf, 3, SIZE_BK23, &min_err);
temp = vo_L_add(temp, min_err);
if(temp < distance)
{
- distance = temp;
- indice[0] = surv1[k];
+ distance = temp;
+ indice[0] = surv1[k];
for (i = 0; i < 3; i++)
{
indice[i + 2] = tmp_ind[i];
@@ -104,24 +104,24 @@ void Qpisf_2s_46b(
VQ_stage1(&isf[9], dico2_isf, 7, SIZE_BK2, surv1, nb_surv);
- distance = MAX_32;
+ distance = MAX_32;
for (k = 0; k < nb_surv; k++)
{
for (i = 0; i < 7; i++)
{
- isf_stage2[i] = vo_sub(isf[9 + i], dico2_isf[i + surv1[k] * 7]);
+ isf_stage2[i] = vo_sub(isf[9 + i], dico2_isf[i + surv1[k] * 7]);
}
tmp_ind[0] = Sub_VQ(&isf_stage2[0], dico24_isf, 3, SIZE_BK24, &min_err);
- temp = min_err;
+ temp = min_err;
tmp_ind[1] = Sub_VQ(&isf_stage2[3], dico25_isf, 4, SIZE_BK25, &min_err);
temp = vo_L_add(temp, min_err);
if(temp < distance)
{
- distance = temp;
- indice[1] = surv1[k];
+ distance = temp;
+ indice[1] = surv1[k];
for (i = 0; i < 2; i++)
{
indice[i + 5] = tmp_ind[i];
@@ -165,24 +165,24 @@ void Qpisf_2s_36b(
VQ_stage1(&isf[0], dico1_isf, 9, SIZE_BK1, surv1, nb_surv);
- distance = MAX_32;
+ distance = MAX_32;
for (k = 0; k < nb_surv; k++)
{
for (i = 0; i < 9; i++)
{
- isf_stage2[i] = vo_sub(isf[i], dico1_isf[i + surv1[k] * 9]);
+ isf_stage2[i] = vo_sub(isf[i], dico1_isf[i + surv1[k] * 9]);
}
- tmp_ind[0] = Sub_VQ(&isf_stage2[0], dico21_isf_36b, 5, SIZE_BK21_36b, &min_err);
- temp = min_err;
- tmp_ind[1] = Sub_VQ(&isf_stage2[5], dico22_isf_36b, 4, SIZE_BK22_36b, &min_err);
+ tmp_ind[0] = Sub_VQ(&isf_stage2[0], dico21_isf_36b, 5, SIZE_BK21_36b, &min_err);
+ temp = min_err;
+ tmp_ind[1] = Sub_VQ(&isf_stage2[5], dico22_isf_36b, 4, SIZE_BK22_36b, &min_err);
temp = vo_L_add(temp, min_err);
if(temp < distance)
{
- distance = temp;
- indice[0] = surv1[k];
+ distance = temp;
+ indice[0] = surv1[k];
for (i = 0; i < 2; i++)
{
indice[i + 2] = tmp_ind[i];
@@ -191,23 +191,23 @@ void Qpisf_2s_36b(
}
VQ_stage1(&isf[9], dico2_isf, 7, SIZE_BK2, surv1, nb_surv);
- distance = MAX_32;
+ distance = MAX_32;
for (k = 0; k < nb_surv; k++)
{
for (i = 0; i < 7; i++)
{
- isf_stage2[i] = vo_sub(isf[9 + i], dico2_isf[i + surv1[k] * 7]);
+ isf_stage2[i] = vo_sub(isf[9 + i], dico2_isf[i + surv1[k] * 7]);
}
- tmp_ind[0] = Sub_VQ(&isf_stage2[0], dico23_isf_36b, 7, SIZE_BK23_36b, &min_err);
- temp = min_err;
+ tmp_ind[0] = Sub_VQ(&isf_stage2[0], dico23_isf_36b, 7, SIZE_BK23_36b, &min_err);
+ temp = min_err;
if(temp < distance)
{
- distance = temp;
- indice[1] = surv1[k];
- indice[4] = tmp_ind[0];
+ distance = temp;
+ indice[1] = surv1[k];
+ indice[4] = tmp_ind[0];
}
}
@@ -239,32 +239,32 @@ void Dpisf_2s_46b(
{
for (i = 0; i < 9; i++)
{
- isf_q[i] = dico1_isf[indice[0] * 9 + i];
+ isf_q[i] = dico1_isf[indice[0] * 9 + i];
}
for (i = 0; i < 7; i++)
{
- isf_q[i + 9] = dico2_isf[indice[1] * 7 + i];
+ isf_q[i + 9] = dico2_isf[indice[1] * 7 + i];
}
for (i = 0; i < 3; i++)
{
- isf_q[i] = add1(isf_q[i], dico21_isf[indice[2] * 3 + i]);
- isf_q[i + 3] = add1(isf_q[i + 3], dico22_isf[indice[3] * 3 + i]);
- isf_q[i + 6] = add1(isf_q[i + 6], dico23_isf[indice[4] * 3 + i]);
- isf_q[i + 9] = add1(isf_q[i + 9], dico24_isf[indice[5] * 3 + i]);
+ isf_q[i] = add1(isf_q[i], dico21_isf[indice[2] * 3 + i]);
+ isf_q[i + 3] = add1(isf_q[i + 3], dico22_isf[indice[3] * 3 + i]);
+ isf_q[i + 6] = add1(isf_q[i + 6], dico23_isf[indice[4] * 3 + i]);
+ isf_q[i + 9] = add1(isf_q[i + 9], dico24_isf[indice[5] * 3 + i]);
}
for (i = 0; i < 4; i++)
{
- isf_q[i + 12] = add1(isf_q[i + 12], dico25_isf[indice[6] * 4 + i]);
+ isf_q[i + 12] = add1(isf_q[i + 12], dico25_isf[indice[6] * 4 + i]);
}
for (i = 0; i < ORDER; i++)
{
- tmp = isf_q[i];
- isf_q[i] = add1(tmp, mean_isf[i]);
+ tmp = isf_q[i];
+ isf_q[i] = add1(tmp, mean_isf[i]);
isf_q[i] = add1(isf_q[i], vo_mult(MU, past_isfq[i]));
- past_isfq[i] = tmp;
+ past_isfq[i] = tmp;
}
if (enc_dec)
@@ -273,9 +273,9 @@ void Dpisf_2s_46b(
{
for (j = (L_MEANBUF - 1); j > 0; j--)
{
- isf_buf[j * M + i] = isf_buf[(j - 1) * M + i];
+ isf_buf[j * M + i] = isf_buf[(j - 1) * M + i];
}
- isf_buf[i] = isf_q[i];
+ isf_buf[i] = isf_q[i];
}
}
} else
@@ -293,14 +293,14 @@ void Dpisf_2s_46b(
/* use the past ISFs slightly shifted towards their mean */
for (i = 0; i < ORDER; i++)
{
- isf_q[i] = add1(vo_mult(ALPHA, isfold[i]), vo_mult(ONE_ALPHA, ref_isf[i]));
+ isf_q[i] = add1(vo_mult(ALPHA, isfold[i]), vo_mult(ONE_ALPHA, ref_isf[i]));
}
/* estimate past quantized residual to be used in next frame */
for (i = 0; i < ORDER; i++)
{
tmp = add1(ref_isf[i], vo_mult(past_isfq[i], MU)); /* predicted ISF */
- past_isfq[i] = vo_sub(isf_q[i], tmp);
+ past_isfq[i] = vo_sub(isf_q[i], tmp);
past_isfq[i] = (past_isfq[i] >> 1); /* past_isfq[i] *= 0.5 */
}
}
@@ -332,32 +332,32 @@ void Dpisf_2s_36b(
{
for (i = 0; i < 9; i++)
{
- isf_q[i] = dico1_isf[indice[0] * 9 + i];
+ isf_q[i] = dico1_isf[indice[0] * 9 + i];
}
for (i = 0; i < 7; i++)
{
- isf_q[i + 9] = dico2_isf[indice[1] * 7 + i];
+ isf_q[i + 9] = dico2_isf[indice[1] * 7 + i];
}
for (i = 0; i < 5; i++)
{
- isf_q[i] = add1(isf_q[i], dico21_isf_36b[indice[2] * 5 + i]);
+ isf_q[i] = add1(isf_q[i], dico21_isf_36b[indice[2] * 5 + i]);
}
for (i = 0; i < 4; i++)
{
- isf_q[i + 5] = add1(isf_q[i + 5], dico22_isf_36b[indice[3] * 4 + i]);
+ isf_q[i + 5] = add1(isf_q[i + 5], dico22_isf_36b[indice[3] * 4 + i]);
}
for (i = 0; i < 7; i++)
{
- isf_q[i + 9] = add1(isf_q[i + 9], dico23_isf_36b[indice[4] * 7 + i]);
+ isf_q[i + 9] = add1(isf_q[i + 9], dico23_isf_36b[indice[4] * 7 + i]);
}
for (i = 0; i < ORDER; i++)
{
tmp = isf_q[i];
- isf_q[i] = add1(tmp, mean_isf[i]);
- isf_q[i] = add1(isf_q[i], vo_mult(MU, past_isfq[i]));
- past_isfq[i] = tmp;
+ isf_q[i] = add1(tmp, mean_isf[i]);
+ isf_q[i] = add1(isf_q[i], vo_mult(MU, past_isfq[i]));
+ past_isfq[i] = tmp;
}
@@ -367,9 +367,9 @@ void Dpisf_2s_36b(
{
for (j = (L_MEANBUF - 1); j > 0; j--)
{
- isf_buf[j * M + i] = isf_buf[(j - 1) * M + i];
+ isf_buf[j * M + i] = isf_buf[(j - 1) * M + i];
}
- isf_buf[i] = isf_q[i];
+ isf_buf[i] = isf_q[i];
}
}
} else
@@ -381,20 +381,20 @@ void Dpisf_2s_36b(
{
L_tmp += (isf_buf[j * M + i] << 14);
}
- ref_isf[i] = vo_round(L_tmp);
+ ref_isf[i] = vo_round(L_tmp);
}
/* use the past ISFs slightly shifted towards their mean */
for (i = 0; i < ORDER; i++)
{
- isf_q[i] = add1(vo_mult(ALPHA, isfold[i]), vo_mult(ONE_ALPHA, ref_isf[i]));
+ isf_q[i] = add1(vo_mult(ALPHA, isfold[i]), vo_mult(ONE_ALPHA, ref_isf[i]));
}
/* estimate past quantized residual to be used in next frame */
for (i = 0; i < ORDER; i++)
{
tmp = add1(ref_isf[i], vo_mult(past_isfq[i], MU)); /* predicted ISF */
- past_isfq[i] = vo_sub(isf_q[i], tmp);
+ past_isfq[i] = vo_sub(isf_q[i], tmp);
past_isfq[i] = past_isfq[i] >> 1; /* past_isfq[i] *= 0.5 */
}
}
@@ -424,15 +424,15 @@ void Reorder_isf(
Word16 n /* (i) : number of ISF */
)
{
- Word32 i;
+ Word32 i;
Word16 isf_min;
- isf_min = min_dist;
+ isf_min = min_dist;
for (i = 0; i < n - 1; i++)
{
if(isf[i] < isf_min)
{
- isf[i] = isf_min;
+ isf[i] = isf_min;
}
isf_min = (isf[i] + min_dist);
}
@@ -452,13 +452,13 @@ Word16 Sub_VQ( /* output: return quantization index
Word32 i, j, index;
Word32 dist_min, dist;
- dist_min = MAX_32;
- p_dico = dico;
+ dist_min = MAX_32;
+ p_dico = dico;
- index = 0;
+ index = 0;
for (i = 0; i < dico_size; i++)
{
- dist = 0;
+ dist = 0;
for (j = 0; j < dim; j++)
{
@@ -468,18 +468,18 @@ Word16 Sub_VQ( /* output: return quantization index
if(dist < dist_min)
{
- dist_min = dist;
- index = i;
+ dist_min = dist;
+ index = i;
}
}
- *distance = dist_min;
+ *distance = dist_min;
/* Reading the selected vector */
- p_dico = &dico[index * dim];
+ p_dico = &dico[index * dim];
for (j = 0; j < dim; j++)
{
- x[j] = *p_dico++;
+ x[j] = *p_dico++;
}
return index;
@@ -508,11 +508,11 @@ static void VQ_stage1(
index[2] = 2;
index[3] = 3;
- p_dico = dico;
+ p_dico = dico;
for (i = 0; i < dico_size; i++)
{
- dist = 0;
+ dist = 0;
for (j = 0; j < dim; j++)
{
temp = x[j] - (*p_dico++);
@@ -525,11 +525,11 @@ static void VQ_stage1(
{
for (l = surv - 1; l > k; l--)
{
- dist_min[l] = dist_min[l - 1];
- index[l] = index[l - 1];
+ dist_min[l] = dist_min[l - 1];
+ index[l] = index[l - 1];
}
- dist_min[k] = dist;
- index[k] = i;
+ dist_min[k] = dist;
+ index[k] = i;
break;
}
}
diff --git a/media/libstagefright/codecs/amrwbenc/src/residu.c b/media/libstagefright/codecs/amrwbenc/src/residu.c
index 328aed2..b0c04b5 100644
--- a/media/libstagefright/codecs/amrwbenc/src/residu.c
+++ b/media/libstagefright/codecs/amrwbenc/src/residu.c
@@ -56,7 +56,7 @@ void Residu(
s += vo_mult32((*p1++), (*p2--));
s += vo_mult32((*p1), (*p2));
- s = L_shl2(s, 5);
+ s = L_shl2(s, 5);
y[i] = extract_h(L_add(s, 0x8000));
}
diff --git a/media/libstagefright/codecs/amrwbenc/src/scale.c b/media/libstagefright/codecs/amrwbenc/src/scale.c
index b203bec..418cc06 100644
--- a/media/libstagefright/codecs/amrwbenc/src/scale.c
+++ b/media/libstagefright/codecs/amrwbenc/src/scale.c
@@ -36,8 +36,8 @@ void Scale_sig(
{
for (i = lg - 1 ; i >= 0; i--)
{
- L_tmp = L_shl2(x[i], 16 + exp);
- x[i] = extract_h(L_add(L_tmp, 0x8000));
+ L_tmp = L_shl2(x[i], 16 + exp);
+ x[i] = extract_h(L_add(L_tmp, 0x8000));
}
}
else
@@ -46,8 +46,8 @@ void Scale_sig(
for (i = lg - 1; i >= 0; i--)
{
L_tmp = x[i] << 16;
- L_tmp >>= exp;
- x[i] = (L_tmp + 0x8000)>>16;
+ L_tmp >>= exp;
+ x[i] = (L_tmp + 0x8000)>>16;
}
}
return;
diff --git a/media/libstagefright/codecs/amrwbenc/src/stream.c b/media/libstagefright/codecs/amrwbenc/src/stream.c
index bdf0d46..780f009 100644
--- a/media/libstagefright/codecs/amrwbenc/src/stream.c
+++ b/media/libstagefright/codecs/amrwbenc/src/stream.c
@@ -29,11 +29,11 @@ void voAWB_InitFrameBuffer(FrameStream *stream)
stream->frame_ptr_bk = stream->frame_ptr;
stream->set_len = 0;
stream->framebuffer_len = 0;
- stream->frame_storelen = 0;
+ stream->frame_storelen = 0;
}
void voAWB_UpdateFrameBuffer(
- FrameStream *stream,
+ FrameStream *stream,
VO_MEM_OPERATOR *pMemOP
)
{
@@ -53,6 +53,6 @@ void voAWB_FlushFrameBuffer(FrameStream *stream)
stream->frame_ptr_bk = stream->frame_ptr;
stream->set_len = 0;
stream->framebuffer_len = 0;
- stream->frame_storelen = 0;
+ stream->frame_storelen = 0;
}
diff --git a/media/libstagefright/codecs/amrwbenc/src/syn_filt.c b/media/libstagefright/codecs/amrwbenc/src/syn_filt.c
index 90fafb0..1bda05a 100644
--- a/media/libstagefright/codecs/amrwbenc/src/syn_filt.c
+++ b/media/libstagefright/codecs/amrwbenc/src/syn_filt.c
@@ -39,11 +39,11 @@ void Syn_filt(
Word16 y_buf[L_SUBFR16k + M16k];
Word32 L_tmp;
Word16 *yy, *p1, *p2;
- yy = &y_buf[0];
+ yy = &y_buf[0];
/* copy initial filter states into synthesis buffer */
for (i = 0; i < 16; i++)
{
- *yy++ = mem[i];
+ *yy++ = mem[i];
}
a0 = (a[0] >> 1); /* input / 2 */
/* Do the filtering. */
@@ -70,7 +70,7 @@ void Syn_filt(
L_tmp -= vo_mult32((*p1), (*p2));
L_tmp = L_shl2(L_tmp, 4);
- y[i] = yy[i] = extract_h(L_add(L_tmp, 0x8000));
+ y[i] = yy[i] = extract_h(L_add(L_tmp, 0x8000));
}
/* Update memory if required */
if (update)
@@ -99,7 +99,7 @@ void Syn_filt_32(
/* Do the filtering. */
for (i = 0; i < lg; i++)
{
- L_tmp = 0;
+ L_tmp = 0;
L_tmp1 = 0;
p1 = a;
p2 = &sig_lo[i - 1];
@@ -138,18 +138,18 @@ void Syn_filt_32(
L_tmp -= vo_mult32((*p2--), (*p1));
L_tmp1 -= vo_mult32((*p3--), (*p1++));
- L_tmp = L_tmp >> 11;
+ L_tmp = L_tmp >> 11;
L_tmp += vo_L_mult(exc[i], a0);
/* sig_hi = bit16 to bit31 of synthesis */
L_tmp = L_tmp - (L_tmp1<<1);
L_tmp = L_tmp >> 3; /* ai in Q12 */
- sig_hi[i] = extract_h(L_tmp);
+ sig_hi[i] = extract_h(L_tmp);
/* sig_lo = bit4 to bit15 of synthesis */
L_tmp >>= 4; /* 4 : sig_lo[i] >> 4 */
- sig_lo[i] = (Word16)((L_tmp - (sig_hi[i] << 13)));
+ sig_lo[i] = (Word16)((L_tmp - (sig_hi[i] << 13)));
}
return;
diff --git a/media/libstagefright/codecs/amrwbenc/src/updt_tar.c b/media/libstagefright/codecs/amrwbenc/src/updt_tar.c
index eda2b1c..96779fd 100644
--- a/media/libstagefright/codecs/amrwbenc/src/updt_tar.c
+++ b/media/libstagefright/codecs/amrwbenc/src/updt_tar.c
@@ -39,7 +39,7 @@ void Updt_tar(
{
L_tmp = x[i] << 15;
L_tmp -= (y[i] * gain)<<1;
- x2[i] = extract_h(L_shl2(L_tmp, 1));
+ x2[i] = extract_h(L_shl2(L_tmp, 1));
}
return;
diff --git a/media/libstagefright/codecs/amrwbenc/src/voAMRWBEnc.c b/media/libstagefright/codecs/amrwbenc/src/voAMRWBEnc.c
index bac00dd..0f4d689 100644
--- a/media/libstagefright/codecs/amrwbenc/src/voAMRWBEnc.c
+++ b/media/libstagefright/codecs/amrwbenc/src/voAMRWBEnc.c
@@ -84,11 +84,11 @@ void Reset_encoder(void *st, Word16 reset_all)
Set_zero(cod_state->old_exc, PIT_MAX + L_INTERPOL);
Set_zero(cod_state->mem_syn, M);
Set_zero(cod_state->past_isfq, M);
- cod_state->mem_w0 = 0;
- cod_state->tilt_code = 0;
- cod_state->first_frame = 1;
+ cod_state->mem_w0 = 0;
+ cod_state->tilt_code = 0;
+ cod_state->first_frame = 1;
Init_gp_clip(cod_state->gp_clip);
- cod_state->L_gc_thres = 0;
+ cod_state->L_gc_thres = 0;
if (reset_all != 0)
{
/* Static vectors to zero */
@@ -105,21 +105,21 @@ void Reset_encoder(void *st, Word16 reset_all)
Copy(isp_init, cod_state->ispold, M);
Copy(isp_init, cod_state->ispold_q, M);
/* variable initialization */
- cod_state->mem_preemph = 0;
- cod_state->mem_wsp = 0;
- cod_state->Q_old = 15;
- cod_state->Q_max[0] = 15;
- cod_state->Q_max[1] = 15;
- cod_state->old_wsp_max = 0;
- cod_state->old_wsp_shift = 0;
+ cod_state->mem_preemph = 0;
+ cod_state->mem_wsp = 0;
+ cod_state->Q_old = 15;
+ cod_state->Q_max[0] = 15;
+ cod_state->Q_max[1] = 15;
+ cod_state->old_wsp_max = 0;
+ cod_state->old_wsp_shift = 0;
/* pitch ol initialization */
- cod_state->old_T0_med = 40;
- cod_state->ol_gain = 0;
- cod_state->ada_w = 0;
- cod_state->ol_wght_flg = 0;
+ cod_state->old_T0_med = 40;
+ cod_state->ol_gain = 0;
+ cod_state->ada_w = 0;
+ cod_state->ol_wght_flg = 0;
for (i = 0; i < 5; i++)
{
- cod_state->old_ol_lag[i] = 40;
+ cod_state->old_ol_lag[i] = 40;
}
Set_zero(cod_state->old_hp_wsp, (L_FRAME / 2) / OPL_DECIM + (PIT_MAX / OPL_DECIM));
Set_zero(cod_state->mem_syn_hf, M);
@@ -129,10 +129,10 @@ void Reset_encoder(void *st, Word16 reset_all)
Init_Filt_6k_7k(cod_state->mem_hf);
Init_HP400_12k8(cod_state->mem_hp400);
Copy(isf_init, cod_state->isfold, M);
- cod_state->mem_deemph = 0;
- cod_state->seed2 = 21845;
+ cod_state->mem_deemph = 0;
+ cod_state->seed2 = 21845;
Init_Filt_6k_7k(cod_state->mem_hf2);
- cod_state->gain_alpha = 32767;
+ cod_state->gain_alpha = 32767;
cod_state->vad_hist = 0;
wb_vad_reset(cod_state->vadSt);
dtx_enc_reset(cod_state->dtx_encSt, isf_init);
@@ -212,8 +212,8 @@ void coder(
st = (Coder_State *) spe_state;
- *ser_size = nb_of_bits[*mode];
- codec_mode = *mode;
+ *ser_size = nb_of_bits[*mode];
+ codec_mode = *mode;
/*--------------------------------------------------------------------------*
* Initialize pointers to speech vector. *
@@ -233,10 +233,10 @@ void coder(
new_speech = old_speech + L_TOTAL - L_FRAME - L_FILT; /* New speech */
speech = old_speech + L_TOTAL - L_FRAME - L_NEXT; /* Present frame */
- p_window = old_speech + L_TOTAL - L_WINDOW;
+ p_window = old_speech + L_TOTAL - L_WINDOW;
- exc = old_exc + PIT_MAX + L_INTERPOL;
- wsp = old_wsp + (PIT_MAX / OPL_DECIM);
+ exc = old_exc + PIT_MAX + L_INTERPOL;
+ wsp = old_wsp + (PIT_MAX / OPL_DECIM);
/* copy coder memory state into working space */
Copy(st->old_speech, old_speech, L_TOTAL - L_FRAME);
@@ -287,7 +287,7 @@ void coder(
L_tmp = L_abs(L_tmp);
if(L_tmp > L_max)
{
- L_max = L_tmp;
+ L_max = L_tmp;
}
}
@@ -297,50 +297,50 @@ void coder(
tmp = extract_h(L_max);
if (tmp == 0)
{
- shift = Q_MAX;
+ shift = Q_MAX;
} else
{
shift = norm_s(tmp) - 1;
if (shift < 0)
{
- shift = 0;
+ shift = 0;
}
if (shift > Q_MAX)
{
- shift = Q_MAX;
+ shift = Q_MAX;
}
}
- Q_new = shift;
+ Q_new = shift;
if (Q_new > st->Q_max[0])
{
- Q_new = st->Q_max[0];
+ Q_new = st->Q_max[0];
}
if (Q_new > st->Q_max[1])
{
- Q_new = st->Q_max[1];
+ Q_new = st->Q_max[1];
}
exp = (Q_new - st->Q_old);
- st->Q_old = Q_new;
- st->Q_max[1] = st->Q_max[0];
- st->Q_max[0] = shift;
+ st->Q_old = Q_new;
+ st->Q_max[1] = st->Q_max[0];
+ st->Q_max[0] = shift;
/* preemphasis with scaling (L_FRAME+L_FILT) */
- tmp = new_speech[L_FRAME - 1];
+ tmp = new_speech[L_FRAME - 1];
for (i = L_FRAME + L_FILT - 1; i > 0; i--)
{
L_tmp = new_speech[i] << 15;
L_tmp -= (new_speech[i - 1] * mu)<<1;
L_tmp = (L_tmp << Q_new);
- new_speech[i] = vo_round(L_tmp);
+ new_speech[i] = vo_round(L_tmp);
}
L_tmp = new_speech[0] << 15;
L_tmp -= (st->mem_preemph * mu)<<1;
L_tmp = (L_tmp << Q_new);
- new_speech[0] = vo_round(L_tmp);
+ new_speech[0] = vo_round(L_tmp);
- st->mem_preemph = tmp;
+ st->mem_preemph = tmp;
/* scale previous samples and memory */
@@ -364,13 +364,13 @@ void coder(
Scale_sig(buf, L_FRAME, 1 - Q_new);
#endif
- vad_flag = wb_vad(st->vadSt, buf); /* Voice Activity Detection */
+ vad_flag = wb_vad(st->vadSt, buf); /* Voice Activity Detection */
if (vad_flag == 0)
{
- st->vad_hist = (st->vad_hist + 1);
+ st->vad_hist = (st->vad_hist + 1);
} else
{
- st->vad_hist = 0;
+ st->vad_hist = 0;
}
/* DTX processing */
@@ -378,7 +378,7 @@ void coder(
{
/* Note that mode may change here */
tx_dtx_handler(st->dtx_encSt, vad_flag, mode);
- *ser_size = nb_of_bits[*mode];
+ *ser_size = nb_of_bits[*mode];
}
if(*mode != MRDTX)
@@ -423,7 +423,7 @@ void coder(
* - scale wsp[] to avoid overflow in pitch estimation *
* - Find open loop pitch lag for whole speech frame *
*----------------------------------------------------------------------*/
- p_A = A;
+ p_A = A;
for (i_subfr = 0; i_subfr < L_FRAME; i_subfr += L_SUBFR)
{
/* Weighting of LPC coefficients */
@@ -435,27 +435,27 @@ void coder(
Residu(Ap, &speech[i_subfr], &wsp[i_subfr], L_SUBFR);
#endif
- p_A += (M + 1);
+ p_A += (M + 1);
}
Deemph2(wsp, TILT_FAC, L_FRAME, &(st->mem_wsp));
/* find maximum value on wsp[] for 12 bits scaling */
- max = 0;
+ max = 0;
for (i = 0; i < L_FRAME; i++)
{
tmp = abs_s(wsp[i]);
if(tmp > max)
{
- max = tmp;
+ max = tmp;
}
}
- tmp = st->old_wsp_max;
+ tmp = st->old_wsp_max;
if(max > tmp)
{
tmp = max; /* tmp = max(wsp_max, old_wsp_max) */
}
- st->old_wsp_max = max;
+ st->old_wsp_max = max;
shift = norm_s(tmp) - 3;
if (shift > 0)
@@ -494,8 +494,8 @@ void coder(
if(st->ol_gain > 19661) /* 0.6 in Q15 */
{
- st->old_T0_med = Med_olag(T_op, st->old_ol_lag);
- st->ada_w = 32767;
+ st->old_T0_med = Med_olag(T_op, st->old_ol_lag);
+ st->ada_w = 32767;
} else
{
st->ada_w = vo_mult(st->ada_w, 29491);
@@ -507,7 +507,7 @@ void coder(
st->ol_wght_flg = 1;
wb_vad_tone_detection(st->vadSt, st->ol_gain);
- T_op *= OPL_DECIM;
+ T_op *= OPL_DECIM;
if(*ser_size != NBBITS_7k)
{
@@ -516,11 +516,11 @@ void coder(
if(st->ol_gain > 19661) /* 0.6 in Q15 */
{
- st->old_T0_med = Med_olag(T_op2, st->old_ol_lag);
- st->ada_w = 32767;
+ st->old_T0_med = Med_olag(T_op2, st->old_ol_lag);
+ st->ada_w = 32767;
} else
{
- st->ada_w = mult(st->ada_w, 29491);
+ st->ada_w = mult(st->ada_w, 29491);
}
if(st->ada_w < 26214)
@@ -530,11 +530,11 @@ void coder(
wb_vad_tone_detection(st->vadSt, st->ol_gain);
- T_op2 *= OPL_DECIM;
+ T_op2 *= OPL_DECIM;
} else
{
- T_op2 = T_op;
+ T_op2 = T_op;
}
/*----------------------------------------------------------------------*
* DTX-CNG *
@@ -550,10 +550,10 @@ void coder(
for (i = 0; i < L_FRAME; i++)
{
- exc2[i] = shr(exc[i], Q_new);
+ exc2[i] = shr(exc[i], Q_new);
}
- L_tmp = 0;
+ L_tmp = 0;
for (i = 0; i < L_FRAME; i++)
L_tmp += (exc2[i] * exc2[i])<<1;
@@ -617,23 +617,23 @@ void coder(
/* Check stability on isf : distance between old isf and current isf */
- L_tmp = 0;
+ L_tmp = 0;
for (i = 0; i < M - 1; i++)
{
tmp = vo_sub(isf[i], st->isfold[i]);
L_tmp += (tmp * tmp)<<1;
}
- tmp = extract_h(L_shl2(L_tmp, 8));
+ tmp = extract_h(L_shl2(L_tmp, 8));
tmp = vo_mult(tmp, 26214); /* tmp = L_tmp*0.8/256 */
tmp = vo_sub(20480, tmp); /* 1.25 - tmp (in Q14) */
- stab_fac = shl(tmp, 1);
+ stab_fac = shl(tmp, 1);
if (stab_fac < 0)
{
- stab_fac = 0;
+ stab_fac = 0;
}
Copy(isf, st->isfold, M);
@@ -642,7 +642,7 @@ void coder(
if (st->first_frame != 0)
{
- st->first_frame = 0;
+ st->first_frame = 0;
Copy(ispnew_q, st->ispold_q, M);
}
/* Find the interpolated ISPs and convert to a[] for all subframes */
@@ -660,7 +660,7 @@ void coder(
#else
Residu(p_Aq, &speech[i_subfr], &exc[i_subfr], L_SUBFR);
#endif
- p_Aq += (M + 1);
+ p_Aq += (M + 1);
}
/* Buffer isf's and energy for dtx on non-speech frame */
@@ -670,7 +670,7 @@ void coder(
{
exc2[i] = exc[i] >> Q_new;
}
- L_tmp = 0;
+ L_tmp = 0;
for (i = 0; i < L_FRAME; i++)
L_tmp += (exc2[i] * exc2[i])<<1;
L_tmp >>= 1;
@@ -682,14 +682,14 @@ void coder(
T0_min = T_op - 8;
if (T0_min < PIT_MIN)
{
- T0_min = PIT_MIN;
+ T0_min = PIT_MIN;
}
T0_max = (T0_min + 15);
if(T0_max > PIT_MAX)
{
- T0_max = PIT_MAX;
- T0_min = T0_max - 15;
+ T0_max = PIT_MAX;
+ T0_min = T0_max - 15;
}
/*------------------------------------------------------------------------*
* Loop for every subframe in the analysis frame *
@@ -711,25 +711,25 @@ void coder(
* - update states of weighting filter *
* - find excitation and synthesis speech *
*------------------------------------------------------------------------*/
- p_A = A;
- p_Aq = Aq;
+ p_A = A;
+ p_Aq = Aq;
for (i_subfr = 0; i_subfr < L_FRAME; i_subfr += L_SUBFR)
{
- pit_flag = i_subfr;
+ pit_flag = i_subfr;
if ((i_subfr == 2 * L_SUBFR) && (*ser_size > NBBITS_7k))
{
- pit_flag = 0;
+ pit_flag = 0;
/* range for closed loop pitch search in 3rd subframe */
T0_min = (T_op2 - 8);
if (T0_min < PIT_MIN)
{
- T0_min = PIT_MIN;
+ T0_min = PIT_MIN;
}
T0_max = (T0_min + 15);
if (T0_max > PIT_MAX)
{
- T0_max = PIT_MAX;
+ T0_max = PIT_MAX;
T0_min = (T0_max - 15);
}
}
@@ -776,7 +776,7 @@ void coder(
/* first half: xn[] --> cn[] */
Set_zero(code, M);
Copy(xn, code + M, L_SUBFR / 2);
- tmp = 0;
+ tmp = 0;
Preemph2(code + M, TILT_FAC, L_SUBFR / 2, &tmp);
Weight_a(p_A, Ap, GAMMA1, M);
Syn_filt(Ap,code + M, code + M, L_SUBFR / 2, code, 0);
@@ -791,7 +791,7 @@ void coder(
Copy(&exc[i_subfr + (L_SUBFR / 2)], cn + (L_SUBFR / 2), L_SUBFR / 2);
/*---------------------------------------------------------------*
- * Compute impulse response, h1[], of weighted synthesis filter *
+ * Compute impulse response, h1[], of weighted synthesis filter *
*---------------------------------------------------------------*/
Set_zero(error, M + L_SUBFR);
@@ -814,7 +814,7 @@ void coder(
*vo_p3++ = *vo_p0++ = vo_round((L_tmp <<4));
}
/* deemph without division by 2 -> Q14 to Q15 */
- tmp = 0;
+ tmp = 0;
Deemph2(h1, TILT_FAC, L_SUBFR, &tmp); /* h1 in Q14 */
/* h2 in Q12 for codebook search */
@@ -917,7 +917,7 @@ void coder(
T0_min = (T0 - 8);
if (T0_min < PIT_MIN)
{
- T0_min = PIT_MIN;
+ T0_min = PIT_MIN;
}
T0_max = T0_min + 15;
@@ -964,18 +964,18 @@ void coder(
Convolve_asm(&exc[i_subfr], h1, y1, L_SUBFR);
#else
Convolve(&exc[i_subfr], h1, y1, L_SUBFR);
-#endif
+#endif
gain1 = G_pitch(xn, y1, g_coeff, L_SUBFR);
/* clip gain if necessary to avoid problem at decoder */
if ((clip_gain != 0) && (gain1 > GP_CLIP))
{
- gain1 = GP_CLIP;
+ gain1 = GP_CLIP;
}
/* find energy of new target xn2[] */
Updt_tar(xn, dn, y1, gain1, L_SUBFR); /* dn used temporary */
} else
{
- gain1 = 0;
+ gain1 = 0;
}
/*-----------------------------------------------------------------*
* - find pitch excitation filtered by 1st order LP filter. *
@@ -1002,7 +1002,7 @@ void coder(
Convolve_asm(code, h1, y2, L_SUBFR);
#else
Convolve(code, h1, y2, L_SUBFR);
-#endif
+#endif
gain2 = G_pitch(xn, y2, g_coeff2, L_SUBFR);
@@ -1016,7 +1016,7 @@ void coder(
/*-----------------------------------------------------------------*
* use the best prediction (minimise quadratic error). *
*-----------------------------------------------------------------*/
- select = 0;
+ select = 0;
if(*ser_size > NBBITS_9k)
{
L_tmp = 0L;
@@ -1036,7 +1036,7 @@ void coder(
if (L_tmp <= 0)
{
- select = 1;
+ select = 1;
}
Parm_serial(select, 1, &prms);
}
@@ -1154,7 +1154,7 @@ void coder(
/*-------------------------------------------------------*
* - Add the fixed-gain pitch contribution to code[]. *
*-------------------------------------------------------*/
- tmp = 0;
+ tmp = 0;
Preemph(code, st->tilt_code, L_SUBFR, &tmp);
Pit_shrp(code, T0, PIT_SHARP, L_SUBFR);
/*----------------------------------------------------------*
@@ -1175,7 +1175,7 @@ void coder(
/* test quantized gain of pitch for pitch clipping algorithm */
Gp_clip_test_gain_pit(gain_pit, st->gp_clip);
- L_tmp = L_shl(L_gain_code, Q_new);
+ L_tmp = L_shl(L_gain_code, Q_new);
gain_code = extract_h(L_add(L_tmp, 0x8000));
/*----------------------------------------------------------*
@@ -1218,7 +1218,7 @@ void coder(
L_tmp = (gain_code * code[i])<<1;
L_tmp = (L_tmp << 5);
L_tmp += (exc[i + i_subfr] * gain_pit)<<1;
- L_tmp = L_shl2(L_tmp, 1);
+ L_tmp = L_shl2(L_tmp, 1);
exc[i + i_subfr] = extract_h(L_add(L_tmp, 0x8000));
}
@@ -1242,7 +1242,7 @@ void coder(
*------------------------------------------------------------*/
tmp = (16384 - (voice_fac >> 1)); /* 1=unvoiced, 0=voiced */
fac = vo_mult(stab_fac, tmp);
- L_tmp = L_gain_code;
+ L_tmp = L_gain_code;
if(L_tmp < st->L_gc_thres)
{
L_tmp = vo_L_add(L_tmp, Mpy_32_16(gain_code, gain_code_lo, 6226));
@@ -1276,19 +1276,19 @@ void coder(
L_tmp = L_deposit_h(code[0]);
L_tmp -= (code[1] * tmp)<<1;
- code2[0] = vo_round(L_tmp);
+ code2[0] = vo_round(L_tmp);
for (i = 1; i < L_SUBFR - 1; i++)
{
L_tmp = L_deposit_h(code[i]);
L_tmp -= (code[i + 1] * tmp)<<1;
L_tmp -= (code[i - 1] * tmp)<<1;
- code2[i] = vo_round(L_tmp);
+ code2[i] = vo_round(L_tmp);
}
L_tmp = L_deposit_h(code[L_SUBFR - 1]);
L_tmp -= (code[L_SUBFR - 2] * tmp)<<1;
- code2[L_SUBFR - 1] = vo_round(L_tmp);
+ code2[L_SUBFR - 1] = vo_round(L_tmp);
/* build excitation */
gain_code = vo_round(L_shl(L_gain_code, Q_new));
@@ -1381,7 +1381,7 @@ static Word16 synthesis(
/* Original speech signal as reference for high band gain quantisation */
for (i = 0; i < L_SUBFR16k; i++)
{
- HF_SP[i] = synth16k[i];
+ HF_SP[i] = synth16k[i];
}
/*------------------------------------------------------*
@@ -1454,7 +1454,7 @@ static Word16 synthesis(
fac = div_s(tmp, ener);
} else
{
- fac = 0;
+ fac = 0;
}
/* modify energy of white noise according to synthesis tilt */
@@ -1550,7 +1550,7 @@ static Word16 synthesis(
/*************************************************
*
-* Breif: Codec main function
+* Breif: Codec main function
*
**************************************************/
@@ -1622,7 +1622,7 @@ VO_U32 VO_API voAMRWB_Init(VO_HANDLE * phCodec, /* o: the audi
else
{
pMemOP = (VO_MEM_OPERATOR *)pUserData->memData;
- }
+ }
/*-------------------------------------------------------------------------*
* Memory allocation for coder state. *
*-------------------------------------------------------------------------*/
@@ -1631,8 +1631,8 @@ VO_U32 VO_API voAMRWB_Init(VO_HANDLE * phCodec, /* o: the audi
return VO_ERR_OUTOF_MEMORY;
}
- st->vadSt = NULL;
- st->dtx_encSt = NULL;
+ st->vadSt = NULL;
+ st->dtx_encSt = NULL;
st->sid_update_counter = 3;
st->sid_handover_debt = 0;
st->prev_ft = TX_SPEECH;
@@ -1764,7 +1764,7 @@ VO_U32 VO_API voAMRWB_GetOutputData(
{
pAudioFormat->Format.Channels = 1;
pAudioFormat->Format.SampleRate = 8000;
- pAudioFormat->Format.SampleBits = 16;
+ pAudioFormat->Format.SampleBits = 16;
pAudioFormat->InputUsed = stream->used_len;
}
return VO_ERR_NONE;
@@ -1792,14 +1792,14 @@ VO_U32 VO_API voAMRWB_SetParam(
/* setting AMR-WB frame type*/
case VO_PID_AMRWB_FRAMETYPE:
if(*lValue < VOAMRWB_DEFAULT || *lValue > VOAMRWB_RFC3267)
- return VO_ERR_WRONG_PARAM_ID;
+ return VO_ERR_WRONG_PARAM_ID;
gData->frameType = *lValue;
break;
/* setting AMR-WB bit rate */
case VO_PID_AMRWB_MODE:
{
if(*lValue < VOAMRWB_MD66 || *lValue > VOAMRWB_MD2385)
- return VO_ERR_WRONG_PARAM_ID;
+ return VO_ERR_WRONG_PARAM_ID;
gData->mode = *lValue;
}
break;
@@ -1839,7 +1839,7 @@ VO_U32 VO_API voAMRWB_GetParam(
int temp;
Coder_State* gData = (Coder_State*)hCodec;
- if (gData==NULL)
+ if (gData==NULL)
return VO_ERR_INVALID_ARG;
switch(uParamID)
{
diff --git a/media/libstagefright/codecs/amrwbenc/src/voicefac.c b/media/libstagefright/codecs/amrwbenc/src/voicefac.c
index 17e4e55..d890044 100644
--- a/media/libstagefright/codecs/amrwbenc/src/voicefac.c
+++ b/media/libstagefright/codecs/amrwbenc/src/voicefac.c
@@ -18,7 +18,7 @@
* File: voicefac.c *
* *
* Description: Find the voicing factors (1 = voice to -1 = unvoiced) *
-* *
+* *
************************************************************************/
#include "typedef.h"
diff --git a/media/libstagefright/codecs/amrwbenc/src/wb_vad.c b/media/libstagefright/codecs/amrwbenc/src/wb_vad.c
index 7e1d673..13dd2aa 100644
--- a/media/libstagefright/codecs/amrwbenc/src/wb_vad.c
+++ b/media/libstagefright/codecs/amrwbenc/src/wb_vad.c
@@ -52,7 +52,7 @@ static Word16 ilog2( /* return: output value of the log2 *
if (mant <= 0)
{
- mant = 1;
+ mant = 1;
}
ex = norm_s(mant);
mant = mant << ex;
@@ -88,14 +88,14 @@ static void filter5(
temp0 = vo_sub(*in0, vo_mult(COEFF5_1, data[0]));
temp1 = add1(data[0], vo_mult(COEFF5_1, temp0));
- data[0] = temp0;
+ data[0] = temp0;
temp0 = vo_sub(*in1, vo_mult(COEFF5_2, data[1]));
temp2 = add1(data[1], vo_mult(COEFF5_2, temp0));
- data[1] = temp0;
+ data[1] = temp0;
- *in0 = extract_h((vo_L_add(temp1, temp2) << 15));
- *in1 = extract_h((vo_L_sub(temp1, temp2) << 15));
+ *in0 = extract_h((vo_L_add(temp1, temp2) << 15));
+ *in1 = extract_h((vo_L_sub(temp1, temp2) << 15));
}
/******************************************************************************
@@ -116,10 +116,10 @@ static void filter3(
temp1 = vo_sub(*in1, vo_mult(COEFF3, *data));
temp2 = add1(*data, vo_mult(COEFF3, temp1));
- *data = temp1;
+ *data = temp1;
- *in1 = extract_h((vo_L_sub(*in0, temp2) << 15));
- *in0 = extract_h((vo_L_add(*in0, temp2) << 15));
+ *in1 = extract_h((vo_L_sub(*in0, temp2) << 15));
+ *in0 = extract_h((vo_L_add(*in0, temp2) << 15));
}
/******************************************************************************
@@ -149,14 +149,14 @@ static Word16 level_calculation( /* return: signal level */
Word32 i, l_temp1, l_temp2;
Word16 level;
- l_temp1 = 0L;
+ l_temp1 = 0L;
for (i = count1; i < count2; i++)
{
l_temp1 += (abs_s(data[ind_m * i + ind_a])<<1);
}
l_temp2 = vo_L_add(l_temp1, L_shl(*sub_level, 16 - scale));
- *sub_level = extract_h(L_shl(l_temp1, scale));
+ *sub_level = extract_h(L_shl(l_temp1, scale));
for (i = 0; i < count1; i++)
{
@@ -187,7 +187,7 @@ static void filter_bank(
/* shift input 1 bit down for safe scaling */
for (i = 0; i < FRAME_LEN; i++)
{
- tmp_buf[i] = in[i] >> 1;
+ tmp_buf[i] = in[i] >> 1;
}
/* run the filter bank */
@@ -222,29 +222,29 @@ static void filter_bank(
/* calculate levels in each frequency band */
/* 4800 - 6400 Hz */
- level[11] = level_calculation(tmp_buf, &st->sub_level[11], 16, 64, 4, 1, 14);
+ level[11] = level_calculation(tmp_buf, &st->sub_level[11], 16, 64, 4, 1, 14);
/* 4000 - 4800 Hz */
- level[10] = level_calculation(tmp_buf, &st->sub_level[10], 8, 32, 8, 7, 15);
+ level[10] = level_calculation(tmp_buf, &st->sub_level[10], 8, 32, 8, 7, 15);
/* 3200 - 4000 Hz */
- level[9] = level_calculation(tmp_buf, &st->sub_level[9],8, 32, 8, 3, 15);
+ level[9] = level_calculation(tmp_buf, &st->sub_level[9],8, 32, 8, 3, 15);
/* 2400 - 3200 Hz */
- level[8] = level_calculation(tmp_buf, &st->sub_level[8],8, 32, 8, 2, 15);
+ level[8] = level_calculation(tmp_buf, &st->sub_level[8],8, 32, 8, 2, 15);
/* 2000 - 2400 Hz */
- level[7] = level_calculation(tmp_buf, &st->sub_level[7],4, 16, 16, 14, 16);
+ level[7] = level_calculation(tmp_buf, &st->sub_level[7],4, 16, 16, 14, 16);
/* 1600 - 2000 Hz */
- level[6] = level_calculation(tmp_buf, &st->sub_level[6],4, 16, 16, 6, 16);
+ level[6] = level_calculation(tmp_buf, &st->sub_level[6],4, 16, 16, 6, 16);
/* 1200 - 1600 Hz */
- level[5] = level_calculation(tmp_buf, &st->sub_level[5],4, 16, 16, 4, 16);
+ level[5] = level_calculation(tmp_buf, &st->sub_level[5],4, 16, 16, 4, 16);
/* 800 - 1200 Hz */
- level[4] = level_calculation(tmp_buf, &st->sub_level[4],4, 16, 16, 12, 16);
+ level[4] = level_calculation(tmp_buf, &st->sub_level[4],4, 16, 16, 12, 16);
/* 600 - 800 Hz */
- level[3] = level_calculation(tmp_buf, &st->sub_level[3],2, 8, 32, 8, 17);
+ level[3] = level_calculation(tmp_buf, &st->sub_level[3],2, 8, 32, 8, 17);
/* 400 - 600 Hz */
- level[2] = level_calculation(tmp_buf, &st->sub_level[2],2, 8, 32, 24, 17);
+ level[2] = level_calculation(tmp_buf, &st->sub_level[2],2, 8, 32, 24, 17);
/* 200 - 400 Hz */
- level[1] = level_calculation(tmp_buf, &st->sub_level[1],2, 8, 32, 16, 17);
+ level[1] = level_calculation(tmp_buf, &st->sub_level[1],2, 8, 32, 16, 17);
/* 0 - 200 Hz */
- level[0] = level_calculation(tmp_buf, &st->sub_level[0],2, 8, 32, 0, 17);
+ level[0] = level_calculation(tmp_buf, &st->sub_level[0],2, 8, 32, 0, 17);
}
/******************************************************************************
@@ -266,31 +266,31 @@ static void update_cntrl(
/* if a tone has been detected for a while, initialize stat_count */
if (sub((Word16) (st->tone_flag & 0x7c00), 0x7c00) == 0)
{
- st->stat_count = STAT_COUNT;
+ st->stat_count = STAT_COUNT;
} else
{
/* if 8 last vad-decisions have been "0", reinitialize stat_count */
if ((st->vadreg & 0x7f80) == 0)
{
- st->stat_count = STAT_COUNT;
+ st->stat_count = STAT_COUNT;
} else
{
- stat_rat = 0;
+ stat_rat = 0;
for (i = 0; i < COMPLEN; i++)
{
if(level[i] > st->ave_level[i])
{
- num = level[i];
- denom = st->ave_level[i];
+ num = level[i];
+ denom = st->ave_level[i];
} else
{
num = st->ave_level[i];
- denom = level[i];
+ denom = level[i];
}
/* Limit nimimum value of num and denom to STAT_THR_LEVEL */
if(num < STAT_THR_LEVEL)
{
- num = STAT_THR_LEVEL;
+ num = STAT_THR_LEVEL;
}
if(denom < STAT_THR_LEVEL)
{
@@ -307,7 +307,7 @@ static void update_cntrl(
/* compare stat_rat with a threshold and update stat_count */
if(stat_rat > STAT_THR)
{
- st->stat_count = STAT_COUNT;
+ st->stat_count = STAT_COUNT;
} else
{
if ((st->vadreg & 0x4000) != 0)
@@ -315,7 +315,7 @@ static void update_cntrl(
if (st->stat_count != 0)
{
- st->stat_count = st->stat_count - 1;
+ st->stat_count = st->stat_count - 1;
}
}
}
@@ -323,17 +323,17 @@ static void update_cntrl(
}
/* Update average amplitude estimate for stationarity estimation */
- alpha = ALPHA4;
+ alpha = ALPHA4;
if(st->stat_count == STAT_COUNT)
{
- alpha = 32767;
+ alpha = 32767;
} else if ((st->vadreg & 0x4000) == 0)
{
- alpha = ALPHA5;
+ alpha = ALPHA5;
}
for (i = 0; i < COMPLEN; i++)
{
- st->ave_level[i] = add1(st->ave_level[i], vo_mult_r(alpha, vo_sub(level[i], st->ave_level[i])));
+ st->ave_level[i] = add1(st->ave_level[i], vo_mult_r(alpha, vo_sub(level[i], st->ave_level[i])));
}
}
@@ -354,25 +354,25 @@ static Word16 hangover_addition( /* return: VAD_flag indica
/* if the input power (pow_sum) is lower than a threshold, clear counters and set VAD_flag to "0" */
if (low_power != 0)
{
- st->burst_count = 0;
- st->hang_count = 0;
+ st->burst_count = 0;
+ st->hang_count = 0;
return 0;
}
/* update the counters (hang_count, burst_count) */
if ((st->vadreg & 0x4000) != 0)
{
- st->burst_count = st->burst_count + 1;
+ st->burst_count = st->burst_count + 1;
if(st->burst_count >= burst_len)
{
- st->hang_count = hang_len;
+ st->hang_count = hang_len;
}
return 1;
} else
{
- st->burst_count = 0;
+ st->burst_count = 0;
if (st->hang_count > 0)
{
- st->hang_count = st->hang_count - 1;
+ st->hang_count = st->hang_count - 1;
return 1;
}
}
@@ -391,7 +391,7 @@ static void noise_estimate_update(
Word16 level[] /* i : sub-band levels of the input frame */
)
{
- Word32 i;
+ Word32 i;
Word16 alpha_up, alpha_down, bckr_add = 2;
/* Control update of bckr_est[] */
@@ -400,19 +400,19 @@ static void noise_estimate_update(
/* Choose update speed */
if ((0x7800 & st->vadreg) == 0)
{
- alpha_up = ALPHA_UP1;
- alpha_down = ALPHA_DOWN1;
+ alpha_up = ALPHA_UP1;
+ alpha_down = ALPHA_DOWN1;
} else
{
if ((st->stat_count == 0))
{
- alpha_up = ALPHA_UP2;
- alpha_down = ALPHA_DOWN2;
+ alpha_up = ALPHA_UP2;
+ alpha_down = ALPHA_DOWN2;
} else
{
- alpha_up = 0;
- alpha_down = ALPHA3;
- bckr_add = 0;
+ alpha_up = 0;
+ alpha_down = ALPHA3;
+ bckr_add = 0;
}
}
@@ -424,20 +424,20 @@ static void noise_estimate_update(
if (temp < 0)
{ /* update downwards */
- st->bckr_est[i] = add1(-2, add(st->bckr_est[i],vo_mult_r(alpha_down, temp)));
+ st->bckr_est[i] = add1(-2, add(st->bckr_est[i],vo_mult_r(alpha_down, temp)));
/* limit minimum value of the noise estimate to NOISE_MIN */
if(st->bckr_est[i] < NOISE_MIN)
{
- st->bckr_est[i] = NOISE_MIN;
+ st->bckr_est[i] = NOISE_MIN;
}
} else
{ /* update upwards */
- st->bckr_est[i] = add1(bckr_add, add1(st->bckr_est[i],vo_mult_r(alpha_up, temp)));
+ st->bckr_est[i] = add1(bckr_add, add1(st->bckr_est[i],vo_mult_r(alpha_up, temp)));
/* limit maximum value of the noise estimate to NOISE_MAX */
if(st->bckr_est[i] > NOISE_MAX)
{
- st->bckr_est[i] = NOISE_MAX;
+ st->bckr_est[i] = NOISE_MAX;
}
}
}
@@ -445,7 +445,7 @@ static void noise_estimate_update(
/* Update signal levels of the previous frame (old_level) */
for (i = 0; i < COMPLEN; i++)
{
- st->old_level[i] = level[i];
+ st->old_level[i] = level[i];
}
}
@@ -473,7 +473,7 @@ static Word16 vad_decision( /* return value : VAD_flag
/* Calculate squared sum of the input levels (level) divided by the background noise components
* (bckr_est). */
- L_snr_sum = 0;
+ L_snr_sum = 0;
for (i = 0; i < COMPLEN; i++)
{
Word16 exp;
@@ -486,7 +486,7 @@ static Word16 vad_decision( /* return value : VAD_flag
}
/* Calculate average level of estimated background noise */
- L_temp = 0;
+ L_temp = 0;
for (i = 1; i < COMPLEN; i++) /* ignore lowest band */
{
L_temp = vo_L_add(L_temp, st->bckr_est[i]);
@@ -498,7 +498,7 @@ static Word16 vad_decision( /* return value : VAD_flag
if(st->speech_level < temp)
{
- st->speech_level = temp;
+ st->speech_level = temp;
}
ilog2_noise_level = ilog2(noise_level);
@@ -511,33 +511,33 @@ static Word16 vad_decision( /* return value : VAD_flag
temp2 = add1(SP_CH_MIN, vo_mult(SP_SLOPE, (ilog2_speech_level - SP_P1)));
if (temp2 < SP_CH_MIN)
{
- temp2 = SP_CH_MIN;
+ temp2 = SP_CH_MIN;
}
if (temp2 > SP_CH_MAX)
{
- temp2 = SP_CH_MAX;
+ temp2 = SP_CH_MAX;
}
vad_thr = temp + temp2;
if(vad_thr < THR_MIN)
{
- vad_thr = THR_MIN;
+ vad_thr = THR_MIN;
}
/* Shift VAD decision register */
- st->vadreg = (st->vadreg >> 1);
+ st->vadreg = (st->vadreg >> 1);
/* Make intermediate VAD decision */
if(L_snr_sum > vo_L_mult(vad_thr, (512 * COMPLEN)))
{
- st->vadreg = (Word16) (st->vadreg | 0x4000);
+ st->vadreg = (Word16) (st->vadreg | 0x4000);
}
/* check if the input power (pow_sum) is lower than a threshold" */
if(pow_sum < VAD_POW_LOW)
{
- low_power_flag = 1;
+ low_power_flag = 1;
} else
{
- low_power_flag = 0;
+ low_power_flag = 0;
}
/* Update background noise estimates */
noise_estimate_update(st, level);
@@ -546,7 +546,7 @@ static Word16 vad_decision( /* return value : VAD_flag
hang_len = add1(vo_mult(HANG_SLOPE, (vad_thr - HANG_P1)), HANG_HIGH);
if(hang_len < HANG_LOW)
{
- hang_len = HANG_LOW;
+ hang_len = HANG_LOW;
}
burst_len = add1(vo_mult(BURST_SLOPE, (vad_thr - BURST_P1)), BURST_HIGH);
@@ -575,20 +575,20 @@ static void Estimate_Speech(
/* if the required activity count cannot be achieved, reset counters */
if((st->sp_est_cnt - st->sp_max_cnt) > (SP_EST_COUNT - SP_ACTIVITY_COUNT))
{
- st->sp_est_cnt = 0;
- st->sp_max = 0;
- st->sp_max_cnt = 0;
+ st->sp_est_cnt = 0;
+ st->sp_max = 0;
+ st->sp_max_cnt = 0;
}
- st->sp_est_cnt += 1;
+ st->sp_est_cnt += 1;
if (((st->vadreg & 0x4000)||(in_level > st->speech_level)) && (in_level > MIN_SPEECH_LEVEL1))
{
/* update sp_max */
if(in_level > st->sp_max)
{
- st->sp_max = in_level;
+ st->sp_max = in_level;
}
- st->sp_max_cnt += 1;
+ st->sp_max_cnt += 1;
if(st->sp_max_cnt >= SP_ACTIVITY_COUNT)
{
@@ -599,19 +599,19 @@ static void Estimate_Speech(
/* select update speed */
if(tmp > st->speech_level)
{
- alpha = ALPHA_SP_UP;
+ alpha = ALPHA_SP_UP;
} else
{
- alpha = ALPHA_SP_DOWN;
+ alpha = ALPHA_SP_DOWN;
}
if(tmp > MIN_SPEECH_LEVEL2)
{
- st->speech_level = add1(st->speech_level, vo_mult_r(alpha, vo_sub(tmp, st->speech_level)));
+ st->speech_level = add1(st->speech_level, vo_mult_r(alpha, vo_sub(tmp, st->speech_level)));
}
/* clear all counters used for speech estimation */
- st->sp_max = 0;
- st->sp_max_cnt = 0;
- st->sp_est_cnt = 0;
+ st->sp_max = 0;
+ st->sp_max_cnt = 0;
+ st->sp_est_cnt = 0;
}
}
}
@@ -767,22 +767,22 @@ Word16 wb_vad( /* Return value : VAD Decision, 1
Word32 L_temp, pow_sum;
/* Calculate power of the input frame. */
- L_temp = 0L;
+ L_temp = 0L;
for (i = 0; i < FRAME_LEN; i++)
{
L_temp = L_mac(L_temp, in_buf[i], in_buf[i]);
}
/* pow_sum = power of current frame and previous frame */
- pow_sum = L_add(L_temp, st->prev_pow_sum);
+ pow_sum = L_add(L_temp, st->prev_pow_sum);
/* save power of current frame for next call */
- st->prev_pow_sum = L_temp;
+ st->prev_pow_sum = L_temp;
/* If input power is very low, clear tone flag */
if (pow_sum < POW_TONE_THR)
{
- st->tone_flag = (Word16) (st->tone_flag & 0x1fff);
+ st->tone_flag = (Word16) (st->tone_flag & 0x1fff);
}
/* Run the filter bank and calculate signal levels at each band */
filter_bank(st, in_buf, level);
@@ -791,7 +791,7 @@ Word16 wb_vad( /* Return value : VAD Decision, 1
VAD_flag = vad_decision(st, level, pow_sum);
/* Calculate input level */
- L_temp = 0;
+ L_temp = 0;
for (i = 1; i < COMPLEN; i++) /* ignore lowest band */
{
L_temp = vo_L_add(L_temp, level[i]);
diff --git a/media/libstagefright/codecs/amrwbenc/src/weight_a.c b/media/libstagefright/codecs/amrwbenc/src/weight_a.c
index 8f0fb39..a02b48d 100644
--- a/media/libstagefright/codecs/amrwbenc/src/weight_a.c
+++ b/media/libstagefright/codecs/amrwbenc/src/weight_a.c
@@ -19,7 +19,7 @@
* *
* Description:Weighting of LPC coefficients *
* ap[i] = a[i] * (gamma ** i) *
-* *
+* *
************************************************************************/
#include "typedef.h"
diff --git a/media/libstagefright/codecs/common/Config.mk b/media/libstagefright/codecs/common/Config.mk
index 3d754e7..187f25c 100644
--- a/media/libstagefright/codecs/common/Config.mk
+++ b/media/libstagefright/codecs/common/Config.mk
@@ -1,8 +1,8 @@
-#
+#
# This configure file is just for Linux projects against Android
#
-VOPRJ :=
+VOPRJ :=
VONJ :=
# WARNING:
@@ -20,5 +20,5 @@ endif
VOTEST := 0
-VO_CFLAGS:=-DLINUX
+VO_CFLAGS:=-DLINUX
diff --git a/media/libstagefright/codecs/common/include/voAMRWB.h b/media/libstagefright/codecs/common/include/voAMRWB.h
index 13290c7..d3eb537 100644
--- a/media/libstagefright/codecs/common/include/voAMRWB.h
+++ b/media/libstagefright/codecs/common/include/voAMRWB.h
@@ -29,20 +29,20 @@ extern "C" {
#pragma pack(push, 4)
/*!* the bit rate the codec supports*/
-typedef enum {
+typedef enum {
VOAMRWB_MDNONE = -1, /*!< Invalid mode */
VOAMRWB_MD66 = 0, /*!< 6.60kbps */
- VOAMRWB_MD885 = 1, /*!< 8.85kbps */
+ VOAMRWB_MD885 = 1, /*!< 8.85kbps */
VOAMRWB_MD1265 = 2, /*!< 12.65kbps */
VOAMRWB_MD1425 = 3, /*!< 14.25kbps */
VOAMRWB_MD1585 = 4, /*!< 15.85bps */
VOAMRWB_MD1825 = 5, /*!< 18.25bps */
VOAMRWB_MD1985 = 6, /*!< 19.85kbps */
VOAMRWB_MD2305 = 7, /*!< 23.05kbps */
- VOAMRWB_MD2385 = 8, /*!< 23.85kbps> */
+ VOAMRWB_MD2385 = 8, /*!< 23.85kbps> */
VOAMRWB_N_MODES = 9, /*!< Invalid mode */
VOAMRWB_MODE_MAX = VO_MAX_ENUM_VALUE
-
+
}VOAMRWBMODE;
/*!* the frame format the codec supports*/
@@ -51,17 +51,17 @@ typedef enum {
/*One word (2-byte) for sync word (0x6b21)*/
/*One word (2-byte) for frame length N.*/
/*N words (2-byte) containing N bits (bit 0 = 0x007f, bit 1 = 0x0081).*/
- VOAMRWB_ITU = 1,
+ VOAMRWB_ITU = 1,
/*One word (2-byte) for sync word (0x6b21).*/
- /*One word (2-byte) to indicate the frame type.*/
+ /*One word (2-byte) to indicate the frame type.*/
/*One word (2-byte) to indicate the mode.*/
/*N words (2-byte) containing N bits (bit 0 = 0xff81, bit 1 = 0x007f).*/
- VOAMRWB_RFC3267 = 2, /* see RFC 3267 */
- VOAMRWB_TMAX = VO_MAX_ENUM_VALUE
+ VOAMRWB_RFC3267 = 2, /* see RFC 3267 */
+ VOAMRWB_TMAX = VO_MAX_ENUM_VALUE
}VOAMRWBFRAMETYPE;
-#define VO_PID_AMRWB_Module 0x42261000
+#define VO_PID_AMRWB_Module 0x42261000
#define VO_PID_AMRWB_FORMAT (VO_PID_AMRWB_Module | 0x0002)
#define VO_PID_AMRWB_CHANNELS (VO_PID_AMRWB_Module | 0x0003)
#define VO_PID_AMRWB_SAMPLERATE (VO_PID_AMRWB_Module | 0x0004)
diff --git a/media/libstagefright/codecs/common/include/voAudio.h b/media/libstagefright/codecs/common/include/voAudio.h
index 21d0cf6..d8628ee 100644
--- a/media/libstagefright/codecs/common/include/voAudio.h
+++ b/media/libstagefright/codecs/common/include/voAudio.h
@@ -135,7 +135,7 @@ typedef struct VO_AUDIO_CODECAPI
* \param pOutInfo [OUT] The codec fills audio format and the input data size used in current call.
* pOutInfo->InputUsed is total used input data size in byte.
* \retval VO_ERR_NONE Succeeded.
- * VO_ERR_INPUT_BUFFER_SMALL. The input was finished or the input data was not enought. Continue to input
+ * VO_ERR_INPUT_BUFFER_SMALL. The input was finished or the input data was not enought. Continue to input
* data before next call.
*/
VO_U32 (VO_API * GetOutputData) (VO_HANDLE hCodec, VO_CODECBUFFER * pOutBuffer, VO_AUDIO_OUTPUTINFO * pOutInfo);
diff --git a/media/libstagefright/codecs/common/include/voIndex.h b/media/libstagefright/codecs/common/include/voIndex.h
index a409a6e..320a2f8 100644
--- a/media/libstagefright/codecs/common/include/voIndex.h
+++ b/media/libstagefright/codecs/common/include/voIndex.h
@@ -173,7 +173,7 @@ enum
// Module own error ID
#define VO_ERR_Module 0x8xxx0X00
*/
-
+
#define VO_PID_COMMON_BASE 0x40000000 /*!< The base of common param ID */
#define VO_PID_COMMON_QUERYMEM (VO_PID_COMMON_BASE | 0X0001) /*!< Query the memory needed; Reserved. */
#define VO_PID_COMMON_INPUTTYPE (VO_PID_COMMON_BASE | 0X0002) /*!< Set or get the input buffer type. VO_INPUT_TYPE */