Commit b41bb171 authored by Sandesh Venkatesh's avatar Sandesh Venkatesh
Browse files

Merge branch 'ivas_sns_dec' into 'main'

ivas_sns_dec.c functions converted to fixed point.

See merge request !27
parents f9bb27c1 36aff4a0
Loading
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -317,6 +317,7 @@
    <ClCompile Include="..\lib_dec\ivas_sba_dirac_stereo_dec.c" />
    <ClCompile Include="..\lib_dec\ivas_sba_rendering_internal.c" />
    <ClCompile Include="..\lib_dec\ivas_sce_dec.c" />
    <ClCompile Include="..\lib_dec\ivas_sns_dec_fx.c" />
    <ClCompile Include="..\lib_dec\ivas_spar_decoder.c" />
    <ClCompile Include="..\lib_dec\ivas_spar_md_dec.c" />
    <ClCompile Include="..\lib_dec\ivas_stereo_adapt_GR_dec.c" />
+2 −1
Original line number Diff line number Diff line
@@ -811,6 +811,7 @@
    <ClCompile Include="..\lib_dec\evs_dec_fx.c">
      <Filter>decoder_evs_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_dec\ivas_sns_dec_fx.c" />
  </ItemGroup>
  <ItemGroup>
    <ClInclude Include="..\lib_dec\ivas_stat_dec.h">
+32 −0
Original line number Diff line number Diff line
@@ -5947,6 +5947,38 @@ int16_t ivas_get_num_bands_from_bw_idx(
    const int16_t bwidth                                        /* i  : audio bandwidth                             */
);

#ifdef IVAS_FLOAT_FIXED
/*to be moved to prot_fx1.h*/
void sns_avq_dec_fx(
    Word16 *index,           /* i  : Quantization indices        */
    Word32 SNS_Q[NB_DIV][M], /* o  : Quantized SNS vectors       */
    Word16 *q_snsq,
    const Word16 L_frame, /* i  : frame length                */
    const Word16 numlpc   /* i  : Number of sets of lpc       */
);

void sns_avq_dec_stereo_fx(
    Word16 *indexl,       /* i  : Quantization indices (left channel)     */
    Word16 *indexr,       /* i  : Quantization indices (right channe)     */
    const Word16 L_frame, /* i  : frame length                            */
    Word32 *SNS_Ql,       /* o  : Quantized SNS vectors (left channel)    */
    Word16 *q_l,
    Word32 *SNS_Qr, /* o  : Quantized SNS vectors (right channe)    */
    Word16 *q_r );

void dequantize_sns_fx(
    Word16 indices[CPE_CHANNELS][NPRM_LPC_NEW],
    Word32 snsQ_out[CPE_CHANNELS][NB_DIV][M],
    Decoder_State **sts );

void inverseMS_fx(
    const Word16 L_frame,                                      /* i  : frame length                            */
    Word32 x0[],                                                 /* i/o: mid/left channel coefficients           */
    Word32 x1[],                                                 /* i/o: side/right channel coefficients         */
    const Word32 norm_fac                                        /* i  : normalization factor                    */
);

#endif

/* clang-format on */

+613 −5

File changed.

Preview size limit exceeded, changes collapsed.

+8 −0
Original line number Diff line number Diff line
@@ -446,6 +446,10 @@ extern const int16_t ivas_sns_cdbks_tcx10_bits[];

extern const float *const ivas_sns_cdbks_tcx20[];
extern const float *const ivas_sns_cdbks_tcx10[];
#ifdef IVAS_FLOAT_FIXED
extern const Word16 *const ivas_sns_cdbks_tcx20_fx[];
extern const Word16 *const ivas_sns_cdbks_tcx10_fx[];
#endif

extern const int16_t ivas_sns_cdbks_side_tcx20_levels[];
extern const int16_t ivas_sns_cdbks_side_tcx20_bits[];
@@ -454,6 +458,10 @@ extern const int16_t ivas_sns_cdbks_side_tcx10_bits[];

extern const float *const ivas_sns_cdbks_side_tcx20[];
extern const float *const ivas_sns_cdbks_side_tcx10[];
#ifdef IVAS_FLOAT_FIXED
extern const Word16 *const ivas_sns_cdbks_side_tcx20_fx[];
extern const Word16 *const ivas_sns_cdbks_side_tcx10_fx[];
#endif

/* means and codebooks for the split VQ in the 2-stage SNS VQ */
extern const int16_t sns_1st_cdbk[2][2][8 * 32];
Loading