@scrypted/libav 1.0.167 → 1.0.169

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (722) hide show
  1. package/binding.gyp +2 -0
  2. package/opus/.gitattributes +10 -0
  3. package/opus/.gitlab-ci.yml +122 -0
  4. package/opus/AUTHORS +6 -0
  5. package/opus/CMakeLists.txt +755 -0
  6. package/opus/COPYING +44 -0
  7. package/opus/ChangeLog +0 -0
  8. package/opus/LICENSE_PLEASE_READ.txt +22 -0
  9. package/opus/Makefile.am +497 -0
  10. package/opus/Makefile.mips +169 -0
  11. package/opus/Makefile.unix +167 -0
  12. package/opus/NEWS +0 -0
  13. package/opus/README +189 -0
  14. package/opus/README.draft +54 -0
  15. package/opus/autogen.bat +13 -0
  16. package/opus/autogen.sh +16 -0
  17. package/opus/celt/_kiss_fft_guts.h +188 -0
  18. package/opus/celt/arch.h +390 -0
  19. package/opus/celt/arm/arm2gnu.pl +353 -0
  20. package/opus/celt/arm/arm_celt_map.c +171 -0
  21. package/opus/celt/arm/armcpu.c +291 -0
  22. package/opus/celt/arm/armcpu.h +90 -0
  23. package/opus/celt/arm/armopts.s.in +37 -0
  24. package/opus/celt/arm/celt_fft_ne10.c +173 -0
  25. package/opus/celt/arm/celt_mdct_ne10.c +258 -0
  26. package/opus/celt/arm/celt_neon_intr.c +272 -0
  27. package/opus/celt/arm/celt_pitch_xcorr_arm.s +551 -0
  28. package/opus/celt/arm/fft_arm.h +71 -0
  29. package/opus/celt/arm/fixed_arm64.h +35 -0
  30. package/opus/celt/arm/fixed_armv4.h +80 -0
  31. package/opus/celt/arm/fixed_armv5e.h +151 -0
  32. package/opus/celt/arm/kiss_fft_armv4.h +121 -0
  33. package/opus/celt/arm/kiss_fft_armv5e.h +118 -0
  34. package/opus/celt/arm/mdct_arm.h +59 -0
  35. package/opus/celt/arm/meson.build +12 -0
  36. package/opus/celt/arm/pitch_arm.h +160 -0
  37. package/opus/celt/arm/pitch_neon_intr.c +288 -0
  38. package/opus/celt/bands.c +1686 -0
  39. package/opus/celt/bands.h +123 -0
  40. package/opus/celt/celt.c +317 -0
  41. package/opus/celt/celt.h +255 -0
  42. package/opus/celt/celt_decoder.c +1616 -0
  43. package/opus/celt/celt_encoder.c +2854 -0
  44. package/opus/celt/celt_lpc.c +364 -0
  45. package/opus/celt/celt_lpc.h +66 -0
  46. package/opus/celt/cpu_support.h +72 -0
  47. package/opus/celt/cwrs.c +715 -0
  48. package/opus/celt/cwrs.h +48 -0
  49. package/opus/celt/dump_modes/dump_modes.c +400 -0
  50. package/opus/celt/dump_modes/dump_modes_arch.h +45 -0
  51. package/opus/celt/dump_modes/dump_modes_arm_ne10.c +152 -0
  52. package/opus/celt/ecintrin.h +91 -0
  53. package/opus/celt/entcode.c +153 -0
  54. package/opus/celt/entcode.h +152 -0
  55. package/opus/celt/entdec.c +266 -0
  56. package/opus/celt/entdec.h +110 -0
  57. package/opus/celt/entenc.c +305 -0
  58. package/opus/celt/entenc.h +119 -0
  59. package/opus/celt/fixed_c5x.h +79 -0
  60. package/opus/celt/fixed_c6x.h +70 -0
  61. package/opus/celt/fixed_debug.h +839 -0
  62. package/opus/celt/fixed_generic.h +201 -0
  63. package/opus/celt/float_cast.h +152 -0
  64. package/opus/celt/kiss_fft.c +648 -0
  65. package/opus/celt/kiss_fft.h +217 -0
  66. package/opus/celt/laplace.c +235 -0
  67. package/opus/celt/laplace.h +57 -0
  68. package/opus/celt/mathops.c +217 -0
  69. package/opus/celt/mathops.h +479 -0
  70. package/opus/celt/mdct.c +372 -0
  71. package/opus/celt/mdct.h +115 -0
  72. package/opus/celt/meson.build +64 -0
  73. package/opus/celt/mfrngcod.h +48 -0
  74. package/opus/celt/mips/celt_mipsr1.h +152 -0
  75. package/opus/celt/mips/fixed_generic_mipsr1.h +126 -0
  76. package/opus/celt/mips/kiss_fft_mipsr1.h +167 -0
  77. package/opus/celt/mips/mdct_mipsr1.h +288 -0
  78. package/opus/celt/mips/pitch_mipsr1.h +161 -0
  79. package/opus/celt/mips/vq_mipsr1.h +116 -0
  80. package/opus/celt/modes.c +450 -0
  81. package/opus/celt/modes.h +75 -0
  82. package/opus/celt/opus_custom_demo.c +451 -0
  83. package/opus/celt/os_support.h +99 -0
  84. package/opus/celt/pitch.c +555 -0
  85. package/opus/celt/pitch.h +203 -0
  86. package/opus/celt/quant_bands.c +562 -0
  87. package/opus/celt/quant_bands.h +66 -0
  88. package/opus/celt/rate.c +646 -0
  89. package/opus/celt/rate.h +101 -0
  90. package/opus/celt/stack_alloc.h +185 -0
  91. package/opus/celt/static_modes_fixed.h +1541 -0
  92. package/opus/celt/static_modes_fixed_arm_ne10.h +388 -0
  93. package/opus/celt/static_modes_float.h +888 -0
  94. package/opus/celt/static_modes_float_arm_ne10.h +404 -0
  95. package/opus/celt/tests/meson.build +19 -0
  96. package/opus/celt/tests/test_unit_cwrs32.c +162 -0
  97. package/opus/celt/tests/test_unit_dft.c +181 -0
  98. package/opus/celt/tests/test_unit_entropy.c +383 -0
  99. package/opus/celt/tests/test_unit_laplace.c +94 -0
  100. package/opus/celt/tests/test_unit_mathops.c +369 -0
  101. package/opus/celt/tests/test_unit_mdct.c +233 -0
  102. package/opus/celt/tests/test_unit_rotation.c +87 -0
  103. package/opus/celt/tests/test_unit_types.c +50 -0
  104. package/opus/celt/vq.c +442 -0
  105. package/opus/celt/vq.h +79 -0
  106. package/opus/celt/x86/celt_lpc_sse.h +67 -0
  107. package/opus/celt/x86/celt_lpc_sse4_1.c +96 -0
  108. package/opus/celt/x86/pitch_avx.c +101 -0
  109. package/opus/celt/x86/pitch_sse.c +185 -0
  110. package/opus/celt/x86/pitch_sse.h +216 -0
  111. package/opus/celt/x86/pitch_sse2.c +95 -0
  112. package/opus/celt/x86/pitch_sse4_1.c +240 -0
  113. package/opus/celt/x86/vq_sse.h +52 -0
  114. package/opus/celt/x86/vq_sse2.c +217 -0
  115. package/opus/celt/x86/x86_arch_macros.h +47 -0
  116. package/opus/celt/x86/x86_celt_map.c +187 -0
  117. package/opus/celt/x86/x86cpu.c +184 -0
  118. package/opus/celt/x86/x86cpu.h +112 -0
  119. package/opus/celt_headers.mk +54 -0
  120. package/opus/celt_sources.mk +55 -0
  121. package/opus/cmake/CFeatureCheck.cmake +39 -0
  122. package/opus/cmake/OpusBuildtype.cmake +27 -0
  123. package/opus/cmake/OpusConfig.cmake +118 -0
  124. package/opus/cmake/OpusConfig.cmake.in +20 -0
  125. package/opus/cmake/OpusFunctions.cmake +231 -0
  126. package/opus/cmake/OpusPackageVersion.cmake +70 -0
  127. package/opus/cmake/OpusSources.cmake +71 -0
  128. package/opus/cmake/README.md +132 -0
  129. package/opus/cmake/RunTest.cmake +61 -0
  130. package/opus/cmake/config.h.cmake.in +1 -0
  131. package/opus/cmake/cpu_info_by_asm.c +31 -0
  132. package/opus/cmake/cpu_info_by_c.c +9 -0
  133. package/opus/cmake/vla.c +7 -0
  134. package/opus/configure.ac +1091 -0
  135. package/opus/dnn/LPCNet.yml +24 -0
  136. package/opus/dnn/README +1 -0
  137. package/opus/dnn/README.md +126 -0
  138. package/opus/dnn/adaconvtest.c +449 -0
  139. package/opus/dnn/arm/arm_dnn_map.c +88 -0
  140. package/opus/dnn/arm/dnn_arm.h +104 -0
  141. package/opus/dnn/arm/nnet_dotprod.c +38 -0
  142. package/opus/dnn/arm/nnet_neon.c +38 -0
  143. package/opus/dnn/burg.c +246 -0
  144. package/opus/dnn/burg.h +41 -0
  145. package/opus/dnn/common.h +56 -0
  146. package/opus/dnn/datasets.txt +163 -0
  147. package/opus/dnn/download_model.bat +9 -0
  148. package/opus/dnn/download_model.sh +30 -0
  149. package/opus/dnn/dred_coding.c +44 -0
  150. package/opus/dnn/dred_coding.h +36 -0
  151. package/opus/dnn/dred_config.h +54 -0
  152. package/opus/dnn/dred_decoder.c +129 -0
  153. package/opus/dnn/dred_decoder.h +49 -0
  154. package/opus/dnn/dred_encoder.c +363 -0
  155. package/opus/dnn/dred_encoder.h +71 -0
  156. package/opus/dnn/dred_rdovae.h +42 -0
  157. package/opus/dnn/dred_rdovae_dec.c +139 -0
  158. package/opus/dnn/dred_rdovae_dec.h +53 -0
  159. package/opus/dnn/dred_rdovae_enc.c +110 -0
  160. package/opus/dnn/dred_rdovae_enc.h +52 -0
  161. package/opus/dnn/dump_data.c +238 -0
  162. package/opus/dnn/dump_lpcnet_tables.c +104 -0
  163. package/opus/dnn/fargan.c +225 -0
  164. package/opus/dnn/fargan.h +68 -0
  165. package/opus/dnn/fargan_demo.c +217 -0
  166. package/opus/dnn/freq.c +328 -0
  167. package/opus/dnn/freq.h +61 -0
  168. package/opus/dnn/fwgan.c +322 -0
  169. package/opus/dnn/fwgan.h +83 -0
  170. package/opus/dnn/kiss99.c +81 -0
  171. package/opus/dnn/kiss99.h +46 -0
  172. package/opus/dnn/lossgen.c +192 -0
  173. package/opus/dnn/lossgen.h +55 -0
  174. package/opus/dnn/lossgen_demo.c +22 -0
  175. package/opus/dnn/lpcnet.c +283 -0
  176. package/opus/dnn/lpcnet.h +183 -0
  177. package/opus/dnn/lpcnet_enc.c +230 -0
  178. package/opus/dnn/lpcnet_plc.c +211 -0
  179. package/opus/dnn/lpcnet_private.h +90 -0
  180. package/opus/dnn/lpcnet_tables.c +307 -0
  181. package/opus/dnn/meson.build +64 -0
  182. package/opus/dnn/nndsp.c +416 -0
  183. package/opus/dnn/nndsp.h +143 -0
  184. package/opus/dnn/nnet.c +149 -0
  185. package/opus/dnn/nnet.h +163 -0
  186. package/opus/dnn/nnet_arch.h +247 -0
  187. package/opus/dnn/nnet_default.c +35 -0
  188. package/opus/dnn/osce.c +1419 -0
  189. package/opus/dnn/osce.h +84 -0
  190. package/opus/dnn/osce_config.h +60 -0
  191. package/opus/dnn/osce_features.c +454 -0
  192. package/opus/dnn/osce_features.h +50 -0
  193. package/opus/dnn/osce_structs.h +125 -0
  194. package/opus/dnn/parse_lpcnet_weights.c +238 -0
  195. package/opus/dnn/pitchdnn.c +79 -0
  196. package/opus/dnn/pitchdnn.h +34 -0
  197. package/opus/dnn/tansig_table.h +50 -0
  198. package/opus/dnn/test_vec.c +128 -0
  199. package/opus/dnn/torch/dnntools/dnntools/__init__.py +2 -0
  200. package/opus/dnn/torch/dnntools/dnntools/quantization/__init__.py +1 -0
  201. package/opus/dnn/torch/dnntools/dnntools/quantization/softquant.py +113 -0
  202. package/opus/dnn/torch/dnntools/dnntools/relegance/__init__.py +2 -0
  203. package/opus/dnn/torch/dnntools/dnntools/relegance/meta_critic.py +85 -0
  204. package/opus/dnn/torch/dnntools/dnntools/relegance/relegance.py +449 -0
  205. package/opus/dnn/torch/dnntools/dnntools/sparsification/__init__.py +6 -0
  206. package/opus/dnn/torch/dnntools/dnntools/sparsification/base_sparsifier.py +58 -0
  207. package/opus/dnn/torch/dnntools/dnntools/sparsification/common.py +123 -0
  208. package/opus/dnn/torch/dnntools/dnntools/sparsification/conv1d_sparsifier.py +133 -0
  209. package/opus/dnn/torch/dnntools/dnntools/sparsification/conv_transpose1d_sparsifier.py +134 -0
  210. package/opus/dnn/torch/dnntools/dnntools/sparsification/gru_sparsifier.py +178 -0
  211. package/opus/dnn/torch/dnntools/dnntools/sparsification/linear_sparsifier.py +128 -0
  212. package/opus/dnn/torch/dnntools/dnntools/sparsification/utils.py +64 -0
  213. package/opus/dnn/torch/dnntools/requirements.txt +1 -0
  214. package/opus/dnn/torch/dnntools/setup.py +48 -0
  215. package/opus/dnn/torch/fargan/README.md +54 -0
  216. package/opus/dnn/torch/fargan/adv_train_fargan.py +277 -0
  217. package/opus/dnn/torch/fargan/dataset.py +61 -0
  218. package/opus/dnn/torch/fargan/dump_fargan_weights.py +112 -0
  219. package/opus/dnn/torch/fargan/fargan.py +322 -0
  220. package/opus/dnn/torch/fargan/filters.py +46 -0
  221. package/opus/dnn/torch/fargan/rc.py +29 -0
  222. package/opus/dnn/torch/fargan/stft_loss.py +186 -0
  223. package/opus/dnn/torch/fargan/test_fargan.py +128 -0
  224. package/opus/dnn/torch/fargan/train_fargan.py +168 -0
  225. package/opus/dnn/torch/fwgan/dump_model_weights.py +88 -0
  226. package/opus/dnn/torch/fwgan/inference.py +141 -0
  227. package/opus/dnn/torch/fwgan/models/__init__.py +7 -0
  228. package/opus/dnn/torch/fwgan/models/fwgan400.py +308 -0
  229. package/opus/dnn/torch/fwgan/models/fwgan500.py +260 -0
  230. package/opus/dnn/torch/lossgen/README.md +27 -0
  231. package/opus/dnn/torch/lossgen/export_lossgen.py +101 -0
  232. package/opus/dnn/torch/lossgen/lossgen.py +29 -0
  233. package/opus/dnn/torch/lossgen/process_data.sh +17 -0
  234. package/opus/dnn/torch/lossgen/test_lossgen.py +42 -0
  235. package/opus/dnn/torch/lossgen/train_lossgen.py +99 -0
  236. package/opus/dnn/torch/lpcnet/README.md +27 -0
  237. package/opus/dnn/torch/lpcnet/add_dataset_config.py +77 -0
  238. package/opus/dnn/torch/lpcnet/data/__init__.py +1 -0
  239. package/opus/dnn/torch/lpcnet/data/lpcnet_dataset.py +227 -0
  240. package/opus/dnn/torch/lpcnet/engine/lpcnet_engine.py +141 -0
  241. package/opus/dnn/torch/lpcnet/make_default_setup.py +56 -0
  242. package/opus/dnn/torch/lpcnet/make_test_config.py +78 -0
  243. package/opus/dnn/torch/lpcnet/models/__init__.py +8 -0
  244. package/opus/dnn/torch/lpcnet/models/lpcnet.py +303 -0
  245. package/opus/dnn/torch/lpcnet/models/multi_rate_lpcnet.py +437 -0
  246. package/opus/dnn/torch/lpcnet/print_lpcnet_complexity.py +64 -0
  247. package/opus/dnn/torch/lpcnet/scripts/collect_multi_run_results.py +190 -0
  248. package/opus/dnn/torch/lpcnet/scripts/loop_run.sh +52 -0
  249. package/opus/dnn/torch/lpcnet/scripts/make_animation.py +67 -0
  250. package/opus/dnn/torch/lpcnet/scripts/modify_dataset_target.py +17 -0
  251. package/opus/dnn/torch/lpcnet/scripts/multi_run.sh +17 -0
  252. package/opus/dnn/torch/lpcnet/scripts/run_inference_test.sh +22 -0
  253. package/opus/dnn/torch/lpcnet/scripts/update_checkpoints.py +54 -0
  254. package/opus/dnn/torch/lpcnet/scripts/update_output_folder.sh +22 -0
  255. package/opus/dnn/torch/lpcnet/scripts/update_setups.py +57 -0
  256. package/opus/dnn/torch/lpcnet/test_lpcnet.py +89 -0
  257. package/opus/dnn/torch/lpcnet/train_lpcnet.py +272 -0
  258. package/opus/dnn/torch/lpcnet/utils/__init__.py +4 -0
  259. package/opus/dnn/torch/lpcnet/utils/data.py +141 -0
  260. package/opus/dnn/torch/lpcnet/utils/endoscopy.py +234 -0
  261. package/opus/dnn/torch/lpcnet/utils/layers/__init__.py +3 -0
  262. package/opus/dnn/torch/lpcnet/utils/layers/dual_fc.py +44 -0
  263. package/opus/dnn/torch/lpcnet/utils/layers/pcm_embeddings.py +71 -0
  264. package/opus/dnn/torch/lpcnet/utils/layers/subconditioner.py +497 -0
  265. package/opus/dnn/torch/lpcnet/utils/misc.py +65 -0
  266. package/opus/dnn/torch/lpcnet/utils/pcm.py +35 -0
  267. package/opus/dnn/torch/lpcnet/utils/sample.py +44 -0
  268. package/opus/dnn/torch/lpcnet/utils/sparsification/__init__.py +2 -0
  269. package/opus/dnn/torch/lpcnet/utils/sparsification/common.py +121 -0
  270. package/opus/dnn/torch/lpcnet/utils/sparsification/gru_sparsifier.py +187 -0
  271. package/opus/dnn/torch/lpcnet/utils/templates.py +157 -0
  272. package/opus/dnn/torch/lpcnet/utils/ulaw.py +58 -0
  273. package/opus/dnn/torch/lpcnet/utils/wav.py +43 -0
  274. package/opus/dnn/torch/neural-pitch/README.md +18 -0
  275. package/opus/dnn/torch/neural-pitch/data_augmentation.py +149 -0
  276. package/opus/dnn/torch/neural-pitch/download_demand.sh +43 -0
  277. package/opus/dnn/torch/neural-pitch/evaluation.py +349 -0
  278. package/opus/dnn/torch/neural-pitch/experiments.py +38 -0
  279. package/opus/dnn/torch/neural-pitch/export_neuralpitch_weights.py +109 -0
  280. package/opus/dnn/torch/neural-pitch/models.py +178 -0
  281. package/opus/dnn/torch/neural-pitch/neural_pitch_update.py +179 -0
  282. package/opus/dnn/torch/neural-pitch/ptdb_process.sh +34 -0
  283. package/opus/dnn/torch/neural-pitch/run_crepe.py +72 -0
  284. package/opus/dnn/torch/neural-pitch/training.py +162 -0
  285. package/opus/dnn/torch/neural-pitch/utils.py +59 -0
  286. package/opus/dnn/torch/osce/README.md +66 -0
  287. package/opus/dnn/torch/osce/adv_train_model.py +462 -0
  288. package/opus/dnn/torch/osce/adv_train_vocoder.py +451 -0
  289. package/opus/dnn/torch/osce/create_testvectors.py +165 -0
  290. package/opus/dnn/torch/osce/data/__init__.py +2 -0
  291. package/opus/dnn/torch/osce/data/lpcnet_vocoding_dataset.py +225 -0
  292. package/opus/dnn/torch/osce/data/silk_conversion_set.py +132 -0
  293. package/opus/dnn/torch/osce/data/silk_enhancement_set.py +140 -0
  294. package/opus/dnn/torch/osce/engine/engine.py +103 -0
  295. package/opus/dnn/torch/osce/engine/vocoder_engine.py +101 -0
  296. package/opus/dnn/torch/osce/export_model_weights.py +174 -0
  297. package/opus/dnn/torch/osce/losses/stft_loss.py +277 -0
  298. package/opus/dnn/torch/osce/losses/td_lowpass.py +34 -0
  299. package/opus/dnn/torch/osce/make_default_setup.py +93 -0
  300. package/opus/dnn/torch/osce/models/__init__.py +42 -0
  301. package/opus/dnn/torch/osce/models/fd_discriminator.py +974 -0
  302. package/opus/dnn/torch/osce/models/lace.py +190 -0
  303. package/opus/dnn/torch/osce/models/lavoce.py +274 -0
  304. package/opus/dnn/torch/osce/models/lavoce_400.py +254 -0
  305. package/opus/dnn/torch/osce/models/lpcnet_feature_net.py +91 -0
  306. package/opus/dnn/torch/osce/models/nns_base.py +69 -0
  307. package/opus/dnn/torch/osce/models/no_lace.py +218 -0
  308. package/opus/dnn/torch/osce/models/scale_embedding.py +68 -0
  309. package/opus/dnn/torch/osce/models/shape_up_48.py +179 -0
  310. package/opus/dnn/torch/osce/models/silk_feature_net.py +86 -0
  311. package/opus/dnn/torch/osce/models/silk_feature_net_pl.py +127 -0
  312. package/opus/dnn/torch/osce/requirements.txt +9 -0
  313. package/opus/dnn/torch/osce/resources/training_files.txt +107716 -0
  314. package/opus/dnn/torch/osce/resources/validation_files.txt +26929 -0
  315. package/opus/dnn/torch/osce/scripts/concatenator.py +85 -0
  316. package/opus/dnn/torch/osce/silk_16_to_48.py +28 -0
  317. package/opus/dnn/torch/osce/stndrd/evaluation/commonvoice_clip_selection.py +123 -0
  318. package/opus/dnn/torch/osce/stndrd/evaluation/create_input_data.sh +25 -0
  319. package/opus/dnn/torch/osce/stndrd/evaluation/env.rc +7 -0
  320. package/opus/dnn/torch/osce/stndrd/evaluation/evaluate.py +113 -0
  321. package/opus/dnn/torch/osce/stndrd/evaluation/lace_loss_metric.py +330 -0
  322. package/opus/dnn/torch/osce/stndrd/evaluation/make_boxplots.py +116 -0
  323. package/opus/dnn/torch/osce/stndrd/evaluation/make_boxplots_moctest.py +109 -0
  324. package/opus/dnn/torch/osce/stndrd/evaluation/make_tables.py +124 -0
  325. package/opus/dnn/torch/osce/stndrd/evaluation/make_tables_moctest.py +121 -0
  326. package/opus/dnn/torch/osce/stndrd/evaluation/moc.py +182 -0
  327. package/opus/dnn/torch/osce/stndrd/evaluation/moc2.py +190 -0
  328. package/opus/dnn/torch/osce/stndrd/evaluation/process_dataset.sh +98 -0
  329. package/opus/dnn/torch/osce/stndrd/evaluation/run_nomad.py +138 -0
  330. package/opus/dnn/torch/osce/stndrd/evaluation/run_osce_test.py +196 -0
  331. package/opus/dnn/torch/osce/stndrd/presentation/endoscopy.py +205 -0
  332. package/opus/dnn/torch/osce/stndrd/presentation/lace_demo.ipynb +313 -0
  333. package/opus/dnn/torch/osce/stndrd/presentation/linear_prediction.ipynb +320 -0
  334. package/opus/dnn/torch/osce/stndrd/presentation/playback.py +25 -0
  335. package/opus/dnn/torch/osce/stndrd/presentation/postfilter.ipynb +275 -0
  336. package/opus/dnn/torch/osce/stndrd/presentation/spectrogram.ipynb +173 -0
  337. package/opus/dnn/torch/osce/test_model.py +96 -0
  338. package/opus/dnn/torch/osce/test_vocoder.py +103 -0
  339. package/opus/dnn/torch/osce/train_model.py +307 -0
  340. package/opus/dnn/torch/osce/train_vocoder.py +287 -0
  341. package/opus/dnn/torch/osce/utils/ada_conv.py +71 -0
  342. package/opus/dnn/torch/osce/utils/complexity.py +8 -0
  343. package/opus/dnn/torch/osce/utils/endoscopy.py +205 -0
  344. package/opus/dnn/torch/osce/utils/layers/fir.py +27 -0
  345. package/opus/dnn/torch/osce/utils/layers/limited_adaptive_comb1d.py +230 -0
  346. package/opus/dnn/torch/osce/utils/layers/limited_adaptive_conv1d.py +200 -0
  347. package/opus/dnn/torch/osce/utils/layers/noise_shaper.py +100 -0
  348. package/opus/dnn/torch/osce/utils/layers/pitch_auto_correlator.py +84 -0
  349. package/opus/dnn/torch/osce/utils/layers/silk_upsampler.py +167 -0
  350. package/opus/dnn/torch/osce/utils/layers/td_shaper.py +145 -0
  351. package/opus/dnn/torch/osce/utils/lpcnet_features.py +112 -0
  352. package/opus/dnn/torch/osce/utils/misc.py +95 -0
  353. package/opus/dnn/torch/osce/utils/moc.py +153 -0
  354. package/opus/dnn/torch/osce/utils/pitch.py +122 -0
  355. package/opus/dnn/torch/osce/utils/silk_features.py +144 -0
  356. package/opus/dnn/torch/osce/utils/softquant.py +110 -0
  357. package/opus/dnn/torch/osce/utils/spec.py +210 -0
  358. package/opus/dnn/torch/osce/utils/templates.py +347 -0
  359. package/opus/dnn/torch/plc/export_plc.py +100 -0
  360. package/opus/dnn/torch/plc/plc.py +144 -0
  361. package/opus/dnn/torch/plc/plc_dataset.py +60 -0
  362. package/opus/dnn/torch/plc/train_plc.py +145 -0
  363. package/opus/dnn/torch/rdovae/README.md +55 -0
  364. package/opus/dnn/torch/rdovae/download_datasets.sh +6 -0
  365. package/opus/dnn/torch/rdovae/export_rdovae_weights.py +365 -0
  366. package/opus/dnn/torch/rdovae/fec_encoder.py +212 -0
  367. package/opus/dnn/torch/rdovae/import_rdovae_weights.py +143 -0
  368. package/opus/dnn/torch/rdovae/packets/__init__.py +1 -0
  369. package/opus/dnn/torch/rdovae/packets/fec_packets.c +142 -0
  370. package/opus/dnn/torch/rdovae/packets/fec_packets.h +34 -0
  371. package/opus/dnn/torch/rdovae/packets/fec_packets.py +108 -0
  372. package/opus/dnn/torch/rdovae/process_speech.sh +7 -0
  373. package/opus/dnn/torch/rdovae/rdovae/__init__.py +2 -0
  374. package/opus/dnn/torch/rdovae/rdovae/dataset.py +67 -0
  375. package/opus/dnn/torch/rdovae/rdovae/rdovae.py +719 -0
  376. package/opus/dnn/torch/rdovae/requirements.txt +4 -0
  377. package/opus/dnn/torch/rdovae/train_rdovae.py +278 -0
  378. package/opus/dnn/torch/testsuite/README.md +46 -0
  379. package/opus/dnn/torch/testsuite/examples/lpcnet_c_example.yml +6 -0
  380. package/opus/dnn/torch/testsuite/examples/lpcnet_c_plc_example.yml +5 -0
  381. package/opus/dnn/torch/testsuite/examples/lpcnet_torch_example.yml +5 -0
  382. package/opus/dnn/torch/testsuite/requirements.txt +12 -0
  383. package/opus/dnn/torch/testsuite/run_test.py +375 -0
  384. package/opus/dnn/torch/testsuite/utils/__init__.py +0 -0
  385. package/opus/dnn/torch/testsuite/utils/files.py +54 -0
  386. package/opus/dnn/torch/testsuite/utils/pesq.py +43 -0
  387. package/opus/dnn/torch/testsuite/utils/pitch.py +61 -0
  388. package/opus/dnn/torch/weight-exchange/README.md +21 -0
  389. package/opus/dnn/torch/weight-exchange/requirements.txt +1 -0
  390. package/opus/dnn/torch/weight-exchange/setup.py +48 -0
  391. package/opus/dnn/torch/weight-exchange/wexchange/__init__.py +30 -0
  392. package/opus/dnn/torch/weight-exchange/wexchange/c_export/__init__.py +31 -0
  393. package/opus/dnn/torch/weight-exchange/wexchange/c_export/c_writer.py +181 -0
  394. package/opus/dnn/torch/weight-exchange/wexchange/c_export/common.py +386 -0
  395. package/opus/dnn/torch/weight-exchange/wexchange/tf/__init__.py +5 -0
  396. package/opus/dnn/torch/weight-exchange/wexchange/tf/tf.py +188 -0
  397. package/opus/dnn/torch/weight-exchange/wexchange/torch/__init__.py +37 -0
  398. package/opus/dnn/torch/weight-exchange/wexchange/torch/torch.py +433 -0
  399. package/opus/dnn/training_tf2/dataloader.py +49 -0
  400. package/opus/dnn/training_tf2/decode_rdovae.py +111 -0
  401. package/opus/dnn/training_tf2/diffembed.py +49 -0
  402. package/opus/dnn/training_tf2/dump_lpcnet.py +388 -0
  403. package/opus/dnn/training_tf2/dump_plc.py +296 -0
  404. package/opus/dnn/training_tf2/dump_rdovae.py +306 -0
  405. package/opus/dnn/training_tf2/encode_rdovae.py +125 -0
  406. package/opus/dnn/training_tf2/fec_encoder.py +256 -0
  407. package/opus/dnn/training_tf2/fec_packets.c +142 -0
  408. package/opus/dnn/training_tf2/fec_packets.h +34 -0
  409. package/opus/dnn/training_tf2/fec_packets.py +108 -0
  410. package/opus/dnn/training_tf2/keraslayerdump.py +189 -0
  411. package/opus/dnn/training_tf2/lossfuncs.py +99 -0
  412. package/opus/dnn/training_tf2/lpcnet.py +339 -0
  413. package/opus/dnn/training_tf2/lpcnet_plc.py +101 -0
  414. package/opus/dnn/training_tf2/mdense.py +95 -0
  415. package/opus/dnn/training_tf2/pade.py +70 -0
  416. package/opus/dnn/training_tf2/parameters.py +29 -0
  417. package/opus/dnn/training_tf2/plc_loader.py +73 -0
  418. package/opus/dnn/training_tf2/rdovae.py +372 -0
  419. package/opus/dnn/training_tf2/rdovae_exchange.py +138 -0
  420. package/opus/dnn/training_tf2/rdovae_import.py +123 -0
  421. package/opus/dnn/training_tf2/test_lpcnet.py +120 -0
  422. package/opus/dnn/training_tf2/test_plc.py +92 -0
  423. package/opus/dnn/training_tf2/tf_funcs.py +70 -0
  424. package/opus/dnn/training_tf2/train_lpcnet.py +214 -0
  425. package/opus/dnn/training_tf2/train_plc.py +197 -0
  426. package/opus/dnn/training_tf2/train_rdovae.py +151 -0
  427. package/opus/dnn/training_tf2/ulaw.py +19 -0
  428. package/opus/dnn/training_tf2/uniform_noise.py +78 -0
  429. package/opus/dnn/vec.h +389 -0
  430. package/opus/dnn/vec_avx.h +884 -0
  431. package/opus/dnn/vec_neon.h +473 -0
  432. package/opus/dnn/write_lpcnet_weights.c +97 -0
  433. package/opus/dnn/x86/dnn_x86.h +121 -0
  434. package/opus/dnn/x86/nnet_avx2.c +40 -0
  435. package/opus/dnn/x86/nnet_sse2.c +40 -0
  436. package/opus/dnn/x86/nnet_sse4_1.c +40 -0
  437. package/opus/dnn/x86/x86_dnn_map.c +83 -0
  438. package/opus/doc/Doxyfile.in +340 -0
  439. package/opus/doc/Makefile.am +45 -0
  440. package/opus/doc/build_draft.sh +113 -0
  441. package/opus/doc/build_isobmff.sh +50 -0
  442. package/opus/doc/build_oggdraft.sh +52 -0
  443. package/opus/doc/customdoxygen.css +1011 -0
  444. package/opus/doc/draft-ietf-codec-oggopus.xml +1873 -0
  445. package/opus/doc/draft-ietf-codec-opus-update.xml +513 -0
  446. package/opus/doc/draft-ietf-codec-opus.xml +8276 -0
  447. package/opus/doc/draft-ietf-payload-rtp-opus.xml +960 -0
  448. package/opus/doc/footer.html +32 -0
  449. package/opus/doc/header.html +61 -0
  450. package/opus/doc/meson.build +33 -0
  451. package/opus/doc/opus_in_isobmff.css +60 -0
  452. package/opus/doc/opus_in_isobmff.html +692 -0
  453. package/opus/doc/opus_logo.svg +157 -0
  454. package/opus/doc/opus_update.patch +244 -0
  455. package/opus/doc/release.txt +43 -0
  456. package/opus/doc/trivial_example.c +171 -0
  457. package/opus/include/meson.build +13 -0
  458. package/opus/include/opus.h +1172 -0
  459. package/opus/include/opus_custom.h +381 -0
  460. package/opus/include/opus_defines.h +830 -0
  461. package/opus/include/opus_multistream.h +736 -0
  462. package/opus/include/opus_projection.h +643 -0
  463. package/opus/include/opus_types.h +166 -0
  464. package/opus/lpcnet_headers.mk +44 -0
  465. package/opus/lpcnet_sources.mk +44 -0
  466. package/opus/m4/as-gcc-inline-assembly.m4 +98 -0
  467. package/opus/m4/ax_add_fortify_source.m4 +53 -0
  468. package/opus/m4/opus-intrinsics.m4 +29 -0
  469. package/opus/meson/README.md +88 -0
  470. package/opus/meson/get-version.py +86 -0
  471. package/opus/meson/read-sources-list.py +28 -0
  472. package/opus/meson.build +745 -0
  473. package/opus/meson_options.txt +27 -0
  474. package/opus/opus-uninstalled.pc.in +12 -0
  475. package/opus/opus.m4 +117 -0
  476. package/opus/opus.pc.in +16 -0
  477. package/opus/opus_headers.mk +8 -0
  478. package/opus/opus_sources.mk +17 -0
  479. package/opus/releases.sha2 +85 -0
  480. package/opus/scripts/dump_rnn.py +57 -0
  481. package/opus/scripts/local_build.py +220 -0
  482. package/opus/scripts/rnn_train.py +67 -0
  483. package/opus/scripts/shrink_model.sh +7 -0
  484. package/opus/silk/A2NLSF.c +267 -0
  485. package/opus/silk/API.h +156 -0
  486. package/opus/silk/CNG.c +188 -0
  487. package/opus/silk/HP_variable_cutoff.c +77 -0
  488. package/opus/silk/Inlines.h +188 -0
  489. package/opus/silk/LPC_analysis_filter.c +111 -0
  490. package/opus/silk/LPC_fit.c +82 -0
  491. package/opus/silk/LPC_inv_pred_gain.c +141 -0
  492. package/opus/silk/LP_variable_cutoff.c +135 -0
  493. package/opus/silk/MacroCount.h +710 -0
  494. package/opus/silk/MacroDebug.h +945 -0
  495. package/opus/silk/NLSF2A.c +141 -0
  496. package/opus/silk/NLSF_VQ.c +76 -0
  497. package/opus/silk/NLSF_VQ_weights_laroia.c +80 -0
  498. package/opus/silk/NLSF_decode.c +93 -0
  499. package/opus/silk/NLSF_del_dec_quant.c +215 -0
  500. package/opus/silk/NLSF_encode.c +124 -0
  501. package/opus/silk/NLSF_stabilize.c +142 -0
  502. package/opus/silk/NLSF_unpack.c +55 -0
  503. package/opus/silk/NSQ.c +437 -0
  504. package/opus/silk/NSQ.h +101 -0
  505. package/opus/silk/NSQ_del_dec.c +733 -0
  506. package/opus/silk/PLC.c +493 -0
  507. package/opus/silk/PLC.h +65 -0
  508. package/opus/silk/SigProc_FIX.h +643 -0
  509. package/opus/silk/VAD.c +360 -0
  510. package/opus/silk/VQ_WMat_EC.c +131 -0
  511. package/opus/silk/ana_filt_bank_1.c +74 -0
  512. package/opus/silk/arm/LPC_inv_pred_gain_arm.h +57 -0
  513. package/opus/silk/arm/LPC_inv_pred_gain_neon_intr.c +288 -0
  514. package/opus/silk/arm/NSQ_del_dec_arm.h +100 -0
  515. package/opus/silk/arm/NSQ_del_dec_neon_intr.c +1138 -0
  516. package/opus/silk/arm/NSQ_neon.c +112 -0
  517. package/opus/silk/arm/NSQ_neon.h +114 -0
  518. package/opus/silk/arm/SigProc_FIX_armv4.h +47 -0
  519. package/opus/silk/arm/SigProc_FIX_armv5e.h +61 -0
  520. package/opus/silk/arm/arm_silk_map.c +128 -0
  521. package/opus/silk/arm/biquad_alt_arm.h +68 -0
  522. package/opus/silk/arm/biquad_alt_neon_intr.c +156 -0
  523. package/opus/silk/arm/macros_arm64.h +39 -0
  524. package/opus/silk/arm/macros_armv4.h +110 -0
  525. package/opus/silk/arm/macros_armv5e.h +220 -0
  526. package/opus/silk/biquad_alt.c +121 -0
  527. package/opus/silk/bwexpander.c +51 -0
  528. package/opus/silk/bwexpander_32.c +51 -0
  529. package/opus/silk/check_control_input.c +106 -0
  530. package/opus/silk/code_signs.c +115 -0
  531. package/opus/silk/control.h +161 -0
  532. package/opus/silk/control_SNR.c +113 -0
  533. package/opus/silk/control_audio_bandwidth.c +132 -0
  534. package/opus/silk/control_codec.c +423 -0
  535. package/opus/silk/debug.c +174 -0
  536. package/opus/silk/debug.h +267 -0
  537. package/opus/silk/dec_API.c +465 -0
  538. package/opus/silk/decode_core.c +243 -0
  539. package/opus/silk/decode_frame.c +169 -0
  540. package/opus/silk/decode_indices.c +151 -0
  541. package/opus/silk/decode_parameters.c +115 -0
  542. package/opus/silk/decode_pitch.c +77 -0
  543. package/opus/silk/decode_pulses.c +115 -0
  544. package/opus/silk/decoder_set_fs.c +108 -0
  545. package/opus/silk/define.h +235 -0
  546. package/opus/silk/enc_API.c +593 -0
  547. package/opus/silk/encode_indices.c +181 -0
  548. package/opus/silk/encode_pulses.c +206 -0
  549. package/opus/silk/errors.h +98 -0
  550. package/opus/silk/fixed/LTP_analysis_filter_FIX.c +90 -0
  551. package/opus/silk/fixed/LTP_scale_ctrl_FIX.c +58 -0
  552. package/opus/silk/fixed/apply_sine_window_FIX.c +101 -0
  553. package/opus/silk/fixed/arm/warped_autocorrelation_FIX_arm.h +68 -0
  554. package/opus/silk/fixed/arm/warped_autocorrelation_FIX_neon_intr.c +265 -0
  555. package/opus/silk/fixed/autocorr_FIX.c +48 -0
  556. package/opus/silk/fixed/burg_modified_FIX.c +280 -0
  557. package/opus/silk/fixed/corrMatrix_FIX.c +150 -0
  558. package/opus/silk/fixed/encode_frame_FIX.c +444 -0
  559. package/opus/silk/fixed/find_LPC_FIX.c +151 -0
  560. package/opus/silk/fixed/find_LTP_FIX.c +99 -0
  561. package/opus/silk/fixed/find_pitch_lags_FIX.c +143 -0
  562. package/opus/silk/fixed/find_pred_coefs_FIX.c +146 -0
  563. package/opus/silk/fixed/k2a_FIX.c +54 -0
  564. package/opus/silk/fixed/k2a_Q16_FIX.c +54 -0
  565. package/opus/silk/fixed/main_FIX.h +244 -0
  566. package/opus/silk/fixed/mips/noise_shape_analysis_FIX_mipsr1.h +336 -0
  567. package/opus/silk/fixed/mips/prefilter_FIX_mipsr1.h +184 -0
  568. package/opus/silk/fixed/mips/warped_autocorrelation_FIX_mipsr1.h +165 -0
  569. package/opus/silk/fixed/noise_shape_analysis_FIX.c +407 -0
  570. package/opus/silk/fixed/pitch_analysis_core_FIX.c +721 -0
  571. package/opus/silk/fixed/process_gains_FIX.c +117 -0
  572. package/opus/silk/fixed/regularize_correlations_FIX.c +47 -0
  573. package/opus/silk/fixed/residual_energy16_FIX.c +103 -0
  574. package/opus/silk/fixed/residual_energy_FIX.c +98 -0
  575. package/opus/silk/fixed/schur64_FIX.c +93 -0
  576. package/opus/silk/fixed/schur_FIX.c +107 -0
  577. package/opus/silk/fixed/structs_FIX.h +116 -0
  578. package/opus/silk/fixed/vector_ops_FIX.c +102 -0
  579. package/opus/silk/fixed/warped_autocorrelation_FIX.c +92 -0
  580. package/opus/silk/fixed/x86/burg_modified_FIX_sse4_1.c +400 -0
  581. package/opus/silk/fixed/x86/vector_ops_FIX_sse4_1.c +93 -0
  582. package/opus/silk/float/LPC_analysis_filter_FLP.c +249 -0
  583. package/opus/silk/float/LPC_inv_pred_gain_FLP.c +73 -0
  584. package/opus/silk/float/LTP_analysis_filter_FLP.c +75 -0
  585. package/opus/silk/float/LTP_scale_ctrl_FLP.c +58 -0
  586. package/opus/silk/float/SigProc_FLP.h +205 -0
  587. package/opus/silk/float/apply_sine_window_FLP.c +81 -0
  588. package/opus/silk/float/autocorrelation_FLP.c +53 -0
  589. package/opus/silk/float/burg_modified_FLP.c +187 -0
  590. package/opus/silk/float/bwexpander_FLP.c +49 -0
  591. package/opus/silk/float/corrMatrix_FLP.c +95 -0
  592. package/opus/silk/float/encode_frame_FLP.c +432 -0
  593. package/opus/silk/float/energy_FLP.c +59 -0
  594. package/opus/silk/float/find_LPC_FLP.c +105 -0
  595. package/opus/silk/float/find_LTP_FLP.c +65 -0
  596. package/opus/silk/float/find_pitch_lags_FLP.c +132 -0
  597. package/opus/silk/float/find_pred_coefs_FLP.c +117 -0
  598. package/opus/silk/float/inner_product_FLP.c +59 -0
  599. package/opus/silk/float/k2a_FLP.c +54 -0
  600. package/opus/silk/float/main_FLP.h +290 -0
  601. package/opus/silk/float/noise_shape_analysis_FLP.c +350 -0
  602. package/opus/silk/float/pitch_analysis_core_FLP.c +630 -0
  603. package/opus/silk/float/process_gains_FLP.c +103 -0
  604. package/opus/silk/float/regularize_correlations_FLP.c +48 -0
  605. package/opus/silk/float/residual_energy_FLP.c +117 -0
  606. package/opus/silk/float/scale_copy_vector_FLP.c +57 -0
  607. package/opus/silk/float/scale_vector_FLP.c +56 -0
  608. package/opus/silk/float/schur_FLP.c +70 -0
  609. package/opus/silk/float/sort_FLP.c +83 -0
  610. package/opus/silk/float/structs_FLP.h +112 -0
  611. package/opus/silk/float/warped_autocorrelation_FLP.c +75 -0
  612. package/opus/silk/float/wrappers_FLP.c +209 -0
  613. package/opus/silk/float/x86/inner_product_FLP_avx2.c +85 -0
  614. package/opus/silk/gain_quant.c +142 -0
  615. package/opus/silk/init_decoder.c +84 -0
  616. package/opus/silk/init_encoder.c +68 -0
  617. package/opus/silk/inner_prod_aligned.c +47 -0
  618. package/opus/silk/interpolate.c +51 -0
  619. package/opus/silk/lin2log.c +46 -0
  620. package/opus/silk/log2lin.c +58 -0
  621. package/opus/silk/macros.h +151 -0
  622. package/opus/silk/main.h +486 -0
  623. package/opus/silk/meson.build +69 -0
  624. package/opus/silk/mips/NSQ_del_dec_mipsr1.h +410 -0
  625. package/opus/silk/mips/macros_mipsr1.h +92 -0
  626. package/opus/silk/mips/sigproc_fix_mipsr1.h +60 -0
  627. package/opus/silk/pitch_est_defines.h +88 -0
  628. package/opus/silk/pitch_est_tables.c +99 -0
  629. package/opus/silk/process_NLSFs.c +107 -0
  630. package/opus/silk/quant_LTP_gains.c +132 -0
  631. package/opus/silk/resampler.c +215 -0
  632. package/opus/silk/resampler_down2.c +74 -0
  633. package/opus/silk/resampler_down2_3.c +103 -0
  634. package/opus/silk/resampler_private.h +88 -0
  635. package/opus/silk/resampler_private_AR2.c +55 -0
  636. package/opus/silk/resampler_private_IIR_FIR.c +107 -0
  637. package/opus/silk/resampler_private_down_FIR.c +194 -0
  638. package/opus/silk/resampler_private_up2_HQ.c +113 -0
  639. package/opus/silk/resampler_rom.c +96 -0
  640. package/opus/silk/resampler_rom.h +68 -0
  641. package/opus/silk/resampler_structs.h +60 -0
  642. package/opus/silk/shell_coder.c +151 -0
  643. package/opus/silk/sigm_Q15.c +76 -0
  644. package/opus/silk/sort.c +154 -0
  645. package/opus/silk/stereo_LR_to_MS.c +229 -0
  646. package/opus/silk/stereo_MS_to_LR.c +85 -0
  647. package/opus/silk/stereo_decode_pred.c +73 -0
  648. package/opus/silk/stereo_encode_pred.c +62 -0
  649. package/opus/silk/stereo_find_predictor.c +79 -0
  650. package/opus/silk/stereo_quant_pred.c +73 -0
  651. package/opus/silk/structs.h +357 -0
  652. package/opus/silk/sum_sqr_shift.c +83 -0
  653. package/opus/silk/table_LSF_cos.c +70 -0
  654. package/opus/silk/tables.h +114 -0
  655. package/opus/silk/tables_LTP.c +294 -0
  656. package/opus/silk/tables_NLSF_CB_NB_MB.c +195 -0
  657. package/opus/silk/tables_NLSF_CB_WB.c +234 -0
  658. package/opus/silk/tables_gain.c +63 -0
  659. package/opus/silk/tables_other.c +124 -0
  660. package/opus/silk/tables_pitch_lag.c +69 -0
  661. package/opus/silk/tables_pulses_per_block.c +264 -0
  662. package/opus/silk/tests/meson.build +8 -0
  663. package/opus/silk/tests/test_unit_LPC_inv_pred_gain.c +130 -0
  664. package/opus/silk/tuning_parameters.h +155 -0
  665. package/opus/silk/typedef.h +81 -0
  666. package/opus/silk/x86/NSQ_del_dec_avx2.c +1075 -0
  667. package/opus/silk/x86/NSQ_del_dec_sse4_1.c +915 -0
  668. package/opus/silk/x86/NSQ_sse4_1.c +772 -0
  669. package/opus/silk/x86/SigProc_FIX_sse.h +99 -0
  670. package/opus/silk/x86/VAD_sse4_1.c +289 -0
  671. package/opus/silk/x86/VQ_WMat_EC_sse4_1.c +173 -0
  672. package/opus/silk/x86/main_sse.h +299 -0
  673. package/opus/silk/x86/x86_silk_map.c +179 -0
  674. package/opus/silk_headers.mk +44 -0
  675. package/opus/silk_sources.mk +164 -0
  676. package/opus/src/analysis.c +979 -0
  677. package/opus/src/analysis.h +103 -0
  678. package/opus/src/extensions.c +663 -0
  679. package/opus/src/mapping_matrix.c +993 -0
  680. package/opus/src/mapping_matrix.h +165 -0
  681. package/opus/src/meson.build +45 -0
  682. package/opus/src/mlp.c +132 -0
  683. package/opus/src/mlp.h +60 -0
  684. package/opus/src/mlp_data.c +672 -0
  685. package/opus/src/opus.c +362 -0
  686. package/opus/src/opus_compare.c +382 -0
  687. package/opus/src/opus_decoder.c +1579 -0
  688. package/opus/src/opus_demo.c +1194 -0
  689. package/opus/src/opus_encoder.c +3180 -0
  690. package/opus/src/opus_multistream.c +92 -0
  691. package/opus/src/opus_multistream_decoder.c +563 -0
  692. package/opus/src/opus_multistream_encoder.c +1321 -0
  693. package/opus/src/opus_private.h +263 -0
  694. package/opus/src/opus_projection_decoder.c +283 -0
  695. package/opus/src/opus_projection_encoder.c +522 -0
  696. package/opus/src/repacketizer.c +469 -0
  697. package/opus/src/repacketizer_demo.c +247 -0
  698. package/opus/src/tansig_table.h +45 -0
  699. package/opus/tar_list.txt +28 -0
  700. package/opus/tests/meson.build +39 -0
  701. package/opus/tests/opus_build_test.sh +29 -0
  702. package/opus/tests/opus_decode_fuzzer.c +124 -0
  703. package/opus/tests/opus_decode_fuzzer.options +2 -0
  704. package/opus/tests/opus_encode_regressions.c +1034 -0
  705. package/opus/tests/random_config.sh +126 -0
  706. package/opus/tests/run_vectors.sh +143 -0
  707. package/opus/tests/test_opus_api.c +1904 -0
  708. package/opus/tests/test_opus_common.h +86 -0
  709. package/opus/tests/test_opus_custom.c +694 -0
  710. package/opus/tests/test_opus_decode.c +481 -0
  711. package/opus/tests/test_opus_dred.c +107 -0
  712. package/opus/tests/test_opus_encode.c +738 -0
  713. package/opus/tests/test_opus_extensions.c +750 -0
  714. package/opus/tests/test_opus_padding.c +94 -0
  715. package/opus/tests/test_opus_projection.c +384 -0
  716. package/opus/training/rnn_dump.py +66 -0
  717. package/opus/training/rnn_train.py +177 -0
  718. package/opus/training/txt2hdf5.py +12 -0
  719. package/opus/update_version +65 -0
  720. package/package.json +2 -2
  721. package/src/build-ffmpeg-msys.sh +8 -2
  722. package/test.mp4 +0 -0
