Commit a86cedbc authored by Fabian Bauer's avatar Fabian Bauer
Browse files

introduce FIX_2436_RENDERER_CLDFBSTATES_EACH_ISM_INPUT - not testet yet, just...

introduce FIX_2436_RENDERER_CLDFBSTATES_EACH_ISM_INPUT - not testet yet, just making a backup of the day
parent ac900052
Loading
Loading
Loading
Loading
+13 −0
Original line number Diff line number Diff line
@@ -1428,6 +1428,19 @@ ivas_error openCldfb_ivas_fx(
    return IVAS_ERR_OK;
}

#ifdef FIX_2436_RENDERER_CLDFBSTATES_EACH_ISM_INPUT
ivas_error getLongCLDFBStates(  HANDLE_CLDFB_FILTER_BANK  h_cldfb  , /* i/o: filter bank handle                */
                                Word16                    len  )
{
    free( h_cldfb->cldfb_state_fx );
    IF( ( h_cldfb->cldfb_state_fx = (Word32 *) malloc( sizeof( Word32 ) ) ) == NULL )
    {
        return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Cannot allocate long states memory for CLDFB" );
    }
    return IVAS_ERR_OK;
}
#endif


/*-------------------------------------------------------------------*
 * resampleCldfb_ivas()
+1 −0
Original line number Diff line number Diff line
@@ -92,6 +92,7 @@
#define HARM_FD_BWE                                     /* VA: harmonize core-coder FD BWE function duplications */
#define FIX_2411_Harmonize_TNSANALYSIS_DETECTTNSFILT    /* FhG: basop issue 2411: harmonize TNSAnalysis*_fx(), DetectTnsFilt*_fx()*/        
#define HARMONIZE_READ_DECODE_TNS                       /* FhG basop 2389: Harm between two pairs of functions. */
#define FIX_2436_RENDERER_CLDFBSTATES_EACH_ISM_INPUT

/* #################### End BE switches ################################## */

+5 −1
Original line number Diff line number Diff line
@@ -8902,6 +8902,10 @@ ivas_error openCldfb_ivas_fx(
    CLDFB_PROTOTYPE prototype,         /* i  : CLDFB version (1.25ms/5ms delay)  */
    const Word16 enc_dec );            /* i  : encoder/decoder flag            */

#ifdef FIX_2436_RENDERER_CLDFBSTATES_EACH_ISM_INPUT
ivas_error getLongCLDFBStates( HANDLE_CLDFB_FILTER_BANK h_cldfb , Word16 len) ;
#endif

    Word32 rand_gauss_fx(
    Word32 *x,
    Word16 *seed,
+5 −0
Original line number Diff line number Diff line
@@ -6266,7 +6266,12 @@ static ivas_error ivas_dec_init_split_rend(
        move16();
    }

#ifdef FIX_2436_RENDERER_CLDFBSTATES_EACH_ISM_INPUT
    /*call with a flag indicating long ana states*/
    error = ISAR_PRE_REND_open( &st_ivas->hSplitBinRend->splitrend, &st_ivas->hRenderConfig->split_rend_config, st_ivas->hDecoderConfig->output_Fs, cldfb_in_flag, pcm_out_flag, st_ivas->hDecoderConfig->render_num_subframes, mixed_td_cldfb_flag, 0 );
#else
    error = ISAR_PRE_REND_open( &st_ivas->hSplitBinRend->splitrend, &st_ivas->hRenderConfig->split_rend_config, st_ivas->hDecoderConfig->output_Fs, cldfb_in_flag, pcm_out_flag, st_ivas->hDecoderConfig->render_num_subframes, mixed_td_cldfb_flag );
#endif
    move16();

    return error;
+14 −0
Original line number Diff line number Diff line
@@ -38,6 +38,10 @@
#include "isar_rom_post_rend.h"
#include "lib_isar_pre_rend.h"
#include "isar_prot.h"
#ifdef FIX_2436_RENDERER_CLDFBSTATES_EACH_ISM_INPUT
#include "lib_rend.h"
#endif

#ifdef DEBUGGING
#include "debug.h"
#endif
@@ -58,6 +62,9 @@ ivas_error ISAR_PRE_REND_open(
    const Word16 pcm_out_flag,                        /* i  : Flag to indicate PCM output                     */
    const IVAS_RENDER_NUM_SUBFR render_num_subframes, /* i  : rendering number of subframes                   */
    const Word16 mixed_td_cldfb_flag                  /* i  : Flag to indicate combined TD and CLDFB input    */
#ifdef FIX_2436_RENDERER_CLDFBSTATES_EACH_ISM_INPUT
  , const int createLongStates
#endif
)
{
    ivas_error error, ch, num_ch;
@@ -123,6 +130,13 @@ ivas_error ISAR_PRE_REND_open(
            {
                return error;
            }
#ifdef FIX_2436_RENDERER_CLDFBSTATES_EACH_ISM_INPUT
            IF( createLongStates )
            {
                Word16 buf_len = buf_len = sub( hSplitRendWrapper->hCldfbHandles->cldfbAna[ch]->p_filter_length, hSplitRendWrapper->hCldfbHandles->cldfbAna[ch]->no_channels );
                getLongCLDFBStates( hSplitRendWrapper->hCldfbHandles->cldfbSyn[ch] , buf_len * RENDERER_MAX_ISM_INPUTS );
            }
#endif
        }

        FOR( ch = 0; ch < BINAURAL_CHANNELS; ch++ )
Loading