summaryrefslogtreecommitdiff
Diffstat
-rw-r--r--Android.mk1
-rwxr-xr-xamadec/Android.mk282
-rw-r--r--amadec/acodec_lib_50/libstagefright_soft_dcvdec.so80
-rw-r--r--amadec/acodec_lib_50/libstagefright_soft_dtshd.so85
-rw-r--r--amadec/acodec_lib_50/libstagefright_soft_truehddec.so41
-rw-r--r--amadec/acodec_lib_android_n/libstagefright_soft_dcvdec.so109
-rw-r--r--amadec/acodec_lib_android_n/libstagefright_soft_dtshd.so272
-rw-r--r--amadec/acodec_lib_android_n/libstagefright_soft_truehddec.so87
-rwxr-xr-xamadec/acodec_lib_mx/libstagefright_soft_ddpdec.so113
-rwxr-xr-xamadec/acodec_lib_mx/libstagefright_soft_dtshd.so121
-rw-r--r--amadec/adec-armdec-mgt.h57
-rw-r--r--amadec/adec-external-ctrl.c899
-rw-r--r--amadec/adec-ffmpeg-mgt.c1550
-rw-r--r--amadec/adec-internal-mgt.c772
-rw-r--r--amadec/adec-message.c156
-rw-r--r--amadec/adec-message.h61
-rwxr-xr-xamadec/adec-pts-mgt.c1107
-rw-r--r--amadec/adec-pts-mgt.h82
-rw-r--r--amadec/adec-wfd-out.cpp361
-rw-r--r--amadec/adec-wfd.c811
-rw-r--r--amadec/adec_omx_brige.c284
-rw-r--r--amadec/adec_omx_brige.h56
-rw-r--r--amadec/adec_read.c200
-rw-r--r--amadec/adec_reg.h76
-rw-r--r--amadec/adec_write.c189
-rw-r--r--amadec/adec_write.h42
-rw-r--r--amadec/audio-dec.h314
-rw-r--r--amadec/audio_out/alsa-out.c1082
-rw-r--r--amadec/audio_out/aml_resample.c708
-rw-r--r--amadec/audio_out/aml_resample.h86
-rwxr-xr-xamadec/audio_out/android-out.cpp1640
-rw-r--r--amadec/audiodsp_update_format.c188
-rw-r--r--amadec/dsp/audiodsp-ctl.c471
-rw-r--r--amadec/dts_enc.c209
-rw-r--r--amadec/dts_enc.h11
-rw-r--r--amadec/dts_transenc_api.c143
-rw-r--r--amadec/dts_transenc_api.h19
-rw-r--r--amadec/feeder.c231
-rw-r--r--amadec/feeder.h26
-rw-r--r--amadec/include/adec-external-ctrl.h63
-rwxr-xr-xamadec/include/adec-macros.h41
-rw-r--r--amadec/include/adec-types.h53
-rwxr-xr-xamadec/include/alsa-out.h26
-rw-r--r--amadec/include/audio-out.h41
-rw-r--r--amadec/include/audiodsp.h142
-rw-r--r--amadec/include/audiodsp_update_format.h25
-rw-r--r--amadec/include/log-print.h26
-rwxr-xr-xamadec/omx_audio/ALAC_mediasource.cpp205
-rw-r--r--amadec/omx_audio/ALAC_mediasource.h62
-rwxr-xr-xamadec/omx_audio/ASF_mediasource.cpp184
-rw-r--r--amadec/omx_audio/ASF_mediasource.h127
-rwxr-xr-xamadec/omx_audio/Android.mk34
-rwxr-xr-xamadec/omx_audio/DDP_mediasource.cpp528
-rw-r--r--amadec/omx_audio/DDP_mediasource.h141
-rw-r--r--amadec/omx_audio/DTSHD_mediasource.cpp316
-rw-r--r--amadec/omx_audio/DTSHD_mediasource.h74
-rwxr-xr-xamadec/omx_audio/MP3_mediasource.cpp579
-rw-r--r--amadec/omx_audio/MP3_mediasource.h80
-rw-r--r--amadec/omx_audio/THD_mediasource.cpp229
-rw-r--r--amadec/omx_audio/THD_mediasource.h74
-rwxr-xr-xamadec/omx_audio/Vorbis_mediasource.cpp245
-rw-r--r--amadec/omx_audio/Vorbis_mediasource.h58
-rw-r--r--amadec/omx_audio/adec_omx.cpp421
-rw-r--r--amadec/omx_audio/adec_omx.h71
-rwxr-xr-xamadec/omx_audio/audio_mediasource.cpp37
-rw-r--r--amadec/omx_audio/audio_mediasource.h46
-rw-r--r--amadec/omx_audio/audio_medissource.h137
-rw-r--r--amadec/pcmenc_api.c147
-rw-r--r--amadec/pcmenc_api.h25
-rw-r--r--amadec/spdif_api.c306
-rw-r--r--amadec/spdif_api.h26
-rwxr-xr-xaudio_codec/Android.mk1
-rw-r--r--audio_codec/config.mk10
-rwxr-xr-xaudio_codec/libadpcm/Android.mk12
-rw-r--r--audio_codec/libadpcm/adpcm.h346
-rw-r--r--audio_codec/libadpcm/adpcm_decode.c841
-rwxr-xr-xaudio_codec/libamr/Android.mk25
-rwxr-xr-xaudio_codec/libamr/Makefile5
-rw-r--r--audio_codec/libamr/amr_decode.c186
-rw-r--r--audio_codec/libamr/amr_decode.h8
-rwxr-xr-xaudio_codec/libamr/dec.h18
-rw-r--r--audio_codec/libamr/dec_acelp.c620
-rwxr-xr-xaudio_codec/libamr/dec_acelp.h17
-rw-r--r--audio_codec/libamr/dec_dtx.c683
-rw-r--r--audio_codec/libamr/dec_dtx.h49
-rw-r--r--audio_codec/libamr/dec_gain.c853
-rw-r--r--audio_codec/libamr/dec_gain.h28
-rw-r--r--audio_codec/libamr/dec_if.c834
-rwxr-xr-xaudio_codec/libamr/dec_if.h23
-rw-r--r--audio_codec/libamr/dec_lpc.c789
-rw-r--r--audio_codec/libamr/dec_lpc.h25
-rw-r--r--audio_codec/libamr/dec_main.c842
-rw-r--r--audio_codec/libamr/dec_main.h57
-rw-r--r--audio_codec/libamr/dec_rom.c2114
-rw-r--r--audio_codec/libamr/dec_util.c1304
-rw-r--r--audio_codec/libamr/dec_util.h33
-rw-r--r--audio_codec/libamr/if_rom.c1030
-rwxr-xr-xaudio_codec/libamr/if_rom.h70
-rw-r--r--audio_codec/libamr/interf_dec.c906
-rw-r--r--audio_codec/libamr/interf_dec.h56
-rw-r--r--audio_codec/libamr/interf_rom.h1788
-rw-r--r--audio_codec/libamr/rom_dec.h13274
-rw-r--r--audio_codec/libamr/sp_dec.c6078
-rw-r--r--audio_codec/libamr/sp_dec.h83
-rwxr-xr-xaudio_codec/libamr/typedef.h17
-rwxr-xr-xaudio_codec/libape/Android.mk28
-rw-r--r--audio_codec/libape/Ape_decoder.h216
-rw-r--r--audio_codec/libape/amlogic_r30813_audio_ape_lib.c1
-rw-r--r--audio_codec/libape/apedec.c1120
-rw-r--r--audio_codec/libcook/Android.mk28
-rw-r--r--audio_codec/libcook/aac_bitstream.h133
-rw-r--r--audio_codec/libcook/aac_decode.h148
-rw-r--r--audio_codec/libcook/aac_reorder.h53
-rw-r--r--audio_codec/libcook/assembly.h119
-rw-r--r--audio_codec/libcook/challenge.h132
-rw-r--r--audio_codec/libcook/codec_defines.h93
-rw-r--r--audio_codec/libcook/coder.h287
-rw-r--r--audio_codec/libcook/cook_codec.h30
-rw-r--r--audio_codec/libcook/cook_decode.c624
-rw-r--r--audio_codec/libcook/cook_decode.h35
-rw-r--r--audio_codec/libcook/ga_config.h86
-rw-r--r--audio_codec/libcook/gecko2codec.c833
-rw-r--r--audio_codec/libcook/gecko2codec.h60
-rw-r--r--audio_codec/libcook/helix_config.h92
-rw-r--r--audio_codec/libcook/helix_mime_types.h56
-rw-r--r--audio_codec/libcook/helix_result.h107
-rw-r--r--audio_codec/libcook/helix_types.h305
-rw-r--r--audio_codec/libcook/helix_utils.h106
-rw-r--r--audio_codec/libcook/md5.h113
-rw-r--r--audio_codec/libcook/memory_utils.c100
-rw-r--r--audio_codec/libcook/memory_utils.h58
-rw-r--r--audio_codec/libcook/pack_utils.c306
-rw-r--r--audio_codec/libcook/pack_utils.h93
-rw-r--r--audio_codec/libcook/packet_defines.h48
-rw-r--r--audio_codec/libcook/ra8lbr_decode.c378
-rw-r--r--audio_codec/libcook/ra8lbr_decode.h161
-rw-r--r--audio_codec/libcook/ra_backend.h94
-rw-r--r--audio_codec/libcook/ra_bitpack.c197
-rw-r--r--audio_codec/libcook/ra_buffers.c127
-rw-r--r--audio_codec/libcook/ra_category.c298
-rw-r--r--audio_codec/libcook/ra_couple.c224
-rw-r--r--audio_codec/libcook/ra_decode.c321
-rw-r--r--audio_codec/libcook/ra_decode.h183
-rw-r--r--audio_codec/libcook/ra_depack.c230
-rw-r--r--audio_codec/libcook/ra_depack.h177
-rw-r--r--audio_codec/libcook/ra_depack_internal.c1710
-rw-r--r--audio_codec/libcook/ra_depack_internal.h232
-rw-r--r--audio_codec/libcook/ra_envelope.c123
-rw-r--r--audio_codec/libcook/ra_fft.c368
-rw-r--r--audio_codec/libcook/ra_format_info.h60
-rw-r--r--audio_codec/libcook/ra_gainctrl.c584
-rw-r--r--audio_codec/libcook/ra_huffman.c86
-rw-r--r--audio_codec/libcook/ra_hufftabs.c244
-rw-r--r--audio_codec/libcook/ra_mlt.c357
-rw-r--r--audio_codec/libcook/ra_sqvh.c431
-rw-r--r--audio_codec/libcook/ra_trigtabs.c932
-rw-r--r--audio_codec/libcook/rasl.c376
-rw-r--r--audio_codec/libcook/rasl.h71
-rw-r--r--audio_codec/libcook/rdtpck.h153
-rw-r--r--audio_codec/libcook/rm_error.h54
-rw-r--r--audio_codec/libcook/rm_error_default.c58
-rw-r--r--audio_codec/libcook/rm_error_default.h53
-rw-r--r--audio_codec/libcook/rm_io_default.c101
-rw-r--r--audio_codec/libcook/rm_io_default.h49
-rw-r--r--audio_codec/libcook/rm_memory.h54
-rw-r--r--audio_codec/libcook/rm_memory_default.c54
-rw-r--r--audio_codec/libcook/rm_memory_default.h46
-rw-r--r--audio_codec/libcook/rm_packet.c117
-rw-r--r--audio_codec/libcook/rm_packet.h80
-rw-r--r--audio_codec/libcook/rm_parse.h302
-rw-r--r--audio_codec/libcook/rm_parser.c649
-rw-r--r--audio_codec/libcook/rm_parser_internal.c3342
-rw-r--r--audio_codec/libcook/rm_parser_internal.h420
-rw-r--r--audio_codec/libcook/rm_property.c105
-rw-r--r--audio_codec/libcook/rm_property.h107
-rw-r--r--audio_codec/libcook/rm_stream.c356
-rw-r--r--audio_codec/libcook/rm_stream.h115
-rw-r--r--audio_codec/libcook/rm_stream_internal.h77
-rw-r--r--audio_codec/libcook/rv20backend.h69
-rw-r--r--audio_codec/libcook/rv30backend.h68
-rw-r--r--audio_codec/libcook/rv_backend.h84
-rw-r--r--audio_codec/libcook/rv_backend_types.h198
-rw-r--r--audio_codec/libcook/rv_decode.h208
-rw-r--r--audio_codec/libcook/rv_decode_message.h492
-rw-r--r--audio_codec/libcook/rv_depack.c271
-rw-r--r--audio_codec/libcook/rv_depack.h162
-rw-r--r--audio_codec/libcook/rv_depack_internal.c1071
-rw-r--r--audio_codec/libcook/rv_depack_internal.h171
-rw-r--r--audio_codec/libcook/rv_format_info.h91
-rw-r--r--audio_codec/libcook/statname.h118
-rw-r--r--audio_codec/libcook/stream_hdr_structs.h66
-rw-r--r--audio_codec/libcook/stream_hdr_utils.c136
-rw-r--r--audio_codec/libcook/stream_hdr_utils.h77
-rw-r--r--audio_codec/libcook/string_utils.c87
-rw-r--r--audio_codec/libcook/string_utils.h62
-rw-r--r--audio_codec/libcook/tngpkt.h400
-rwxr-xr-xaudio_codec/libfaad/Android.mk101
-rwxr-xr-xaudio_codec/libfaad/Makefile130
-rw-r--r--audio_codec/libfaad/analysis.h52
-rwxr-xr-xaudio_codec/libfaad/audio.d3
-rw-r--r--audio_codec/libfaad/bits.c261
-rwxr-xr-xaudio_codec/libfaad/bits.d18
-rw-r--r--audio_codec/libfaad/bits.h446
-rw-r--r--audio_codec/libfaad/cfft.c988
-rw-r--r--audio_codec/libfaad/cfft.h55
-rw-r--r--audio_codec/libfaad/cfft_tab.h1816
-rw-r--r--audio_codec/libfaad/codebook/hcb.h140
-rw-r--r--audio_codec/libfaad/codebook/hcb_1.h186
-rw-r--r--audio_codec/libfaad/codebook/hcb_10.h312
-rw-r--r--audio_codec/libfaad/codebook/hcb_11.h415
-rw-r--r--audio_codec/libfaad/codebook/hcb_2.h185
-rw-r--r--audio_codec/libfaad/codebook/hcb_3.h196
-rw-r--r--audio_codec/libfaad/codebook/hcb_4.h199
-rw-r--r--audio_codec/libfaad/codebook/hcb_5.h196
-rw-r--r--audio_codec/libfaad/codebook/hcb_6.h182
-rw-r--r--audio_codec/libfaad/codebook/hcb_7.h162
-rw-r--r--audio_codec/libfaad/codebook/hcb_8.h173
-rw-r--r--audio_codec/libfaad/codebook/hcb_9.h372
-rw-r--r--audio_codec/libfaad/codebook/hcb_sf.h276
-rw-r--r--audio_codec/libfaad/common.c558
-rw-r--r--audio_codec/libfaad/common.h453
-rw-r--r--audio_codec/libfaad/decoder.c2266
-rw-r--r--audio_codec/libfaad/drc.c173
-rw-r--r--audio_codec/libfaad/drc.h49
-rw-r--r--audio_codec/libfaad/drm_dec.c912
-rw-r--r--audio_codec/libfaad/drm_dec.h99
-rw-r--r--audio_codec/libfaad/error.c72
-rw-r--r--audio_codec/libfaad/error.h44
-rw-r--r--audio_codec/libfaad/filtbank.c408
-rw-r--r--audio_codec/libfaad/filtbank.h61
-rw-r--r--audio_codec/libfaad/fixed.h287
-rw-r--r--audio_codec/libfaad/hcr.c422
-rw-r--r--audio_codec/libfaad/helixaac/aaccommon.h210
-rw-r--r--audio_codec/libfaad/helixaac/aacdec.c508
-rw-r--r--audio_codec/libfaad/helixaac/aacdec.h206
-rw-r--r--audio_codec/libfaad/helixaac/aactabs.c157
-rw-r--r--audio_codec/libfaad/helixaac/assembly.h631
-rw-r--r--audio_codec/libfaad/helixaac/assembly_mw.h743
-rw-r--r--audio_codec/libfaad/helixaac/bitstream.c261
-rw-r--r--audio_codec/libfaad/helixaac/bitstream.h74
-rw-r--r--audio_codec/libfaad/helixaac/buffers.c140
-rw-r--r--audio_codec/libfaad/helixaac/coder.h369
-rw-r--r--audio_codec/libfaad/helixaac/dct4.c337
-rw-r--r--audio_codec/libfaad/helixaac/decelmnt.c445
-rw-r--r--audio_codec/libfaad/helixaac/dequant.c379
-rw-r--r--audio_codec/libfaad/helixaac/fft.c391
-rw-r--r--audio_codec/libfaad/helixaac/filefmt.c539
-rw-r--r--audio_codec/libfaad/helixaac/huffman_helix.c450
-rw-r--r--audio_codec/libfaad/helixaac/hufftabs.c177
-rw-r--r--audio_codec/libfaad/helixaac/imdct.c596
-rw-r--r--audio_codec/libfaad/helixaac/noiseless.c513
-rw-r--r--audio_codec/libfaad/helixaac/pns_helix.c371
-rw-r--r--audio_codec/libfaad/helixaac/sbr.c433
-rw-r--r--audio_codec/libfaad/helixaac/sbr.h380
-rw-r--r--audio_codec/libfaad/helixaac/sbrfft.c368
-rw-r--r--audio_codec/libfaad/helixaac/sbrfreq.c673
-rw-r--r--audio_codec/libfaad/helixaac/sbrhfadj.c882
-rw-r--r--audio_codec/libfaad/helixaac/sbrhfgen.c655
-rw-r--r--audio_codec/libfaad/helixaac/sbrhuff.c494
-rw-r--r--audio_codec/libfaad/helixaac/sbrimdct.c447
-rw-r--r--audio_codec/libfaad/helixaac/sbrmath.c198
-rw-r--r--audio_codec/libfaad/helixaac/sbrqmf.c648
-rw-r--r--audio_codec/libfaad/helixaac/sbrside.c634
-rw-r--r--audio_codec/libfaad/helixaac/sbrtabs.c400
-rw-r--r--audio_codec/libfaad/helixaac/statname.h115
-rw-r--r--audio_codec/libfaad/helixaac/stproc.c251
-rw-r--r--audio_codec/libfaad/helixaac/tns_helix.c307
-rw-r--r--audio_codec/libfaad/helixaac/trigtabs.c1000
-rw-r--r--audio_codec/libfaad/helixaac/trigtabs_fltgen.c357
-rw-r--r--audio_codec/libfaad/huffman.c582
-rw-r--r--audio_codec/libfaad/huffman.h47
-rw-r--r--audio_codec/libfaad/ic_predict.c258
-rw-r--r--audio_codec/libfaad/ic_predict.h252
-rw-r--r--audio_codec/libfaad/iq_table.h16456
-rw-r--r--audio_codec/libfaad/is.c106
-rw-r--r--audio_codec/libfaad/is.h67
-rw-r--r--audio_codec/libfaad/kbd_win.h2294
-rw-r--r--audio_codec/libfaad/libaacdec.c544
-rw-r--r--audio_codec/libfaad/libaacdec.h64
-rwxr-xr-xaudio_codec/libfaad/libfaad2.def14
-rw-r--r--audio_codec/libfaad/lt_predict.c205
-rw-r--r--audio_codec/libfaad/lt_predict.h66
-rw-r--r--audio_codec/libfaad/mdct.c307
-rw-r--r--audio_codec/libfaad/mdct.h48
-rw-r--r--audio_codec/libfaad/mdct_tab.h3639
-rw-r--r--audio_codec/libfaad/mp4.c307
-rw-r--r--audio_codec/libfaad/mp4.h52
-rw-r--r--audio_codec/libfaad/ms.c71
-rw-r--r--audio_codec/libfaad/ms.h44
-rw-r--r--audio_codec/libfaad/neaacdec.h257
-rw-r--r--audio_codec/libfaad/output.c583
-rw-r--r--audio_codec/libfaad/output.h48
-rw-r--r--audio_codec/libfaad/pns.c273
-rw-r--r--audio_codec/libfaad/pns.h58
-rw-r--r--audio_codec/libfaad/ps_dec.c1905
-rw-r--r--audio_codec/libfaad/ps_dec.h151
-rw-r--r--audio_codec/libfaad/ps_syntax.c532
-rw-r--r--audio_codec/libfaad/ps_tables.h547
-rw-r--r--audio_codec/libfaad/pulse.c59
-rw-r--r--audio_codec/libfaad/pulse.h43
-rw-r--r--audio_codec/libfaad/rvlc.c524
-rw-r--r--audio_codec/libfaad/rvlc.h55
-rw-r--r--audio_codec/libfaad/sbr_dct.c2267
-rw-r--r--audio_codec/libfaad/sbr_dct.h52
-rw-r--r--audio_codec/libfaad/sbr_dec.c679
-rw-r--r--audio_codec/libfaad/sbr_dec.h253
-rw-r--r--audio_codec/libfaad/sbr_e_nf.c475
-rw-r--r--audio_codec/libfaad/sbr_e_nf.h50
-rw-r--r--audio_codec/libfaad/sbr_fbt.c737
-rw-r--r--audio_codec/libfaad/sbr_fbt.h55
-rw-r--r--audio_codec/libfaad/sbr_hfadj.c1644
-rw-r--r--audio_codec/libfaad/sbr_hfadj.h56
-rw-r--r--audio_codec/libfaad/sbr_hfgen.c647
-rw-r--r--audio_codec/libfaad/sbr_hfgen.h49
-rw-r--r--audio_codec/libfaad/sbr_huff.c344
-rw-r--r--audio_codec/libfaad/sbr_huff.h46
-rw-r--r--audio_codec/libfaad/sbr_noise.h564
-rw-r--r--audio_codec/libfaad/sbr_qmf.c614
-rw-r--r--audio_codec/libfaad/sbr_qmf.h55
-rw-r--r--audio_codec/libfaad/sbr_qmf_c.h368
-rw-r--r--audio_codec/libfaad/sbr_syntax.c893
-rw-r--r--audio_codec/libfaad/sbr_syntax.h68
-rw-r--r--audio_codec/libfaad/sbr_tf_grid.c247
-rw-r--r--audio_codec/libfaad/sbr_tf_grid.h47
-rw-r--r--audio_codec/libfaad/sine_win.h4296
-rw-r--r--audio_codec/libfaad/specrec.c1249
-rw-r--r--audio_codec/libfaad/specrec.h49
-rw-r--r--audio_codec/libfaad/ssr.c170
-rw-r--r--audio_codec/libfaad/ssr.h59
-rw-r--r--audio_codec/libfaad/ssr_fb.c191
-rw-r--r--audio_codec/libfaad/ssr_fb.h53
-rw-r--r--audio_codec/libfaad/ssr_ipqf.c171
-rw-r--r--audio_codec/libfaad/ssr_ipqf.h46
-rw-r--r--audio_codec/libfaad/ssr_win.h635
-rw-r--r--audio_codec/libfaad/structs.h513
-rw-r--r--audio_codec/libfaad/syntax.c2539
-rw-r--r--audio_codec/libfaad/syntax.h129
-rw-r--r--audio_codec/libfaad/tns.c304
-rw-r--r--audio_codec/libfaad/tns.h51
-rwxr-xr-xaudio_codec/libflac/Android.mk22
-rw-r--r--audio_codec/libflac/avcodec.h337
-rw-r--r--audio_codec/libflac/bswap.h94
-rw-r--r--audio_codec/libflac/codec.h36
-rw-r--r--audio_codec/libflac/codec_message.h109
-rw-r--r--audio_codec/libflac/common.h356
-rw-r--r--audio_codec/libflac/crc.c146
-rw-r--r--audio_codec/libflac/crc.h46
-rw-r--r--audio_codec/libflac/flac.c43
-rw-r--r--audio_codec/libflac/flac.h124
-rw-r--r--audio_codec/libflac/flac_decode.c943
-rw-r--r--audio_codec/libflac/flacdata.c38
-rw-r--r--audio_codec/libflac/flacdata.h29
-rw-r--r--audio_codec/libflac/get_bits.h564
-rw-r--r--audio_codec/libflac/golomb.h585
-rw-r--r--audio_codec/libflac/internal.h195
-rw-r--r--audio_codec/libflac/intreadwrite.h390
-rw-r--r--audio_codec/libflac/mathops.h78
-rw-r--r--audio_codec/libflac/types.h49
-rwxr-xr-xaudio_codec/liblpcm/Android.mk13
-rw-r--r--audio_codec/liblpcm/lpcm_decode.c437
-rwxr-xr-xaudio_codec/libmad/Android.mk13
-rwxr-xr-xaudio_codec/libmad/D.dat607
-rw-r--r--audio_codec/libmad/bit.c244
-rw-r--r--audio_codec/libmad/bit.h47
-rw-r--r--audio_codec/libmad/config.h133
-rw-r--r--audio_codec/libmad/decoder.c1102
-rw-r--r--audio_codec/libmad/decoder.h91
-rw-r--r--audio_codec/libmad/fixed.c85
-rw-r--r--audio_codec/libmad/fixed.h499
-rw-r--r--audio_codec/libmad/frame.c525
-rw-r--r--audio_codec/libmad/frame.h118
-rw-r--r--audio_codec/libmad/global.h58
-rw-r--r--audio_codec/libmad/huffman.c3109
-rw-r--r--audio_codec/libmad/huffman.h66
-rwxr-xr-xaudio_codec/libmad/imdct_l_arm.S1000
-rwxr-xr-xaudio_codec/libmad/imdct_s.dat62
-rw-r--r--audio_codec/libmad/layer12.c552
-rwxr-xr-xaudio_codec/libmad/layer12.h31
-rw-r--r--audio_codec/libmad/layer3.c2742
-rwxr-xr-xaudio_codec/libmad/layer3.h30
-rw-r--r--audio_codec/libmad/mad.h966
-rwxr-xr-xaudio_codec/libmad/qc_table.dat77
-rwxr-xr-xaudio_codec/libmad/rq_table.dat8747
-rwxr-xr-xaudio_codec/libmad/sf_table.dat106
-rw-r--r--audio_codec/libmad/stream.c185
-rw-r--r--audio_codec/libmad/stream.h111
-rw-r--r--audio_codec/libmad/synth.c921
-rw-r--r--audio_codec/libmad/synth.h69
-rw-r--r--audio_codec/libmad/timer.c493
-rw-r--r--audio_codec/libmad/timer.h100
-rw-r--r--audio_codec/libmad/version.c91
-rw-r--r--audio_codec/libmad/version.h47
-rwxr-xr-xaudio_codec/libpcm/Android.mk11
-rw-r--r--audio_codec/libpcm/intreadwrite.h390
-rw-r--r--audio_codec/libpcm/pcm_decode.c780
-rw-r--r--audio_codec/libraac/Android.mk51
-rw-r--r--audio_codec/libraac/aac_bitstream.c200
-rw-r--r--audio_codec/libraac/aac_bitstream.h133
-rw-r--r--audio_codec/libraac/aac_decode.h148
-rw-r--r--audio_codec/libraac/aac_decode_main.c396
-rw-r--r--audio_codec/libraac/aac_reorder.c85
-rw-r--r--audio_codec/libraac/aac_reorder.h53
-rw-r--r--audio_codec/libraac/aaccommon.h200
-rw-r--r--audio_codec/libraac/aacdec.c607
-rw-r--r--audio_codec/libraac/aacdec.h200
-rw-r--r--audio_codec/libraac/aactabs.c157
-rw-r--r--audio_codec/libraac/assembly.h147
-rw-r--r--audio_codec/libraac/bitstream.c451
-rw-r--r--audio_codec/libraac/bitstream.h76
-rw-r--r--audio_codec/libraac/buffers.c132
-rw-r--r--audio_codec/libraac/coder.h370
-rw-r--r--audio_codec/libraac/dct4.c339
-rw-r--r--audio_codec/libraac/decelmnt.c451
-rw-r--r--audio_codec/libraac/dequant.c382
-rw-r--r--audio_codec/libraac/fft.c393
-rw-r--r--audio_codec/libraac/filefmt.c531
-rw-r--r--audio_codec/libraac/ga_config.c209
-rw-r--r--audio_codec/libraac/ga_config.h86
-rw-r--r--audio_codec/libraac/huffman.c449
-rw-r--r--audio_codec/libraac/hufftabs.c177
-rw-r--r--audio_codec/libraac/imdct.c598
-rw-r--r--audio_codec/libraac/include/challenge.h132
-rw-r--r--audio_codec/libraac/include/codec_defines.h93
-rw-r--r--audio_codec/libraac/include/gecko2codec.h60
-rw-r--r--audio_codec/libraac/include/helix_config.h92
-rw-r--r--audio_codec/libraac/include/helix_mime_types.h56
-rw-r--r--audio_codec/libraac/include/helix_result.h107
-rw-r--r--audio_codec/libraac/include/helix_types.h305
-rw-r--r--audio_codec/libraac/include/helix_utils.h106
-rw-r--r--audio_codec/libraac/include/md5.h113
-rw-r--r--audio_codec/libraac/include/memory_utils.h58
-rw-r--r--audio_codec/libraac/include/pack_utils.h93
-rw-r--r--audio_codec/libraac/include/packet_defines.h48
-rw-r--r--audio_codec/libraac/include/ra8lbr_decode.h161
-rw-r--r--audio_codec/libraac/include/ra_backend.h94
-rw-r--r--audio_codec/libraac/include/ra_decode.h183
-rw-r--r--audio_codec/libraac/include/ra_depack.h177
-rw-r--r--audio_codec/libraac/include/ra_format_info.h60
-rw-r--r--audio_codec/libraac/include/rasl.h71
-rw-r--r--audio_codec/libraac/include/rdtpck.h153
-rw-r--r--audio_codec/libraac/include/rm_error.h54
-rw-r--r--audio_codec/libraac/include/rm_error_default.h53
-rw-r--r--audio_codec/libraac/include/rm_io_default.h49
-rw-r--r--audio_codec/libraac/include/rm_memory.h54
-rw-r--r--audio_codec/libraac/include/rm_memory_default.h46
-rw-r--r--audio_codec/libraac/include/rm_packet.h80
-rw-r--r--audio_codec/libraac/include/rm_parse.h302
-rw-r--r--audio_codec/libraac/include/rm_property.h107
-rw-r--r--audio_codec/libraac/include/rm_stream.h115
-rw-r--r--audio_codec/libraac/include/rm_stream_internal.h77
-rw-r--r--audio_codec/libraac/include/rv20backend.h69
-rw-r--r--audio_codec/libraac/include/rv30backend.h68
-rw-r--r--audio_codec/libraac/include/rv_backend.h84
-rw-r--r--audio_codec/libraac/include/rv_backend_types.h198
-rw-r--r--audio_codec/libraac/include/rv_decode.h208
-rw-r--r--audio_codec/libraac/include/rv_decode_message.h492
-rw-r--r--audio_codec/libraac/include/rv_depack.h162
-rw-r--r--audio_codec/libraac/include/rv_format_info.h91
-rw-r--r--audio_codec/libraac/include/statname.h118
-rw-r--r--audio_codec/libraac/include/stream_hdr_structs.h66
-rw-r--r--audio_codec/libraac/include/stream_hdr_utils.h77
-rw-r--r--audio_codec/libraac/include/string_utils.h62
-rw-r--r--audio_codec/libraac/include/tngpkt.h400
-rw-r--r--audio_codec/libraac/memory_utils.c100
-rw-r--r--audio_codec/libraac/noiseless.c503
-rw-r--r--audio_codec/libraac/pack_utils.c306
-rw-r--r--audio_codec/libraac/pns.c369
-rw-r--r--audio_codec/libraac/ra_depack.c230
-rw-r--r--audio_codec/libraac/ra_depack_internal.c1713
-rw-r--r--audio_codec/libraac/ra_depack_internal.h232
-rw-r--r--audio_codec/libraac/raac_decode.c854
-rw-r--r--audio_codec/libraac/raac_decode.h37
-rw-r--r--audio_codec/libraac/rm_error_default.c60
-rw-r--r--audio_codec/libraac/rm_io_default.c101
-rw-r--r--audio_codec/libraac/rm_memory_default.c54
-rw-r--r--audio_codec/libraac/rm_packet.c117
-rw-r--r--audio_codec/libraac/rm_parser.c649
-rw-r--r--audio_codec/libraac/rm_parser_internal.c3342
-rw-r--r--audio_codec/libraac/rm_parser_internal.h420
-rw-r--r--audio_codec/libraac/rm_property.c105
-rw-r--r--audio_codec/libraac/rm_stream.c356
-rw-r--r--audio_codec/libraac/rv_depack.c271
-rw-r--r--audio_codec/libraac/rv_depack_internal.c1071
-rw-r--r--audio_codec/libraac/rv_depack_internal.h171
-rw-r--r--audio_codec/libraac/sbr.c431
-rw-r--r--audio_codec/libraac/sbr.h381
-rwxr-xr-xaudio_codec/libraac/sbrcov.s164
-rw-r--r--audio_codec/libraac/sbrfft.c368
-rw-r--r--audio_codec/libraac/sbrfreq.c667
-rw-r--r--audio_codec/libraac/sbrhfadj.c877
-rw-r--r--audio_codec/libraac/sbrhfgen.c646
-rw-r--r--audio_codec/libraac/sbrhuff.c492
-rw-r--r--audio_codec/libraac/sbrimdct.c447
-rw-r--r--audio_codec/libraac/sbrmath.c198
-rw-r--r--audio_codec/libraac/sbrqmf.c643
-rwxr-xr-xaudio_codec/libraac/sbrqmfak.s182
-rwxr-xr-xaudio_codec/libraac/sbrqmfsk.s130
-rw-r--r--audio_codec/libraac/sbrside.c615
-rw-r--r--audio_codec/libraac/sbrtabs.c400
-rw-r--r--audio_codec/libraac/statname.h115
-rw-r--r--audio_codec/libraac/stproc.c252
-rw-r--r--audio_codec/libraac/stream_hdr_utils.c136
-rw-r--r--audio_codec/libraac/string_utils.c87
-rw-r--r--audio_codec/libraac/tns.c307
-rw-r--r--audio_codec/libraac/trigtabs.c1000
-rw-r--r--audio_codec/libraac/trigtabs_fltgen.c357
-rwxr-xr-xaudio_codec/wfd_aac_decoder/Android.mk23
-rw-r--r--audio_codec/wfd_aac_decoder/aaccommon.h210
-rw-r--r--audio_codec/wfd_aac_decoder/aacdec.c508
-rw-r--r--audio_codec/wfd_aac_decoder/aacdec.h206
-rw-r--r--audio_codec/wfd_aac_decoder/aactabs.c157
-rw-r--r--audio_codec/wfd_aac_decoder/assembly.h640
-rw-r--r--audio_codec/wfd_aac_decoder/assembly_mw.h743
-rw-r--r--audio_codec/wfd_aac_decoder/bitstream.c261
-rw-r--r--audio_codec/wfd_aac_decoder/bitstream.h74
-rw-r--r--audio_codec/wfd_aac_decoder/buffers.c140
-rw-r--r--audio_codec/wfd_aac_decoder/coder.h369
-rw-r--r--audio_codec/wfd_aac_decoder/dct4.c337
-rw-r--r--audio_codec/wfd_aac_decoder/decelmnt.c445
-rw-r--r--audio_codec/wfd_aac_decoder/dequant.c379
-rw-r--r--audio_codec/wfd_aac_decoder/fft.c391
-rw-r--r--audio_codec/wfd_aac_decoder/filefmt.c539
-rw-r--r--audio_codec/wfd_aac_decoder/helix_aac_decode.c548
-rw-r--r--audio_codec/wfd_aac_decoder/huffman.c450
-rw-r--r--audio_codec/wfd_aac_decoder/hufftabs.c177
-rw-r--r--audio_codec/wfd_aac_decoder/imdct.c596
-rw-r--r--audio_codec/wfd_aac_decoder/noiseless.c513
-rw-r--r--audio_codec/wfd_aac_decoder/pns.c371
-rw-r--r--audio_codec/wfd_aac_decoder/sbr.c434
-rw-r--r--audio_codec/wfd_aac_decoder/sbr.h380
-rw-r--r--audio_codec/wfd_aac_decoder/sbrfft.c368
-rw-r--r--audio_codec/wfd_aac_decoder/sbrfreq.c673
-rw-r--r--audio_codec/wfd_aac_decoder/sbrhfadj.c882
-rw-r--r--audio_codec/wfd_aac_decoder/sbrhfgen.c655
-rw-r--r--audio_codec/wfd_aac_decoder/sbrhuff.c494
-rw-r--r--audio_codec/wfd_aac_decoder/sbrimdct.c447
-rw-r--r--audio_codec/wfd_aac_decoder/sbrmath.c198
-rw-r--r--audio_codec/wfd_aac_decoder/sbrqmf.c648
-rw-r--r--audio_codec/wfd_aac_decoder/sbrside.c634
-rw-r--r--audio_codec/wfd_aac_decoder/sbrtabs.c400
-rw-r--r--audio_codec/wfd_aac_decoder/statname.h115
-rw-r--r--audio_codec/wfd_aac_decoder/stproc.c251
-rw-r--r--audio_codec/wfd_aac_decoder/tns.c307
-rw-r--r--audio_codec/wfd_aac_decoder/trigtabs.c1000
-rw-r--r--audio_codec/wfd_aac_decoder/trigtabs_fltgen.c357
545 files changed, 230976 insertions, 0 deletions
diff --git a/audio_codec/libamr/if_rom.c b/audio_codec/libamr/if_rom.c
new file mode 100644
index 0000000..094d2dd
--- a/dev/null
+++ b/audio_codec/libamr/if_rom.c
@@ -0,0 +1,1030 @@
+/*
+ *===================================================================
+ * 3GPP AMR Wideband Floating-point Speech Codec
+ *===================================================================
+ */
+#ifndef IF_H
+#define IF_H
+
+#include "typedef.h"
+
+/*
+ * definition of constants
+ */
+#define NUM_OF_SPMODES 9
+
+/* number of parameters */
+#define PRMNO_7k 18
+#define PRMNO_9k 32
+#define PRMNO_12k 36
+#define PRMNO_14k 36
+#define PRMNO_16k 36
+#define PRMNO_18k 52
+#define PRMNO_20k 52
+#define PRMNO_23k 52
+#define PRMNO_24k 56
+#define PRMNO_SID 7
+#define NB_PARM_MAX PRMNO_24k
+
+/* number of bits */
+#ifndef NBBITS_7k
+#define NBBITS_7k 132
+#define NBBITS_9k 177
+#define NBBITS_12k 253
+#define NBBITS_14k 285
+#define NBBITS_16k 317
+#define NBBITS_18k 365
+#define NBBITS_20k 397
+#define NBBITS_23k 461
+#define NBBITS_24k 477
+#define NBBITS_SID 35
+#endif
+
+/* number of total bits */
+#define HEADER_SIZE 6 /* real size + 1 */
+#define T_NBBITS_7k (NBBITS_7k + HEADER_SIZE)
+#define T_NBBITS_9k (NBBITS_9k + HEADER_SIZE)
+#define T_NBBITS_12k (NBBITS_12k + HEADER_SIZE)
+#define T_NBBITS_14k (NBBITS_14k + HEADER_SIZE)
+#define T_NBBITS_16k (NBBITS_16k + HEADER_SIZE)
+#define T_NBBITS_18k (NBBITS_18k + HEADER_SIZE)
+#define T_NBBITS_20k (NBBITS_20k + HEADER_SIZE)
+#define T_NBBITS_23k (NBBITS_23k + HEADER_SIZE)
+#define T_NBBITS_24k (NBBITS_24k + HEADER_SIZE)
+#define T_NBBITS_SID (NBBITS_SID + HEADER_SIZE)
+
+#define TX_SPEECH 0
+#define TX_SID_FIRST 1
+#define TX_SID_UPDATE 2
+#define TX_NO_DATA 3
+
+#define RX_SPEECH_GOOD 0
+#define RX_SPEECH_PROBABLY_DEGRADED 1
+#define RX_SPEECH_LOST 2
+#define RX_SPEECH_BAD 3
+#define RX_SID_FIRST 4
+#define RX_SID_UPDATE 5
+#define RX_SID_BAD 6
+#define RX_NO_DATA 7
+
+#ifdef ENABLE_CPU2_DECODER
+CPU2_DATA_START
+#endif
+
+/* One encoded frame (bytes) */
+/*
+ * 6 bytes are used both for mode 9 and 10.
+ * Mode 9 is used in encoder and mode 10 in IF2
+ */
+#ifdef IF2
+const UWord8 block_size[16] = {18, 23, 33, 37, 41, 47, 51, 59, 61, 6, 6, 0, 0, 0, 1, 1};
+#else
+const UWord8 block_size[16] = {18, 24, 33, 37, 41, 47, 51, 59, 61, 6, 6, 0, 0, 0, 1, 1};
+#endif
+/*
+ * tables
+ */
+
+const Word16 mode_7k[NBBITS_7k << 1] = {
+ 0, 0x1, 1, 0x8, 1, 0x4, 1, 0x2,
+ 8, 0x2, 11, 0x2, 14, 0x2, 17, 0x2,
+ 8, 0x1, 11, 0x1, 1, 0x1, 1, 0x10,
+ 6, 0x80, 6, 0x40, 6, 0x20, 6, 0x10,
+ 8, 0x10, 11, 0x10, 14, 0x10, 17, 0x10,
+ 8, 0x4, 11, 0x4, 14, 0x4, 17, 0x4,
+ 14, 0x1, 17, 0x1, 17, 0x8, 6, 0x8,
+ 6, 0x4, 11, 0x20, 17, 0x20, 1, 0x80,
+ 1, 0x20, 8, 0x20, 14, 0x20, 11, 0x8,
+ 14, 0x8, 8, 0x8, 1, 0x40, 9, 0x10,
+ 15, 0x10, 15, 0x8, 12, 0x10, 3, 0x10,
+ 3, 0x2, 3, 0x1, 9, 0x8, 12, 0x8,
+ 3, 0x20, 3, 0x8, 3, 0x4, 3, 0x40,
+ 2, 0x8, 12, 0x4, 6, 0x2, 12, 0x2,
+ 9, 0x4, 15, 0x4, 2, 0x4, 4, 0x40,
+ 4, 0x20, 4, 0x10, 4, 0x8, 4, 0x4,
+ 2, 0x2, 2, 0x1, 6, 0x1, 12, 0x1,
+ 9, 0x2, 15, 0x2, 2, 0x80, 2, 0x20,
+ 2, 0x40, 2, 0x10, 9, 0x1, 15, 0x1,
+ 4, 0x2, 4, 0x1, 5, 0x20, 5, 0x10,
+ 5, 0x4, 5, 0x8, 5, 0x2, 5, 0x1,
+ 7, 0x800, 7, 0x20, 10, 0x800, 10, 0x20,
+ 13, 0x800, 13, 0x20, 16, 0x800, 16, 0x20,
+ 7, 0x400, 10, 0x400, 13, 0x400, 16, 0x400,
+ 7, 0x10, 10, 0x10, 13, 0x10, 16, 0x10,
+ 7, 0x200, 10, 0x200, 13, 0x200, 16, 0x200,
+ 7, 0x8, 10, 0x8, 13, 0x8, 16, 0x8,
+ 7, 0x100, 10, 0x100, 13, 0x100, 16, 0x100,
+ 7, 0x4, 10, 0x4, 13, 0x4, 16, 0x4,
+ 7, 0x80, 10, 0x80, 13, 0x80, 16, 0x80,
+ 7, 0x2, 10, 0x2, 13, 0x2, 16, 0x2,
+ 7, 0x40, 10, 0x40, 13, 0x40, 16, 0x40,
+ 7, 0x1, 10, 0x1, 13, 0x1, 16, 0x1
+};
+
+const Word16 mode_9k[NBBITS_9k << 1] = {
+ 0, 0x1, 1, 0x10, 1, 0x4, 1, 0x2,
+ 1, 0x8, 1, 0x20, 8, 0x80, 8, 0x40,
+ 8, 0x20, 20, 0x80, 20, 0x40, 20, 0x20,
+ 13, 0x20, 19, 0x20, 25, 0x20, 31, 0x20,
+ 13, 0x1, 19, 0x1, 25, 0x1, 31, 0x1,
+ 13, 0x8, 19, 0x8, 25, 0x8, 31, 0x8,
+ 13, 0x4, 19, 0x4, 25, 0x4, 31, 0x4,
+ 13, 0x2, 19, 0x2, 25, 0x2, 31, 0x2,
+ 13, 0x10, 19, 0x10, 25, 0x10, 31, 0x10,
+ 8, 0x10, 20, 0x10, 8, 0x8, 1, 0x40,
+ 1, 0x80, 14, 0x10, 20, 0x8, 26, 0x10,
+ 3, 0x8, 3, 0x2, 2, 0x10, 3, 0x20,
+ 3, 0x10, 3, 0x4, 2, 0x1, 4, 0x10,
+ 2, 0x8, 2, 0x40, 2, 0x4, 4, 0x20,
+ 4, 0x40, 3, 0x1, 4, 0x8, 1, 0x1,
+ 2, 0x2, 8, 0x4, 20, 0x4, 5, 0x20,
+ 14, 0x8, 26, 0x8, 2, 0x80, 5, 0x8,
+ 2, 0x20, 14, 0x4, 26, 0x4, 8, 0x2,
+ 20, 0x2, 4, 0x2, 4, 0x4, 14, 0x2,
+ 26, 0x2, 5, 0x4, 5, 0x2, 4, 0x1,
+ 7, 0x1, 5, 0x10, 5, 0x40, 8, 0x1,
+ 20, 0x1, 6, 0x10, 5, 0x1, 6, 0x4,
+ 6, 0x8, 6, 0x2, 14, 0x1, 26, 0x1,
+ 6, 0x1, 7, 0x10, 7, 0x8, 7, 0x4,
+ 7, 0x2, 9, 0x10, 10, 0x10, 11, 0x10,
+ 12, 0x10, 15, 0x10, 16, 0x10, 17, 0x10,
+ 18, 0x10, 21, 0x10, 22, 0x10, 23, 0x10,
+ 24, 0x10, 27, 0x10, 28, 0x10, 29, 0x10,
+ 30, 0x10, 9, 0x8, 15, 0x8, 21, 0x8,
+ 27, 0x8, 10, 0x8, 16, 0x8, 22, 0x8,
+ 28, 0x8, 11, 0x8, 17, 0x8, 23, 0x8,
+ 29, 0x8, 12, 0x8, 18, 0x8, 24, 0x8,
+ 30, 0x8, 9, 0x4, 15, 0x4, 21, 0x4,
+ 27, 0x4, 10, 0x4, 16, 0x4, 22, 0x4,
+ 28, 0x4, 11, 0x4, 17, 0x4, 23, 0x4,
+ 29, 0x4, 12, 0x4, 18, 0x4, 24, 0x4,
+ 30, 0x4, 9, 0x2, 15, 0x2, 21, 0x2,
+ 27, 0x2, 10, 0x2, 16, 0x2, 22, 0x2,
+ 28, 0x2, 11, 0x2, 17, 0x2, 23, 0x2,
+ 29, 0x2, 12, 0x2, 18, 0x2, 24, 0x2,
+ 30, 0x2, 9, 0x1, 15, 0x1, 21, 0x1,
+ 27, 0x1, 10, 0x1, 16, 0x1, 22, 0x1,
+ 28, 0x1, 11, 0x1, 17, 0x1, 23, 0x1,
+ 29, 0x1, 12, 0x1, 18, 0x1, 24, 0x1,
+ 30, 0x1
+};
+
+const Word16 mode_12k[NBBITS_12k << 1] = {
+ 0, 0x1, 1, 0x10, 1, 0x4, 14, 0x40,
+ 21, 0x40, 28, 0x40, 35, 0x40, 1, 0x2,
+ 1, 0x8, 1, 0x20, 8, 0x100, 8, 0x80,
+ 8, 0x40, 8, 0x20, 8, 0x10, 22, 0x100,
+ 22, 0x80, 22, 0x40, 22, 0x20, 22, 0x10,
+ 14, 0x20, 21, 0x20, 28, 0x20, 35, 0x20,
+ 14, 0x1, 21, 0x1, 28, 0x1, 35, 0x1,
+ 14, 0x8, 21, 0x8, 28, 0x8, 35, 0x8,
+ 14, 0x4, 21, 0x4, 28, 0x4, 35, 0x4,
+ 15, 0x20, 29, 0x20, 14, 0x2, 21, 0x2,
+ 28, 0x2, 35, 0x2, 14, 0x10, 21, 0x10,
+ 28, 0x10, 35, 0x10, 8, 0x8, 1, 0x40,
+ 1, 0x80, 15, 0x10, 29, 0x10, 22, 0x8,
+ 3, 0x8, 3, 0x2, 2, 0x10, 3, 0x20,
+ 3, 0x10, 3, 0x4, 2, 0x1, 4, 0x10,
+ 2, 0x8, 2, 0x40, 2, 0x4, 4, 0x20,
+ 4, 0x40, 3, 0x1, 4, 0x8, 1, 0x1,
+ 2, 0x2, 8, 0x4, 22, 0x4, 5, 0x20,
+ 15, 0x8, 29, 0x8, 2, 0x80, 5, 0x8,
+ 2, 0x20, 15, 0x4, 29, 0x4, 8, 0x2,
+ 22, 0x2, 4, 0x2, 4, 0x4, 15, 0x2,
+ 29, 0x2, 5, 0x4, 5, 0x2, 4, 0x1,
+ 7, 0x1, 5, 0x10, 5, 0x40, 8, 0x1,
+ 22, 0x1, 6, 0x10, 5, 0x1, 6, 0x4,
+ 6, 0x8, 6, 0x2, 15, 0x1, 29, 0x1,
+ 6, 0x1, 7, 0x10, 7, 0x8, 7, 0x4,
+ 7, 0x2, 9, 0x1, 16, 0x1, 23, 0x1,
+ 30, 0x1, 10, 0x100, 11, 0x100, 12, 0x100,
+ 13, 0x100, 17, 0x100, 18, 0x100, 19, 0x100,
+ 20, 0x100, 24, 0x100, 25, 0x100, 26, 0x100,
+ 27, 0x100, 31, 0x100, 32, 0x100, 33, 0x100,
+ 34, 0x100, 10, 0x80, 17, 0x80, 24, 0x80,
+ 31, 0x80, 10, 0x8, 17, 0x8, 24, 0x8,
+ 31, 0x8, 11, 0x80, 18, 0x80, 25, 0x80,
+ 32, 0x80, 11, 0x8, 18, 0x8, 25, 0x8,
+ 32, 0x8, 12, 0x80, 19, 0x80, 26, 0x80,
+ 33, 0x80, 12, 0x8, 19, 0x8, 26, 0x8,
+ 33, 0x8, 13, 0x80, 20, 0x80, 27, 0x80,
+ 34, 0x80, 13, 0x8, 20, 0x8, 27, 0x8,
+ 34, 0x8, 10, 0x40, 17, 0x40, 24, 0x40,
+ 31, 0x40, 10, 0x4, 17, 0x4, 24, 0x4,
+ 31, 0x4, 11, 0x40, 18, 0x40, 25, 0x40,
+ 32, 0x40, 11, 0x4, 18, 0x4, 25, 0x4,
+ 32, 0x4, 12, 0x40, 19, 0x40, 26, 0x40,
+ 33, 0x40, 12, 0x4, 19, 0x4, 26, 0x4,
+ 33, 0x4, 13, 0x40, 20, 0x40, 27, 0x40,
+ 34, 0x40, 13, 0x4, 20, 0x4, 27, 0x4,
+ 34, 0x4, 10, 0x20, 17, 0x20, 24, 0x20,
+ 31, 0x20, 10, 0x2, 17, 0x2, 24, 0x2,
+ 31, 0x2, 11, 0x20, 18, 0x20, 25, 0x20,
+ 32, 0x20, 11, 0x2, 18, 0x2, 25, 0x2,
+ 32, 0x2, 12, 0x20, 19, 0x20, 26, 0x20,
+ 33, 0x20, 12, 0x2, 19, 0x2, 26, 0x2,
+ 33, 0x2, 13, 0x20, 20, 0x20, 27, 0x20,
+ 34, 0x20, 13, 0x2, 20, 0x2, 27, 0x2,
+ 34, 0x2, 10, 0x10, 17, 0x10, 24, 0x10,
+ 31, 0x10, 10, 0x1, 17, 0x1, 24, 0x1,
+ 31, 0x1, 11, 0x10, 18, 0x10, 25, 0x10,
+ 32, 0x10, 11, 0x1, 18, 0x1, 25, 0x1,
+ 32, 0x1, 12, 0x10, 19, 0x10, 26, 0x10,
+ 33, 0x10, 12, 0x1, 19, 0x1, 26, 0x1,
+ 33, 0x1, 13, 0x10, 20, 0x10, 27, 0x10,
+ 34, 0x10, 13, 0x1, 20, 0x1, 27, 0x1,
+ 34, 0x1
+};
+
+const Word16 mode_14k[NBBITS_14k << 1] = {
+ 0, 0x1, 1, 0x10, 1, 0x4, 14, 0x40,
+ 21, 0x40, 28, 0x40, 35, 0x40, 1, 0x2,
+ 1, 0x8, 1, 0x20, 8, 0x100, 8, 0x80,
+ 8, 0x40, 8, 0x20, 8, 0x10, 22, 0x100,
+ 22, 0x80, 22, 0x40, 22, 0x20, 22, 0x10,
+ 14, 0x20, 21, 0x20, 28, 0x20, 35, 0x20,
+ 14, 0x1, 21, 0x1, 28, 0x1, 35, 0x1,
+ 14, 0x8, 21, 0x8, 28, 0x8, 35, 0x8,
+ 14, 0x4, 21, 0x4, 28, 0x4, 35, 0x4,
+ 15, 0x20, 29, 0x20, 14, 0x2, 21, 0x2,
+ 28, 0x2, 35, 0x2, 14, 0x10, 21, 0x10,
+ 28, 0x10, 35, 0x10, 8, 0x8, 1, 0x40,
+ 1, 0x80, 15, 0x10, 29, 0x10, 22, 0x8,
+ 3, 0x8, 3, 0x2, 2, 0x10, 3, 0x20,
+ 3, 0x10, 3, 0x4, 2, 0x1, 4, 0x10,
+ 2, 0x8, 2, 0x40, 2, 0x4, 4, 0x20,
+ 4, 0x40, 3, 0x1, 4, 0x8, 1, 0x1,
+ 2, 0x2, 8, 0x4, 22, 0x4, 5, 0x20,
+ 15, 0x8, 29, 0x8, 2, 0x80, 5, 0x8,
+ 2, 0x20, 15, 0x4, 29, 0x4, 8, 0x2,
+ 22, 0x2, 4, 0x2, 4, 0x4, 15, 0x2,
+ 29, 0x2, 5, 0x4, 5, 0x2, 4, 0x1,
+ 7, 0x1, 5, 0x10, 5, 0x40, 8, 0x1,
+ 22, 0x1, 6, 0x10, 5, 0x1, 6, 0x4,
+ 6, 0x8, 6, 0x2, 15, 0x1, 29, 0x1,
+ 6, 0x1, 7, 0x10, 7, 0x8, 7, 0x4,
+ 7, 0x2, 9, 0x1, 16, 0x1, 23, 0x1,
+ 30, 0x1, 10, 0x80, 17, 0x80, 24, 0x80,
+ 31, 0x80, 11, 0x80, 18, 0x80, 25, 0x80,
+ 32, 0x80, 10, 0x1000, 17, 0x1000, 24, 0x1000,
+ 31, 0x1000, 10, 0x40, 17, 0x40, 24, 0x40,
+ 31, 0x40, 11, 0x1000, 18, 0x1000, 25, 0x1000,
+ 32, 0x1000, 11, 0x40, 18, 0x40, 25, 0x40,
+ 32, 0x40, 12, 0x100, 19, 0x100, 26, 0x100,
+ 33, 0x100, 13, 0x100, 20, 0x100, 27, 0x100,
+ 34, 0x100, 12, 0x80, 19, 0x80, 26, 0x80,
+ 33, 0x80, 13, 0x80, 20, 0x80, 27, 0x80,
+ 34, 0x80, 12, 0x40, 19, 0x40, 26, 0x40,
+ 33, 0x40, 13, 0x40, 20, 0x40, 27, 0x40,
+ 34, 0x40, 12, 0x20, 19, 0x20, 26, 0x20,
+ 33, 0x20, 13, 0x20, 20, 0x20, 27, 0x20,
+ 34, 0x20, 10, 0x20, 17, 0x20, 24, 0x20,
+ 31, 0x20, 11, 0x20, 18, 0x20, 25, 0x20,
+ 32, 0x20, 10, 0x10, 17, 0x10, 24, 0x10,
+ 31, 0x10, 11, 0x10, 18, 0x10, 25, 0x10,
+ 32, 0x10, 12, 0x10, 19, 0x10, 26, 0x10,
+ 33, 0x10, 13, 0x10, 20, 0x10, 27, 0x10,
+ 34, 0x10, 10, 0x800, 17, 0x800, 24, 0x800,
+ 31, 0x800, 10, 0x8, 17, 0x8, 24, 0x8,
+ 31, 0x8, 11, 0x800, 18, 0x800, 25, 0x800,
+ 32, 0x800, 11, 0x8, 18, 0x8, 25, 0x8,
+ 32, 0x8, 12, 0x8, 19, 0x8, 26, 0x8,
+ 33, 0x8, 13, 0x8, 20, 0x8, 27, 0x8,
+ 34, 0x8, 10, 0x400, 17, 0x400, 24, 0x400,
+ 31, 0x400, 10, 0x4, 17, 0x4, 24, 0x4,
+ 31, 0x4, 11, 0x400, 18, 0x400, 25, 0x400,
+ 32, 0x400, 11, 0x4, 18, 0x4, 25, 0x4,
+ 32, 0x4, 12, 0x4, 19, 0x4, 26, 0x4,
+ 33, 0x4, 13, 0x4, 20, 0x4, 27, 0x4,
+ 34, 0x4, 10, 0x200, 17, 0x200, 24, 0x200,
+ 31, 0x200, 10, 0x2, 17, 0x2, 24, 0x2,
+ 31, 0x2, 11, 0x200, 18, 0x200, 25, 0x200,
+ 32, 0x200, 11, 0x2, 18, 0x2, 25, 0x2,
+ 32, 0x2, 12, 0x2, 19, 0x2, 26, 0x2,
+ 33, 0x2, 13, 0x2, 20, 0x2, 27, 0x2,
+ 34, 0x2, 10, 0x100, 17, 0x100, 24, 0x100,
+ 31, 0x100, 10, 0x1, 17, 0x1, 24, 0x1,
+ 31, 0x1, 11, 0x100, 18, 0x100, 25, 0x100,
+ 32, 0x100, 11, 0x1, 18, 0x1, 25, 0x1,
+ 32, 0x1, 12, 0x1, 19, 0x1, 26, 0x1,
+ 33, 0x1, 13, 0x1, 20, 0x1, 27, 0x1,
+ 34, 0x1
+};
+
+const Word16 mode_16k[NBBITS_16k << 1] = {
+ 0, 0x1, 1, 0x10, 1, 0x4, 14, 0x40,
+ 21, 0x40, 28, 0x40, 35, 0x40, 1, 0x2,
+ 1, 0x8, 1, 0x20, 8, 0x100, 8, 0x80,
+ 8, 0x40, 8, 0x20, 8, 0x10, 22, 0x100,
+ 22, 0x80, 22, 0x40, 22, 0x20, 22, 0x10,
+ 14, 0x20, 21, 0x20, 28, 0x20, 35, 0x20,
+ 14, 0x1, 21, 0x1, 28, 0x1, 35, 0x1,
+ 14, 0x8, 21, 0x8, 28, 0x8, 35, 0x8,
+ 14, 0x4, 21, 0x4, 28, 0x4, 35, 0x4,
+ 15, 0x20, 29, 0x20, 14, 0x2, 21, 0x2,
+ 28, 0x2, 35, 0x2, 14, 0x10, 21, 0x10,
+ 28, 0x10, 35, 0x10, 8, 0x8, 1, 0x40,
+ 1, 0x80, 15, 0x10, 29, 0x10, 22, 0x8,
+ 3, 0x8, 3, 0x2, 2, 0x10, 3, 0x20,
+ 3, 0x10, 3, 0x4, 2, 0x1, 4, 0x10,
+ 2, 0x8, 2, 0x40, 2, 0x4, 4, 0x20,
+ 4, 0x40, 3, 0x1, 4, 0x8, 1, 0x1,
+ 2, 0x2, 8, 0x4, 22, 0x4, 5, 0x20,
+ 15, 0x8, 29, 0x8, 2, 0x80, 5, 0x8,
+ 2, 0x20, 15, 0x4, 29, 0x4, 8, 0x2,
+ 22, 0x2, 4, 0x2, 4, 0x4, 15, 0x2,
+ 29, 0x2, 5, 0x4, 5, 0x2, 4, 0x1,
+ 7, 0x1, 5, 0x10, 5, 0x40, 8, 0x1,
+ 22, 0x1, 6, 0x10, 5, 0x1, 6, 0x4,
+ 6, 0x8, 6, 0x2, 15, 0x1, 29, 0x1,
+ 6, 0x1, 7, 0x10, 7, 0x8, 7, 0x4,
+ 7, 0x2, 9, 0x1, 16, 0x1, 23, 0x1,
+ 30, 0x1, 10, 0x40, 17, 0x40, 24, 0x40,
+ 31, 0x40, 11, 0x40, 18, 0x40, 25, 0x40,
+ 32, 0x40, 12, 0x40, 19, 0x40, 26, 0x40,
+ 33, 0x40, 13, 0x40, 20, 0x40, 27, 0x40,
+ 34, 0x40, 10, 0x1000, 17, 0x1000, 24, 0x1000,
+ 31, 0x1000, 11, 0x1000, 18, 0x1000, 25, 0x1000,
+ 32, 0x1000, 12, 0x1000, 19, 0x1000, 26, 0x1000,
+ 33, 0x1000, 13, 0x1000, 20, 0x1000, 27, 0x1000,
+ 34, 0x1000, 10, 0x80, 17, 0x80, 24, 0x80,
+ 31, 0x80, 11, 0x80, 18, 0x80, 25, 0x80,
+ 32, 0x80, 12, 0x80, 19, 0x80, 26, 0x80,
+ 33, 0x80, 13, 0x80, 20, 0x80, 27, 0x80,
+ 34, 0x80, 10, 0x800, 17, 0x800, 24, 0x800,
+ 31, 0x800, 11, 0x800, 18, 0x800, 25, 0x800,
+ 32, 0x800, 12, 0x800, 19, 0x800, 26, 0x800,
+ 33, 0x800, 13, 0x800, 20, 0x800, 27, 0x800,
+ 34, 0x800, 10, 0x400, 17, 0x400, 24, 0x400,
+ 31, 0x400, 10, 0x20, 17, 0x20, 24, 0x20,
+ 31, 0x20, 10, 0x4, 17, 0x4, 24, 0x4,
+ 31, 0x4, 11, 0x400, 18, 0x400, 25, 0x400,
+ 32, 0x400, 11, 0x20, 18, 0x20, 25, 0x20,
+ 32, 0x20, 11, 0x4, 18, 0x4, 25, 0x4,
+ 32, 0x4, 12, 0x400, 19, 0x400, 26, 0x400,
+ 33, 0x400, 12, 0x20, 19, 0x20, 26, 0x20,
+ 33, 0x20, 12, 0x4, 19, 0x4, 26, 0x4,
+ 33, 0x4, 13, 0x400, 20, 0x400, 27, 0x400,
+ 34, 0x400, 13, 0x20, 20, 0x20, 27, 0x20,
+ 34, 0x20, 13, 0x4, 20, 0x4, 27, 0x4,
+ 34, 0x4, 10, 0x200, 17, 0x200, 24, 0x200,
+ 31, 0x200, 10, 0x10, 17, 0x10, 24, 0x10,
+ 31, 0x10, 10, 0x2, 17, 0x2, 24, 0x2,
+ 31, 0x2, 11, 0x200, 18, 0x200, 25, 0x200,
+ 32, 0x200, 11, 0x10, 18, 0x10, 25, 0x10,
+ 32, 0x10, 11, 0x2, 18, 0x2, 25, 0x2,
+ 32, 0x2, 12, 0x200, 19, 0x200, 26, 0x200,
+ 33, 0x200, 12, 0x10, 19, 0x10, 26, 0x10,
+ 33, 0x10, 12, 0x2, 19, 0x2, 26, 0x2,
+ 33, 0x2, 13, 0x200, 20, 0x200, 27, 0x200,
+ 34, 0x200, 13, 0x10, 20, 0x10, 27, 0x10,
+ 34, 0x10, 13, 0x2, 20, 0x2, 27, 0x2,
+ 34, 0x2, 10, 0x100, 17, 0x100, 24, 0x100,
+ 31, 0x100, 10, 0x8, 17, 0x8, 24, 0x8,
+ 31, 0x8, 10, 0x1, 17, 0x1, 24, 0x1,
+ 31, 0x1, 11, 0x100, 18, 0x100, 25, 0x100,
+ 32, 0x100, 11, 0x8, 18, 0x8, 25, 0x8,
+ 32, 0x8, 11, 0x1, 18, 0x1, 25, 0x1,
+ 32, 0x1, 12, 0x100, 19, 0x100, 26, 0x100,
+ 33, 0x100, 12, 0x8, 19, 0x8, 26, 0x8,
+ 33, 0x8, 12, 0x1, 19, 0x1, 26, 0x1,
+ 33, 0x1, 13, 0x100, 20, 0x100, 27, 0x100,
+ 34, 0x100, 13, 0x8, 20, 0x8, 27, 0x8,
+ 34, 0x8, 13, 0x1, 20, 0x1, 27, 0x1,
+ 34, 0x1
+};
+
+const Word16 mode_18k[NBBITS_18k << 1] = {
+ 0, 0x1, 1, 0x10, 1, 0x4, 18, 0x40,
+ 29, 0x40, 40, 0x40, 51, 0x40, 1, 0x2,
+ 1, 0x8, 1, 0x20, 8, 0x100, 8, 0x80,
+ 8, 0x40, 8, 0x20, 8, 0x10, 30, 0x100,
+ 30, 0x80, 30, 0x40, 30, 0x20, 30, 0x10,
+ 18, 0x20, 29, 0x20, 40, 0x20, 51, 0x20,
+ 18, 0x1, 29, 0x1, 40, 0x1, 51, 0x1,
+ 18, 0x8, 29, 0x8, 40, 0x8, 51, 0x8,
+ 18, 0x4, 29, 0x4, 40, 0x4, 51, 0x4,
+ 19, 0x20, 41, 0x20, 18, 0x2, 29, 0x2,
+ 40, 0x2, 51, 0x2, 18, 0x10, 29, 0x10,
+ 40, 0x10, 51, 0x10, 8, 0x8, 1, 0x40,
+ 1, 0x80, 19, 0x10, 41, 0x10, 30, 0x8,
+ 3, 0x8, 3, 0x2, 2, 0x10, 3, 0x20,
+ 3, 0x10, 3, 0x4, 2, 0x1, 4, 0x10,
+ 2, 0x8, 2, 0x40, 2, 0x4, 4, 0x20,
+ 4, 0x40, 3, 0x1, 4, 0x8, 1, 0x1,
+ 2, 0x2, 8, 0x4, 30, 0x4, 5, 0x20,
+ 19, 0x8, 41, 0x8, 2, 0x80, 5, 0x8,
+ 2, 0x20, 19, 0x4, 41, 0x4, 8, 0x2,
+ 30, 0x2, 4, 0x2, 4, 0x4, 19, 0x2,
+ 41, 0x2, 5, 0x4, 5, 0x2, 4, 0x1,
+ 7, 0x1, 5, 0x10, 5, 0x40, 8, 0x1,
+ 30, 0x1, 6, 0x10, 5, 0x1, 6, 0x4,
+ 6, 0x8, 6, 0x2, 19, 0x1, 41, 0x1,
+ 6, 0x1, 7, 0x10, 7, 0x8, 7, 0x4,
+ 7, 0x2, 9, 0x1, 20, 0x1, 31, 0x1,
+ 42, 0x1, 28, 0x1, 45, 0x1, 21, 0x1,
+ 17, 0x1, 22, 0x1, 11, 0x1, 39, 0x1,
+ 10, 0x1, 12, 0x1, 50, 0x1, 23, 0x2,
+ 23, 0x1, 43, 0x1, 25, 0x1, 10, 0x2,
+ 33, 0x1, 44, 0x1, 13, 0x2, 32, 0x1,
+ 22, 0x2, 26, 0x1, 46, 0x2, 35, 0x2,
+ 13, 0x1, 16, 0x1, 12, 0x2, 14, 0x1,
+ 43, 0x2, 15, 0x1, 24, 0x1, 24, 0x2,
+ 21, 0x2, 34, 0x1, 44, 0x2, 46, 0x1,
+ 49, 0x1, 11, 0x2, 45, 0x2, 27, 0x1,
+ 48, 0x1, 47, 0x1, 34, 0x2, 32, 0x2,
+ 38, 0x1, 37, 0x1, 33, 0x2, 36, 0x1,
+ 50, 0x20, 35, 0x1, 26, 0x2000, 15, 0x40,
+ 27, 0x2000, 15, 0x20, 26, 0x40, 50, 0x40,
+ 17, 0x200, 47, 0x2000, 14, 0x2000, 27, 0x40,
+ 17, 0x20, 48, 0x40, 14, 0x40, 28, 0x40,
+ 16, 0x20, 27, 0x20, 16, 0x2000, 14, 0x20,
+ 28, 0x20, 25, 0x20, 49, 0x40, 47, 0x40,
+ 25, 0x2000, 39, 0x20, 14, 0x200, 48, 0x20,
+ 26, 0x20, 25, 0x40, 16, 0x200, 49, 0x20,
+ 17, 0x400, 47, 0x20, 49, 0x2000, 39, 0x40,
+ 14, 0x400, 17, 0x2000, 27, 0x200, 37, 0x40,
+ 17, 0x40, 15, 0x2000, 17, 0x80, 28, 0x200,
+ 37, 0x20, 38, 0x40, 27, 0x400, 14, 0x80,
+ 28, 0x2000, 16, 0x400, 50, 0x2000, 16, 0x40,
+ 48, 0x80, 15, 0x200, 49, 0x200, 48, 0x2000,
+ 49, 0x400, 38, 0x2000, 26, 0x200, 50, 0x200,
+ 25, 0x200, 15, 0x400, 39, 0x400, 36, 0x20,
+ 38, 0x20, 47, 0x80, 50, 0x10, 50, 0x400,
+ 26, 0x80, 36, 0x40, 47, 0x200, 48, 0x200,
+ 28, 0x400, 39, 0x200, 25, 0x400, 27, 0x80,
+ 39, 0x2000, 50, 0x80, 38, 0x200, 15, 0x80,
+ 25, 0x80, 17, 0x10, 28, 0x80, 26, 0x400,
+ 37, 0x2000, 38, 0x80, 49, 0x80, 47, 0x400,
+ 38, 0x400, 15, 0x10, 36, 0x2000, 16, 0x80,
+ 49, 0x10, 36, 0x80, 36, 0x200, 36, 0x400,
+ 39, 0x80, 37, 0x200, 37, 0x400, 48, 0x400,
+ 36, 0x10, 47, 0x10, 16, 0x10, 14, 0x10,
+ 27, 0x10, 39, 0x10, 14, 0x1000, 28, 0x10,
+ 25, 0x10, 48, 0x10, 27, 0x1000, 37, 0x10,
+ 37, 0x80, 38, 0x10, 17, 0x8, 26, 0x1000,
+ 26, 0x10, 50, 0x8, 14, 0x8, 25, 0x1000,
+ 17, 0x1000, 47, 0x8, 16, 0x1000, 28, 0x1000,
+ 47, 0x1000, 15, 0x1000, 36, 0x8, 15, 0x8,
+ 28, 0x8, 17, 0x100, 49, 0x8, 27, 0x8,
+ 50, 0x1000, 48, 0x1000, 48, 0x8, 39, 0x8,
+ 37, 0x1000, 26, 0x8, 17, 0x4, 47, 0x4,
+ 14, 0x100, 50, 0x4, 48, 0x4, 38, 0x1000,
+ 28, 0x100, 27, 0x100, 39, 0x100, 16, 0x4,
+ 16, 0x100, 25, 0x8, 16, 0x8, 15, 0x4,
+ 14, 0x4, 39, 0x1000, 39, 0x4, 37, 0x8,
+ 36, 0x1000, 38, 0x8, 27, 0x4, 15, 0x100,
+ 25, 0x4, 36, 0x4, 49, 0x100, 26, 0x4,
+ 49, 0x1000, 28, 0x4, 49, 0x4, 37, 0x4,
+ 26, 0x100, 47, 0x100, 25, 0x100, 50, 0x100,
+ 38, 0x4, 48, 0x100, 38, 0x100, 37, 0x100,
+ 36, 0x100, 50, 0x2, 26, 0x800, 17, 0x2,
+ 14, 0x800, 28, 0x800, 27, 0x800, 25, 0x800,
+ 37, 0x800, 14, 0x2, 47, 0x800, 49, 0x800,
+ 47, 0x2, 49, 0x2, 17, 0x800, 38, 0x800,
+ 15, 0x800, 39, 0x2, 16, 0x2, 15, 0x2,
+ 50, 0x800, 48, 0x800, 27, 0x2, 37, 0x2,
+ 28, 0x2, 48, 0x2, 16, 0x800, 25, 0x2,
+ 26, 0x2, 39, 0x800, 36, 0x800, 36, 0x2,
+ 38, 0x2
+};
+
+const Word16 mode_20k[NBBITS_20k << 1] = {
+ 0, 0x1, 1, 0x10, 1, 0x4, 18, 0x40,
+ 29, 0x40, 40, 0x40, 51, 0x40, 1, 0x2,
+ 1, 0x8, 1, 0x20, 8, 0x100, 8, 0x80,
+ 8, 0x40, 8, 0x20, 8, 0x10, 30, 0x100,
+ 30, 0x80, 30, 0x40, 30, 0x20, 30, 0x10,
+ 18, 0x20, 29, 0x20, 40, 0x20, 51, 0x20,
+ 18, 0x1, 29, 0x1, 40, 0x1, 51, 0x1,
+ 18, 0x8, 29, 0x8, 40, 0x8, 51, 0x8,
+ 18, 0x4, 29, 0x4, 40, 0x4, 51, 0x4,
+ 19, 0x20, 41, 0x20, 18, 0x2, 29, 0x2,
+ 40, 0x2, 51, 0x2, 18, 0x10, 29, 0x10,
+ 40, 0x10, 51, 0x10, 8, 0x8, 1, 0x40,
+ 1, 0x80, 19, 0x10, 41, 0x10, 30, 0x8,
+ 3, 0x8, 3, 0x2, 2, 0x10, 3, 0x20,
+ 3, 0x10, 3, 0x4, 2, 0x1, 4, 0x10,
+ 2, 0x8, 2, 0x40, 2, 0x4, 4, 0x20,
+ 4, 0x40, 3, 0x1, 4, 0x8, 1, 0x1,
+ 2, 0x2, 8, 0x4, 30, 0x4, 5, 0x20,
+ 19, 0x8, 41, 0x8, 2, 0x80, 5, 0x8,
+ 2, 0x20, 19, 0x4, 41, 0x4, 8, 0x2,
+ 30, 0x2, 4, 0x2, 4, 0x4, 19, 0x2,
+ 41, 0x2, 5, 0x4, 5, 0x2, 4, 0x1,
+ 7, 0x1, 5, 0x10, 5, 0x40, 8, 0x1,
+ 30, 0x1, 6, 0x10, 5, 0x1, 6, 0x4,
+ 6, 0x8, 6, 0x2, 19, 0x1, 41, 0x1,
+ 6, 0x1, 7, 0x10, 7, 0x8, 7, 0x4,
+ 7, 0x2, 9, 0x1, 20, 0x1, 31, 0x1,
+ 42, 0x1, 10, 0x8, 11, 0x8, 15, 0x100,
+ 46, 0x2, 14, 0x100, 43, 0x8, 21, 0x8,
+ 48, 0x100, 22, 0x8, 44, 0x8, 24, 0x2,
+ 45, 0x2, 26, 0x100, 23, 0x2, 35, 0x2,
+ 12, 0x2, 25, 0x100, 36, 0x100, 22, 0x200,
+ 47, 0x100, 10, 0x200, 33, 0x8, 32, 0x8,
+ 13, 0x2, 34, 0x2, 24, 0x1, 11, 0x200,
+ 13, 0x1, 28, 0x2000, 16, 0x2000, 37, 0x100,
+ 21, 0x200, 23, 0x1, 46, 0x1, 35, 0x1,
+ 45, 0x1, 27, 0x2000, 50, 0x2000, 43, 0x200,
+ 12, 0x1, 44, 0x200, 49, 0x2000, 17, 0x2000,
+ 32, 0x200, 33, 0x200, 34, 0x1, 39, 0x2000,
+ 38, 0x2000, 10, 0x10, 10, 0x100, 22, 0x10,
+ 11, 0x100, 15, 0x80, 26, 0x80, 43, 0x100,
+ 21, 0x10, 25, 0x80, 22, 0x100, 11, 0x10,
+ 50, 0x10, 44, 0x100, 44, 0x10, 47, 0x80,
+ 16, 0x1000, 14, 0x80, 21, 0x100, 32, 0x100,
+ 43, 0x10, 17, 0x10, 33, 0x100, 27, 0x100,
+ 48, 0x80, 32, 0x10, 10, 0x4, 33, 0x10,
+ 28, 0x1000, 28, 0x20, 21, 0x4, 17, 0x1000,
+ 44, 0x4, 37, 0x80, 32, 0x4, 39, 0x10,
+ 27, 0x1000, 27, 0x10, 39, 0x20, 15, 0x40,
+ 27, 0x20, 36, 0x80, 17, 0x20, 49, 0x1000,
+ 50, 0x20, 16, 0x20, 43, 0x4, 49, 0x10,
+ 25, 0x40, 49, 0x20, 14, 0x40, 16, 0x10,
+ 39, 0x100, 26, 0x40, 11, 0x4, 28, 0x10,
+ 27, 0x200, 16, 0x100, 39, 0x1000, 28, 0x200,
+ 49, 0x100, 50, 0x100, 50, 0x1000, 28, 0x100,
+ 48, 0x40, 17, 0x40, 17, 0x200, 17, 0x100,
+ 50, 0x40, 22, 0x4, 16, 0x200, 16, 0x40,
+ 38, 0x1000, 50, 0x200, 39, 0x200, 38, 0x20,
+ 38, 0x10, 47, 0x40, 28, 0x40, 37, 0x40,
+ 33, 0x4, 49, 0x200, 50, 0x8, 39, 0x8,
+ 39, 0x40, 36, 0x40, 17, 0x8, 49, 0x40,
+ 27, 0x8, 15, 0x8, 27, 0x40, 38, 0x8,
+ 28, 0x8, 38, 0x100, 38, 0x200, 26, 0x8,
+ 49, 0x8, 14, 0x8, 22, 0x80, 38, 0x40,
+ 10, 0x80, 47, 0x8, 43, 0x1, 26, 0x4,
+ 11, 0x1, 16, 0x8, 44, 0x80, 28, 0x800,
+ 47, 0x4, 11, 0x80, 15, 0x4, 21, 0x1,
+ 21, 0x80, 27, 0x800, 10, 0x1, 43, 0x80,
+ 44, 0x1, 25, 0x8, 48, 0x8, 33, 0x1,
+ 27, 0x4, 25, 0x4, 36, 0x4, 36, 0x8,
+ 17, 0x4, 32, 0x1, 27, 0x80, 14, 0x4,
+ 50, 0x2, 17, 0x800, 15, 0x20, 50, 0x4,
+ 16, 0x4, 48, 0x4, 38, 0x4, 33, 0x80,
+ 16, 0x800, 37, 0x8, 39, 0x4, 25, 0x20,
+ 22, 0x1, 32, 0x80, 37, 0x4, 17, 0x2,
+ 49, 0x4, 26, 0x20, 39, 0x800, 14, 0x20,
+ 50, 0x800, 39, 0x2, 17, 0x80, 16, 0x80,
+ 49, 0x800, 47, 0x20, 48, 0x20, 28, 0x4,
+ 38, 0x800, 28, 0x2, 10, 0x2, 50, 0x80,
+ 38, 0x2, 28, 0x80, 16, 0x2, 25, 0x2,
+ 15, 0x2, 39, 0x80, 49, 0x2, 49, 0x80,
+ 27, 0x2, 36, 0x20, 26, 0x2, 44, 0x2,
+ 44, 0x40, 22, 0x2, 37, 0x20, 36, 0x2,
+ 33, 0x2, 32, 0x2, 11, 0x2, 47, 0x2,
+ 21, 0x2, 10, 0x40, 14, 0x2, 43, 0x40,
+ 22, 0x40, 37, 0x2, 48, 0x2, 43, 0x2,
+ 11, 0x40, 38, 0x80, 25, 0x200, 21, 0x40,
+ 48, 0x200, 14, 0x200, 15, 0x200, 50, 0x1,
+ 37, 0x200, 33, 0x40, 26, 0x200, 32, 0x40,
+ 27, 0x400, 36, 0x200, 28, 0x400, 47, 0x200,
+ 17, 0x1, 17, 0x400, 39, 0x1, 16, 0x400,
+ 50, 0x400, 26, 0x10, 16, 0x1, 49, 0x1,
+ 27, 0x1, 15, 0x10, 39, 0x400, 25, 0x10,
+ 28, 0x1, 49, 0x400, 38, 0x400, 14, 0x10,
+ 38, 0x1, 47, 0x1, 47, 0x10, 48, 0x10,
+ 36, 0x10, 26, 0x1, 25, 0x1, 37, 0x10,
+ 14, 0x1, 15, 0x1, 21, 0x20, 43, 0x20,
+ 37, 0x1, 48, 0x1, 11, 0x20, 44, 0x20,
+ 10, 0x20, 36, 0x1, 22, 0x20, 33, 0x20,
+ 32, 0x20
+};
+
+const Word16 mode_23k[NBBITS_23k << 1] = {
+ 0, 0x1, 1, 0x10, 1, 0x4, 18, 0x40,
+ 29, 0x40, 40, 0x40, 51, 0x40, 1, 0x2,
+ 1, 0x8, 1, 0x20, 8, 0x100, 8, 0x80,
+ 8, 0x40, 8, 0x20, 8, 0x10, 30, 0x100,
+ 30, 0x80, 30, 0x40, 30, 0x20, 30, 0x10,
+ 18, 0x20, 29, 0x20, 40, 0x20, 51, 0x20,
+ 18, 0x1, 29, 0x1, 40, 0x1, 51, 0x1,
+ 18, 0x8, 29, 0x8, 40, 0x8, 51, 0x8,
+ 18, 0x4, 29, 0x4, 40, 0x4, 51, 0x4,
+ 19, 0x20, 41, 0x20, 18, 0x2, 29, 0x2,
+ 40, 0x2, 51, 0x2, 18, 0x10, 29, 0x10,
+ 40, 0x10, 51, 0x10, 8, 0x8, 1, 0x40,
+ 1, 0x80, 19, 0x10, 41, 0x10, 30, 0x8,
+ 3, 0x8, 3, 0x2, 2, 0x10, 3, 0x20,
+ 3, 0x10, 3, 0x4, 2, 0x1, 4, 0x10,
+ 2, 0x8, 2, 0x40, 2, 0x4, 4, 0x20,
+ 4, 0x40, 3, 0x1, 4, 0x8, 1, 0x1,
+ 2, 0x2, 8, 0x4, 30, 0x4, 5, 0x20,
+ 19, 0x8, 41, 0x8, 2, 0x80, 5, 0x8,
+ 2, 0x20, 19, 0x4, 41, 0x4, 8, 0x2,
+ 30, 0x2, 4, 0x2, 4, 0x4, 19, 0x2,
+ 41, 0x2, 5, 0x4, 5, 0x2, 4, 0x1,
+ 7, 0x1, 5, 0x10, 5, 0x40, 8, 0x1,
+ 30, 0x1, 6, 0x10, 5, 0x1, 6, 0x4,
+ 6, 0x8, 6, 0x2, 19, 0x1, 41, 0x1,
+ 6, 0x1, 7, 0x10, 7, 0x8, 7, 0x4,
+ 7, 0x2, 9, 0x1, 20, 0x1, 31, 0x1,
+ 42, 0x1, 23, 0x400, 24, 0x400, 22, 0x400,
+ 12, 0x400, 10, 0x400, 46, 0x400, 13, 0x400,
+ 21, 0x400, 35, 0x400, 44, 0x400, 43, 0x400,
+ 33, 0x400, 11, 0x400, 23, 0x100, 45, 0x400,
+ 34, 0x400, 24, 0x100, 35, 0x100, 13, 0x100,
+ 11, 0x100, 23, 0x200, 46, 0x100, 22, 0x100,
+ 10, 0x100, 13, 0x200, 10, 0x200, 46, 0x200,
+ 43, 0x100, 21, 0x100, 12, 0x100, 21, 0x200,
+ 32, 0x400, 22, 0x200, 12, 0x200, 45, 0x200,
+ 45, 0x100, 44, 0x200, 44, 0x100, 24, 0x200,
+ 35, 0x200, 11, 0x200, 32, 0x100, 32, 0x200,
+ 43, 0x200, 33, 0x100, 34, 0x100, 33, 0x200,
+ 34, 0x200, 23, 0x80, 10, 0x80, 24, 0x80,
+ 12, 0x80, 13, 0x80, 11, 0x80, 43, 0x80,
+ 46, 0x80, 22, 0x80, 21, 0x80, 50, 0x200,
+ 35, 0x80, 45, 0x80, 13, 0x4, 11, 0x4,
+ 33, 0x80, 10, 0x40, 32, 0x80, 43, 0x4,
+ 17, 0x200, 47, 0x200, 21, 0x4, 14, 0x200,
+ 44, 0x80, 24, 0x4, 12, 0x4, 22, 0x4,
+ 10, 0x4, 13, 0x40, 25, 0x200, 16, 0x200,
+ 11, 0x40, 39, 0x200, 23, 0x4, 35, 0x4,
+ 44, 0x40, 45, 0x4, 49, 0x200, 35, 0x40,
+ 27, 0x200, 46, 0x4, 34, 0x80, 28, 0x200,
+ 15, 0x200, 26, 0x200, 23, 0x40, 16, 0x20,
+ 36, 0x200, 46, 0x40, 15, 0x40, 37, 0x200,
+ 24, 0x40, 38, 0x200, 43, 0x40, 48, 0x200,
+ 22, 0x40, 10, 0x8, 45, 0x40, 12, 0x40,
+ 48, 0x40, 26, 0x20, 17, 0x400, 23, 0x8,
+ 49, 0x400, 15, 0x400, 48, 0x10, 17, 0x20,
+ 33, 0x40, 21, 0x40, 49, 0x40, 25, 0x20,
+ 50, 0x40, 26, 0x40, 28, 0x400, 27, 0x40,
+ 13, 0x8, 34, 0x4, 44, 0x4, 27, 0x20,
+ 21, 0x8, 32, 0x40, 22, 0x8, 50, 0x400,
+ 27, 0x400, 48, 0x20, 14, 0x400, 32, 0x4,
+ 17, 0x40, 16, 0x40, 34, 0x40, 15, 0x20,
+ 39, 0x10, 24, 0x8, 47, 0x40, 13, 0x20,
+ 17, 0x10, 28, 0x40, 47, 0x400, 45, 0x8,
+ 25, 0x10, 16, 0x10, 33, 0x4, 39, 0x20,
+ 14, 0x40, 28, 0x20, 49, 0x20, 12, 0x8,
+ 36, 0x400, 50, 0x20, 25, 0x400, 39, 0x40,
+ 23, 0x20, 14, 0x10, 26, 0x10, 47, 0x20,
+ 38, 0x40, 37, 0x400, 14, 0x20, 36, 0x20,
+ 15, 0x10, 16, 0x400, 11, 0x20, 25, 0x40,
+ 48, 0x400, 26, 0x400, 44, 0x8, 43, 0x8,
+ 49, 0x10, 10, 0x20, 43, 0x20, 39, 0x400,
+ 11, 0x8, 50, 0x10, 21, 0x2, 37, 0x40,
+ 21, 0x20, 28, 0x10, 47, 0x10, 37, 0x20,
+ 35, 0x8, 24, 0x20, 38, 0x20, 46, 0x20,
+ 32, 0x8, 10, 0x10, 23, 0x1, 37, 0x10,
+ 13, 0x10, 21, 0x1, 27, 0x10, 33, 0x20,
+ 36, 0x40, 23, 0x10, 46, 0x8, 12, 0x20,
+ 24, 0x2, 13, 0x1, 10, 0x1, 44, 0x20,
+ 22, 0x20, 38, 0x10, 24, 0x1, 38, 0x400,
+ 32, 0x20, 45, 0x20, 43, 0x1, 44, 0x10,
+ 34, 0x8, 35, 0x1, 46, 0x1, 22, 0x2,
+ 33, 0x1, 36, 0x10, 35, 0x20, 43, 0x10,
+ 45, 0x1, 23, 0x2, 22, 0x1, 12, 0x1,
+ 13, 0x2, 14, 0x100, 27, 0x8, 11, 0x1,
+ 12, 0x2, 11, 0x2, 17, 0x100, 44, 0x1,
+ 21, 0x10, 24, 0x10, 45, 0x10, 16, 0x100,
+ 22, 0x10, 48, 0x8, 11, 0x10, 43, 0x2,
+ 28, 0x100, 27, 0x100, 10, 0x2, 32, 0x2,
+ 33, 0x8, 17, 0x8, 35, 0x2, 47, 0x100,
+ 15, 0x100, 12, 0x10, 16, 0x8, 39, 0x8,
+ 15, 0x8, 34, 0x20, 34, 0x1, 44, 0x2,
+ 27, 0x4, 45, 0x2, 35, 0x10, 46, 0x10,
+ 33, 0x2, 50, 0x100, 48, 0x100, 26, 0x8,
+ 25, 0x8, 25, 0x100, 50, 0x8, 14, 0x8,
+ 32, 0x1, 49, 0x100, 26, 0x100, 39, 0x100,
+ 38, 0x8, 17, 0x4, 28, 0x8, 37, 0x100,
+ 46, 0x2, 50, 0x4, 36, 0x100, 34, 0x10,
+ 15, 0x4, 14, 0x4, 33, 0x10, 49, 0x8,
+ 32, 0x10, 48, 0x4, 38, 0x100, 34, 0x2,
+ 47, 0x4, 25, 0x4, 36, 0x8, 26, 0x4,
+ 37, 0x8, 16, 0x4, 48, 0x2, 28, 0x4,
+ 37, 0x4, 39, 0x4, 47, 0x8, 36, 0x4,
+ 17, 0x2, 38, 0x4, 49, 0x4, 27, 0x2,
+ 14, 0x2, 25, 0x2, 50, 0x2, 28, 0x2,
+ 15, 0x2, 47, 0x2, 39, 0x2, 26, 0x2,
+ 16, 0x2, 49, 0x2, 37, 0x2, 47, 0x80,
+ 36, 0x2, 38, 0x2, 16, 0x80, 14, 0x80,
+ 17, 0x80, 50, 0x80, 39, 0x80, 28, 0x80,
+ 49, 0x80, 15, 0x80, 38, 0x80, 25, 0x80,
+ 37, 0x80, 26, 0x80, 27, 0x80, 48, 0x80,
+ 50, 0x1, 36, 0x80, 39, 0x1, 14, 0x1,
+ 49, 0x1, 26, 0x1, 25, 0x1, 15, 0x1,
+ 48, 0x1, 38, 0x1, 27, 0x1, 28, 0x1,
+ 16, 0x1, 17, 0x1, 47, 0x1, 37, 0x1,
+ 36, 0x1
+};
+
+const Word16 mode_24k[NBBITS_24k << 1] = {
+ 0, 0x1, 1, 0x10, 1, 0x4, 18, 0x40,
+ 30, 0x40, 42, 0x40, 54, 0x40, 1, 0x2,
+ 1, 0x8, 1, 0x20, 8, 0x100, 8, 0x80,
+ 8, 0x40, 8, 0x20, 8, 0x10, 32, 0x100,
+ 32, 0x80, 32, 0x40, 32, 0x20, 32, 0x10,
+ 18, 0x20, 30, 0x20, 42, 0x20, 54, 0x20,
+ 18, 0x1, 30, 0x1, 42, 0x1, 54, 0x1,
+ 18, 0x8, 30, 0x8, 42, 0x8, 54, 0x8,
+ 18, 0x4, 30, 0x4, 42, 0x4, 54, 0x4,
+ 20, 0x20, 44, 0x20, 18, 0x2, 30, 0x2,
+ 42, 0x2, 54, 0x2, 18, 0x10, 30, 0x10,
+ 42, 0x10, 54, 0x10, 8, 0x8, 1, 0x40,
+ 1, 0x80, 20, 0x10, 44, 0x10, 32, 0x8,
+ 3, 0x8, 3, 0x2, 2, 0x10, 3, 0x20,
+ 3, 0x10, 3, 0x4, 2, 0x1, 4, 0x10,
+ 2, 0x8, 2, 0x40, 2, 0x4, 4, 0x20,
+ 4, 0x40, 3, 0x1, 4, 0x8, 1, 0x1,
+ 2, 0x2, 8, 0x4, 32, 0x4, 5, 0x20,
+ 19, 0x8, 19, 0x4, 19, 0x2, 19, 0x1,
+ 31, 0x8, 31, 0x4, 31, 0x2, 31, 0x1,
+ 43, 0x8, 43, 0x4, 43, 0x2, 43, 0x1,
+ 55, 0x8, 55, 0x4, 55, 0x2, 55, 0x1,
+ 20, 0x8, 44, 0x8, 2, 0x80, 5, 0x8,
+ 2, 0x20, 20, 0x4, 44, 0x4, 8, 0x2,
+ 32, 0x2, 4, 0x2, 4, 0x4, 20, 0x2,
+ 44, 0x2, 5, 0x4, 5, 0x2, 4, 0x1,
+ 7, 0x1, 5, 0x10, 5, 0x40, 8, 0x1,
+ 32, 0x1, 6, 0x10, 5, 0x1, 6, 0x4,
+ 6, 0x8, 6, 0x2, 20, 0x1, 44, 0x1,
+ 6, 0x1, 7, 0x10, 7, 0x8, 7, 0x4,
+ 7, 0x2, 9, 0x1, 21, 0x1, 33, 0x1,
+ 45, 0x1, 24, 0x400, 25, 0x400, 23, 0x400,
+ 12, 0x400, 10, 0x400, 49, 0x400, 13, 0x400,
+ 22, 0x400, 37, 0x400, 47, 0x400, 46, 0x400,
+ 35, 0x400, 11, 0x400, 24, 0x100, 48, 0x400,
+ 36, 0x400, 25, 0x100, 37, 0x100, 13, 0x100,
+ 11, 0x100, 24, 0x200, 49, 0x100, 23, 0x100,
+ 10, 0x100, 13, 0x200, 10, 0x200, 49, 0x200,
+ 46, 0x100, 22, 0x100, 12, 0x100, 22, 0x200,
+ 34, 0x400, 23, 0x200, 12, 0x200, 48, 0x200,
+ 48, 0x100, 47, 0x200, 47, 0x100, 25, 0x200,
+ 37, 0x200, 11, 0x200, 34, 0x100, 34, 0x200,
+ 46, 0x200, 35, 0x100, 36, 0x100, 35, 0x200,
+ 36, 0x200, 24, 0x80, 10, 0x80, 25, 0x80,
+ 12, 0x80, 13, 0x80, 11, 0x80, 46, 0x80,
+ 49, 0x80, 23, 0x80, 22, 0x80, 53, 0x200,
+ 37, 0x80, 48, 0x80, 13, 0x4, 11, 0x4,
+ 35, 0x80, 10, 0x40, 34, 0x80, 46, 0x4,
+ 17, 0x200, 50, 0x200, 22, 0x4, 14, 0x200,
+ 47, 0x80, 25, 0x4, 12, 0x4, 23, 0x4,
+ 10, 0x4, 13, 0x40, 26, 0x200, 16, 0x200,
+ 11, 0x40, 41, 0x200, 24, 0x4, 37, 0x4,
+ 47, 0x40, 48, 0x4, 52, 0x200, 37, 0x40,
+ 28, 0x200, 49, 0x4, 36, 0x80, 29, 0x200,
+ 15, 0x200, 27, 0x200, 24, 0x40, 16, 0x20,
+ 38, 0x200, 49, 0x40, 15, 0x40, 39, 0x200,
+ 25, 0x40, 40, 0x200, 46, 0x40, 51, 0x200,
+ 23, 0x40, 10, 0x8, 48, 0x40, 12, 0x40,
+ 51, 0x40, 27, 0x20, 17, 0x400, 24, 0x8,
+ 52, 0x400, 15, 0x400, 51, 0x10, 17, 0x20,
+ 35, 0x40, 22, 0x40, 52, 0x40, 26, 0x20,
+ 53, 0x40, 27, 0x40, 29, 0x400, 28, 0x40,
+ 13, 0x8, 36, 0x4, 47, 0x4, 28, 0x20,
+ 22, 0x8, 34, 0x40, 23, 0x8, 53, 0x400,
+ 28, 0x400, 51, 0x20, 14, 0x400, 34, 0x4,
+ 17, 0x40, 16, 0x40, 36, 0x40, 15, 0x20,
+ 41, 0x10, 25, 0x8, 50, 0x40, 13, 0x20,
+ 17, 0x10, 29, 0x40, 50, 0x400, 48, 0x8,
+ 26, 0x10, 16, 0x10, 35, 0x4, 41, 0x20,
+ 14, 0x40, 29, 0x20, 52, 0x20, 12, 0x8,
+ 38, 0x400, 53, 0x20, 26, 0x400, 41, 0x40,
+ 24, 0x20, 14, 0x10, 27, 0x10, 50, 0x20,
+ 40, 0x40, 39, 0x400, 14, 0x20, 38, 0x20,
+ 15, 0x10, 16, 0x400, 11, 0x20, 26, 0x40,
+ 51, 0x400, 27, 0x400, 47, 0x8, 46, 0x8,
+ 52, 0x10, 10, 0x20, 46, 0x20, 41, 0x400,
+ 11, 0x8, 53, 0x10, 22, 0x2, 39, 0x40,
+ 22, 0x20, 29, 0x10, 50, 0x10, 39, 0x20,
+ 37, 0x8, 25, 0x20, 40, 0x20, 49, 0x20,
+ 34, 0x8, 10, 0x10, 24, 0x1, 39, 0x10,
+ 13, 0x10, 22, 0x1, 28, 0x10, 35, 0x20,
+ 38, 0x40, 24, 0x10, 49, 0x8, 12, 0x20,
+ 25, 0x2, 13, 0x1, 10, 0x1, 47, 0x20,
+ 23, 0x20, 40, 0x10, 25, 0x1, 40, 0x400,
+ 34, 0x20, 48, 0x20, 46, 0x1, 47, 0x10,
+ 36, 0x8, 37, 0x1, 49, 0x1, 23, 0x2,
+ 35, 0x1, 38, 0x10, 37, 0x20, 46, 0x10,
+ 48, 0x1, 24, 0x2, 23, 0x1, 12, 0x1,
+ 13, 0x2, 14, 0x100, 28, 0x8, 11, 0x1,
+ 12, 0x2, 11, 0x2, 17, 0x100, 47, 0x1,
+ 22, 0x10, 25, 0x10, 48, 0x10, 16, 0x100,
+ 23, 0x10, 51, 0x8, 11, 0x10, 46, 0x2,
+ 29, 0x100, 28, 0x100, 10, 0x2, 34, 0x2,
+ 35, 0x8, 17, 0x8, 37, 0x2, 50, 0x100,
+ 15, 0x100, 12, 0x10, 16, 0x8, 41, 0x8,
+ 15, 0x8, 36, 0x20, 36, 0x1, 47, 0x2,
+ 28, 0x4, 48, 0x2, 37, 0x10, 49, 0x10,
+ 35, 0x2, 53, 0x100, 51, 0x100, 27, 0x8,
+ 26, 0x8, 26, 0x100, 53, 0x8, 14, 0x8,
+ 34, 0x1, 52, 0x100, 27, 0x100, 41, 0x100,
+ 40, 0x8, 17, 0x4, 29, 0x8, 39, 0x100,
+ 49, 0x2, 53, 0x4, 38, 0x100, 36, 0x10,
+ 15, 0x4, 14, 0x4, 35, 0x10, 52, 0x8,
+ 34, 0x10, 51, 0x4, 40, 0x100, 36, 0x2,
+ 50, 0x4, 26, 0x4, 38, 0x8, 27, 0x4,
+ 39, 0x8, 16, 0x4, 51, 0x2, 29, 0x4,
+ 39, 0x4, 41, 0x4, 50, 0x8, 38, 0x4,
+ 17, 0x2, 40, 0x4, 52, 0x4, 28, 0x2,
+ 14, 0x2, 26, 0x2, 53, 0x2, 29, 0x2,
+ 15, 0x2, 50, 0x2, 41, 0x2, 27, 0x2,
+ 16, 0x2, 52, 0x2, 39, 0x2, 50, 0x80,
+ 38, 0x2, 40, 0x2, 16, 0x80, 14, 0x80,
+ 17, 0x80, 53, 0x80, 41, 0x80, 29, 0x80,
+ 52, 0x80, 15, 0x80, 40, 0x80, 26, 0x80,
+ 39, 0x80, 27, 0x80, 28, 0x80, 51, 0x80,
+ 53, 0x1, 38, 0x80, 41, 0x1, 14, 0x1,
+ 52, 0x1, 27, 0x1, 26, 0x1, 15, 0x1,
+ 51, 0x1, 40, 0x1, 28, 0x1, 29, 0x1,
+ 16, 0x1, 17, 0x1, 50, 0x1, 39, 0x1,
+ 38, 0x1
+};
+
+const Word16 mode_DTX[NBBITS_SID << 1] = {
+ 0, 0x20, 0, 0x10, 0, 0x8, 0, 0x4,
+ 0, 0x2, 0, 0x1, 1, 0x20, 1, 0x10,
+ 1, 0x8, 1, 0x4, 1, 0x2, 1, 0x1,
+ 2, 0x20, 2, 0x10, 2, 0x8, 2, 0x4,
+ 2, 0x2, 2, 0x1, 3, 0x10, 3, 0x8,
+ 3, 0x4, 3, 0x2, 3, 0x1, 4, 0x10,
+ 4, 0x8, 4, 0x4, 4, 0x2, 4, 0x1,
+ 5, 0x20, 5, 0x10, 5, 0x8, 5, 0x4,
+ 5, 0x2, 5, 0x1, 6, 0x1
+};
+
+const Word16 nb_of_param[NUM_OF_SPMODES] = {
+ PRMNO_7k, PRMNO_9k, PRMNO_12k,
+ PRMNO_14k, PRMNO_16k, PRMNO_18k,
+ PRMNO_20k, PRMNO_23k, PRMNO_24k
+};
+
+const Word16 dfh_M7k[PRMNO_7k] = {
+ 0, 49, 131,
+ 84, 5, 50,
+ 29, 2015, 8,
+ 0, 2061, 8,
+ 1, 3560, 8,
+ 0, 2981, 8
+};
+
+const Word16 dfh_M9k[PRMNO_9k] = {
+ 0, 49, 131,
+ 55, 49, 38,
+ 26, 29, 29,
+ 3, 15, 7,
+ 15, 8, 16,
+ 13, 7, 17,
+ 16, 8, 0,
+ 16, 20, 16,
+ 27, 8, 23,
+ 0, 27, 0,
+ 27, 8
+};
+
+const Word16 dfh_M12k[PRMNO_12k] = {
+ 0, 49, 131,
+ 55, 49, 38,
+ 26, 29, 58,
+ 1, 7, 63,
+ 127, 15, 70,
+ 37, 1, 209,
+ 210, 224, 96,
+ 31, 7, 1,
+ 256, 260, 271,
+ 443, 31, 47,
+ 0, 400, 238,
+ 436, 347, 31
+};
+
+const Word16 dfh_M14k[PRMNO_14k] = {
+ 0, 49, 131,
+ 55, 49, 38,
+ 26, 29, 58,
+ 1, 3847, 3845,
+ 63, 127, 70,
+ 34, 0, 3128,
+ 4517, 192, 96,
+ 0, 2, 1,
+ 4160, 8036, 267,
+ 443, 31, 46,
+ 0, 3840, 7091,
+ 432, 395, 31
+};
+
+const Word16 dfh_M16k[PRMNO_16k] = {
+ 0, 49, 131,
+ 55, 49, 38,
+ 26, 29, 58,
+ 1, 3847, 3845,
+ 3847, 3843, 70,
+ 31, 0, 3648,
+ 4764, 824, 2864,
+ 0, 6, 1,
+ 4160, 5220, 4319,
+ 7131, 31, 47,
+ 0, 112, 3764,
+ 219, 211, 31
+};
+
+const Word16 dfh_M18k[PRMNO_18k] = {
+ 0, 49, 131,
+ 55, 49, 38,
+ 26, 29, 58,
+ 1, 3, 2,
+ 3, 2, 7223,
+ 703, 7223, 703,
+ 70, 0, 1,
+ 3, 2, 2,
+ 3, 9475, 9483,
+ 3090, 8737, 0,
+ 0, 1, 0,
+ 0, 2, 0,
+ 4112, 4400, 8415,
+ 14047, 31, 38,
+ 0, 2, 1,
+ 3, 1, 91,
+ 426, 13545, 12955,
+ 0
+};
+
+const Word16 dfh_M20k[PRMNO_20k] = {
+ 0, 49, 131,
+ 55, 49, 38,
+ 26, 29, 58,
+ 1, 161, 759,
+ 3, 2, 127,
+ 516, 6167, 447,
+ 70, 11, 1,
+ 264, 641, 2,
+ 3, 123, 562,
+ 8347, 4354, 0,
+ 1, 1, 264,
+ 408, 3, 0,
+ 256, 308, 9487,
+ 14047, 31, 46,
+ 0, 320, 885,
+ 2, 2, 464,
+ 439, 11347, 12739,
+ 0
+};
+
+const Word16 dfh_M23k[PRMNO_23k] = {
+ 0, 49, 131,
+ 55, 49, 38,
+ 26, 29, 58,
+ 1, 1154, 1729,
+ 1154, 1761, 447,
+ 1519, 959, 495,
+ 70, 27, 1,
+ 1800, 1253, 665,
+ 1960, 546, 164,
+ 1043, 335, 0,
+ 28, 1, 580,
+ 196, 1187, 383,
+ 1031, 1052, 359,
+ 1531, 31, 45,
+ 1, 1024, 893,
+ 1272, 1920, 101,
+ 876, 203, 1119,
+ 31
+};
+
+const Word16 dfh_M24k[PRMNO_24k] = {
+ 0, 49, 131,
+ 55, 49, 38,
+ 26, 29, 58,
+ 1, 1729, 1154,
+ 1761, 1154, 1519,
+ 959, 495, 447,
+ 70, 3, 42,
+ 1, 580, 1436,
+ 1362, 1250, 901,
+ 714, 24, 45,
+ 0, 0, 0,
+ 1, 68, 708,
+ 1212, 383, 1048,
+ 1611, 1756, 1467,
+ 31, 1, 23,
+ 0, 1536, 1460,
+ 861, 1554, 410,
+ 1368, 1008, 594,
+ 31, 0
+};
+
+/*
+ * overall table with the parameters of the
+ * decoder homing frames for all modes
+ */
+
+const Word16 *dhf[10] = {
+ dfh_M7k,
+ dfh_M9k,
+ dfh_M12k,
+ dfh_M14k,
+ dfh_M16k,
+ dfh_M18k,
+ dfh_M20k,
+ dfh_M23k,
+ dfh_M24k,
+ dfh_M24k
+};
+
+#ifdef ENABLE_CPU2_DECODER
+CPU2_DATA_END
+#endif
+
+#endif