Commit 9d7458f4 authored by lefort's avatar lefort
Browse files

Define NONBE_FIX_947_STEREO_DMX_ROMOPT added.

parent f5d9e358
Loading
Loading
Loading
Loading
Loading
+5 −2
Original line number Diff line number Diff line
@@ -175,6 +175,9 @@
#define BE_FIX_567_DOUBLE_STEREO_DMX                          /* NTT: Fix formal issues */   
//#define NONBE_FIX_567_DOUBLE_STEREO_DMX                       /* Orange: Double-precision replaced by single-precision */   
#define NONBE_FIX_947_STEREO_DMX_EVS_POC                      /* Orange: Fix clicks on POC */
#ifdef NONBE_FIX_947_STEREO_DMX_EVS_POC
#define NONBE_FIX_947_STEREO_DMX_ROMOPT                       /* Orange: ROM optimisation for POC*/  
#endif
#define NONBE_FIX_947_STEREO_DMX_EVS_PHA                      /* Orange: Fix issues on PHA */
#ifdef NONBE_FIX_947_STEREO_DMX_EVS_PHA
#define NONBE_FIX_947_STEREO_DMX_FADOPT                       /* Orange: Fading optimisation */  
+41 −1
Original line number Diff line number Diff line
@@ -1275,6 +1275,8 @@ static void weighted_ave(
{
#ifdef NONBE_FIX_947_STEREO_DMX_EVS_POC

#ifdef NONBE_FIX_947_STEREO_DMX_ROMOPT

    int16_t i, len, len2;
    float gain_tmp = 0.f, gain_sub;

@@ -1297,6 +1299,26 @@ static void weighted_ave(
        dst[i] = src1[i] * gain + src2[i] * ( 1.0f - gain_tmp );
    }

#else

    int16_t i, len;
    float gain_tmp = 0.f, gain_sub;

    len = input_frame >> 1;
    gain_sub = gain - old_gain;

    for ( i = 0; i < len; i++ )
    {
        gain_tmp = old_gain + gain_sub * wnd[i];
        dst[i] = src1[i] * gain_tmp + src2[i] * ( 1.0f - gain_tmp );
    }
    for ( ; i < input_frame; i++ )
    {
        dst[i] = src1[i] * gain + src2[i] * ( 1.0f - gain_tmp );
    }

#endif

#else

    int16_t i, len;
@@ -1435,11 +1457,13 @@ static void adapt_gain(
{
#ifdef NONBE_FIX_947_STEREO_DMX_EVS_POC

#ifdef NONBE_FIX_947_STEREO_DMX_ROMOPT

    int16_t i, len, len2;
    float gain_tmp, gain_sub;

    len = input_frame >> 1;
    len2 = len / 2;
    len2 = input_frame >> 2;
    gain_sub = gain - old_gain;

    for ( i = 0; i < len2; i++ )
@@ -1453,6 +1477,22 @@ static void adapt_gain(
        dst[i] = src[i] * gain_tmp;
    }

#else

    int16_t i, len;
    float gain_tmp, gain_sub;

    len = input_frame >> 1;
    gain_sub = gain - old_gain;

    for ( i = 0; i < len; i++ )
    {
        gain_tmp = old_gain + gain_sub * wnd[i];
        dst[i] = src[i] * gain_tmp;
    }

#endif

    for ( ; i < input_frame; i++ )
    {
        dst[i] = src[i] * gain;