Commit fff16d12 authored by sagnowski's avatar sagnowski
Browse files

Add float interface to decoder

TODOs:
- lib_rend is now broken due to decoder changes
- decoder is broken when output config has fewer channels than bitstream config
parent 27f028b4
Loading
Loading
Loading
Loading
+194 −5

File changed.

Preview size limit exceeded, changes collapsed.

+2 −2
Original line number Diff line number Diff line
@@ -321,7 +321,7 @@ int16_t ivas_sba_get_spar_hoa_md_flag(
 *-------------------------------------------------------------------*/

void ivas_sba_zero_vert_comp(
#ifdef FLOAT_INTERFACE_ENC
#if defined FLOAT_INTERFACE_ENC || defined FLOAT_INTERFACE_DEC_REND
    float* sba_data[],            /* i  : SBA signals                 */
#else
    float sba_data[][L_FRAME48k], /* i  : SBA signals                 */
@@ -351,7 +351,7 @@ void ivas_sba_zero_vert_comp(
    return;
}

#ifdef FLOAT_INTERFACE_ENC
#if (defined FLOAT_INTERFACE_ENC && !defined FLOAT_INTERFACE_DEC_REND) || (!defined FLOAT_INTERFACE_ENC && defined FLOAT_INTERFACE_DEC_REND)
void ivas_sba_zero_vert_comp_old(
    float sba_data[][L_FRAME48k], /* i  : SBA signals                 */
    const int16_t sba_order,      /* i  : SBA order                   */
+6 −3
Original line number Diff line number Diff line
@@ -114,7 +114,11 @@ void mvc2c(

/*! r: number of clipped samples */
uint32_t ivas_syn_output(
#ifdef FLOAT_INTERFACE_DEC_REND
    float* synth[],             /* i/o: float synthesis signal              */
#else
    float synth[][L_FRAME48k],  /* i/o: float synthesis signal              */
#endif
    const int16_t output_frame, /* i  : output frame length (one channel)   */
    const int16_t n_channels,   /* i  : number of output channels           */
    int16_t *synth_out          /* o  : integer 16 bits synthesis signal    */
@@ -1219,8 +1223,7 @@ float rand_triangular_signed(
    }
}

#ifdef FLOAT_INTERFACE_ENC

#if defined FLOAT_INTERFACE_ENC || defined FLOAT_INTERFACE_DEC_REND
void save_channel_pointers(
    float* linearBuffer,
    int16_t numChannels,
+1 −0
Original line number Diff line number Diff line
@@ -164,6 +164,7 @@
#define FIX_299_ISM_BWS                                 /* VA: issue 299 - fix Band-width switching issues in ISM format */

#define FLOAT_INTERFACE_ENC
#define FLOAT_INTERFACE_DEC_REND

/* ################## End DEVELOPMENT switches ######################### */
/* clang-format on */
+5 −0
Original line number Diff line number Diff line
@@ -171,8 +171,13 @@ void ivas_spar_agc_dec_close(

void ivas_agc_dec_process(
    ivas_agc_dec_state_t *hAgcDec, /* i/o: AGC decoder handle       */
#ifdef FLOAT_INTERFACE_DEC_REND
    float* pcm_in[],               /* i  : input audio channels     */
    float* pcm_out[],              /* o  : output audio channels    */
#else
    float pcm_in[][L_FRAME48k],    /* i  : input audio channels     */
    float pcm_out[][L_FRAME48k],   /* o  : output audio channels    */
#endif
    const int16_t n_channels,      /* i  : number of channels       */
    const int16_t output_frame     /* i  : output frame length      */
)
Loading