Commit 1f3c7e5f authored by Sandesh Venkatesh's avatar Sandesh Venkatesh
Browse files

ivas mdct, imdct, rfft, fft3, ifft3 updates

Significance:
=============
[x] Changes pertaining to MDCT/IMDCT fixed point conversion
[x] Added new unit tests under FFT - includes testing of fft_rel function
[x] The version of fft_rel_fx taken from EVS fails conformance
[x] Two alternate versions of fft_rel_fx are been created
version 1: By extending 16-bit input of evs fft_rel_fx to 32-bit.
This fails Conformance for 512 point FFT.
version 2: Through fixed point conversion of fft_rel function in IVAS
This passes conformance for all lengths supported by fft_rel.
[x] Converted ifft_rel to fixed point as well.
[x] Input scaling is needed sometimes for the random input generated as
the input values generated are at times very small causing relative
error in output to exceed 0.005% (threshold for unit tests
currently)
[x] Changed real basops to complex basops in few FFT functions.

Testing:
========
[x] Unit tests of FFT and MDCT

Known Issues:
=============
[x] Unit test of RFFTN for 640 length is failing with random input.
parent 0d6e0d8f
Loading
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -150,6 +150,7 @@
  <ItemGroup>
    <ClCompile Include="..\apps\decoder.c" />
    <ClCompile Include="..\lib_util\test_fft.c" />
    <ClCompile Include="..\lib_util\test_mdct.c" />
  </ItemGroup>
  <ItemGroup>
    <ProjectReference Include="lib_dec.vcxproj">
+3 −0
Original line number Diff line number Diff line
@@ -179,6 +179,7 @@
    <ClCompile Include="..\lib_com\fft.c" />
    <ClCompile Include="..\lib_com\fft_cldfb.c" />
    <ClCompile Include="..\lib_com\fft_evs.c" />
    <ClCompile Include="..\lib_com\fft_cldfb_fx.c" />
    <ClCompile Include="..\lib_com\fft_fx.c" />
    <ClCompile Include="..\lib_com\fft_fx_evs.c" />
    <ClCompile Include="..\lib_com\fft_rel.c" />
@@ -243,12 +244,14 @@
    <ClCompile Include="..\lib_com\ivas_mc_param_com.c" />
    <ClCompile Include="..\lib_com\ivas_mdct_core_com.c" />
    <ClCompile Include="..\lib_com\ivas_mdct_imdct.c" />
    <ClCompile Include="..\lib_com\ivas_mdct_imdct_fx.c" />
    <ClCompile Include="..\lib_com\ivas_mdft_imdft.c" />
    <ClCompile Include="..\lib_com\ivas_omasa_com.c" />
    <ClCompile Include="..\lib_com\ivas_pca_tools.c" />
    <ClCompile Include="..\lib_com\ivas_qmetadata_com.c" />
    <ClCompile Include="..\lib_com\ivas_qspherical_com.c" />
    <ClCompile Include="..\lib_com\ivas_rom_com.c" />
    <ClCompile Include="..\lib_com\ivas_rom_com_fx.c" />
    <ClCompile Include="..\lib_com\ivas_sba_config.c" />
    <ClCompile Include="..\lib_com\ivas_spar_com.c" />
    <ClCompile Include="..\lib_com\ivas_spar_com_quant_util.c" />
+3 −0
Original line number Diff line number Diff line
@@ -451,6 +451,9 @@
    <ClCompile Include="..\lib_com\ivas_mdct_imdct.c">
      <Filter>common_ivas_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\ivas_mdct_imdct_fx.c">
      <Filter>common_ivas_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_com\ivas_ism_com.c">
      <Filter>common_ivas_c</Filter>
    </ClCompile>
+2 −0
Original line number Diff line number Diff line
@@ -130,6 +130,7 @@ static void usage_dec( void );
static ivas_error decodeG192( DecArguments arg, BS_READER_HANDLE hBsReader, RotFileReader *headRotReader, RotFileReader *externalOrientationFileReader, RotFileReader *refRotReader, Vector3PairFileReader *referenceVectorReader, IVAS_DEC_HANDLE hIvasDec, int16_t *pcmBuf );
static ivas_error decodeVoIP( DecArguments arg, BS_READER_HANDLE hBsReader, RotFileReader *headRotReader, RotFileReader *externalOrientationFileReader, RotFileReader *refRotReader, Vector3PairFileReader *referenceVectorReader, IVAS_DEC_HANDLE hIvasDec );
void run_fft_unit_test(void);
void run_mdct_unit_test(void);

/*------------------------------------------------------------------------------------------*
 * main()
@@ -173,6 +174,7 @@ int main(
    if (run_unit_tests)
    {
      run_fft_unit_test();
      run_mdct_unit_test();
      return;
    }

lib_com/fft_cldfb_fx.c

0 → 100644
+1070 −0

File added.

Preview size limit exceeded, changes collapsed.

Loading