summaryrefslogtreecommitdiffstats
path: root/media/libstagefright/codecs/aacdec/window_tables_fxp.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'media/libstagefright/codecs/aacdec/window_tables_fxp.cpp')
-rw-r--r--media/libstagefright/codecs/aacdec/window_tables_fxp.cpp730
1 files changed, 730 insertions, 0 deletions
diff --git a/media/libstagefright/codecs/aacdec/window_tables_fxp.cpp b/media/libstagefright/codecs/aacdec/window_tables_fxp.cpp
new file mode 100644
index 0000000..aa04225
--- /dev/null
+++ b/media/libstagefright/codecs/aacdec/window_tables_fxp.cpp
@@ -0,0 +1,730 @@
+/* ------------------------------------------------------------------
+ * Copyright (C) 1998-2009 PacketVideo
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
+ * express or implied.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ * -------------------------------------------------------------------
+ */
+/*
+
+ Pathname: window_tables_fxp.c
+ Funtions:
+
+------------------------------------------------------------------------------
+ REVISION HISTORY
+
+ Description:
+ changed table content definition from UInt to UInt16.
+
+ Description:
+ changed Long_Window_fxp and Short _Window_fxp tables definition, from
+ "const UInt16 *" to "const UInt16 * const" to avoid global variable
+ definition.
+
+ Description:
+ Improved rounding on table elements.
+
+ Description: Eliminated structure to avoid assigning addresses to constant
+ tables. This solve linking problem when using the
+ /ropi option (Read-only position independent) for some
+ compilers
+ - Eliminated Long_Window_fxp and Short_Window_fxp as global
+ contants vectors
+
+ Who: Date:
+ Description:
+
+ ------------------------------------------------------------------------------
+ MODULE DESCRIPTION
+
+ Window tables
+
+ For a sine table with N points:
+
+ w_left = sin(pi/N (n + 1/2)) for 0 =< n < N/2
+
+ w_rigth = sin(pi/N (n + 1/2)) for N/2 =< n < N
+
+
+ For Kaiser-Bessel derived (KBD)
+
+ n N/2
+ w_left = sqrt(( SUM W(p,a) )/( SUM W(p,a) ) for 0 =< n < N/2
+ p=0 p=0
+
+
+ N-n-1 N/2
+ w_rigth = sqrt(( SUM W(p,a) )/( SUM W(p,a) ) for N/2 =< n < N
+ p=0 p=0
+
+
+ W(p,a) see ISO 14496-3, pag 113
+
+------------------------------------------------------------------------------
+ REQUIREMENTS
+
+ This module shall implement the fix point verwion of the windowing tables
+
+------------------------------------------------------------------------------
+ REFERENCES
+
+ [1] ISO 14496-3, pag 113
+
+------------------------------------------------------------------------------
+*/
+
+
+/*----------------------------------------------------------------------------
+; INCLUDES
+----------------------------------------------------------------------------*/
+#include "pv_audio_type_defs.h"
+#include "window_block_fxp.h"
+
+/*----------------------------------------------------------------------------
+; MACROS
+; Define module specific macros here
+----------------------------------------------------------------------------*/
+
+/*----------------------------------------------------------------------------
+; DEFINES
+; Include all pre-processor statements here. Include conditional
+; compile variables also.
+----------------------------------------------------------------------------*/
+
+/*----------------------------------------------------------------------------
+; LOCAL FUNCTION DEFINITIONS
+; Function Prototype declaration
+----------------------------------------------------------------------------*/
+
+/*----------------------------------------------------------------------------
+; LOCAL VARIABLE DEFINITIONS
+; Variable declaration - defined here and used outside this module
+----------------------------------------------------------------------------*/
+
+
+/*----------------------------------------------------------------------------
+; EXTERNAL FUNCTION REFERENCES
+; Declare functions defined elsewhere and referenced in this module
+----------------------------------------------------------------------------*/
+
+/*----------------------------------------------------------------------------
+; EXTERNAL VARIABLES REFERENCES
+; Declare variables used in this module but defined elsewhere
+----------------------------------------------------------------------------*/
+
+
+const Int16 Long_Window_sine_fxp[LONG_WINDOW] =
+{
+
+
+ 0x0019, 0x004B, 0x007E, 0x00B0,
+ 0x00E2, 0x0114, 0x0147, 0x0179,
+ 0x01AB, 0x01DD, 0x0210, 0x0242,
+ 0x0274, 0x02A7, 0x02D9, 0x030B,
+ 0x033D, 0x0370, 0x03A2, 0x03D4,
+ 0x0406, 0x0438, 0x046B, 0x049D,
+ 0x04CF, 0x0501, 0x0534, 0x0566,
+ 0x0598, 0x05CA, 0x05FC, 0x062F,
+ 0x0661, 0x0693, 0x06C5, 0x06F7,
+ 0x072A, 0x075C, 0x078E, 0x07C0,
+ 0x07F2, 0x0825, 0x0857, 0x0889,
+ 0x08BB, 0x08ED, 0x091F, 0x0951,
+ 0x0984, 0x09B6, 0x09E8, 0x0A1A,
+ 0x0A4C, 0x0A7E, 0x0AB0, 0x0AE2,
+ 0x0B14, 0x0B46, 0x0B78, 0x0BAB,
+ 0x0BDD, 0x0C0F, 0x0C41, 0x0C73,
+ 0x0CA5, 0x0CD7, 0x0D09, 0x0D3B,
+ 0x0D6D, 0x0D9F, 0x0DD1, 0x0E03,
+ 0x0E35, 0x0E67, 0x0E99, 0x0ECA,
+ 0x0EFC, 0x0F2E, 0x0F60, 0x0F92,
+ 0x0FC4, 0x0FF6, 0x1028, 0x105A,
+ 0x108B, 0x10BD, 0x10EF, 0x1121,
+ 0x1153, 0x1185, 0x11B6, 0x11E8,
+ 0x121A, 0x124C, 0x127D, 0x12AF,
+ 0x12E1, 0x1312, 0x1344, 0x1376,
+ 0x13A8, 0x13D9, 0x140B, 0x143C,
+ 0x146E, 0x14A0, 0x14D1, 0x1503,
+ 0x1534, 0x1566, 0x1598, 0x15C9,
+ 0x15FB, 0x162C, 0x165E, 0x168F,
+ 0x16C1, 0x16F2, 0x1724, 0x1755,
+ 0x1786, 0x17B8, 0x17E9, 0x181B,
+ 0x184C, 0x187D, 0x18AF, 0x18E0,
+ 0x1911, 0x1942, 0x1974, 0x19A5,
+ 0x19D6, 0x1A07, 0x1A39, 0x1A6A,
+ 0x1A9B, 0x1ACC, 0x1AFD, 0x1B2E,
+ 0x1B60, 0x1B91, 0x1BC2, 0x1BF3,
+ 0x1C24, 0x1C55, 0x1C86, 0x1CB7,
+ 0x1CE8, 0x1D19, 0x1D4A, 0x1D7B,
+ 0x1DAC, 0x1DDC, 0x1E0D, 0x1E3E,
+ 0x1E6F, 0x1EA0, 0x1ED1, 0x1F01,
+ 0x1F32, 0x1F63, 0x1F94, 0x1FC4,
+ 0x1FF5, 0x2026, 0x2056, 0x2087,
+ 0x20B7, 0x20E8, 0x2119, 0x2149,
+ 0x217A, 0x21AA, 0x21DB, 0x220B,
+ 0x223C, 0x226C, 0x229C, 0x22CD,
+ 0x22FD, 0x232E, 0x235E, 0x238E,
+ 0x23BE, 0x23EF, 0x241F, 0x244F,
+ 0x247F, 0x24AF, 0x24E0, 0x2510,
+ 0x2540, 0x2570, 0x25A0, 0x25D0,
+ 0x2600, 0x2630, 0x2660, 0x2690,
+ 0x26C0, 0x26F0, 0x2720, 0x274F,
+ 0x277F, 0x27AF, 0x27DF, 0x280F,
+ 0x283E, 0x286E, 0x289E, 0x28CD,
+ 0x28FD, 0x292D, 0x295C, 0x298C,
+ 0x29BB, 0x29EB, 0x2A1A, 0x2A4A,
+ 0x2A79, 0x2AA8, 0x2AD8, 0x2B07,
+ 0x2B37, 0x2B66, 0x2B95, 0x2BC4,
+ 0x2BF4, 0x2C23, 0x2C52, 0x2C81,
+ 0x2CB0, 0x2CDF, 0x2D0E, 0x2D3D,
+ 0x2D6C, 0x2D9B, 0x2DCA, 0x2DF9,
+ 0x2E28, 0x2E57, 0x2E86, 0x2EB5,
+ 0x2EE3, 0x2F12, 0x2F41, 0x2F70,
+ 0x2F9E, 0x2FCD, 0x2FFC, 0x302A,
+ 0x3059, 0x3087, 0x30B6, 0x30E4,
+ 0x3113, 0x3141, 0x316F, 0x319E,
+ 0x31CC, 0x31FA, 0x3229, 0x3257,
+ 0x3285, 0x32B3, 0x32E1, 0x330F,
+ 0x333E, 0x336C, 0x339A, 0x33C8,
+ 0x33F6, 0x3423, 0x3451, 0x347F,
+ 0x34AD, 0x34DB, 0x3509, 0x3536,
+ 0x3564, 0x3592, 0x35BF, 0x35ED,
+ 0x361A, 0x3648, 0x3676, 0x36A3,
+ 0x36D0, 0x36FE, 0x372B, 0x3759,
+ 0x3786, 0x37B3, 0x37E0, 0x380E,
+ 0x383B, 0x3868, 0x3895, 0x38C2,
+ 0x38EF, 0x391C, 0x3949, 0x3976,
+ 0x39A3, 0x39D0, 0x39FD, 0x3A29,
+ 0x3A56, 0x3A83, 0x3AB0, 0x3ADC,
+ 0x3B09, 0x3B35, 0x3B62, 0x3B8E,
+ 0x3BBB, 0x3BE7, 0x3C14, 0x3C40,
+ 0x3C6C, 0x3C99, 0x3CC5, 0x3CF1,
+ 0x3D1D, 0x3D4A, 0x3D76, 0x3DA2,
+ 0x3DCE, 0x3DFA, 0x3E26, 0x3E52,
+ 0x3E7D, 0x3EA9, 0x3ED5, 0x3F01,
+ 0x3F2D, 0x3F58, 0x3F84, 0x3FB0,
+ 0x3FDB, 0x4007, 0x4032, 0x405E,
+ 0x4089, 0x40B5, 0x40E0, 0x410B,
+ 0x4136, 0x4162, 0x418D, 0x41B8,
+ 0x41E3, 0x420E, 0x4239, 0x4264,
+ 0x428F, 0x42BA, 0x42E5, 0x4310,
+ 0x433B, 0x4365, 0x4390, 0x43BB,
+ 0x43E5, 0x4410, 0x443B, 0x4465,
+ 0x448F, 0x44BA, 0x44E4, 0x450F,
+ 0x4539, 0x4563, 0x458D, 0x45B8,
+ 0x45E2, 0x460C, 0x4636, 0x4660,
+ 0x468A, 0x46B4, 0x46DE, 0x4707,
+ 0x4731, 0x475B, 0x4785, 0x47AE,
+ 0x47D8, 0x4802, 0x482B, 0x4855,
+ 0x487E, 0x48A7, 0x48D1, 0x48FA,
+ 0x4923, 0x494D, 0x4976, 0x499F,
+ 0x49C8, 0x49F1, 0x4A1A, 0x4A43,
+ 0x4A6C, 0x4A95, 0x4ABE, 0x4AE6,
+ 0x4B0F, 0x4B38, 0x4B61, 0x4B89,
+ 0x4BB2, 0x4BDA, 0x4C03, 0x4C2B,
+ 0x4C53, 0x4C7C, 0x4CA4, 0x4CCC,
+ 0x4CF4, 0x4D1D, 0x4D45, 0x4D6D,
+ 0x4D95, 0x4DBD, 0x4DE5, 0x4E0D,
+ 0x4E34, 0x4E5C, 0x4E84, 0x4EAB,
+ 0x4ED3, 0x4EFB, 0x4F22, 0x4F4A,
+ 0x4F71, 0x4F99, 0x4FC0, 0x4FE7,
+ 0x500E, 0x5036, 0x505D, 0x5084,
+ 0x50AB, 0x50D2, 0x50F9, 0x5120,
+ 0x5147, 0x516D, 0x5194, 0x51BB,
+ 0x51E2, 0x5208, 0x522F, 0x5255,
+ 0x527C, 0x52A2, 0x52C8, 0x52EF,
+ 0x5315, 0x533B, 0x5361, 0x5387,
+ 0x53AE, 0x53D4, 0x53FA, 0x541F,
+ 0x5445, 0x546B, 0x5491, 0x54B7,
+ 0x54DC, 0x5502, 0x5527, 0x554D,
+ 0x5572, 0x5598, 0x55BD, 0x55E2,
+ 0x5608, 0x562D, 0x5652, 0x5677,
+ 0x569C, 0x56C1, 0x56E6, 0x570B,
+ 0x5730, 0x5754, 0x5779, 0x579E,
+ 0x57C2, 0x57E7, 0x580C, 0x5830,
+ 0x5854, 0x5879, 0x589D, 0x58C1,
+ 0x58E5, 0x590A, 0x592E, 0x5952,
+ 0x5976, 0x599A, 0x59BD, 0x59E1,
+ 0x5A05, 0x5A29, 0x5A4C, 0x5A70,
+ 0x5A94, 0x5AB7, 0x5ADA, 0x5AFE,
+ 0x5B21, 0x5B44, 0x5B68, 0x5B8B,
+ 0x5BAE, 0x5BD1, 0x5BF4, 0x5C17,
+ 0x5C3A, 0x5C5D, 0x5C7F, 0x5CA2,
+ 0x5CC5, 0x5CE7, 0x5D0A, 0x5D2C,
+ 0x5D4F, 0x5D71, 0x5D94, 0x5DB6,
+ 0x5DD8, 0x5DFA, 0x5E1C, 0x5E3E,
+ 0x5E60, 0x5E82, 0x5EA4, 0x5EC6,
+ 0x5EE8, 0x5F09, 0x5F2B, 0x5F4D,
+ 0x5F6E, 0x5F90, 0x5FB1, 0x5FD2,
+ 0x5FF4, 0x6015, 0x6036, 0x6057,
+ 0x6078, 0x6099, 0x60BA, 0x60DB,
+ 0x60FC, 0x611D, 0x613D, 0x615E,
+ 0x617F, 0x619F, 0x61C0, 0x61E0,
+ 0x6200, 0x6221, 0x6241, 0x6261,
+ 0x6281, 0x62A1, 0x62C1, 0x62E1,
+ 0x6301, 0x6321, 0x6341, 0x6360,
+ 0x6380, 0x63A0, 0x63BF, 0x63DF,
+ 0x63FE, 0x641D, 0x643D, 0x645C,
+ 0x647B, 0x649A, 0x64B9, 0x64D8,
+ 0x64F7, 0x6516, 0x6535, 0x6554,
+ 0x6572, 0x6591, 0x65AF, 0x65CE,
+ 0x65EC, 0x660B, 0x6629, 0x6647,
+ 0x6666, 0x6684, 0x66A2, 0x66C0,
+ 0x66DE, 0x66FC, 0x6719, 0x6737,
+ 0x6755, 0x6772, 0x6790, 0x67AE,
+ 0x67CB, 0x67E8, 0x6806, 0x6823,
+ 0x6840, 0x685D, 0x687A, 0x6897,
+ 0x68B4, 0x68D1, 0x68EE, 0x690B,
+ 0x6927, 0x6944, 0x6961, 0x697D,
+ 0x699A, 0x69B6, 0x69D2, 0x69EE,
+ 0x6A0B, 0x6A27, 0x6A43, 0x6A5F,
+ 0x6A7B, 0x6A97, 0x6AB2, 0x6ACE,
+ 0x6AEA, 0x6B05, 0x6B21, 0x6B3C,
+ 0x6B58, 0x6B73, 0x6B8E, 0x6BAA,
+ 0x6BC5, 0x6BE0, 0x6BFB, 0x6C16,
+ 0x6C31, 0x6C4C, 0x6C66, 0x6C81,
+ 0x6C9C, 0x6CB6, 0x6CD1, 0x6CEB,
+ 0x6D06, 0x6D20, 0x6D3A, 0x6D54,
+ 0x6D6E, 0x6D88, 0x6DA2, 0x6DBC,
+ 0x6DD6, 0x6DF0, 0x6E0A, 0x6E23,
+ 0x6E3D, 0x6E56, 0x6E70, 0x6E89,
+ 0x6EA2, 0x6EBC, 0x6ED5, 0x6EEE,
+ 0x6F07, 0x6F20, 0x6F39, 0x6F52,
+ 0x6F6B, 0x6F83, 0x6F9C, 0x6FB4,
+ 0x6FCD, 0x6FE5, 0x6FFE, 0x7016,
+ 0x702E, 0x7046, 0x705F, 0x7077,
+ 0x708F, 0x70A6, 0x70BE, 0x70D6,
+ 0x70EE, 0x7105, 0x711D, 0x7134,
+ 0x714C, 0x7163, 0x717A, 0x7192,
+ 0x71A9, 0x71C0, 0x71D7, 0x71EE,
+ 0x7205, 0x721C, 0x7232, 0x7249,
+ 0x7260, 0x7276, 0x728D, 0x72A3,
+ 0x72B9, 0x72D0, 0x72E6, 0x72FC,
+ 0x7312, 0x7328, 0x733E, 0x7354,
+ 0x7369, 0x737F, 0x7395, 0x73AA,
+ 0x73C0, 0x73D5, 0x73EB, 0x7400,
+ 0x7415, 0x742A, 0x743F, 0x7454,
+ 0x7469, 0x747E, 0x7493, 0x74A8,
+ 0x74BC, 0x74D1, 0x74E5, 0x74FA,
+ 0x750E, 0x7522, 0x7537, 0x754B,
+ 0x755F, 0x7573, 0x7587, 0x759B,
+ 0x75AE, 0x75C2, 0x75D6, 0x75E9,
+ 0x75FD, 0x7610, 0x7624, 0x7637,
+ 0x764A, 0x765E, 0x7671, 0x7684,
+ 0x7697, 0x76A9, 0x76BC, 0x76CF,
+ 0x76E2, 0x76F4, 0x7707, 0x7719,
+ 0x772C, 0x773E, 0x7750, 0x7762,
+ 0x7774, 0x7786, 0x7798, 0x77AA,
+ 0x77BC, 0x77CE, 0x77DF, 0x77F1,
+ 0x7803, 0x7814, 0x7825, 0x7837,
+ 0x7848, 0x7859, 0x786A, 0x787B,
+ 0x788C, 0x789D, 0x78AE, 0x78BE,
+ 0x78CF, 0x78E0, 0x78F0, 0x7901,
+ 0x7911, 0x7921, 0x7931, 0x7941,
+ 0x7952, 0x7962, 0x7971, 0x7981,
+ 0x7991, 0x79A1, 0x79B0, 0x79C0,
+ 0x79CF, 0x79DF, 0x79EE, 0x79FD,
+ 0x7A0D, 0x7A1C, 0x7A2B, 0x7A3A,
+ 0x7A49, 0x7A57, 0x7A66, 0x7A75,
+ 0x7A83, 0x7A92, 0x7AA0, 0x7AAF,
+ 0x7ABD, 0x7ACB, 0x7AD9, 0x7AE7,
+ 0x7AF5, 0x7B03, 0x7B11, 0x7B1F,
+ 0x7B2D, 0x7B3A, 0x7B48, 0x7B55,
+ 0x7B63, 0x7B70, 0x7B7D, 0x7B8B,
+ 0x7B98, 0x7BA5, 0x7BB2, 0x7BBF,
+ 0x7BCB, 0x7BD8, 0x7BE5, 0x7BF1,
+ 0x7BFE, 0x7C0A, 0x7C17, 0x7C23,
+ 0x7C2F, 0x7C3B, 0x7C47, 0x7C53,
+ 0x7C5F, 0x7C6B, 0x7C77, 0x7C83,
+ 0x7C8E, 0x7C9A, 0x7CA5, 0x7CB1,
+ 0x7CBC, 0x7CC7, 0x7CD2, 0x7CDD,
+ 0x7CE8, 0x7CF3, 0x7CFE, 0x7D09,
+ 0x7D14, 0x7D1E, 0x7D29, 0x7D33,
+ 0x7D3E, 0x7D48, 0x7D52, 0x7D5C,
+ 0x7D67, 0x7D71, 0x7D7B, 0x7D84,
+ 0x7D8E, 0x7D98, 0x7DA2, 0x7DAB,
+ 0x7DB5, 0x7DBE, 0x7DC8, 0x7DD1,
+ 0x7DDA, 0x7DE3, 0x7DEC, 0x7DF5,
+ 0x7DFE, 0x7E07, 0x7E10, 0x7E18,
+ 0x7E21, 0x7E29, 0x7E32, 0x7E3A,
+ 0x7E42, 0x7E4B, 0x7E53, 0x7E5B,
+ 0x7E63, 0x7E6B, 0x7E73, 0x7E7A,
+ 0x7E82, 0x7E8A, 0x7E91, 0x7E99,
+ 0x7EA0, 0x7EA7, 0x7EAF, 0x7EB6,
+ 0x7EBD, 0x7EC4, 0x7ECB, 0x7ED2,
+ 0x7ED8, 0x7EDF, 0x7EE6, 0x7EEC,
+ 0x7EF3, 0x7EF9, 0x7EFF, 0x7F05,
+ 0x7F0C, 0x7F12, 0x7F18, 0x7F1E,
+ 0x7F23, 0x7F29, 0x7F2F, 0x7F35,
+ 0x7F3A, 0x7F40, 0x7F45, 0x7F4A,
+ 0x7F50, 0x7F55, 0x7F5A, 0x7F5F,
+ 0x7F64, 0x7F69, 0x7F6D, 0x7F72,
+ 0x7F77, 0x7F7B, 0x7F80, 0x7F84,
+ 0x7F88, 0x7F8D, 0x7F91, 0x7F95,
+ 0x7F99, 0x7F9D, 0x7FA1, 0x7FA4,
+ 0x7FA8, 0x7FAC, 0x7FAF, 0x7FB3,
+ 0x7FB6, 0x7FB9, 0x7FBD, 0x7FC0,
+ 0x7FC3, 0x7FC6, 0x7FC9, 0x7FCC,
+ 0x7FCE, 0x7FD1, 0x7FD4, 0x7FD6,
+ 0x7FD9, 0x7FDB, 0x7FDD, 0x7FE0,
+ 0x7FE2, 0x7FE4, 0x7FE6, 0x7FE8,
+ 0x7FEA, 0x7FEB, 0x7FED, 0x7FEF,
+ 0x7FF0, 0x7FF2, 0x7FF3, 0x7FF5,
+ 0x7FF6, 0x7FF7, 0x7FF8, 0x7FF9,
+ 0x7FFA, 0x7FFB, 0x7FFC, 0x7FFC,
+ 0x7FFD, 0x7FFD, 0x7FFE, 0x7FFE,
+ 0x7FFF, 0x7FFF, 0x7FFF, 0x7FFF
+
+};
+
+
+const Int16 Short_Window_sine_fxp[SHORT_WINDOW] =
+{
+
+ 0x00C9, 0x025B, 0x03ED, 0x057F,
+ 0x0711, 0x08A2, 0x0A33, 0x0BC4,
+ 0x0D54, 0x0EE3, 0x1072, 0x1201,
+ 0x138F, 0x151C, 0x16A8, 0x1833,
+ 0x19BE, 0x1B47, 0x1CCF, 0x1E57,
+ 0x1FDD, 0x2161, 0x22E5, 0x2467,
+ 0x25E8, 0x2767, 0x28E5, 0x2A61,
+ 0x2BDC, 0x2D55, 0x2ECC, 0x3041,
+ 0x31B5, 0x3326, 0x3496, 0x3604,
+ 0x376F, 0x38D9, 0x3A40, 0x3BA5,
+ 0x3D07, 0x3E68, 0x3FC5, 0x4121,
+ 0x427A, 0x43D0, 0x4524, 0x4675,
+ 0x47C3, 0x490F, 0x4A58, 0x4B9D,
+ 0x4CE0, 0x4E20, 0x4F5D, 0x5097,
+ 0x51CE, 0x5302, 0x5432, 0x5560,
+ 0x568A, 0x57B0, 0x58D3, 0x59F3,
+ 0x5B0F, 0x5C28, 0x5D3E, 0x5E4F,
+ 0x5F5D, 0x6068, 0x616E, 0x6271,
+ 0x6370, 0x646C, 0x6563, 0x6656,
+ 0x6746, 0x6832, 0x6919, 0x69FD,
+ 0x6ADC, 0x6BB7, 0x6C8E, 0x6D61,
+ 0x6E30, 0x6EFB, 0x6FC1, 0x7083,
+ 0x7140, 0x71F9, 0x72AE, 0x735E,
+ 0x740A, 0x74B2, 0x7555, 0x75F3,
+ 0x768D, 0x7722, 0x77B3, 0x783F,
+ 0x78C7, 0x794A, 0x79C8, 0x7A41,
+ 0x7AB6, 0x7B26, 0x7B91, 0x7BF8,
+ 0x7C59, 0x7CB6, 0x7D0E, 0x7D62,
+ 0x7DB0, 0x7DFA, 0x7E3E, 0x7E7E,
+ 0x7EB9, 0x7EEF, 0x7F21, 0x7F4D,
+ 0x7F74, 0x7F97, 0x7FB4, 0x7FCD,
+ 0x7FE1, 0x7FF0, 0x7FF9, 0x7FFE
+};
+
+
+
+const Int16 Long_Window_KBD_fxp[LONG_WINDOW] =
+{
+
+ 0x000A, 0x000E, 0x0012, 0x0015,
+ 0x0019, 0x001C, 0x0020, 0x0023,
+ 0x0026, 0x002A, 0x002D, 0x0030,
+ 0x0034, 0x0038, 0x003B, 0x003F,
+ 0x0043, 0x0047, 0x004B, 0x004F,
+ 0x0053, 0x0057, 0x005B, 0x0060,
+ 0x0064, 0x0069, 0x006D, 0x0072,
+ 0x0077, 0x007C, 0x0081, 0x0086,
+ 0x008B, 0x0091, 0x0096, 0x009C,
+ 0x00A1, 0x00A7, 0x00AD, 0x00B3,
+ 0x00B9, 0x00BF, 0x00C6, 0x00CC,
+ 0x00D3, 0x00DA, 0x00E0, 0x00E7,
+ 0x00EE, 0x00F5, 0x00FD, 0x0104,
+ 0x010C, 0x0113, 0x011B, 0x0123,
+ 0x012B, 0x0133, 0x013C, 0x0144,
+ 0x014D, 0x0156, 0x015F, 0x0168,
+ 0x0171, 0x017A, 0x0183, 0x018D,
+ 0x0197, 0x01A1, 0x01AB, 0x01B5,
+ 0x01BF, 0x01CA, 0x01D4, 0x01DF,
+ 0x01EA, 0x01F5, 0x0200, 0x020C,
+ 0x0217, 0x0223, 0x022F, 0x023B,
+ 0x0247, 0x0253, 0x0260, 0x026D,
+ 0x027A, 0x0287, 0x0294, 0x02A1,
+ 0x02AF, 0x02BC, 0x02CA, 0x02D8,
+ 0x02E7, 0x02F5, 0x0304, 0x0312,
+ 0x0321, 0x0331, 0x0340, 0x034F,
+ 0x035F, 0x036F, 0x037F, 0x038F,
+ 0x03A0, 0x03B0, 0x03C1, 0x03D2,
+ 0x03E3, 0x03F5, 0x0406, 0x0418,
+ 0x042A, 0x043C, 0x044F, 0x0461,
+ 0x0474, 0x0487, 0x049A, 0x04AE,
+ 0x04C1, 0x04D5, 0x04E9, 0x04FD,
+ 0x0512, 0x0526, 0x053B, 0x0550,
+ 0x0566, 0x057B, 0x0591, 0x05A7,
+ 0x05BD, 0x05D3, 0x05EA, 0x0601,
+ 0x0618, 0x062F, 0x0646, 0x065E,
+ 0x0676, 0x068E, 0x06A6, 0x06BF,
+ 0x06D8, 0x06F1, 0x070A, 0x0723,
+ 0x073D, 0x0757, 0x0771, 0x078C,
+ 0x07A6, 0x07C1, 0x07DC, 0x07F7,
+ 0x0813, 0x082F, 0x084B, 0x0867,
+ 0x0884, 0x08A0, 0x08BD, 0x08DA,
+ 0x08F8, 0x0916, 0x0933, 0x0952,
+ 0x0970, 0x098F, 0x09AE, 0x09CD,
+ 0x09EC, 0x0A0C, 0x0A2C, 0x0A4C,
+ 0x0A6C, 0x0A8D, 0x0AAD, 0x0ACF,
+ 0x0AF0, 0x0B11, 0x0B33, 0x0B55,
+ 0x0B78, 0x0B9A, 0x0BBD, 0x0BE0,
+ 0x0C03, 0x0C27, 0x0C4B, 0x0C6F,
+ 0x0C93, 0x0CB8, 0x0CDD, 0x0D02,
+ 0x0D27, 0x0D4D, 0x0D73, 0x0D99,
+ 0x0DBF, 0x0DE6, 0x0E0C, 0x0E33,
+ 0x0E5B, 0x0E82, 0x0EAA, 0x0ED2,
+ 0x0EFB, 0x0F23, 0x0F4C, 0x0F75,
+ 0x0F9F, 0x0FC8, 0x0FF2, 0x101C,
+ 0x1047, 0x1071, 0x109C, 0x10C7,
+ 0x10F3, 0x111E, 0x114A, 0x1176,
+ 0x11A3, 0x11D0, 0x11FC, 0x122A,
+ 0x1257, 0x1285, 0x12B3, 0x12E1,
+ 0x130F, 0x133E, 0x136D, 0x139C,
+ 0x13CB, 0x13FB, 0x142B, 0x145B,
+ 0x148B, 0x14BC, 0x14ED, 0x151E,
+ 0x1550, 0x1581, 0x15B3, 0x15E5,
+ 0x1618, 0x164A, 0x167D, 0x16B0,
+ 0x16E3, 0x1717, 0x174B, 0x177F,
+ 0x17B3, 0x17E8, 0x181D, 0x1852,
+ 0x1887, 0x18BC, 0x18F2, 0x1928,
+ 0x195E, 0x1995, 0x19CB, 0x1A02,
+ 0x1A39, 0x1A71, 0x1AA8, 0x1AE0,
+ 0x1B18, 0x1B50, 0x1B89, 0x1BC1,
+ 0x1BFA, 0x1C34, 0x1C6D, 0x1CA7,
+ 0x1CE0, 0x1D1A, 0x1D55, 0x1D8F,
+ 0x1DCA, 0x1E05, 0x1E40, 0x1E7B,
+ 0x1EB7, 0x1EF2, 0x1F2E, 0x1F6B,
+ 0x1FA7, 0x1FE4, 0x2020, 0x205D,
+ 0x209B, 0x20D8, 0x2116, 0x2153,
+ 0x2191, 0x21D0, 0x220E, 0x224D,
+ 0x228B, 0x22CA, 0x2309, 0x2349,
+ 0x2388, 0x23C8, 0x2408, 0x2448,
+ 0x2488, 0x24C9, 0x2509, 0x254A,
+ 0x258B, 0x25CC, 0x260E, 0x264F,
+ 0x2691, 0x26D3, 0x2715, 0x2757,
+ 0x2799, 0x27DC, 0x281F, 0x2861,
+ 0x28A4, 0x28E8, 0x292B, 0x296E,
+ 0x29B2, 0x29F6, 0x2A3A, 0x2A7E,
+ 0x2AC2, 0x2B06, 0x2B4B, 0x2B8F,
+ 0x2BD4, 0x2C19, 0x2C5E, 0x2CA3,
+ 0x2CE9, 0x2D2E, 0x2D74, 0x2DB9,
+ 0x2DFF, 0x2E45, 0x2E8B, 0x2ED1,
+ 0x2F18, 0x2F5E, 0x2FA5, 0x2FEB,
+ 0x3032, 0x3079, 0x30C0, 0x3107,
+ 0x314E, 0x3195, 0x31DD, 0x3224,
+ 0x326C, 0x32B4, 0x32FB, 0x3343,
+ 0x338B, 0x33D3, 0x341B, 0x3463,
+ 0x34AC, 0x34F4, 0x353D, 0x3585,
+ 0x35CE, 0x3616, 0x365F, 0x36A8,
+ 0x36F1, 0x373A, 0x3783, 0x37CC,
+ 0x3815, 0x385E, 0x38A7, 0x38F0,
+ 0x393A, 0x3983, 0x39CC, 0x3A16,
+ 0x3A5F, 0x3AA9, 0x3AF2, 0x3B3C,
+ 0x3B86, 0x3BCF, 0x3C19, 0x3C63,
+ 0x3CAC, 0x3CF6, 0x3D40, 0x3D8A,
+ 0x3DD3, 0x3E1D, 0x3E67, 0x3EB1,
+ 0x3EFB, 0x3F45, 0x3F8E, 0x3FD8,
+ 0x4022, 0x406C, 0x40B6, 0x4100,
+ 0x414A, 0x4193, 0x41DD, 0x4227,
+ 0x4271, 0x42BB, 0x4304, 0x434E,
+ 0x4398, 0x43E1, 0x442B, 0x4475,
+ 0x44BE, 0x4508, 0x4551, 0x459B,
+ 0x45E4, 0x462E, 0x4677, 0x46C0,
+ 0x4709, 0x4753, 0x479C, 0x47E5,
+ 0x482E, 0x4877, 0x48C0, 0x4909,
+ 0x4951, 0x499A, 0x49E3, 0x4A2B,
+ 0x4A74, 0x4ABC, 0x4B04, 0x4B4D,
+ 0x4B95, 0x4BDD, 0x4C25, 0x4C6D,
+ 0x4CB5, 0x4CFC, 0x4D44, 0x4D8C,
+ 0x4DD3, 0x4E1A, 0x4E62, 0x4EA9,
+ 0x4EF0, 0x4F37, 0x4F7E, 0x4FC4,
+ 0x500B, 0x5051, 0x5098, 0x50DE,
+ 0x5124, 0x516A, 0x51B0, 0x51F6,
+ 0x523B, 0x5281, 0x52C6, 0x530B,
+ 0x5351, 0x5396, 0x53DA, 0x541F,
+ 0x5464, 0x54A8, 0x54EC, 0x5530,
+ 0x5574, 0x55B8, 0x55FC, 0x563F,
+ 0x5683, 0x56C6, 0x5709, 0x574C,
+ 0x578F, 0x57D1, 0x5814, 0x5856,
+ 0x5898, 0x58DA, 0x591B, 0x595D,
+ 0x599E, 0x59E0, 0x5A21, 0x5A61,
+ 0x5AA2, 0x5AE3, 0x5B23, 0x5B63,
+ 0x5BA3, 0x5BE3, 0x5C22, 0x5C62,
+ 0x5CA1, 0x5CE0, 0x5D1F, 0x5D5D,
+ 0x5D9C, 0x5DDA, 0x5E18, 0x5E56,
+ 0x5E93, 0x5ED1, 0x5F0E, 0x5F4B,
+ 0x5F87, 0x5FC4, 0x6000, 0x603D,
+ 0x6079, 0x60B4, 0x60F0, 0x612B,
+ 0x6166, 0x61A1, 0x61DC, 0x6216,
+ 0x6250, 0x628A, 0x62C4, 0x62FE,
+ 0x6337, 0x6370, 0x63A9, 0x63E2,
+ 0x641A, 0x6452, 0x648A, 0x64C2,
+ 0x64F9, 0x6531, 0x6568, 0x659E,
+ 0x65D5, 0x660B, 0x6641, 0x6677,
+ 0x66AD, 0x66E2, 0x6717, 0x674C,
+ 0x6781, 0x67B5, 0x67E9, 0x681D,
+ 0x6851, 0x6885, 0x68B8, 0x68EB,
+ 0x691D, 0x6950, 0x6982, 0x69B4,
+ 0x69E6, 0x6A17, 0x6A48, 0x6A79,
+ 0x6AAA, 0x6ADB, 0x6B0B, 0x6B3B,
+ 0x6B6A, 0x6B9A, 0x6BC9, 0x6BF8,
+ 0x6C27, 0x6C55, 0x6C83, 0x6CB1,
+ 0x6CDF, 0x6D0D, 0x6D3A, 0x6D67,
+ 0x6D93, 0x6DC0, 0x6DEC, 0x6E18,
+ 0x6E44, 0x6E6F, 0x6E9A, 0x6EC5,
+ 0x6EF0, 0x6F1A, 0x6F44, 0x6F6E,
+ 0x6F98, 0x6FC1, 0x6FEA, 0x7013,
+ 0x703C, 0x7064, 0x708C, 0x70B4,
+ 0x70DB, 0x7103, 0x712A, 0x7151,
+ 0x7177, 0x719D, 0x71C3, 0x71E9,
+ 0x720F, 0x7234, 0x7259, 0x727E,
+ 0x72A2, 0x72C7, 0x72EB, 0x730E,
+ 0x7332, 0x7355, 0x7378, 0x739B,
+ 0x73BD, 0x73E0, 0x7402, 0x7424,
+ 0x7445, 0x7466, 0x7487, 0x74A8,
+ 0x74C9, 0x74E9, 0x7509, 0x7529,
+ 0x7548, 0x7568, 0x7587, 0x75A5,
+ 0x75C4, 0x75E2, 0x7601, 0x761E,
+ 0x763C, 0x7659, 0x7676, 0x7693,
+ 0x76B0, 0x76CC, 0x76E9, 0x7705,
+ 0x7720, 0x773C, 0x7757, 0x7772,
+ 0x778D, 0x77A8, 0x77C2, 0x77DC,
+ 0x77F6, 0x780F, 0x7829, 0x7842,
+ 0x785B, 0x7874, 0x788C, 0x78A5,
+ 0x78BD, 0x78D5, 0x78EC, 0x7904,
+ 0x791B, 0x7932, 0x7949, 0x795F,
+ 0x7976, 0x798C, 0x79A2, 0x79B7,
+ 0x79CD, 0x79E2, 0x79F7, 0x7A0C,
+ 0x7A21, 0x7A35, 0x7A4A, 0x7A5E,
+ 0x7A72, 0x7A85, 0x7A99, 0x7AAC,
+ 0x7ABF, 0x7AD2, 0x7AE5, 0x7AF7,
+ 0x7B09, 0x7B1B, 0x7B2D, 0x7B3F,
+ 0x7B51, 0x7B62, 0x7B73, 0x7B84,
+ 0x7B95, 0x7BA5, 0x7BB6, 0x7BC6,
+ 0x7BD6, 0x7BE6, 0x7BF6, 0x7C05,
+ 0x7C15, 0x7C24, 0x7C33, 0x7C42,
+ 0x7C50, 0x7C5F, 0x7C6D, 0x7C7B,
+ 0x7C89, 0x7C97, 0x7CA5, 0x7CB2,
+ 0x7CC0, 0x7CCD, 0x7CDA, 0x7CE7,
+ 0x7CF3, 0x7D00, 0x7D0C, 0x7D18,
+ 0x7D25, 0x7D31, 0x7D3C, 0x7D48,
+ 0x7D53, 0x7D5F, 0x7D6A, 0x7D75,
+ 0x7D80, 0x7D8B, 0x7D95, 0x7DA0,
+ 0x7DAA, 0x7DB4, 0x7DBE, 0x7DC8,
+ 0x7DD2, 0x7DDC, 0x7DE5, 0x7DEF,
+ 0x7DF8, 0x7E01, 0x7E0A, 0x7E13,
+ 0x7E1C, 0x7E25, 0x7E2D, 0x7E36,
+ 0x7E3E, 0x7E46, 0x7E4E, 0x7E56,
+ 0x7E5E, 0x7E66, 0x7E6D, 0x7E75,
+ 0x7E7C, 0x7E83, 0x7E8B, 0x7E92,
+ 0x7E99, 0x7EA0, 0x7EA6, 0x7EAD,
+ 0x7EB3, 0x7EBA, 0x7EC0, 0x7EC6,
+ 0x7ECD, 0x7ED3, 0x7ED9, 0x7EDE,
+ 0x7EE4, 0x7EEA, 0x7EF0, 0x7EF5,
+ 0x7EFA, 0x7F00, 0x7F05, 0x7F0A,
+ 0x7F0F, 0x7F14, 0x7F19, 0x7F1E,
+ 0x7F23, 0x7F27, 0x7F2C, 0x7F30,
+ 0x7F35, 0x7F39, 0x7F3D, 0x7F41,
+ 0x7F46, 0x7F4A, 0x7F4E, 0x7F52,
+ 0x7F55, 0x7F59, 0x7F5D, 0x7F60,
+ 0x7F64, 0x7F68, 0x7F6B, 0x7F6E,
+ 0x7F72, 0x7F75, 0x7F78, 0x7F7B,
+ 0x7F7E, 0x7F81, 0x7F84, 0x7F87,
+ 0x7F8A, 0x7F8D, 0x7F90, 0x7F92,
+ 0x7F95, 0x7F97, 0x7F9A, 0x7F9C,
+ 0x7F9F, 0x7FA1, 0x7FA4, 0x7FA6,
+ 0x7FA8, 0x7FAA, 0x7FAC, 0x7FAE,
+ 0x7FB1, 0x7FB3, 0x7FB5, 0x7FB6,
+ 0x7FB8, 0x7FBA, 0x7FBC, 0x7FBE,
+ 0x7FBF, 0x7FC1, 0x7FC3, 0x7FC4,
+ 0x7FC6, 0x7FC8, 0x7FC9, 0x7FCB,
+ 0x7FCC, 0x7FCD, 0x7FCF, 0x7FD0,
+ 0x7FD1, 0x7FD3, 0x7FD4, 0x7FD5,
+ 0x7FD6, 0x7FD8, 0x7FD9, 0x7FDA,
+ 0x7FDB, 0x7FDC, 0x7FDD, 0x7FDE,
+ 0x7FDF, 0x7FE0, 0x7FE1, 0x7FE2,
+ 0x7FE3, 0x7FE4, 0x7FE4, 0x7FE5,
+ 0x7FE6, 0x7FE7, 0x7FE8, 0x7FE8,
+ 0x7FE9, 0x7FEA, 0x7FEA, 0x7FEB,
+ 0x7FEC, 0x7FEC, 0x7FED, 0x7FEE,
+ 0x7FEE, 0x7FEF, 0x7FEF, 0x7FF0,
+ 0x7FF0, 0x7FF1, 0x7FF1, 0x7FF2,
+ 0x7FF2, 0x7FF3, 0x7FF3, 0x7FF4,
+ 0x7FF4, 0x7FF4, 0x7FF5, 0x7FF5,
+ 0x7FF6, 0x7FF6, 0x7FF6, 0x7FF7,
+ 0x7FF7, 0x7FF7, 0x7FF8, 0x7FF8,
+ 0x7FF8, 0x7FF8, 0x7FF9, 0x7FF9,
+ 0x7FF9, 0x7FF9, 0x7FFA, 0x7FFA,
+ 0x7FFA, 0x7FFA, 0x7FFA, 0x7FFB,
+ 0x7FFB, 0x7FFB, 0x7FFB, 0x7FFB,
+ 0x7FFC, 0x7FFC, 0x7FFC, 0x7FFC,
+ 0x7FFC, 0x7FFC, 0x7FFC, 0x7FFC,
+ 0x7FFD, 0x7FFD, 0x7FFD, 0x7FFD,
+ 0x7FFD, 0x7FFD, 0x7FFD, 0x7FFD,
+ 0x7FFD, 0x7FFD, 0x7FFE, 0x7FFE,
+ 0x7FFE, 0x7FFE, 0x7FFE, 0x7FFE,
+ 0x7FFE, 0x7FFE, 0x7FFE, 0x7FFE,
+ 0x7FFE, 0x7FFE, 0x7FFE, 0x7FFE,
+ 0x7FFE, 0x7FFE, 0x7FFE, 0x7FFE,
+ 0x7FFF, 0x7FFF, 0x7FFF, 0x7FFF,
+ 0x7FFF, 0x7FFF, 0x7FFF, 0x7FFF,
+ 0x7FFF, 0x7FFF, 0x7FFF, 0x7FFF,
+ 0x7FFF, 0x7FFF, 0x7FFF, 0x7FFF,
+ 0x7FFF, 0x7FFF, 0x7FFF, 0x7FFF,
+ 0x7FFF, 0x7FFF, 0x7FFF, 0x7FFF,
+ 0x7FFF, 0x7FFF, 0x7FFF, 0x7FFF,
+ 0x7FFF, 0x7FFF, 0x7FFF, 0x7FFF,
+ 0x7FFF, 0x7FFF, 0x7FFF, 0x7FFF,
+ 0x7FFF, 0x7FFF, 0x7FFF, 0x7FFF
+
+};
+
+
+
+
+const Int16 Short_Window_KBD_fxp[SHORT_WINDOW] =
+{
+
+ 0x0001, 0x0004, 0x0008, 0x000D,
+ 0x0014, 0x001D, 0x0029, 0x0039,
+ 0x004C, 0x0063, 0x0080, 0x00A2,
+ 0x00CB, 0x00FB, 0x0133, 0x0174,
+ 0x01BE, 0x0214, 0x0275, 0x02E3,
+ 0x035E, 0x03E8, 0x0481, 0x052B,
+ 0x05E7, 0x06B4, 0x0795, 0x088A,
+ 0x0993, 0x0AB2, 0x0BE7, 0x0D32,
+ 0x0E94, 0x100E, 0x119F, 0x1347,
+ 0x1507, 0x16DE, 0x18CC, 0x1AD0,
+ 0x1CEB, 0x1F1A, 0x215F, 0x23B6,
+ 0x2620, 0x289C, 0x2B27, 0x2DC0,
+ 0x3066, 0x3317, 0x35D2, 0x3894,
+ 0x3B5C, 0x3E28, 0x40F6, 0x43C4,
+ 0x468F, 0x4956, 0x4C18, 0x4ED1,
+ 0x5181, 0x5425, 0x56BC, 0x5944,
+ 0x5BBB, 0x5E21, 0x6073, 0x62B1,
+ 0x64DA, 0x66EC, 0x68E7, 0x6ACB,
+ 0x6C96, 0x6E49, 0x6FE4, 0x7166,
+ 0x72D0, 0x7421, 0x755B, 0x767E,
+ 0x778A, 0x7881, 0x7962, 0x7A30,
+ 0x7AEA, 0x7B92, 0x7C29, 0x7CB0,
+ 0x7D28, 0x7D92, 0x7DF0, 0x7E42,
+ 0x7E89, 0x7EC7, 0x7EFC, 0x7F2A,
+ 0x7F50, 0x7F71, 0x7F8C, 0x7FA3,
+ 0x7FB6, 0x7FC5, 0x7FD2, 0x7FDC,
+ 0x7FE4, 0x7FEB, 0x7FF0, 0x7FF4,
+ 0x7FF7, 0x7FF9, 0x7FFB, 0x7FFC,
+ 0x7FFD, 0x7FFE, 0x7FFE, 0x7FFE,
+ 0x7FFF, 0x7FFF, 0x7FFF, 0x7FFF,
+ 0x7FFF, 0x7FFF, 0x7FFF, 0x7FFF,
+ 0x7FFF, 0x7FFF, 0x7FFF, 0x7FFF
+};
+