38 lines
1.4 KiB
Markdown
38 lines
1.4 KiB
Markdown
# Python runtime tables
|
|
|
|
[中文](README.md)
|
|
|
|
This directory contains static production tables and the user-model directory.
|
|
|
|
`tables.npz` contains the JOC core decoding tables:
|
|
|
|
```text
|
|
analysis_window float64[10,64]
|
|
qmf5_window float64[640]
|
|
joc_huff_code_coarse_generic int64[95,2]
|
|
joc_huff_code_fine_generic int64[191,2]
|
|
joc_huff_code_coarse_coeff_sparse int64[95,2]
|
|
joc_huff_code_fine_coeff_sparse int64[191,2]
|
|
joc_huff_code_5ch_pos_index_sparse int64[4,2]
|
|
joc_huff_code_7ch_pos_index_sparse int64[6,2]
|
|
```
|
|
|
|
`src/joc_qmf.py` loads the QMF tables, while `src/joc_decode.py` loads the JOC Huffman trees. Python does not read C/C++ headers under `native/`.
|
|
|
|
The corresponding native data are stored in `native/src/qmf_tables.h` and `native/src/joc_huffman_tables.h`. Changes on either side should update the other and be checked for value-by-value agreement.
|
|
|
|
## Binaural rendering tables
|
|
|
|
`rosella_kernels.npz` contains the fixed QMF/hybrid tables:
|
|
|
|
```text
|
|
qmf_analysis_coefficients float32[64,10]
|
|
hybrid_analysis_low_kernel float32[3,2,13,16,2]
|
|
hybrid_synthesis_indices int16[154,4]
|
|
hybrid_synthesis_values float32[154]
|
|
qmf_synthesis_basis float64[64,4,128]
|
|
qmf_synthesis_taps float64[64,10,4]
|
|
```
|
|
|
|
The float32 table values are promoted to float64 when loaded.
|