Skip to content

Declaration/definition mismatch for ivas_error stereo_dft_dec_main()

For the function ivas_error stereo_dft_dec_main() there is a mismatch between the function declaration and definition:

Declaration:

static ivas_error stereo_dft_dec_main( CPE_DEC_HANDLE hCPE, const int32_t ivas_total_brate, const int16_t n_channels, float res_buf[STEREO_DFT_N_8k], float *output[], flo\
at outputHB[][L_FRAME48k], const int16_t output_frame );

Definition:

static ivas_error stereo_dft_dec_main(
    CPE_DEC_HANDLE hCPE,            /* i/o: CPE decoder structure               */
    const int32_t ivas_total_brate, /* i  : IVAS total bitrate                  */
    const int16_t n_channels,       /* i  : number of channels to be decoded    */
    float *p_res_buf,               /* i  : DFT stereo residual S signal        */
    float *output[],                /* o  : output synthesis signal             */
    float outputHB[][L_FRAME48k],   /* o  : output HB synthesis signal          */
    const int16_t output_frame      /* i  : output frame length per channel     */
)

This results in the following compiler warning for gcc 12.2:

lib_dec/ivas_cpe_dec.c:593:12: warning: argument 4 of type 'float *' declared as a pointer [-Warray-parameter=]
  593 |     float *p_res_buf,               /* i  : DFT stereo residual S signal        */
      |     ~~~~~~~^~~~~~~~~
lib_dec/ivas_cpe_dec.c:57:125: note: previously declared as an array 'float[200]'
   57 | static ivas_error stereo_dft_dec_main( CPE_DEC_HANDLE hCPE, const int32_t ivas_total_brate, const int16_t n_channels, float res_buf[STEREO_DFT_N_8k], float *output[], float outputHB[][L_FRAME48k], const int16_t output_frame );
      |