Commit 34807fb5 authored by malenov's avatar malenov
Browse files

merge branch 'main' into '414-out-of-array-access-in-dft-stereo-cna'

parent 78593ba4
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -72,3 +72,13 @@ Externals/

# coan output files that are created when cleaning out switches
coan_out_*
/res
/tv
/Workspace_msvc/renderer.args.json
/Workspace_msvc/encoder.args.json
/Workspace_msvc/decoder.args.json
/scripts/Vlad_extract_max_num_ind.py
/scripts/Vlad_mergeNewsletters.py
*.pwv
/dcr_ism1
/res_conc

I18-comments.c

0 → 100644
+42 −0
Original line number Diff line number Diff line
Comments on I-189
--------------

MAX_NUM_INDICES = 2640
MAX_NUM_DATA = 12
Indice ind_list[MAX_NUM_DATA][MAX_NUM_INDICES];                /* list of indices */

struct IVAS_ENC
{
    Indice ind_list[MAX_NUM_DATA][MAX_NUM_INDICES];                /* list of indices */
    Indice ind_list_metadata[MAX_NUM_METADATA][MAX_BITS_METADATA]; /* list of indices for metadata */
}

typedef struct
{
    uint16_t value;  /* value of the quantized indice */
    int16_t nb_bits; /* number of bits used for the quantization of the indice */
} Indice;

typedef struct bitstream_enc_data_structure
{
    int16_t nb_bits_tot; /* total number of bits already written */
    Indice *ind_list;    /* list of indices */
    int16_t next_ind;    /* pointer to the next empty slot in the list of indices */
    int16_t last_ind;    /* last written indice */

} BSTR_ENC_DATA, *BSTR_ENC_HANDLE;

- deactivating BITSTREAM_INDICES_MEMORY:
- measuring memory of IVAS_ENC
IVAS_ENC_Open()                       118 malloc sizeof( struct IVAS_ENC )                                   42247 words    99%



ivas_error write_indices_ivas()
 -> write_indices_element( st_ivas, &pt_stream, 0/1, n );       /* 1/0 SCE or CPE */

3 options:
-----
- keep ind_list dynamically created, re-alloc if needed, allow out-of-order writing of indices
- remove ind_list and write directly to bitstream, allow out-of-order writing of indices
- removal of ind_list and write directly to bitstream, rewrite source code such that there are no out-of-order indices
 No newline at end of file

I219-comments.txt

0 → 100644
+18 −0
Original line number Diff line number Diff line
Issue I-219

The GSC_noisy_speech flag is set in the S/M classifier, in function ivas_smc_mode_selection(), indicating that there is SWB speech content that would best be encoded with the GSC mode instead of the ACELP UNVOICED mode. In the same function st->coder_type is set to AUDIO.  Later in the encoding process, in the function pre_proc_ivas(), the flag is reset to 0 because the conditioin

st->total_brate <= MIN_BRATE_GSC_NOISY_FLAG

is not fullfilled. However, st->coder_type is still set to AUDIO.

In the decoder, GSC_noisy_speech flag is not decoded and set to 0. Due to this, the comfort noise estimation (minimum statistics) is disabled because it is not applied for “music-like” signals which is detected from

st->coder_type == AUDIO && !st->GSC_noisy_speech

Therefore, the estimated background noise shape is not updated in AUDIO active speech segments. This is usually not a problem as it’s re-activated again in the first few INACTIVE frames after each talk spurt. However, it should be noted that the background noise level is also NOT updated even when the energy of the input signal decreases below the current level of the background noise. 

In the ISM adaptive bit allocation mechanism, bits are re-distributed among objects based on their “importance”. It may happen that this mechanism decides than an object is encoded with the TD low-rate mode which is essentially GSC core at 2.45 kbps. In this mode, GSC_noisy_speech flag is automatically set to 1 and it is also encoded in and decoded from the bitstream. Setting GSC_noisy_speech flag basically unlocks the 


1 bit would be Then, inside the GSC encoder, the in function gs_enc(), it is decided that no 1 bit i. in the function  s.  Later on, in the function 

IvasBuilder.txt

0 → 100644
+2 −0
Original line number Diff line number Diff line
 INFO     | self_test.refbuilder - Building...
 INFO     | self_test.refbuilder - Building...

bit

0 → 100644
+785 KiB

File added.

No diff preview for this file type.

Loading