@@ -0,0 +1,1541 @@
1
+ /* The contents of this file was automatically generated by dump_modes.c
2
+ with arguments: 48000 960
3
+ It contains static definitions for some pre-defined modes. */
4
+ #include "modes.h"
5
+ #include "rate.h"
6
+
7
+ #ifdef HAVE_ARM_NE10
8
+ #define OVERRIDE_FFT 1
9
+ #include "static_modes_fixed_arm_ne10.h"
10
+ #endif
11
+
12
+ #ifndef DEF_WINDOW120
13
+ #define DEF_WINDOW120
14
+ static const celt_coef window120[120] = {
15
+ #ifdef ENABLE_QEXT
16
+ 144497, 1300330, 3611201, 7075520, 11690888,
17
+ 17454086, 24361057, 32406886, 41585775, 51891010,
18
+ 63314937, 75848919, 89483305, 104207389, 120009370,
19
+ 136876310, 154794092, 173747378, 193719571, 214692768,
20
+ 236647730, 259563841, 283419076, 308189974, 333851610,
21
+ 360377579, 387739975, 415909390, 444854905, 474544098,
22
+ 504943052, 536016380, 567727246, 600037405, 632907246,
23
+ 666295841, 700161014, 734459402, 769146541, 804176949,
24
+ 839504226, 875081151, 910859801, 946791664, 982827766,
25
+ 1018918806, 1055015289, 1091067669, 1127026498, 1162842572,
26
+ 1198467087, 1233851789, 1268949131, 1303712427, 1338096005,
27
+ 1372055357, 1405547287, 1438530057, 1470963523, 1502809271,
28
+ 1534030739, 1564593342, 1594464576, 1623614127, 1652013955,
29
+ 1679638381, 1706464157, 1732470523, 1757639262, 1781954728,
30
+ 1805403878, 1827976281, 1849664119, 1870462176, 1890367815,
31
+ 1909380945, 1927503971, 1944741740, 1961101474, 1976592691,
32
+ 1991227121, 2005018606, 2017983003, 2030138066, 2041503334,
33
+ 2052100005, 2061950805, 2071079860, 2079512552, 2087275383,
34
+ 2094395834, 2100902217, 2106823531, 2112189320, 2117029526,
35
+ 2121374346, 2125254091, 2128699048, 2131739342, 2134404803,
36
+ 2136724837, 2138728300, 2140443379, 2141897477, 2143117096,
37
+ 2144127739, 2144953806, 2145618501, 2146143740, 2146550076,
38
+ 2146856617, 2147080957, 2147239112, 2147345466, 2147412715,
39
+ 2147451824, 2147471990, 2147480610, 2147483253, 2147483642,
40
+ #else
41
+ 2, 20, 55, 108, 178,
42
+ 266, 372, 494, 635, 792,
43
+ 966, 1157, 1365, 1590, 1831,
44
+ 2089, 2362, 2651, 2956, 3276,
45
+ 3611, 3961, 4325, 4703, 5094,
46
+ 5499, 5916, 6346, 6788, 7241,
47
+ 7705, 8179, 8663, 9156, 9657,
48
+ 10167, 10684, 11207, 11736, 12271,
49
+ 12810, 13353, 13899, 14447, 14997,
50
+ 15547, 16098, 16648, 17197, 17744,
51
+ 18287, 18827, 19363, 19893, 20418,
52
+ 20936, 21447, 21950, 22445, 22931,
53
+ 23407, 23874, 24330, 24774, 25208,
54
+ 25629, 26039, 26435, 26819, 27190,
55
+ 27548, 27893, 28224, 28541, 28845,
56
+ 29135, 29411, 29674, 29924, 30160,
57
+ 30384, 30594, 30792, 30977, 31151,
58
+ 31313, 31463, 31602, 31731, 31849,
59
+ 31958, 32057, 32148, 32229, 32303,
60
+ 32370, 32429, 32481, 32528, 32568,
61
+ 32604, 32634, 32661, 32683, 32701,
62
+ 32717, 32729, 32740, 32748, 32754,
63
+ 32758, 32762, 32764, 32766, 32767,
64
+ 32767, 32767, 32767, 32767, 32767,
65
+ #endif
66
+ };
67
+ #endif
68
+
69
+ #ifndef DEF_LOGN400
70
+ #define DEF_LOGN400
71
+ static const opus_int16 logN400[21] = {
72
+ 0, 0, 0, 0, 0, 0, 0, 0, 8, 8, 8, 8, 16, 16, 16, 21, 21, 24, 29, 34, 36, };
73
+ #endif
74
+
75
+ #ifndef DEF_PULSE_CACHE50
76
+ #define DEF_PULSE_CACHE50
77
+ static const opus_int16 cache_index50[105] = {
78
+ -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 41, 41, 41,
79
+ 82, 82, 123, 164, 200, 222, 0, 0, 0, 0, 0, 0, 0, 0, 41,
80
+ 41, 41, 41, 123, 123, 123, 164, 164, 240, 266, 283, 295, 41, 41, 41,
81
+ 41, 41, 41, 41, 41, 123, 123, 123, 123, 240, 240, 240, 266, 266, 305,
82
+ 318, 328, 336, 123, 123, 123, 123, 123, 123, 123, 123, 240, 240, 240, 240,
83
+ 305, 305, 305, 318, 318, 343, 351, 358, 364, 240, 240, 240, 240, 240, 240,
84
+ 240, 240, 305, 305, 305, 305, 343, 343, 343, 351, 351, 370, 376, 382, 387,
85
+ };
86
+ static const unsigned char cache_bits50[392] = {
87
+ 40, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
88
+ 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
89
+ 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 40, 15, 23, 28,
90
+ 31, 34, 36, 38, 39, 41, 42, 43, 44, 45, 46, 47, 47, 49, 50,
91
+ 51, 52, 53, 54, 55, 55, 57, 58, 59, 60, 61, 62, 63, 63, 65,
92
+ 66, 67, 68, 69, 70, 71, 71, 40, 20, 33, 41, 48, 53, 57, 61,
93
+ 64, 66, 69, 71, 73, 75, 76, 78, 80, 82, 85, 87, 89, 91, 92,
94
+ 94, 96, 98, 101, 103, 105, 107, 108, 110, 112, 114, 117, 119, 121, 123,
95
+ 124, 126, 128, 40, 23, 39, 51, 60, 67, 73, 79, 83, 87, 91, 94,
96
+ 97, 100, 102, 105, 107, 111, 115, 118, 121, 124, 126, 129, 131, 135, 139,
97
+ 142, 145, 148, 150, 153, 155, 159, 163, 166, 169, 172, 174, 177, 179, 35,
98
+ 28, 49, 65, 78, 89, 99, 107, 114, 120, 126, 132, 136, 141, 145, 149,
99
+ 153, 159, 165, 171, 176, 180, 185, 189, 192, 199, 205, 211, 216, 220, 225,
100
+ 229, 232, 239, 245, 251, 21, 33, 58, 79, 97, 112, 125, 137, 148, 157,
101
+ 166, 174, 182, 189, 195, 201, 207, 217, 227, 235, 243, 251, 17, 35, 63,
102
+ 86, 106, 123, 139, 152, 165, 177, 187, 197, 206, 214, 222, 230, 237, 250,
103
+ 25, 31, 55, 75, 91, 105, 117, 128, 138, 146, 154, 161, 168, 174, 180,
104
+ 185, 190, 200, 208, 215, 222, 229, 235, 240, 245, 255, 16, 36, 65, 89,
105
+ 110, 128, 144, 159, 173, 185, 196, 207, 217, 226, 234, 242, 250, 11, 41,
106
+ 74, 103, 128, 151, 172, 191, 209, 225, 241, 255, 9, 43, 79, 110, 138,
107
+ 163, 186, 207, 227, 246, 12, 39, 71, 99, 123, 144, 164, 182, 198, 214,
108
+ 228, 241, 253, 9, 44, 81, 113, 142, 168, 192, 214, 235, 255, 7, 49,
109
+ 90, 127, 160, 191, 220, 247, 6, 51, 95, 134, 170, 203, 234, 7, 47,
110
+ 87, 123, 155, 184, 212, 237, 6, 52, 97, 137, 174, 208, 240, 5, 57,
111
+ 106, 151, 192, 231, 5, 59, 111, 158, 202, 243, 5, 55, 103, 147, 187,
112
+ 224, 5, 60, 113, 161, 206, 248, 4, 65, 122, 175, 224, 4, 67, 127,
113
+ 182, 234, };
114
+ static const unsigned char cache_caps50[168] = {
115
+ 224, 224, 224, 224, 224, 224, 224, 224, 160, 160, 160, 160, 185, 185, 185,
116
+ 178, 178, 168, 134, 61, 37, 224, 224, 224, 224, 224, 224, 224, 224, 240,
117
+ 240, 240, 240, 207, 207, 207, 198, 198, 183, 144, 66, 40, 160, 160, 160,
118
+ 160, 160, 160, 160, 160, 185, 185, 185, 185, 193, 193, 193, 183, 183, 172,
119
+ 138, 64, 38, 240, 240, 240, 240, 240, 240, 240, 240, 207, 207, 207, 207,
120
+ 204, 204, 204, 193, 193, 180, 143, 66, 40, 185, 185, 185, 185, 185, 185,
121
+ 185, 185, 193, 193, 193, 193, 193, 193, 193, 183, 183, 172, 138, 65, 39,
122
+ 207, 207, 207, 207, 207, 207, 207, 207, 204, 204, 204, 204, 201, 201, 201,
123
+ 188, 188, 176, 141, 66, 40, 193, 193, 193, 193, 193, 193, 193, 193, 193,
124
+ 193, 193, 193, 194, 194, 194, 184, 184, 173, 139, 65, 39, 204, 204, 204,
125
+ 204, 204, 204, 204, 204, 201, 201, 201, 201, 198, 198, 198, 187, 187, 175,
126
+ 140, 66, 40, };
127
+ #endif
128
+
129
+ #ifndef FFT_TWIDDLES48000_960
130
+ #define FFT_TWIDDLES48000_960
131
+ static const kiss_twiddle_cpx fft_twiddles48000_960[480] = {
132
+ #ifdef ENABLE_QEXT
133
+ {2147483647, 0}, {2147299667, -28109692},
134
+ {2146747758, -56214568}, {2145828015, -84309812},
135
+ {2144540595, -112390610}, {2142885720, -140452150},
136
+ {2140863672, -168489625}, {2138474798, -196498230},
137
+ {2135719507, -224473166}, {2132598272, -252409639},
138
+ {2129111627, -280302863}, {2125260169, -308148059},
139
+ {2121044560, -335940456}, {2116465520, -363675290},
140
+ {2111523835, -391347811}, {2106220351, -418953276},
141
+ {2100555977, -446486956}, {2094531684, -473944133},
142
+ {2088148503, -501320101}, {2081407529, -528610171},
143
+ {2074309916, -555809667}, {2066856881, -582913927},
144
+ {2059049701, -609918308}, {2050889713, -636818183},
145
+ {2042378316, -663608942}, {2033516968, -690285995},
146
+ {2024307187, -716844771}, {2014750552, -743280720},
147
+ {2004848699, -769589311}, {1994603326, -795766037},
148
+ {1984016188, -821806413}, {1973089099, -847705976},
149
+ {1961823931, -873460290}, {1950222615, -899064940},
150
+ {1938287138, -924515540}, {1926019546, -949807729},
151
+ {1913421940, -974937174}, {1900496479, -999899568},
152
+ {1887245378, -1024690635}, {1873670907, -1049306126},
153
+ {1859775393, -1073741823}, {1845561215, -1097993541},
154
+ {1831030810, -1122057123}, {1816186667, -1145928447},
155
+ {1801031330, -1169603421}, {1785567395, -1193077990},
156
+ {1769797513, -1216348131}, {1753724385, -1239409858},
157
+ {1737350766, -1262259217}, {1720679460, -1284892295},
158
+ {1703713325, -1307305214}, {1686455267, -1329494132},
159
+ {1668908244, -1351455249}, {1651075262, -1373184800},
160
+ {1632959376, -1394679063}, {1614563692, -1415934356},
161
+ {1595891360, -1436947035}, {1576945581, -1457713501},
162
+ {1557729600, -1478230195}, {1538246710, -1498493602},
163
+ {1518500249, -1518500249}, {1498493602, -1538246710},
164
+ {1478230195, -1557729600}, {1457713501, -1576945581},
165
+ {1436947035, -1595891360}, {1415934356, -1614563692},
166
+ {1394679063, -1632959376}, {1373184800, -1651075262},
167
+ {1351455249, -1668908244}, {1329494132, -1686455267},
168
+ {1307305214, -1703713325}, {1284892295, -1720679460},
169
+ {1262259217, -1737350766}, {1239409858, -1753724385},
170
+ {1216348131, -1769797513}, {1193077990, -1785567395},
171
+ {1169603421, -1801031330}, {1145928447, -1816186667},
172
+ {1122057123, -1831030810}, {1097993541, -1845561215},
173
+ {1073741824, -1859775393}, {1049306126, -1873670907},
174
+ {1024690635, -1887245378}, {999899568, -1900496479},
175
+ {974937174, -1913421940}, {949807729, -1926019546},
176
+ {924515540, -1938287138}, {899064940, -1950222615},
177
+ {873460290, -1961823931}, {847705976, -1973089099},
178
+ {821806413, -1984016188}, {795766037, -1994603326},
179
+ {769589311, -2004848699}, {743280720, -2014750552},
180
+ {716844771, -2024307187}, {690285995, -2033516968},
181
+ {663608942, -2042378316}, {636818183, -2050889713},
182
+ {609918308, -2059049701}, {582913927, -2066856881},
183
+ {555809667, -2074309916}, {528610171, -2081407529},
184
+ {501320101, -2088148503}, {473944133, -2094531684},
185
+ {446486956, -2100555977}, {418953276, -2106220351},
186
+ {391347811, -2111523835}, {363675290, -2116465520},
187
+ {335940456, -2121044560}, {308148059, -2125260169},
188
+ {280302863, -2129111627}, {252409639, -2132598272},
189
+ {224473166, -2135719507}, {196498230, -2138474798},
190
+ {168489625, -2140863672}, {140452150, -2142885720},
191
+ {112390610, -2144540595}, {84309812, -2145828015},
192
+ {56214568, -2146747758}, {28109692, -2147299667},
193
+ {0, -2147483647}, {-28109692, -2147299667},
194
+ {-56214568, -2146747758}, {-84309812, -2145828015},
195
+ {-112390610, -2144540595}, {-140452150, -2142885720},
196
+ {-168489625, -2140863672}, {-196498230, -2138474798},
197
+ {-224473166, -2135719507}, {-252409639, -2132598272},
198
+ {-280302863, -2129111627}, {-308148059, -2125260169},
199
+ {-335940456, -2121044560}, {-363675290, -2116465520},
200
+ {-391347811, -2111523835}, {-418953276, -2106220351},
201
+ {-446486956, -2100555977}, {-473944133, -2094531684},
202
+ {-501320101, -2088148503}, {-528610171, -2081407529},
203
+ {-555809667, -2074309916}, {-582913927, -2066856881},
204
+ {-609918308, -2059049701}, {-636818183, -2050889713},
205
+ {-663608942, -2042378316}, {-690285995, -2033516968},
206
+ {-716844771, -2024307187}, {-743280720, -2014750552},
207
+ {-769589311, -2004848699}, {-795766037, -1994603326},
208
+ {-821806413, -1984016188}, {-847705976, -1973089099},
209
+ {-873460290, -1961823931}, {-899064940, -1950222615},
210
+ {-924515540, -1938287138}, {-949807729, -1926019546},
211
+ {-974937174, -1913421940}, {-999899568, -1900496479},
212
+ {-1024690635, -1887245378}, {-1049306126, -1873670907},
213
+ {-1073741823, -1859775393}, {-1097993541, -1845561215},
214
+ {-1122057123, -1831030810}, {-1145928447, -1816186667},
215
+ {-1169603421, -1801031330}, {-1193077990, -1785567395},
216
+ {-1216348131, -1769797513}, {-1239409858, -1753724385},
217
+ {-1262259217, -1737350766}, {-1284892295, -1720679460},
218
+ {-1307305214, -1703713325}, {-1329494132, -1686455267},
219
+ {-1351455249, -1668908244}, {-1373184800, -1651075262},
220
+ {-1394679063, -1632959376}, {-1415934356, -1614563692},
221
+ {-1436947035, -1595891360}, {-1457713501, -1576945581},
222
+ {-1478230195, -1557729600}, {-1498493602, -1538246710},
223
+ {-1518500249, -1518500249}, {-1538246710, -1498493602},
224
+ {-1557729600, -1478230195}, {-1576945581, -1457713501},
225
+ {-1595891360, -1436947035}, {-1614563692, -1415934356},
226
+ {-1632959376, -1394679063}, {-1651075262, -1373184800},
227
+ {-1668908244, -1351455249}, {-1686455267, -1329494132},
228
+ {-1703713325, -1307305214}, {-1720679460, -1284892295},
229
+ {-1737350766, -1262259217}, {-1753724385, -1239409858},
230
+ {-1769797513, -1216348131}, {-1785567395, -1193077990},
231
+ {-1801031330, -1169603421}, {-1816186667, -1145928447},
232
+ {-1831030810, -1122057123}, {-1845561215, -1097993541},
233
+ {-1859775393, -1073741824}, {-1873670907, -1049306126},
234
+ {-1887245378, -1024690635}, {-1900496479, -999899568},
235
+ {-1913421940, -974937174}, {-1926019546, -949807729},
236
+ {-1938287138, -924515540}, {-1950222615, -899064940},
237
+ {-1961823931, -873460290}, {-1973089099, -847705976},
238
+ {-1984016188, -821806413}, {-1994603326, -795766037},
239
+ {-2004848699, -769589311}, {-2014750552, -743280720},
240
+ {-2024307187, -716844771}, {-2033516968, -690285995},
241
+ {-2042378316, -663608942}, {-2050889713, -636818183},
242
+ {-2059049701, -609918308}, {-2066856881, -582913927},
243
+ {-2074309916, -555809667}, {-2081407529, -528610171},
244
+ {-2088148503, -501320101}, {-2094531684, -473944133},
245
+ {-2100555977, -446486956}, {-2106220351, -418953276},
246
+ {-2111523835, -391347811}, {-2116465520, -363675290},
247
+ {-2121044560, -335940456}, {-2125260169, -308148059},
248
+ {-2129111627, -280302863}, {-2132598272, -252409639},
249
+ {-2135719507, -224473166}, {-2138474798, -196498230},
250
+ {-2140863672, -168489625}, {-2142885720, -140452150},
251
+ {-2144540595, -112390610}, {-2145828015, -84309812},
252
+ {-2146747758, -56214568}, {-2147299667, -28109692},
253
+ {-2147483647, 0}, {-2147299667, 28109692},
254
+ {-2146747758, 56214568}, {-2145828015, 84309812},
255
+ {-2144540595, 112390610}, {-2142885720, 140452150},
256
+ {-2140863672, 168489625}, {-2138474798, 196498230},
257
+ {-2135719507, 224473166}, {-2132598272, 252409639},
258
+ {-2129111627, 280302863}, {-2125260169, 308148059},
259
+ {-2121044560, 335940456}, {-2116465520, 363675290},
260
+ {-2111523835, 391347811}, {-2106220351, 418953276},
261
+ {-2100555977, 446486956}, {-2094531684, 473944133},
262
+ {-2088148503, 501320101}, {-2081407529, 528610171},
263
+ {-2074309916, 555809667}, {-2066856881, 582913927},
264
+ {-2059049701, 609918308}, {-2050889713, 636818183},
265
+ {-2042378316, 663608942}, {-2033516968, 690285995},
266
+ {-2024307187, 716844771}, {-2014750552, 743280720},
267
+ {-2004848699, 769589311}, {-1994603326, 795766037},
268
+ {-1984016188, 821806413}, {-1973089099, 847705976},
269
+ {-1961823931, 873460290}, {-1950222615, 899064940},
270
+ {-1938287138, 924515540}, {-1926019546, 949807729},
271
+ {-1913421940, 974937174}, {-1900496479, 999899568},
272
+ {-1887245378, 1024690635}, {-1873670907, 1049306126},
273
+ {-1859775393, 1073741823}, {-1845561215, 1097993541},
274
+ {-1831030810, 1122057123}, {-1816186667, 1145928447},
275
+ {-1801031330, 1169603421}, {-1785567395, 1193077990},
276
+ {-1769797513, 1216348131}, {-1753724385, 1239409858},
277
+ {-1737350766, 1262259217}, {-1720679460, 1284892295},
278
+ {-1703713325, 1307305214}, {-1686455267, 1329494132},
279
+ {-1668908244, 1351455249}, {-1651075262, 1373184800},
280
+ {-1632959376, 1394679063}, {-1614563692, 1415934356},
281
+ {-1595891360, 1436947035}, {-1576945581, 1457713501},
282
+ {-1557729600, 1478230195}, {-1538246710, 1498493602},
283
+ {-1518500249, 1518500249}, {-1498493602, 1538246710},
284
+ {-1478230195, 1557729600}, {-1457713501, 1576945581},
285
+ {-1436947035, 1595891360}, {-1415934356, 1614563692},
286
+ {-1394679063, 1632959376}, {-1373184800, 1651075262},
287
+ {-1351455249, 1668908244}, {-1329494132, 1686455267},
288
+ {-1307305214, 1703713325}, {-1284892295, 1720679460},
289
+ {-1262259217, 1737350766}, {-1239409858, 1753724385},
290
+ {-1216348131, 1769797513}, {-1193077990, 1785567395},
291
+ {-1169603421, 1801031330}, {-1145928447, 1816186667},
292
+ {-1122057123, 1831030810}, {-1097993541, 1845561215},
293
+ {-1073741824, 1859775393}, {-1049306126, 1873670907},
294
+ {-1024690635, 1887245378}, {-999899568, 1900496479},
295
+ {-974937174, 1913421940}, {-949807729, 1926019546},
296
+ {-924515540, 1938287138}, {-899064940, 1950222615},
297
+ {-873460290, 1961823931}, {-847705976, 1973089099},
298
+ {-821806413, 1984016188}, {-795766037, 1994603326},
299
+ {-769589311, 2004848699}, {-743280720, 2014750552},
300
+ {-716844771, 2024307187}, {-690285995, 2033516968},
301
+ {-663608942, 2042378316}, {-636818183, 2050889713},
302
+ {-609918308, 2059049701}, {-582913927, 2066856881},
303
+ {-555809667, 2074309916}, {-528610171, 2081407529},
304
+ {-501320101, 2088148503}, {-473944133, 2094531684},
305
+ {-446486956, 2100555977}, {-418953276, 2106220351},
306
+ {-391347811, 2111523835}, {-363675290, 2116465520},
307
+ {-335940456, 2121044560}, {-308148059, 2125260169},
308
+ {-280302863, 2129111627}, {-252409639, 2132598272},
309
+ {-224473166, 2135719507}, {-196498230, 2138474798},
310
+ {-168489625, 2140863672}, {-140452150, 2142885720},
311
+ {-112390610, 2144540595}, {-84309812, 2145828015},
312
+ {-56214568, 2146747758}, {-28109692, 2147299667},
313
+ {0, 2147483647}, {28109692, 2147299667},
314
+ {56214568, 2146747758}, {84309812, 2145828015},
315
+ {112390610, 2144540595}, {140452150, 2142885720},
316
+ {168489625, 2140863672}, {196498230, 2138474798},
317
+ {224473166, 2135719507}, {252409639, 2132598272},
318
+ {280302863, 2129111627}, {308148059, 2125260169},
319
+ {335940456, 2121044560}, {363675290, 2116465520},
320
+ {391347811, 2111523835}, {418953276, 2106220351},
321
+ {446486956, 2100555977}, {473944133, 2094531684},
322
+ {501320101, 2088148503}, {528610171, 2081407529},
323
+ {555809667, 2074309916}, {582913927, 2066856881},
324
+ {609918308, 2059049701}, {636818183, 2050889713},
325
+ {663608942, 2042378316}, {690285995, 2033516968},
326
+ {716844771, 2024307187}, {743280720, 2014750552},
327
+ {769589311, 2004848699}, {795766037, 1994603326},
328
+ {821806413, 1984016188}, {847705976, 1973089099},
329
+ {873460290, 1961823931}, {899064940, 1950222615},
330
+ {924515540, 1938287138}, {949807729, 1926019546},
331
+ {974937174, 1913421940}, {999899568, 1900496479},
332
+ {1024690635, 1887245378}, {1049306126, 1873670907},
333
+ {1073741823, 1859775393}, {1097993541, 1845561215},
334
+ {1122057123, 1831030810}, {1145928447, 1816186667},
335
+ {1169603421, 1801031330}, {1193077990, 1785567395},
336
+ {1216348131, 1769797513}, {1239409858, 1753724385},
337
+ {1262259217, 1737350766}, {1284892295, 1720679460},
338
+ {1307305214, 1703713325}, {1329494132, 1686455267},
339
+ {1351455249, 1668908244}, {1373184800, 1651075262},
340
+ {1394679063, 1632959376}, {1415934356, 1614563692},
341
+ {1436947035, 1595891360}, {1457713501, 1576945581},
342
+ {1478230195, 1557729600}, {1498493602, 1538246710},
343
+ {1518500249, 1518500249}, {1538246710, 1498493602},
344
+ {1557729600, 1478230195}, {1576945581, 1457713501},
345
+ {1595891360, 1436947035}, {1614563692, 1415934356},
346
+ {1632959376, 1394679063}, {1651075262, 1373184800},
347
+ {1668908244, 1351455249}, {1686455267, 1329494132},
348
+ {1703713325, 1307305214}, {1720679460, 1284892295},
349
+ {1737350766, 1262259217}, {1753724385, 1239409858},
350
+ {1769797513, 1216348131}, {1785567395, 1193077990},
351
+ {1801031330, 1169603421}, {1816186667, 1145928447},
352
+ {1831030810, 1122057123}, {1845561215, 1097993541},
353
+ {1859775393, 1073741824}, {1873670907, 1049306126},
354
+ {1887245378, 1024690635}, {1900496479, 999899568},
355
+ {1913421940, 974937174}, {1926019546, 949807729},
356
+ {1938287138, 924515540}, {1950222615, 899064940},
357
+ {1961823931, 873460290}, {1973089099, 847705976},
358
+ {1984016188, 821806413}, {1994603326, 795766037},
359
+ {2004848699, 769589311}, {2014750552, 743280720},
360
+ {2024307187, 716844771}, {2033516968, 690285995},
361
+ {2042378316, 663608942}, {2050889713, 636818183},
362
+ {2059049701, 609918308}, {2066856881, 582913927},
363
+ {2074309916, 555809667}, {2081407529, 528610171},
364
+ {2088148503, 501320101}, {2094531684, 473944133},
365
+ {2100555977, 446486956}, {2106220351, 418953276},
366
+ {2111523835, 391347811}, {2116465520, 363675290},
367
+ {2121044560, 335940456}, {2125260169, 308148059},
368
+ {2129111627, 280302863}, {2132598272, 252409639},
369
+ {2135719507, 224473166}, {2138474798, 196498230},
370
+ {2140863672, 168489625}, {2142885720, 140452150},
371
+ {2144540595, 112390610}, {2145828015, 84309812},
372
+ {2146747758, 56214568}, {2147299667, 28109692},
373
+ #else
374
+ {32767, 0}, {32765, -429},
375
+ {32757, -858}, {32743, -1286},
376
+ {32723, -1715}, {32698, -2143},
377
+ {32667, -2571}, {32631, -2998},
378
+ {32588, -3425}, {32541, -3851},
379
+ {32488, -4277}, {32429, -4702},
380
+ {32365, -5126}, {32295, -5549},
381
+ {32219, -5971}, {32138, -6393},
382
+ {32052, -6813}, {31960, -7232},
383
+ {31863, -7650}, {31760, -8066},
384
+ {31651, -8481}, {31538, -8895},
385
+ {31419, -9307}, {31294, -9717},
386
+ {31164, -10126}, {31029, -10533},
387
+ {30888, -10938}, {30743, -11342},
388
+ {30592, -11743}, {30435, -12142},
389
+ {30274, -12540}, {30107, -12935},
390
+ {29935, -13328}, {29758, -13719},
391
+ {29576, -14107}, {29389, -14493},
392
+ {29197, -14876}, {28999, -15257},
393
+ {28797, -15636}, {28590, -16011},
394
+ {28378, -16384}, {28161, -16754},
395
+ {27939, -17121}, {27713, -17485},
396
+ {27482, -17847}, {27246, -18205},
397
+ {27005, -18560}, {26760, -18912},
398
+ {26510, -19261}, {26255, -19606},
399
+ {25997, -19948}, {25733, -20286},
400
+ {25466, -20622}, {25193, -20953},
401
+ {24917, -21281}, {24636, -21605},
402
+ {24351, -21926}, {24062, -22243},
403
+ {23769, -22556}, {23472, -22865},
404
+ {23170, -23170}, {22865, -23472},
405
+ {22556, -23769}, {22243, -24062},
406
+ {21926, -24351}, {21605, -24636},
407
+ {21281, -24917}, {20953, -25193},
408
+ {20622, -25466}, {20286, -25733},
409
+ {19948, -25997}, {19606, -26255},
410
+ {19261, -26510}, {18912, -26760},
411
+ {18560, -27005}, {18205, -27246},
412
+ {17847, -27482}, {17485, -27713},
413
+ {17121, -27939}, {16754, -28161},
414
+ {16384, -28378}, {16011, -28590},
415
+ {15636, -28797}, {15257, -28999},
416
+ {14876, -29197}, {14493, -29389},
417
+ {14107, -29576}, {13719, -29758},
418
+ {13328, -29935}, {12935, -30107},
419
+ {12540, -30274}, {12142, -30435},
420
+ {11743, -30592}, {11342, -30743},
421
+ {10938, -30888}, {10533, -31029},
422
+ {10126, -31164}, {9717, -31294},
423
+ {9307, -31419}, {8895, -31538},
424
+ {8481, -31651}, {8066, -31760},
425
+ {7650, -31863}, {7232, -31960},
426
+ {6813, -32052}, {6393, -32138},
427
+ {5971, -32219}, {5549, -32295},
428
+ {5126, -32365}, {4702, -32429},
429
+ {4277, -32488}, {3851, -32541},
430
+ {3425, -32588}, {2998, -32631},
431
+ {2571, -32667}, {2143, -32698},
432
+ {1715, -32723}, {1286, -32743},
433
+ {858, -32757}, {429, -32765},
434
+ {0, -32767}, {-429, -32765},
435
+ {-858, -32757}, {-1286, -32743},
436
+ {-1715, -32723}, {-2143, -32698},
437
+ {-2571, -32667}, {-2998, -32631},
438
+ {-3425, -32588}, {-3851, -32541},
439
+ {-4277, -32488}, {-4702, -32429},
440
+ {-5126, -32365}, {-5549, -32295},
441
+ {-5971, -32219}, {-6393, -32138},
442
+ {-6813, -32052}, {-7232, -31960},
443
+ {-7650, -31863}, {-8066, -31760},
444
+ {-8481, -31651}, {-8895, -31538},
445
+ {-9307, -31419}, {-9717, -31294},
446
+ {-10126, -31164}, {-10533, -31029},
447
+ {-10938, -30888}, {-11342, -30743},
448
+ {-11743, -30592}, {-12142, -30435},
449
+ {-12540, -30274}, {-12935, -30107},
450
+ {-13328, -29935}, {-13719, -29758},
451
+ {-14107, -29576}, {-14493, -29389},
452
+ {-14876, -29197}, {-15257, -28999},
453
+ {-15636, -28797}, {-16011, -28590},
454
+ {-16384, -28378}, {-16754, -28161},
455
+ {-17121, -27939}, {-17485, -27713},
456
+ {-17847, -27482}, {-18205, -27246},
457
+ {-18560, -27005}, {-18912, -26760},
458
+ {-19261, -26510}, {-19606, -26255},
459
+ {-19948, -25997}, {-20286, -25733},
460
+ {-20622, -25466}, {-20953, -25193},
461
+ {-21281, -24917}, {-21605, -24636},
462
+ {-21926, -24351}, {-22243, -24062},
463
+ {-22556, -23769}, {-22865, -23472},
464
+ {-23170, -23170}, {-23472, -22865},
465
+ {-23769, -22556}, {-24062, -22243},
466
+ {-24351, -21926}, {-24636, -21605},
467
+ {-24917, -21281}, {-25193, -20953},
468
+ {-25466, -20622}, {-25733, -20286},
469
+ {-25997, -19948}, {-26255, -19606},
470
+ {-26510, -19261}, {-26760, -18912},
471
+ {-27005, -18560}, {-27246, -18205},
472
+ {-27482, -17847}, {-27713, -17485},
473
+ {-27939, -17121}, {-28161, -16754},
474
+ {-28378, -16384}, {-28590, -16011},
475
+ {-28797, -15636}, {-28999, -15257},
476
+ {-29197, -14876}, {-29389, -14493},
477
+ {-29576, -14107}, {-29758, -13719},
478
+ {-29935, -13328}, {-30107, -12935},
479
+ {-30274, -12540}, {-30435, -12142},
480
+ {-30592, -11743}, {-30743, -11342},
481
+ {-30888, -10938}, {-31029, -10533},
482
+ {-31164, -10126}, {-31294, -9717},
483
+ {-31419, -9307}, {-31538, -8895},
484
+ {-31651, -8481}, {-31760, -8066},
485
+ {-31863, -7650}, {-31960, -7232},
486
+ {-32052, -6813}, {-32138, -6393},
487
+ {-32219, -5971}, {-32295, -5549},
488
+ {-32365, -5126}, {-32429, -4702},
489
+ {-32488, -4277}, {-32541, -3851},
490
+ {-32588, -3425}, {-32631, -2998},
491
+ {-32667, -2571}, {-32698, -2143},
492
+ {-32723, -1715}, {-32743, -1286},
493
+ {-32757, -858}, {-32765, -429},
494
+ {-32767, 0}, {-32765, 429},
495
+ {-32757, 858}, {-32743, 1286},
496
+ {-32723, 1715}, {-32698, 2143},
497
+ {-32667, 2571}, {-32631, 2998},
498
+ {-32588, 3425}, {-32541, 3851},
499
+ {-32488, 4277}, {-32429, 4702},
500
+ {-32365, 5126}, {-32295, 5549},
501
+ {-32219, 5971}, {-32138, 6393},
502
+ {-32052, 6813}, {-31960, 7232},
503
+ {-31863, 7650}, {-31760, 8066},
504
+ {-31651, 8481}, {-31538, 8895},
505
+ {-31419, 9307}, {-31294, 9717},
506
+ {-31164, 10126}, {-31029, 10533},
507
+ {-30888, 10938}, {-30743, 11342},
508
+ {-30592, 11743}, {-30435, 12142},
509
+ {-30274, 12540}, {-30107, 12935},
510
+ {-29935, 13328}, {-29758, 13719},
511
+ {-29576, 14107}, {-29389, 14493},
512
+ {-29197, 14876}, {-28999, 15257},
513
+ {-28797, 15636}, {-28590, 16011},
514
+ {-28378, 16384}, {-28161, 16754},
515
+ {-27939, 17121}, {-27713, 17485},
516
+ {-27482, 17847}, {-27246, 18205},
517
+ {-27005, 18560}, {-26760, 18912},
518
+ {-26510, 19261}, {-26255, 19606},
519
+ {-25997, 19948}, {-25733, 20286},
520
+ {-25466, 20622}, {-25193, 20953},
521
+ {-24917, 21281}, {-24636, 21605},
522
+ {-24351, 21926}, {-24062, 22243},
523
+ {-23769, 22556}, {-23472, 22865},
524
+ {-23170, 23170}, {-22865, 23472},
525
+ {-22556, 23769}, {-22243, 24062},
526
+ {-21926, 24351}, {-21605, 24636},
527
+ {-21281, 24917}, {-20953, 25193},
528
+ {-20622, 25466}, {-20286, 25733},
529
+ {-19948, 25997}, {-19606, 26255},
530
+ {-19261, 26510}, {-18912, 26760},
531
+ {-18560, 27005}, {-18205, 27246},
532
+ {-17847, 27482}, {-17485, 27713},
533
+ {-17121, 27939}, {-16754, 28161},
534
+ {-16384, 28378}, {-16011, 28590},
535
+ {-15636, 28797}, {-15257, 28999},
536
+ {-14876, 29197}, {-14493, 29389},
537
+ {-14107, 29576}, {-13719, 29758},
538
+ {-13328, 29935}, {-12935, 30107},
539
+ {-12540, 30274}, {-12142, 30435},
540
+ {-11743, 30592}, {-11342, 30743},
541
+ {-10938, 30888}, {-10533, 31029},
542
+ {-10126, 31164}, {-9717, 31294},
543
+ {-9307, 31419}, {-8895, 31538},
544
+ {-8481, 31651}, {-8066, 31760},
545
+ {-7650, 31863}, {-7232, 31960},
546
+ {-6813, 32052}, {-6393, 32138},
547
+ {-5971, 32219}, {-5549, 32295},
548
+ {-5126, 32365}, {-4702, 32429},
549
+ {-4277, 32488}, {-3851, 32541},
550
+ {-3425, 32588}, {-2998, 32631},
551
+ {-2571, 32667}, {-2143, 32698},
552
+ {-1715, 32723}, {-1286, 32743},
553
+ {-858, 32757}, {-429, 32765},
554
+ {0, 32767}, {429, 32765},
555
+ {858, 32757}, {1286, 32743},
556
+ {1715, 32723}, {2143, 32698},
557
+ {2571, 32667}, {2998, 32631},
558
+ {3425, 32588}, {3851, 32541},
559
+ {4277, 32488}, {4702, 32429},
560
+ {5126, 32365}, {5549, 32295},
561
+ {5971, 32219}, {6393, 32138},
562
+ {6813, 32052}, {7232, 31960},
563
+ {7650, 31863}, {8066, 31760},
564
+ {8481, 31651}, {8895, 31538},
565
+ {9307, 31419}, {9717, 31294},
566
+ {10126, 31164}, {10533, 31029},
567
+ {10938, 30888}, {11342, 30743},
568
+ {11743, 30592}, {12142, 30435},
569
+ {12540, 30274}, {12935, 30107},
570
+ {13328, 29935}, {13719, 29758},
571
+ {14107, 29576}, {14493, 29389},
572
+ {14876, 29197}, {15257, 28999},
573
+ {15636, 28797}, {16011, 28590},
574
+ {16384, 28378}, {16754, 28161},
575
+ {17121, 27939}, {17485, 27713},
576
+ {17847, 27482}, {18205, 27246},
577
+ {18560, 27005}, {18912, 26760},
578
+ {19261, 26510}, {19606, 26255},
579
+ {19948, 25997}, {20286, 25733},
580
+ {20622, 25466}, {20953, 25193},
581
+ {21281, 24917}, {21605, 24636},
582
+ {21926, 24351}, {22243, 24062},
583
+ {22556, 23769}, {22865, 23472},
584
+ {23170, 23170}, {23472, 22865},
585
+ {23769, 22556}, {24062, 22243},
586
+ {24351, 21926}, {24636, 21605},
587
+ {24917, 21281}, {25193, 20953},
588
+ {25466, 20622}, {25733, 20286},
589
+ {25997, 19948}, {26255, 19606},
590
+ {26510, 19261}, {26760, 18912},
591
+ {27005, 18560}, {27246, 18205},
592
+ {27482, 17847}, {27713, 17485},
593
+ {27939, 17121}, {28161, 16754},
594
+ {28378, 16384}, {28590, 16011},
595
+ {28797, 15636}, {28999, 15257},
596
+ {29197, 14876}, {29389, 14493},
597
+ {29576, 14107}, {29758, 13719},
598
+ {29935, 13328}, {30107, 12935},
599
+ {30274, 12540}, {30435, 12142},
600
+ {30592, 11743}, {30743, 11342},
601
+ {30888, 10938}, {31029, 10533},
602
+ {31164, 10126}, {31294, 9717},
603
+ {31419, 9307}, {31538, 8895},
604
+ {31651, 8481}, {31760, 8066},
605
+ {31863, 7650}, {31960, 7232},
606
+ {32052, 6813}, {32138, 6393},
607
+ {32219, 5971}, {32295, 5549},
608
+ {32365, 5126}, {32429, 4702},
609
+ {32488, 4277}, {32541, 3851},
610
+ {32588, 3425}, {32631, 2998},
611
+ {32667, 2571}, {32698, 2143},
612
+ {32723, 1715}, {32743, 1286},
613
+ {32757, 858}, {32765, 429},
614
+ #endif
615
+ };
616
+ #ifndef FFT_BITREV480
617
+ #define FFT_BITREV480
618
+ static const opus_int16 fft_bitrev480[480] = {
619
+ 0, 96, 192, 288, 384, 32, 128, 224, 320, 416, 64, 160, 256, 352, 448,
620
+ 8, 104, 200, 296, 392, 40, 136, 232, 328, 424, 72, 168, 264, 360, 456,
621
+ 16, 112, 208, 304, 400, 48, 144, 240, 336, 432, 80, 176, 272, 368, 464,
622
+ 24, 120, 216, 312, 408, 56, 152, 248, 344, 440, 88, 184, 280, 376, 472,
623
+ 4, 100, 196, 292, 388, 36, 132, 228, 324, 420, 68, 164, 260, 356, 452,
624
+ 12, 108, 204, 300, 396, 44, 140, 236, 332, 428, 76, 172, 268, 364, 460,
625
+ 20, 116, 212, 308, 404, 52, 148, 244, 340, 436, 84, 180, 276, 372, 468,
626
+ 28, 124, 220, 316, 412, 60, 156, 252, 348, 444, 92, 188, 284, 380, 476,
627
+ 1, 97, 193, 289, 385, 33, 129, 225, 321, 417, 65, 161, 257, 353, 449,
628
+ 9, 105, 201, 297, 393, 41, 137, 233, 329, 425, 73, 169, 265, 361, 457,
629
+ 17, 113, 209, 305, 401, 49, 145, 241, 337, 433, 81, 177, 273, 369, 465,
630
+ 25, 121, 217, 313, 409, 57, 153, 249, 345, 441, 89, 185, 281, 377, 473,
631
+ 5, 101, 197, 293, 389, 37, 133, 229, 325, 421, 69, 165, 261, 357, 453,
632
+ 13, 109, 205, 301, 397, 45, 141, 237, 333, 429, 77, 173, 269, 365, 461,
633
+ 21, 117, 213, 309, 405, 53, 149, 245, 341, 437, 85, 181, 277, 373, 469,
634
+ 29, 125, 221, 317, 413, 61, 157, 253, 349, 445, 93, 189, 285, 381, 477,
635
+ 2, 98, 194, 290, 386, 34, 130, 226, 322, 418, 66, 162, 258, 354, 450,
636
+ 10, 106, 202, 298, 394, 42, 138, 234, 330, 426, 74, 170, 266, 362, 458,
637
+ 18, 114, 210, 306, 402, 50, 146, 242, 338, 434, 82, 178, 274, 370, 466,
638
+ 26, 122, 218, 314, 410, 58, 154, 250, 346, 442, 90, 186, 282, 378, 474,
639
+ 6, 102, 198, 294, 390, 38, 134, 230, 326, 422, 70, 166, 262, 358, 454,
640
+ 14, 110, 206, 302, 398, 46, 142, 238, 334, 430, 78, 174, 270, 366, 462,
641
+ 22, 118, 214, 310, 406, 54, 150, 246, 342, 438, 86, 182, 278, 374, 470,
642
+ 30, 126, 222, 318, 414, 62, 158, 254, 350, 446, 94, 190, 286, 382, 478,
643
+ 3, 99, 195, 291, 387, 35, 131, 227, 323, 419, 67, 163, 259, 355, 451,
644
+ 11, 107, 203, 299, 395, 43, 139, 235, 331, 427, 75, 171, 267, 363, 459,
645
+ 19, 115, 211, 307, 403, 51, 147, 243, 339, 435, 83, 179, 275, 371, 467,
646
+ 27, 123, 219, 315, 411, 59, 155, 251, 347, 443, 91, 187, 283, 379, 475,
647
+ 7, 103, 199, 295, 391, 39, 135, 231, 327, 423, 71, 167, 263, 359, 455,
648
+ 15, 111, 207, 303, 399, 47, 143, 239, 335, 431, 79, 175, 271, 367, 463,
649
+ 23, 119, 215, 311, 407, 55, 151, 247, 343, 439, 87, 183, 279, 375, 471,
650
+ 31, 127, 223, 319, 415, 63, 159, 255, 351, 447, 95, 191, 287, 383, 479,
651
+ };
652
+ #endif
653
+
654
+ #ifndef FFT_BITREV240
655
+ #define FFT_BITREV240
656
+ static const opus_int16 fft_bitrev240[240] = {
657
+ 0, 48, 96, 144, 192, 16, 64, 112, 160, 208, 32, 80, 128, 176, 224,
658
+ 4, 52, 100, 148, 196, 20, 68, 116, 164, 212, 36, 84, 132, 180, 228,
659
+ 8, 56, 104, 152, 200, 24, 72, 120, 168, 216, 40, 88, 136, 184, 232,
660
+ 12, 60, 108, 156, 204, 28, 76, 124, 172, 220, 44, 92, 140, 188, 236,
661
+ 1, 49, 97, 145, 193, 17, 65, 113, 161, 209, 33, 81, 129, 177, 225,
662
+ 5, 53, 101, 149, 197, 21, 69, 117, 165, 213, 37, 85, 133, 181, 229,
663
+ 9, 57, 105, 153, 201, 25, 73, 121, 169, 217, 41, 89, 137, 185, 233,
664
+ 13, 61, 109, 157, 205, 29, 77, 125, 173, 221, 45, 93, 141, 189, 237,
665
+ 2, 50, 98, 146, 194, 18, 66, 114, 162, 210, 34, 82, 130, 178, 226,
666
+ 6, 54, 102, 150, 198, 22, 70, 118, 166, 214, 38, 86, 134, 182, 230,
667
+ 10, 58, 106, 154, 202, 26, 74, 122, 170, 218, 42, 90, 138, 186, 234,
668
+ 14, 62, 110, 158, 206, 30, 78, 126, 174, 222, 46, 94, 142, 190, 238,
669
+ 3, 51, 99, 147, 195, 19, 67, 115, 163, 211, 35, 83, 131, 179, 227,
670
+ 7, 55, 103, 151, 199, 23, 71, 119, 167, 215, 39, 87, 135, 183, 231,
671
+ 11, 59, 107, 155, 203, 27, 75, 123, 171, 219, 43, 91, 139, 187, 235,
672
+ 15, 63, 111, 159, 207, 31, 79, 127, 175, 223, 47, 95, 143, 191, 239,
673
+ };
674
+ #endif
675
+
676
+ #ifndef FFT_BITREV120
677
+ #define FFT_BITREV120
678
+ static const opus_int16 fft_bitrev120[120] = {
679
+ 0, 24, 48, 72, 96, 8, 32, 56, 80, 104, 16, 40, 64, 88, 112,
680
+ 4, 28, 52, 76, 100, 12, 36, 60, 84, 108, 20, 44, 68, 92, 116,
681
+ 1, 25, 49, 73, 97, 9, 33, 57, 81, 105, 17, 41, 65, 89, 113,
682
+ 5, 29, 53, 77, 101, 13, 37, 61, 85, 109, 21, 45, 69, 93, 117,
683
+ 2, 26, 50, 74, 98, 10, 34, 58, 82, 106, 18, 42, 66, 90, 114,
684
+ 6, 30, 54, 78, 102, 14, 38, 62, 86, 110, 22, 46, 70, 94, 118,
685
+ 3, 27, 51, 75, 99, 11, 35, 59, 83, 107, 19, 43, 67, 91, 115,
686
+ 7, 31, 55, 79, 103, 15, 39, 63, 87, 111, 23, 47, 71, 95, 119,
687
+ };
688
+ #endif
689
+
690
+ #ifndef FFT_BITREV60
691
+ #define FFT_BITREV60
692
+ static const opus_int16 fft_bitrev60[60] = {
693
+ 0, 12, 24, 36, 48, 4, 16, 28, 40, 52, 8, 20, 32, 44, 56,
694
+ 1, 13, 25, 37, 49, 5, 17, 29, 41, 53, 9, 21, 33, 45, 57,
695
+ 2, 14, 26, 38, 50, 6, 18, 30, 42, 54, 10, 22, 34, 46, 58,
696
+ 3, 15, 27, 39, 51, 7, 19, 31, 43, 55, 11, 23, 35, 47, 59,
697
+ };
698
+ #endif
699
+
700
+ #ifndef FFT_STATE48000_960_0
701
+ #define FFT_STATE48000_960_0
702
+ static const kiss_fft_state fft_state48000_960_0 = {
703
+ 480, /* nfft */
704
+ #ifdef ENABLE_QEXT
705
+ 572662306, /* scale */
706
+ #else
707
+ 17476, /* scale */
708
+ #endif
709
+ 8, /* scale_shift */
710
+ -1, /* shift */
711
+ {5, 96, 3, 32, 4, 8, 2, 4, 4, 1, 0, 0, 0, 0, 0, 0, }, /* factors */
712
+ fft_bitrev480, /* bitrev */
713
+ fft_twiddles48000_960, /* bitrev */
714
+ #ifdef OVERRIDE_FFT
715
+ (arch_fft_state *)&cfg_arch_480,
716
+ #else
717
+ NULL,
718
+ #endif
719
+ };
720
+ #endif
721
+
722
+ #ifndef FFT_STATE48000_960_1
723
+ #define FFT_STATE48000_960_1
724
+ static const kiss_fft_state fft_state48000_960_1 = {
725
+ 240, /* nfft */
726
+ #ifdef ENABLE_QEXT
727
+ 572662306, /* scale */
728
+ #else
729
+ 17476, /* scale */
730
+ #endif
731
+ 7, /* scale_shift */
732
+ 1, /* shift */
733
+ {5, 48, 3, 16, 4, 4, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, }, /* factors */
734
+ fft_bitrev240, /* bitrev */
735
+ fft_twiddles48000_960, /* bitrev */
736
+ #ifdef OVERRIDE_FFT
737
+ (arch_fft_state *)&cfg_arch_240,
738
+ #else
739
+ NULL,
740
+ #endif
741
+ };
742
+ #endif
743
+
744
+ #ifndef FFT_STATE48000_960_2
745
+ #define FFT_STATE48000_960_2
746
+ static const kiss_fft_state fft_state48000_960_2 = {
747
+ 120, /* nfft */
748
+ #ifdef ENABLE_QEXT
749
+ 572662306, /* scale */
750
+ #else
751
+ 17476, /* scale */
752
+ #endif
753
+ 6, /* scale_shift */
754
+ 2, /* shift */
755
+ {5, 24, 3, 8, 2, 4, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, }, /* factors */
756
+ fft_bitrev120, /* bitrev */
757
+ fft_twiddles48000_960, /* bitrev */
758
+ #ifdef OVERRIDE_FFT
759
+ (arch_fft_state *)&cfg_arch_120,
760
+ #else
761
+ NULL,
762
+ #endif
763
+ };
764
+ #endif
765
+
766
+ #ifndef FFT_STATE48000_960_3
767
+ #define FFT_STATE48000_960_3
768
+ static const kiss_fft_state fft_state48000_960_3 = {
769
+ 60, /* nfft */
770
+ #ifdef ENABLE_QEXT
771
+ 572662306, /* scale */
772
+ #else
773
+ 17476, /* scale */
774
+ #endif
775
+ 5, /* scale_shift */
776
+ 3, /* shift */
777
+ {5, 12, 3, 4, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, /* factors */
778
+ fft_bitrev60, /* bitrev */
779
+ fft_twiddles48000_960, /* bitrev */
780
+ #ifdef OVERRIDE_FFT
781
+ (arch_fft_state *)&cfg_arch_60,
782
+ #else
783
+ NULL,
784
+ #endif
785
+ };
786
+ #endif
787
+
788
+ #endif
789
+
790
+ #ifndef MDCT_TWIDDLES960
791
+ #define MDCT_TWIDDLES960
792
+ static const celt_coef mdct_twiddles960[1800] = {
793
+ #ifdef ENABLE_QEXT
794
+ 2147483468, 2147469095, 2147431723, 2147371355, 2147287990,
795
+ 2147181629, 2147052273, 2146899924, 2146724584, 2146526254,
796
+ 2146304937, 2146060634, 2145793349, 2145503083, 2145189842,
797
+ 2144853627, 2144494442, 2144112292, 2143707180, 2143279110,
798
+ 2142828088, 2142354118, 2141857204, 2141337354, 2140794571,
799
+ 2140228862, 2139640233, 2139028690, 2138394240, 2137736889,
800
+ 2137056645, 2136353515, 2135627506, 2134878626, 2134106884,
801
+ 2133312286, 2132494843, 2131654563, 2130791454, 2129905526,
802
+ 2128996788, 2128065251, 2127110924, 2126133817, 2125133941,
803
+ 2124111307, 2123065925, 2121997806, 2120906963, 2119793407,
804
+ 2118657149, 2117498202, 2116316578, 2115112291, 2113885352,
805
+ 2112635775, 2111363574, 2110068761, 2108751352, 2107411359,
806
+ 2106048798, 2104663683, 2103256028, 2101825849, 2100373162,
807
+ 2098897981, 2097400322, 2095880202, 2094337637, 2092772643,
808
+ 2091185237, 2089575437, 2087943258, 2086288720, 2084611839,
809
+ 2082912633, 2081191122, 2079447322, 2077681253, 2075892934,
810
+ 2074082383, 2072249621, 2070394667, 2068517540, 2066618262,
811
+ 2064696851, 2062753329, 2060787717, 2058800036, 2056790306,
812
+ 2054758550, 2052704789, 2050629045, 2048531340, 2046411698,
813
+ 2044270140, 2042106689, 2039921369, 2037714204, 2035485216,
814
+ 2033234429, 2030961869, 2028667558, 2026351522, 2024013785,
815
+ 2021654373, 2019273310, 2016870623, 2014446336, 2012000477,
816
+ 2009533071, 2007044144, 2004533723, 2002001835, 1999448508,
817
+ 1996873768, 1994277643, 1991660161, 1989021350, 1986361238,
818
+ 1983679853, 1980977226, 1978253383, 1975508355, 1972742171,
819
+ 1969954860, 1967146453, 1964316979, 1961466469, 1958594953,
820
+ 1955702462, 1952789027, 1949854680, 1946899451, 1943923372,
821
+ 1940926475, 1937908793, 1934870357, 1931811201, 1928731356,
822
+ 1925630856, 1922509734, 1919368023, 1916205758, 1913022972,
823
+ 1909819698, 1906595972, 1903351828, 1900087301, 1896802425,
824
+ 1893497236, 1890171769, 1886826060, 1883460144, 1880074058,
825
+ 1876667838, 1873241521, 1869795142, 1866328740, 1862842350,
826
+ 1859336011, 1855809760, 1852263635, 1848697674, 1845111914,
827
+ 1841506395, 1837881155, 1834236233, 1830571667, 1826887497,
828
+ 1823183763, 1819460504, 1815717761, 1811955572, 1808173978,
829
+ 1804373021, 1800552740, 1796713177, 1792854372, 1788976368,
830
+ 1785079205, 1781162925, 1777227570, 1773273182, 1769299805,
831
+ 1765307479, 1761296249, 1757266156, 1753217244, 1749149557,
832
+ 1745063138, 1740958031, 1736834279, 1732691928, 1728531020,
833
+ 1724351602, 1720153717, 1715937410, 1711702727, 1707449714,
834
+ 1703178415, 1698888876, 1694581143, 1690255263, 1685911282,
835
+ 1681549245, 1677169201, 1672771196, 1668355276, 1663921490,
836
+ 1659469885, 1655000508, 1650513407, 1646008631, 1641486227,
837
+ 1636946244, 1632388731, 1627813736, 1623221309, 1618611498,
838
+ 1613984353, 1609339924, 1604678260, 1599999411, 1595303428,
839
+ 1590590360, 1585860258, 1581113173, 1576349155, 1571568256,
840
+ 1566770527, 1561956018, 1557124783, 1552276872, 1547412337,
841
+ 1542531231, 1537633606, 1532719513, 1527789007, 1522842139,
842
+ 1517878963, 1512899531, 1507903898, 1502892116, 1497864239,
843
+ 1492820322, 1487760417, 1482684580, 1477592864, 1472485325,
844
+ 1467362016, 1462222994, 1457068312, 1451898025, 1446712191,
845
+ 1441510863, 1436294098, 1431061951, 1425814478, 1420551737,
846
+ 1415273782, 1409980671, 1404672460, 1399349206, 1394010966,
847
+ 1388657798, 1383289758, 1377906904, 1372509294, 1367096986,
848
+ 1361670037, 1356228505, 1350772450, 1345301929, 1339817000,
849
+ 1334317724, 1328804158, 1323276361, 1317734393, 1312178313,
850
+ 1306608181, 1301024057, 1295425999, 1289814068, 1284188325,
851
+ 1278548828, 1272895640, 1267228820, 1261548429, 1255854528,
852
+ 1250147177, 1244426439, 1238692373, 1232945043, 1227184508,
853
+ 1221410831, 1215624074, 1209824299, 1204011567, 1198185941,
854
+ 1192347484, 1186496258, 1180632325, 1174755748, 1168866591,
855
+ 1162964917, 1157050787, 1151124267, 1145185419, 1139234307,
856
+ 1133270995, 1127295547, 1121308026, 1115308496, 1109297023,
857
+ 1103273670, 1097238502, 1091191583, 1085132978, 1079062753,
858
+ 1072980972, 1066887699, 1060783002, 1054666944, 1048539592,
859
+ 1042401010, 1036251266, 1030090423, 1023918550, 1017735711,
860
+ 1011541973, 1005337402, 999122065, 992896028, 986659358,
861
+ 980412122, 974154386, 967886217, 961607684, 955318852,
862
+ 949019790, 942710564, 936391243, 930061894, 923722585,
863
+ 917373383, 911014357, 904645574, 898267104, 891879014,
864
+ 885481373, 879074249, 872657710, 866231826, 859796666,
865
+ 853352298, 846898791, 840436214, 833964638, 827484130,
866
+ 820994760, 814496598, 807989714, 801474176, 794950056,
867
+ 788417422, 781876345, 775326894, 768769141, 762203154,
868
+ 755629005, 749046764, 742456501, 735858287, 729252193,
869
+ 722638289, 716016646, 709387335, 702750427, 696105993,
870
+ 689454104, 682794832, 676128248, 669454423, 662773428,
871
+ 656085336, 649390218, 642688145, 635979190, 629263424,
872
+ 622540918, 615811746, 609075979, 602333690, 595584950,
873
+ 588829831, 582068407, 575300749, 568526931, 561747023,
874
+ 554961100, 548169234, 541371497, 534567963, 527758704,
875
+ 520943793, 514123303, 507297307, 500465878, 493629090,
876
+ 486787016, 479939728, 473087301, 466229807, 459367320,
877
+ 452499914, 445627662, 438750638, 431868915, 424982567,
878
+ 418091668, 411196291, 404296511, 397392401, 390484035,
879
+ 383571488, 376654833, 369734144, 362809495, 355880961,
880
+ 348948616, 342012534, 335072790, 328129457, 321182610,
881
+ 314232323, 307278671, 300321729, 293361570, 286398270,
882
+ 279431902, 272462542, 265490265, 258515144, 251537254,
883
+ 244556671, 237573469, 230587722, 223599506, 216608896,
884
+ 209615966, 202620791, 195623446, 188624006, 181622546,
885
+ 174619141, 167613866, 160606796, 153598006, 146587571,
886
+ 139575567, 132562067, 125547148, 118530885, 111513352,
887
+ 104494625, 97474778, 90453888, 83432030, 76409277,
888
+ 69385707, 62361393, 55336412, 48310838, 41284746,
889
+ 34258213, 27231312, 20204120, 13176712, 6149162,
890
+ -878453, -7906059, -14933580, -21960942, -28988068,
891
+ -36014884, -43041314, -50067283, -57092716, -64117537,
892
+ -71141672, -78165045, -85187581, -92209205, -99229841,
893
+ -106249414, -113267850, -120285073, -127301007, -134315578,
894
+ -141328711, -148340330, -155350361, -162358728, -169365356,
895
+ -176370170, -183373096, -190374058, -197372981, -204369791,
896
+ -211364411, -218356769, -225346788, -232334393, -239319511,
897
+ -246302065, -253281982, -260259186, -267233603, -274205159,
898
+ -281173778, -288139385, -295101907, -302061269, -309017396,
899
+ -315970213, -322919647, -329865622, -336808065, -343746901,
900
+ -350682056, -357613455, -364541025, -371464690, -378384377,
901
+ -385300013, -392211522, -399118830, -406021865, -412920551,
902
+ -419814815, -426704583, -433589782, -440470337, -447346176,
903
+ -454217223, -461083406, -467944652, -474800886, -481652035,
904
+ -488498026, -495338786, -502174241, -509004318, -515828944,
905
+ -522648046, -529461551, -536269386, -543071478, -549867754,
906
+ -556658141, -563442567, -570220959, -576993244, -583759350,
907
+ -590519205, -597272736, -604019870, -610760536, -617494660,
908
+ -624222173, -630943000, -637657070, -644364312, -651064652,
909
+ -657758021, -664444345, -671123554, -677795576, -684460338,
910
+ -691117771, -697767803, -704410362, -711045377, -717672778,
911
+ -724292493, -730904451, -737508582, -744104815, -750693079,
912
+ -757273304, -763845419, -770409354, -776965038, -783512402,
913
+ -790051375, -796581887, -803103868, -809617249, -816121959,
914
+ -822617929, -829105090, -835583372, -842052705, -848513021,
915
+ -854964249, -861406322, -867839170, -874262724, -880676915,
916
+ -887081675, -893476935, -899862626, -906238681, -912605031,
917
+ -918961607, -925308342, -931645168, -937972016, -944288820,
918
+ -950595511, -956892022, -963178285, -969454234, -975719800,
919
+ -981974918, -988219519, -994453537, -1000676905, -1006889557,
920
+ -1013091426, -1019282445, -1025462549, -1031631671, -1037789745,
921
+ -1043936705, -1050072485, -1056197020, -1062310244, -1068412091,
922
+ -1074502497, -1080581395, -1086648722, -1092704411, -1098748398,
923
+ -1104780618, -1110801008, -1116809501, -1122806034, -1128790543,
924
+ -1134762964, -1140723232, -1146671283, -1152607055, -1158530484,
925
+ -1164441505, -1170340057, -1176226074, -1182099496, -1187960258,
926
+ -1193808298, -1199643553, -1205465961, -1211275460, -1217071986,
927
+ -1222855479, -1228625876, -1234383115, -1240127136, -1245857875,
928
+ -1251575272, -1257279266, -1262969796, -1268646800, -1274310217,
929
+ -1279959989, -1285596052, -1291218348, -1296826816, -1302421396,
930
+ -1308002029, -1313568653, -1319121210, -1324659641, -1330183885,
931
+ -1335693885, -1341189580, -1346670912, -1352137822, -1357590252,
932
+ -1363028143, -1368451438, -1373860077, -1379254004, -1384633159,
933
+ -1389997487, -1395346928, -1400681427, -1406000925, -1411305366,
934
+ -1416594694, -1421868850, -1427127780, -1432371426, -1437599733,
935
+ -1442812644, -1448010104, -1453192057, -1458358447, -1463509220,
936
+ -1468644319, -1473763690, -1478867279, -1483955030, -1489026889,
937
+ -1494082802, -1499122714, -1504146572, -1509154322, -1514145910,
938
+ -1519121283, -1524080387, -1529023170, -1533949577, -1538859558,
939
+ -1543753058, -1548630027, -1553490410, -1558334157, -1563161216,
940
+ -1567971534, -1572765060, -1577541744, -1582301533, -1587044377,
941
+ -1591770225, -1596479027, -1601170732, -1605845289, -1610502649,
942
+ -1615142762, -1619765578, -1624371047, -1628959121, -1633529750,
943
+ -1638082885, -1642618478, -1647136479, -1651636841, -1656119516,
944
+ -1660584454, -1665031609, -1669460933, -1673872378, -1678265898,
945
+ -1682641444, -1686998971, -1691338432, -1695659779, -1699962968,
946
+ -1704247951, -1708514683, -1712763118, -1716993211, -1721204917,
947
+ -1725398189, -1729572984, -1733729257, -1737866963, -1741986057,
948
+ -1746086497, -1750168237, -1754231234, -1758275445, -1762300826,
949
+ -1766307335, -1770294927, -1774263561, -1778213194, -1782143784,
950
+ -1786055289, -1789947667, -1793820875, -1797674873, -1801509620,
951
+ -1805325074, -1809121194, -1812897940, -1816655271, -1820393147,
952
+ -1824111529, -1827810376, -1831489648, -1835149306, -1838789312,
953
+ -1842409625, -1846010208, -1849591022, -1853152028, -1856693188,
954
+ -1860214464, -1863715819, -1867197215, -1870658615, -1874099982,
955
+ -1877521279, -1880922469, -1884303515, -1887664383, -1891005035,
956
+ -1894325435, -1897625550, -1900905342, -1904164776, -1907403819,
957
+ -1910622435, -1913820590, -1916998250, -1920155379, -1923291946,
958
+ -1926407915, -1929503255, -1932577931, -1935631910, -1938665161,
959
+ -1941677650, -1944669345, -1947640214, -1950590226, -1953519348,
960
+ -1956427550, -1959314800, -1962181067, -1965026321, -1967850531,
961
+ -1970653667, -1973435699, -1976196596, -1978936331, -1981654873,
962
+ -1984352192, -1987028261, -1989683050, -1992316532, -1994928677,
963
+ -1997519459, -2000088848, -2002636818, -2005163342, -2007668391,
964
+ -2010151941, -2012613963, -2015054432, -2017473321, -2019870604,
965
+ -2022246257, -2024600252, -2026932566, -2029243173, -2031532049,
966
+ -2033799168, -2036044507, -2038268042, -2040469748, -2042649603,
967
+ -2044807583, -2046943664, -2049057824, -2051150040, -2053220291,
968
+ -2055268553, -2057294804, -2059299024, -2061281190, -2063241282,
969
+ -2065179277, -2067095157, -2068988899, -2070860485, -2072709893,
970
+ -2074537104, -2076342098, -2078124857, -2079885360, -2081623590,
971
+ -2083339527, -2085033153, -2086704450, -2088353400, -2089979985,
972
+ -2091584189, -2093165993, -2094725382, -2096262337, -2097776843,
973
+ -2099268884, -2100738443, -2102185505, -2103610054, -2105012075,
974
+ -2106391553, -2107748474, -2109082822, -2110394584, -2111683744,
975
+ -2112950291, -2114194210, -2115415487, -2116614110, -2117790065,
976
+ -2118943341, -2120073924, -2121181804, -2122266967, -2123329402,
977
+ -2124369098, -2125386044, -2126380229, -2127351642, -2128300272,
978
+ -2129226111, -2130129147, -2131009371, -2131866773, -2132701345,
979
+ -2133513078, -2134301962, -2135067990, -2135811153, -2136531442,
980
+ -2137228852, -2137903373, -2138555000, -2139183723, -2139789539,
981
+ -2140372438, -2140932416, -2141469466, -2141983583, -2142474761,
982
+ -2142942995, -2143388280, -2143810610, -2144209982, -2144586392,
983
+ -2144939834, -2145270306, -2145577804, -2145862324, -2146123864,
984
+ -2146362421, -2146577992, -2146770575, -2146940167, -2147086768,
985
+ -2147210375, -2147310987, -2147388603, -2147443222, -2147474844,
986
+ 2147482929, 2147425435, 2147275952, 2147034487, 2146701050,
987
+ 2146275656, 2145758322, 2145149071, 2144447929, 2143654926,
988
+ 2142770096, 2141793477, 2140725111, 2139565043, 2138313323,
989
+ 2136970005, 2135535146, 2134008809, 2132391057, 2130681961,
990
+ 2128881593, 2126990031, 2125007356, 2122933653, 2120769010,
991
+ 2118513521, 2116167282, 2113730393, 2111202959, 2108585087,
992
+ 2105876892, 2103078487, 2100189994, 2097211535, 2094143239,
993
+ 2090985237, 2087737664, 2084400659, 2080974365, 2077458929,
994
+ 2073854502, 2070161238, 2066379295, 2062508835, 2058550025,
995
+ 2054503033, 2050368032, 2046145201, 2041834720, 2037436773,
996
+ 2032951550, 2028379241, 2023720043, 2018974156, 2014141783,
997
+ 2009223131, 2004218410, 1999127836, 1993951625, 1988690000,
998
+ 1983343186, 1977911412, 1972394912, 1966793920, 1961108677,
999
+ 1955339428, 1949486417, 1943549898, 1937530123, 1931427351,
1000
+ 1925241843, 1918973864, 1912623682, 1906191570, 1899677803,
1001
+ 1893082661, 1886406424, 1879649381, 1872811820, 1865894033,
1002
+ 1858896318, 1851818974, 1844662304, 1837426615, 1830112217,
1003
+ 1822719423, 1815248550, 1807699917, 1800073849, 1792370671,
1004
+ 1784590714, 1776734311, 1768801799, 1760793518, 1752709809,
1005
+ 1744551021, 1736317502, 1728009604, 1719627685, 1711172102,
1006
+ 1702643219, 1694041400, 1685367013, 1676620432, 1667802029,
1007
+ 1658912184, 1649951276, 1640919689, 1631817811, 1622646032,
1008
+ 1613404744, 1604094343, 1594715227, 1585267800, 1575752465,
1009
+ 1566169630, 1556519705, 1546803104, 1537020244, 1527171542,
1010
+ 1517257422, 1507278307, 1497234626, 1487126808, 1476955286,
1011
+ 1466720497, 1456422878, 1446062871, 1435640919, 1425157469,
1012
+ 1414612971, 1404007875, 1393342636, 1382617710, 1371833558,
1013
+ 1360990642, 1350089425, 1339130374, 1328113960, 1317040654,
1014
+ 1305910930, 1294725265, 1283484138, 1272188032, 1260837429,
1015
+ 1249432816, 1237974681, 1226463516, 1214899813, 1203284068,
1016
+ 1191616778, 1179898443, 1168129565, 1156310649, 1144442200,
1017
+ 1132524727, 1120558740, 1108544752, 1096483278, 1084374834,
1018
+ 1072219940, 1060019115, 1047772882, 1035481766, 1023146293,
1019
+ 1010766993, 998344394, 985879030, 973371434, 960822142,
1020
+ 948231691, 935600622, 922929474, 910218791, 897469118,
1021
+ 884680999, 871854984, 858991622, 846091463, 833155061,
1022
+ 820182969, 807175743, 794133941, 781058120, 767948841,
1023
+ 754806666, 741632158, 728425880, 715188400, 701920283,
1024
+ 688622098, 675294414, 661937804, 648552838, 635140090,
1025
+ 621700135, 608233549, 594740907, 581222789, 567679774,
1026
+ 554112440, 540521371, 526907147, 513270353, 499611571,
1027
+ 485931388, 472230390, 458509162, 444768294, 431008373,
1028
+ 417229989, 403433732, 389620194, 375789965, 361943639,
1029
+ 348081809, 334205068, 320314011, 306409232, 292491328,
1030
+ 278560894, 264618528, 250664827, 236700388, 222725809,
1031
+ 208741690, 194748629, 180747225, 166738079, 152721790,
1032
+ 138698959, 124670187, 110636075, 96597223, 82554233,
1033
+ 68507707, 54458246, 40406452, 26352928, 12298274,
1034
+ -1756906, -15812011, -29866438, -43919586, -57970853,
1035
+ -72019637, -86065335, -100107347, -114145071, -128177904,
1036
+ -142205248, -156226499, -170241059, -184248325, -198247699,
1037
+ -212238581, -226220372, -240192472, -254154282, -268105206,
1038
+ -282044645, -295972002, -309886680, -323788084, -337675619,
1039
+ -351548688, -365406698, -379249055, -393075166, -406884440,
1040
+ -420676284, -434450107, -448205320, -461941333, -475657559,
1041
+ -489353409, -503028296, -516681636, -530312842, -543921332,
1042
+ -557506522, -571067830, -584604676, -598116479, -611602660,
1043
+ -625062643, -638495850, -651901706, -665279637, -678629069,
1044
+ -691949432, -705240153, -718500664, -731730397, -744928785,
1045
+ -758095263, -771229267, -784330234, -797397602, -810430813,
1046
+ -823429308, -836392529, -849319923, -862210934, -875065011,
1047
+ -887881603, -900660162, -913400139, -926100989, -938762167,
1048
+ -951383133, -963963344, -976502263, -988999351, -1001454074,
1049
+ -1013865898, -1026234291, -1038558724, -1050838668, -1063073598,
1050
+ -1075262990, -1087406320, -1099503070, -1111552721, -1123554757,
1051
+ -1135508663, -1147413928, -1159270041, -1171076495, -1182832785,
1052
+ -1194538405, -1206192856, -1217795637, -1229346252, -1240844206,
1053
+ -1252289006, -1263680162, -1275017186, -1286299593, -1297526899,
1054
+ -1308698624, -1319814288, -1330873416, -1341875533, -1352820169,
1055
+ -1363706855, -1374535124, -1385304512, -1396014559, -1406664805,
1056
+ -1417254794, -1427784073, -1438252190, -1448658697, -1459003149,
1057
+ -1469285102, -1479504115, -1489659751, -1499751576, -1509779156,
1058
+ -1519742062, -1529639867, -1539472148, -1549238483, -1558938453,
1059
+ -1568571644, -1578137643, -1587636039, -1597066426, -1606428400,
1060
+ -1615721561, -1624945509, -1634099849, -1643184191, -1652198144,
1061
+ -1661141322, -1670013342, -1678813825, -1687542393, -1696198672,
1062
+ -1704782292, -1713292884, -1721730085, -1730093532, -1738382868,
1063
+ -1746597738, -1754737789, -1762802673, -1770792044, -1778705561,
1064
+ -1786542883, -1794303676, -1801987607, -1809594347, -1817123570,
1065
+ -1824574954, -1831948179, -1839242929, -1846458892, -1853595759,
1066
+ -1860653224, -1867630985, -1874528743, -1881346202, -1888083070,
1067
+ -1894739060, -1901313885, -1907807264, -1914218919, -1920548575,
1068
+ -1926795962, -1932960811, -1939042858, -1945041843, -1950957509,
1069
+ -1956789602, -1962537873, -1968202076, -1973781967, -1979277308,
1070
+ -1984687864, -1990013401, -1995253694, -2000408516, -2005477648,
1071
+ -2010460871, -2015357973, -2020168744, -2024892978, -2029530472,
1072
+ -2034081027, -2038544449, -2042920547, -2047209133, -2051410023,
1073
+ -2055523038, -2059548001, -2063484740, -2067333086, -2071092874,
1074
+ -2074763944, -2078346137, -2081839301, -2085243286, -2088557947,
1075
+ -2091783140, -2094918728, -2097964577, -2100920556, -2103786539,
1076
+ -2106562402, -2109248028, -2111843300, -2114348108, -2116762344,
1077
+ -2119085905, -2121318692, -2123460608, -2125511562, -2127471467,
1078
+ -2129340237, -2131117794, -2132804061, -2134398966, -2135902440,
1079
+ -2137314419, -2138634843, -2139863654, -2141000801, -2142046235,
1080
+ -2142999911, -2143861787, -2144631828, -2145310000, -2145896274,
1081
+ -2146390624, -2146793031, -2147103476, -2147321946, -2147448433,
1082
+ 2147480773, 2147250799, 2146652904, 2145687192, 2144353827,
1083
+ 2142653038, 2140585116, 2138150417, 2135349356, 2132182414,
1084
+ 2128650133, 2124753120, 2120492040, 2115867626, 2110880668,
1085
+ 2105532022, 2099822604, 2093753392, 2087325426, 2080539807,
1086
+ 2073397699, 2065900325, 2058048970, 2049844978, 2041289756,
1087
+ 2032384769, 2023131544, 2013531666, 2003586779, 1993298588,
1088
+ 1982668856, 1971699403, 1960392110, 1948748914, 1936771810,
1089
+ 1924462850, 1911824143, 1898857855, 1885566207, 1871951478,
1090
+ 1858015999, 1843762158, 1829192399, 1814309216, 1799115162,
1091
+ 1783612838, 1767804901, 1751694060, 1735283075, 1718574758,
1092
+ 1701571972, 1684277631, 1666694698, 1648826185, 1630675154,
1093
+ 1612244715, 1593538026, 1574558293, 1555308768, 1535792748,
1094
+ 1516013578, 1495974647, 1475679389, 1455131280, 1434333842,
1095
+ 1413290638, 1392005275, 1370481398, 1348722696, 1326732898,
1096
+ 1304515771, 1282075122, 1259414796, 1236538675, 1213450681,
1097
+ 1190154767, 1166654927, 1142955186, 1119059606, 1094972281,
1098
+ 1070697338, 1046238936, 1021601267, 996788551, 971805042,
1099
+ 946655018, 921342790, 895872694, 870249095, 844476384,
1100
+ 818558976, 792501312, 766307857, 739983099, 713531549,
1101
+ 686957739, 660266222, 633461572, 606548381, 579531262,
1102
+ 552414843, 525203770, 497902707, 470516330, 443049333,
1103
+ 415506422, 387892316, 360211746, 332469456, 304670200,
1104
+ 276818739, 248919847, 220978304, 192998897, 164986421,
1105
+ 136945676, 108881465, 80798598, 52701887, 24596146,
1106
+ -3513810, -31623164, -59727099, -87820801, -115899455,
1107
+ -143958250, -171992378, -199997036, -227967426, -255898755,
1108
+ -283786237, -311625094, -339410555, -367137861, -394802258,
1109
+ -422399009, -449923384, -477370666, -504736154, -532015158,
1110
+ -559203003, -586295032, -613286603, -640173090, -666949886,
1111
+ -693612404, -720156076, -746576352, -772868706, -799028633,
1112
+ -825051651, -850933300, -876669146, -902254780, -927685817,
1113
+ -952957899, -978066697, -1003007909, -1027777260, -1052370507,
1114
+ -1076783436, -1101011863, -1125051638, -1148898640, -1172548785,
1115
+ -1195998020, -1219242327, -1242277723, -1265100260, -1287706030,
1116
+ -1310091157, -1332251808, -1354184184, -1375884527, -1397349119,
1117
+ -1418574283, -1439556382, -1460291820, -1480777044, -1501008545,
1118
+ -1520982856, -1540696555, -1560146263, -1579328647, -1598240423,
1119
+ -1616878347, -1635239228, -1653319919, -1671117323, -1688628389,
1120
+ -1705850117, -1722779556, -1739413807, -1755750017, -1771785389,
1121
+ -1787517174, -1802942678, -1818059257, -1832864320, -1847355332,
1122
+ -1861529809, -1875385322, -1888919498, -1902130017, -1915014616,
1123
+ -1927571087, -1939797279, -1951691096, -1963250501, -1974473513,
1124
+ -1985358210, -1995902725, -2006105253, -2015964045, -2025477412,
1125
+ -2034643724, -2043461410, -2051928960, -2060044922, -2067807906,
1126
+ -2075216581, -2082269679, -2088965991, -2095304370, -2101283728,
1127
+ -2106903043, -2112161350, -2117057750, -2121591402, -2125761531,
1128
+ -2129567422, -2133008422, -2136083942, -2138793455, -2141136497,
1129
+ -2143112666, -2144721624, -2145963095, -2146836866, -2147342788,
1130
+ 2147472149, 2146552303, 2144161316, 2140300829, 2134973487,
1131
+ 2128182940, 2119933843, 2110231849, 2099083608, 2086496759,
1132
+ 2072479930, 2057042727, 2040195730, 2021950484, 2002319494,
1133
+ 1981316215, 1958955040, 1935251296, 1910221227, 1883881987,
1134
+ 1856251629, 1827349089, 1797194176, 1765807555, 1733210737,
1135
+ 1699426064, 1664476689, 1628386565, 1591180426, 1552883771,
1136
+ 1513522847, 1473124631, 1431716808, 1389327759, 1345986533,
1137
+ 1301722835, 1256567002, 1210549980, 1163703308, 1116059092,
1138
+ 1067649985, 1018509163, 968670307, 918167572, 867035571,
1139
+ 815309347, 763024350, 710216415, 656921734, 603176830,
1140
+ 549018540, 494483979, 439610524, 384435782, 328997567,
1141
+ 273333873, 217482850, 161482775, 105372028, 49189064,
1142
+ -7027611, -63239471, -119407989, -175494670, -231461077,
1143
+ -287268852, -342879747, -398255649, -453358607, -508150855,
1144
+ -562594842, -616653255, -670289044, -723465451, -776146031,
1145
+ -828294679, -879875655, -930853609, -981193602, -1030861133,
1146
+ -1079822164, -1128043139, -1175491010, -1222133257, -1267937916,
1147
+ -1312873593, -1356909492, -1400015434, -1442161874, -1483319929,
1148
+ -1523461391, -1562558748, -1600585205, -1637514702, -1673321927,
1149
+ -1707982341, -1741472190, -1773768520, -1804849198, -1834692923,
1150
+ -1863279241, -1890588560, -1916602164, -1941302225, -1964671814,
1151
+ -1986694916, -2007356435, -2026642214, -2044539032, -2061034626,
1152
+ -2076117690, -2089777886, -2102005853, -2112793210, -2122132564,
1153
+ -2130017514, -2136442657, -2141403589, -2144896910, -2146920225,
1154
+ #else
1155
+ 32767, 32767, 32767, 32766, 32765,
1156
+ 32763, 32761, 32759, 32756, 32753,
1157
+ 32750, 32746, 32742, 32738, 32733,
1158
+ 32728, 32722, 32717, 32710, 32704,
1159
+ 32697, 32690, 32682, 32674, 32666,
1160
+ 32657, 32648, 32639, 32629, 32619,
1161
+ 32609, 32598, 32587, 32576, 32564,
1162
+ 32552, 32539, 32526, 32513, 32500,
1163
+ 32486, 32472, 32457, 32442, 32427,
1164
+ 32411, 32395, 32379, 32362, 32345,
1165
+ 32328, 32310, 32292, 32274, 32255,
1166
+ 32236, 32217, 32197, 32177, 32157,
1167
+ 32136, 32115, 32093, 32071, 32049,
1168
+ 32027, 32004, 31981, 31957, 31933,
1169
+ 31909, 31884, 31859, 31834, 31809,
1170
+ 31783, 31756, 31730, 31703, 31676,
1171
+ 31648, 31620, 31592, 31563, 31534,
1172
+ 31505, 31475, 31445, 31415, 31384,
1173
+ 31353, 31322, 31290, 31258, 31226,
1174
+ 31193, 31160, 31127, 31093, 31059,
1175
+ 31025, 30990, 30955, 30920, 30884,
1176
+ 30848, 30812, 30775, 30738, 30701,
1177
+ 30663, 30625, 30587, 30548, 30509,
1178
+ 30470, 30430, 30390, 30350, 30309,
1179
+ 30269, 30227, 30186, 30144, 30102,
1180
+ 30059, 30016, 29973, 29930, 29886,
1181
+ 29842, 29797, 29752, 29707, 29662,
1182
+ 29616, 29570, 29524, 29477, 29430,
1183
+ 29383, 29335, 29287, 29239, 29190,
1184
+ 29142, 29092, 29043, 28993, 28943,
1185
+ 28892, 28842, 28791, 28739, 28688,
1186
+ 28636, 28583, 28531, 28478, 28425,
1187
+ 28371, 28317, 28263, 28209, 28154,
1188
+ 28099, 28044, 27988, 27932, 27876,
1189
+ 27820, 27763, 27706, 27648, 27591,
1190
+ 27533, 27474, 27416, 27357, 27298,
1191
+ 27238, 27178, 27118, 27058, 26997,
1192
+ 26936, 26875, 26814, 26752, 26690,
1193
+ 26628, 26565, 26502, 26439, 26375,
1194
+ 26312, 26247, 26183, 26119, 26054,
1195
+ 25988, 25923, 25857, 25791, 25725,
1196
+ 25658, 25592, 25524, 25457, 25389,
1197
+ 25322, 25253, 25185, 25116, 25047,
1198
+ 24978, 24908, 24838, 24768, 24698,
1199
+ 24627, 24557, 24485, 24414, 24342,
1200
+ 24270, 24198, 24126, 24053, 23980,
1201
+ 23907, 23834, 23760, 23686, 23612,
1202
+ 23537, 23462, 23387, 23312, 23237,
1203
+ 23161, 23085, 23009, 22932, 22856,
1204
+ 22779, 22701, 22624, 22546, 22468,
1205
+ 22390, 22312, 22233, 22154, 22075,
1206
+ 21996, 21916, 21836, 21756, 21676,
1207
+ 21595, 21515, 21434, 21352, 21271,
1208
+ 21189, 21107, 21025, 20943, 20860,
1209
+ 20777, 20694, 20611, 20528, 20444,
1210
+ 20360, 20276, 20192, 20107, 20022,
1211
+ 19937, 19852, 19767, 19681, 19595,
1212
+ 19509, 19423, 19336, 19250, 19163,
1213
+ 19076, 18988, 18901, 18813, 18725,
1214
+ 18637, 18549, 18460, 18372, 18283,
1215
+ 18194, 18104, 18015, 17925, 17835,
1216
+ 17745, 17655, 17565, 17474, 17383,
1217
+ 17292, 17201, 17110, 17018, 16927,
1218
+ 16835, 16743, 16650, 16558, 16465,
1219
+ 16372, 16279, 16186, 16093, 15999,
1220
+ 15906, 15812, 15718, 15624, 15529,
1221
+ 15435, 15340, 15245, 15150, 15055,
1222
+ 14960, 14864, 14769, 14673, 14577,
1223
+ 14481, 14385, 14288, 14192, 14095,
1224
+ 13998, 13901, 13804, 13706, 13609,
1225
+ 13511, 13414, 13316, 13218, 13119,
1226
+ 13021, 12923, 12824, 12725, 12626,
1227
+ 12527, 12428, 12329, 12230, 12130,
1228
+ 12030, 11930, 11831, 11730, 11630,
1229
+ 11530, 11430, 11329, 11228, 11128,
1230
+ 11027, 10926, 10824, 10723, 10622,
1231
+ 10520, 10419, 10317, 10215, 10113,
1232
+ 10011, 9909, 9807, 9704, 9602,
1233
+ 9499, 9397, 9294, 9191, 9088,
1234
+ 8985, 8882, 8778, 8675, 8572,
1235
+ 8468, 8364, 8261, 8157, 8053,
1236
+ 7949, 7845, 7741, 7637, 7532,
1237
+ 7428, 7323, 7219, 7114, 7009,
1238
+ 6905, 6800, 6695, 6590, 6485,
1239
+ 6380, 6274, 6169, 6064, 5958,
1240
+ 5853, 5747, 5642, 5536, 5430,
1241
+ 5325, 5219, 5113, 5007, 4901,
1242
+ 4795, 4689, 4583, 4476, 4370,
1243
+ 4264, 4157, 4051, 3945, 3838,
1244
+ 3732, 3625, 3518, 3412, 3305,
1245
+ 3198, 3092, 2985, 2878, 2771,
1246
+ 2664, 2558, 2451, 2344, 2237,
1247
+ 2130, 2023, 1916, 1809, 1702,
1248
+ 1594, 1487, 1380, 1273, 1166,
1249
+ 1059, 952, 844, 737, 630,
1250
+ 523, 416, 308, 201, 94,
1251
+ -13, -121, -228, -335, -442,
1252
+ -550, -657, -764, -871, -978,
1253
+ -1086, -1193, -1300, -1407, -1514,
1254
+ -1621, -1728, -1835, -1942, -2049,
1255
+ -2157, -2263, -2370, -2477, -2584,
1256
+ -2691, -2798, -2905, -3012, -3118,
1257
+ -3225, -3332, -3439, -3545, -3652,
1258
+ -3758, -3865, -3971, -4078, -4184,
1259
+ -4290, -4397, -4503, -4609, -4715,
1260
+ -4821, -4927, -5033, -5139, -5245,
1261
+ -5351, -5457, -5562, -5668, -5774,
1262
+ -5879, -5985, -6090, -6195, -6301,
1263
+ -6406, -6511, -6616, -6721, -6826,
1264
+ -6931, -7036, -7140, -7245, -7349,
1265
+ -7454, -7558, -7663, -7767, -7871,
1266
+ -7975, -8079, -8183, -8287, -8390,
1267
+ -8494, -8597, -8701, -8804, -8907,
1268
+ -9011, -9114, -9217, -9319, -9422,
1269
+ -9525, -9627, -9730, -9832, -9934,
1270
+ -10037, -10139, -10241, -10342, -10444,
1271
+ -10546, -10647, -10748, -10850, -10951,
1272
+ -11052, -11153, -11253, -11354, -11455,
1273
+ -11555, -11655, -11756, -11856, -11955,
1274
+ -12055, -12155, -12254, -12354, -12453,
1275
+ -12552, -12651, -12750, -12849, -12947,
1276
+ -13046, -13144, -13242, -13340, -13438,
1277
+ -13536, -13633, -13731, -13828, -13925,
1278
+ -14022, -14119, -14216, -14312, -14409,
1279
+ -14505, -14601, -14697, -14793, -14888,
1280
+ -14984, -15079, -15174, -15269, -15364,
1281
+ -15459, -15553, -15647, -15741, -15835,
1282
+ -15929, -16023, -16116, -16210, -16303,
1283
+ -16396, -16488, -16581, -16673, -16766,
1284
+ -16858, -16949, -17041, -17133, -17224,
1285
+ -17315, -17406, -17497, -17587, -17678,
1286
+ -17768, -17858, -17948, -18037, -18127,
1287
+ -18216, -18305, -18394, -18483, -18571,
1288
+ -18659, -18747, -18835, -18923, -19010,
1289
+ -19098, -19185, -19271, -19358, -19444,
1290
+ -19531, -19617, -19702, -19788, -19873,
1291
+ -19959, -20043, -20128, -20213, -20297,
1292
+ -20381, -20465, -20549, -20632, -20715,
1293
+ -20798, -20881, -20963, -21046, -21128,
1294
+ -21210, -21291, -21373, -21454, -21535,
1295
+ -21616, -21696, -21776, -21856, -21936,
1296
+ -22016, -22095, -22174, -22253, -22331,
1297
+ -22410, -22488, -22566, -22643, -22721,
1298
+ -22798, -22875, -22951, -23028, -23104,
1299
+ -23180, -23256, -23331, -23406, -23481,
1300
+ -23556, -23630, -23704, -23778, -23852,
1301
+ -23925, -23998, -24071, -24144, -24216,
1302
+ -24288, -24360, -24432, -24503, -24574,
1303
+ -24645, -24716, -24786, -24856, -24926,
1304
+ -24995, -25064, -25133, -25202, -25270,
1305
+ -25339, -25406, -25474, -25541, -25608,
1306
+ -25675, -25742, -25808, -25874, -25939,
1307
+ -26005, -26070, -26135, -26199, -26264,
1308
+ -26327, -26391, -26455, -26518, -26581,
1309
+ -26643, -26705, -26767, -26829, -26891,
1310
+ -26952, -27013, -27073, -27133, -27193,
1311
+ -27253, -27312, -27372, -27430, -27489,
1312
+ -27547, -27605, -27663, -27720, -27777,
1313
+ -27834, -27890, -27946, -28002, -28058,
1314
+ -28113, -28168, -28223, -28277, -28331,
1315
+ -28385, -28438, -28491, -28544, -28596,
1316
+ -28649, -28701, -28752, -28803, -28854,
1317
+ -28905, -28955, -29006, -29055, -29105,
1318
+ -29154, -29203, -29251, -29299, -29347,
1319
+ -29395, -29442, -29489, -29535, -29582,
1320
+ -29628, -29673, -29719, -29764, -29808,
1321
+ -29853, -29897, -29941, -29984, -30027,
1322
+ -30070, -30112, -30154, -30196, -30238,
1323
+ -30279, -30320, -30360, -30400, -30440,
1324
+ -30480, -30519, -30558, -30596, -30635,
1325
+ -30672, -30710, -30747, -30784, -30821,
1326
+ -30857, -30893, -30929, -30964, -30999,
1327
+ -31033, -31068, -31102, -31135, -31168,
1328
+ -31201, -31234, -31266, -31298, -31330,
1329
+ -31361, -31392, -31422, -31453, -31483,
1330
+ -31512, -31541, -31570, -31599, -31627,
1331
+ -31655, -31682, -31710, -31737, -31763,
1332
+ -31789, -31815, -31841, -31866, -31891,
1333
+ -31915, -31939, -31963, -31986, -32010,
1334
+ -32032, -32055, -32077, -32099, -32120,
1335
+ -32141, -32162, -32182, -32202, -32222,
1336
+ -32241, -32260, -32279, -32297, -32315,
1337
+ -32333, -32350, -32367, -32383, -32399,
1338
+ -32415, -32431, -32446, -32461, -32475,
1339
+ -32489, -32503, -32517, -32530, -32542,
1340
+ -32555, -32567, -32579, -32590, -32601,
1341
+ -32612, -32622, -32632, -32641, -32651,
1342
+ -32659, -32668, -32676, -32684, -32692,
1343
+ -32699, -32706, -32712, -32718, -32724,
1344
+ -32729, -32734, -32739, -32743, -32747,
1345
+ -32751, -32754, -32757, -32760, -32762,
1346
+ -32764, -32765, -32767, -32767, -32767,
1347
+ 32767, 32767, 32765, 32761, 32756,
1348
+ 32750, 32742, 32732, 32722, 32710,
1349
+ 32696, 32681, 32665, 32647, 32628,
1350
+ 32608, 32586, 32562, 32538, 32512,
1351
+ 32484, 32455, 32425, 32393, 32360,
1352
+ 32326, 32290, 32253, 32214, 32174,
1353
+ 32133, 32090, 32046, 32001, 31954,
1354
+ 31906, 31856, 31805, 31753, 31700,
1355
+ 31645, 31588, 31530, 31471, 31411,
1356
+ 31349, 31286, 31222, 31156, 31089,
1357
+ 31020, 30951, 30880, 30807, 30733,
1358
+ 30658, 30582, 30504, 30425, 30345,
1359
+ 30263, 30181, 30096, 30011, 29924,
1360
+ 29836, 29747, 29656, 29564, 29471,
1361
+ 29377, 29281, 29184, 29086, 28987,
1362
+ 28886, 28784, 28681, 28577, 28471,
1363
+ 28365, 28257, 28147, 28037, 27925,
1364
+ 27812, 27698, 27583, 27467, 27349,
1365
+ 27231, 27111, 26990, 26868, 26744,
1366
+ 26620, 26494, 26367, 26239, 26110,
1367
+ 25980, 25849, 25717, 25583, 25449,
1368
+ 25313, 25176, 25038, 24900, 24760,
1369
+ 24619, 24477, 24333, 24189, 24044,
1370
+ 23898, 23751, 23602, 23453, 23303,
1371
+ 23152, 22999, 22846, 22692, 22537,
1372
+ 22380, 22223, 22065, 21906, 21746,
1373
+ 21585, 21423, 21261, 21097, 20933,
1374
+ 20767, 20601, 20434, 20265, 20096,
1375
+ 19927, 19756, 19584, 19412, 19239,
1376
+ 19065, 18890, 18714, 18538, 18361,
1377
+ 18183, 18004, 17824, 17644, 17463,
1378
+ 17281, 17098, 16915, 16731, 16546,
1379
+ 16361, 16175, 15988, 15800, 15612,
1380
+ 15423, 15234, 15043, 14852, 14661,
1381
+ 14469, 14276, 14083, 13889, 13694,
1382
+ 13499, 13303, 13107, 12910, 12713,
1383
+ 12515, 12317, 12118, 11918, 11718,
1384
+ 11517, 11316, 11115, 10913, 10710,
1385
+ 10508, 10304, 10100, 9896, 9691,
1386
+ 9486, 9281, 9075, 8869, 8662,
1387
+ 8455, 8248, 8040, 7832, 7623,
1388
+ 7415, 7206, 6996, 6787, 6577,
1389
+ 6366, 6156, 5945, 5734, 5523,
1390
+ 5311, 5100, 4888, 4675, 4463,
1391
+ 4251, 4038, 3825, 3612, 3399,
1392
+ 3185, 2972, 2758, 2544, 2330,
1393
+ 2116, 1902, 1688, 1474, 1260,
1394
+ 1045, 831, 617, 402, 188,
1395
+ -27, -241, -456, -670, -885,
1396
+ -1099, -1313, -1528, -1742, -1956,
1397
+ -2170, -2384, -2598, -2811, -3025,
1398
+ -3239, -3452, -3665, -3878, -4091,
1399
+ -4304, -4516, -4728, -4941, -5153,
1400
+ -5364, -5576, -5787, -5998, -6209,
1401
+ -6419, -6629, -6839, -7049, -7258,
1402
+ -7467, -7676, -7884, -8092, -8300,
1403
+ -8507, -8714, -8920, -9127, -9332,
1404
+ -9538, -9743, -9947, -10151, -10355,
1405
+ -10558, -10761, -10963, -11165, -11367,
1406
+ -11568, -11768, -11968, -12167, -12366,
1407
+ -12565, -12762, -12960, -13156, -13352,
1408
+ -13548, -13743, -13937, -14131, -14324,
1409
+ -14517, -14709, -14900, -15091, -15281,
1410
+ -15470, -15659, -15847, -16035, -16221,
1411
+ -16407, -16593, -16777, -16961, -17144,
1412
+ -17326, -17508, -17689, -17869, -18049,
1413
+ -18227, -18405, -18582, -18758, -18934,
1414
+ -19108, -19282, -19455, -19627, -19799,
1415
+ -19969, -20139, -20308, -20475, -20642,
1416
+ -20809, -20974, -21138, -21301, -21464,
1417
+ -21626, -21786, -21946, -22105, -22263,
1418
+ -22420, -22575, -22730, -22884, -23037,
1419
+ -23189, -23340, -23490, -23640, -23788,
1420
+ -23935, -24080, -24225, -24369, -24512,
1421
+ -24654, -24795, -24934, -25073, -25211,
1422
+ -25347, -25482, -25617, -25750, -25882,
1423
+ -26013, -26143, -26272, -26399, -26526,
1424
+ -26651, -26775, -26898, -27020, -27141,
1425
+ -27260, -27379, -27496, -27612, -27727,
1426
+ -27841, -27953, -28065, -28175, -28284,
1427
+ -28391, -28498, -28603, -28707, -28810,
1428
+ -28911, -29012, -29111, -29209, -29305,
1429
+ -29401, -29495, -29587, -29679, -29769,
1430
+ -29858, -29946, -30032, -30118, -30201,
1431
+ -30284, -30365, -30445, -30524, -30601,
1432
+ -30677, -30752, -30825, -30897, -30968,
1433
+ -31038, -31106, -31172, -31238, -31302,
1434
+ -31365, -31426, -31486, -31545, -31602,
1435
+ -31658, -31713, -31766, -31818, -31869,
1436
+ -31918, -31966, -32012, -32058, -32101,
1437
+ -32144, -32185, -32224, -32262, -32299,
1438
+ -32335, -32369, -32401, -32433, -32463,
1439
+ -32491, -32518, -32544, -32568, -32591,
1440
+ -32613, -32633, -32652, -32669, -32685,
1441
+ -32700, -32713, -32724, -32735, -32744,
1442
+ -32751, -32757, -32762, -32766, -32767,
1443
+ 32767, 32764, 32755, 32741, 32720,
1444
+ 32694, 32663, 32626, 32583, 32535,
1445
+ 32481, 32421, 32356, 32286, 32209,
1446
+ 32128, 32041, 31948, 31850, 31747,
1447
+ 31638, 31523, 31403, 31278, 31148,
1448
+ 31012, 30871, 30724, 30572, 30415,
1449
+ 30253, 30086, 29913, 29736, 29553,
1450
+ 29365, 29172, 28974, 28771, 28564,
1451
+ 28351, 28134, 27911, 27684, 27452,
1452
+ 27216, 26975, 26729, 26478, 26223,
1453
+ 25964, 25700, 25432, 25159, 24882,
1454
+ 24601, 24315, 24026, 23732, 23434,
1455
+ 23133, 22827, 22517, 22204, 21886,
1456
+ 21565, 21240, 20912, 20580, 20244,
1457
+ 19905, 19563, 19217, 18868, 18516,
1458
+ 18160, 17802, 17440, 17075, 16708,
1459
+ 16338, 15964, 15588, 15210, 14829,
1460
+ 14445, 14059, 13670, 13279, 12886,
1461
+ 12490, 12093, 11693, 11291, 10888,
1462
+ 10482, 10075, 9666, 9255, 8843,
1463
+ 8429, 8014, 7597, 7180, 6760,
1464
+ 6340, 5919, 5496, 5073, 4649,
1465
+ 4224, 3798, 3372, 2945, 2517,
1466
+ 2090, 1661, 1233, 804, 375,
1467
+ -54, -483, -911, -1340, -1768,
1468
+ -2197, -2624, -3052, -3479, -3905,
1469
+ -4330, -4755, -5179, -5602, -6024,
1470
+ -6445, -6865, -7284, -7702, -8118,
1471
+ -8533, -8946, -9358, -9768, -10177,
1472
+ -10584, -10989, -11392, -11793, -12192,
1473
+ -12589, -12984, -13377, -13767, -14155,
1474
+ -14541, -14924, -15305, -15683, -16058,
1475
+ -16430, -16800, -17167, -17531, -17892,
1476
+ -18249, -18604, -18956, -19304, -19649,
1477
+ -19990, -20329, -20663, -20994, -21322,
1478
+ -21646, -21966, -22282, -22595, -22904,
1479
+ -23208, -23509, -23806, -24099, -24387,
1480
+ -24672, -24952, -25228, -25499, -25766,
1481
+ -26029, -26288, -26541, -26791, -27035,
1482
+ -27275, -27511, -27741, -27967, -28188,
1483
+ -28405, -28616, -28823, -29024, -29221,
1484
+ -29412, -29599, -29780, -29957, -30128,
1485
+ -30294, -30455, -30611, -30761, -30906,
1486
+ -31046, -31181, -31310, -31434, -31552,
1487
+ -31665, -31773, -31875, -31972, -32063,
1488
+ -32149, -32229, -32304, -32373, -32437,
1489
+ -32495, -32547, -32594, -32635, -32671,
1490
+ -32701, -32726, -32745, -32758, -32766,
1491
+ 32767, 32754, 32717, 32658, 32577,
1492
+ 32473, 32348, 32200, 32029, 31837,
1493
+ 31624, 31388, 31131, 30853, 30553,
1494
+ 30232, 29891, 29530, 29148, 28746,
1495
+ 28324, 27883, 27423, 26944, 26447,
1496
+ 25931, 25398, 24847, 24279, 23695,
1497
+ 23095, 22478, 21846, 21199, 20538,
1498
+ 19863, 19174, 18472, 17757, 17030,
1499
+ 16291, 15541, 14781, 14010, 13230,
1500
+ 12441, 11643, 10837, 10024, 9204,
1501
+ 8377, 7545, 6708, 5866, 5020,
1502
+ 4171, 3319, 2464, 1608, 751,
1503
+ -107, -965, -1822, -2678, -3532,
1504
+ -4383, -5232, -6077, -6918, -7754,
1505
+ -8585, -9409, -10228, -11039, -11843,
1506
+ -12639, -13426, -14204, -14972, -15730,
1507
+ -16477, -17213, -17937, -18648, -19347,
1508
+ -20033, -20705, -21363, -22006, -22634,
1509
+ -23246, -23843, -24423, -24986, -25533,
1510
+ -26062, -26573, -27066, -27540, -27995,
1511
+ -28431, -28848, -29245, -29622, -29979,
1512
+ -30315, -30630, -30924, -31197, -31449,
1513
+ -31679, -31887, -32074, -32239, -32381,
1514
+ -32501, -32600, -32675, -32729, -32759,
1515
+ #endif
1516
+ };
1517
+ #endif
1518
+
1519
+ static const CELTMode mode48000_960_120 = {
1520
+ 48000, /* Fs */
1521
+ 120, /* overlap */
1522
+ 21, /* nbEBands */
1523
+ 21, /* effEBands */
1524
+ {27853, 0, 4096, 8192, }, /* preemph */
1525
+ eband5ms, /* eBands */
1526
+ 3, /* maxLM */
1527
+ 8, /* nbShortMdcts */
1528
+ 120, /* shortMdctSize */
1529
+ 11, /* nbAllocVectors */
1530
+ band_allocation, /* allocVectors */
1531
+ logN400, /* logN */
1532
+ window120, /* window */
1533
+ {1920, 3, {&fft_state48000_960_0, &fft_state48000_960_1, &fft_state48000_960_2, &fft_state48000_960_3, }, mdct_twiddles960}, /* mdct */
1534
+ {392, cache_index50, cache_bits50, cache_caps50}, /* cache */
1535
+ };
1536
+
1537
+ /* List of all the available modes */
1538
+ #define TOTAL_MODES 1
1539
+ static const CELTMode * const static_mode_list[TOTAL_MODES] = {
1540
+ &mode48000_960_120,
1541
+ };