Commit 544660dc authored by Arash Azizi's avatar Arash Azizi
Browse files

issue: 2457 Complementing commit 3ff461a0 and finalizing harmonization

parent 3ff461a0
Loading
Loading
Loading
Loading
Loading
+30 −9
Original line number Diff line number Diff line
@@ -795,7 +795,12 @@ UWord8 apa_exec_fx(
        /* extend */
        ELSE
        {   
#ifndef HARMONIZE_2481_EXTEND_SHRINK
            extend_frm_fx(ps, frm_in, a_out, &l_frm_out);
#else
            extend_frm_fx(ps, frm_in, a_out, NULL, &l_frm_out);
#endif // !HARMONIZE_2481_EXTEND_SHRINK
            
        }
        /* control the amount/frequency of scaling */
        IF( NE_32( l_frm_out, ps->l_frm ) )
@@ -1030,7 +1035,11 @@ UWord8 apa_exec_ivas_fx(
            /* extend */
            ELSE
            {
#ifndef HARMONIZE_2481_EXTEND_SHRINK
                extend_frm_ivas_fx(ps, frm_in, a_tmp, Q_a_out, &l_frm_out);
#else
                extend_frm_fx(ps, frm_in, a_tmp, Q_a_out, &l_frm_out);
#endif // !HARMONIZE_2481_EXTEND_SHRINK
            }
            /* control the amount/frequency of scaling */
            IF( NE_32( l_frm_out, ps->l_frm ) )
@@ -2348,8 +2357,7 @@ static bool extend_frm_fx(
#ifndef HARMONIZE_2481_EXTEND_SHRINK
        IF(isSilence_ivas_fx(frm_in_fx, Q_frm_in, l_seg, 10))
#else

        IF((isSilence_ivas_fx(frm_in_fx, Q_frm_in, l_seg, 10) && NE_16(st->element_mode, EVS_MONO)) || (isSilence_fx(frm_in_fx, l_seg, 10) && EQ_16(st->element_mode, EVS_MONO)))
        IF(isSilence_ivas_fx(frm_in_fx, Q_frm_in, l_seg, 10) && (Q_frm_in != NULL) || (isSilence_fx(frm_in_fx, l_seg, 10) && (Q_frm_in == NULL)))
#endif // !HARMONIZE_2481_EXTEND_SHRINK
        {
            /* maximum scaling */
@@ -2378,9 +2386,22 @@ static bool extend_frm_fx(
            frmInScaled = ps->frmInScaled;
            assert( sizeof( ps->frmInScaled ) / sizeof( ps->frmInScaled[0] ) >= 2 * (size_t) l_frm );
            scaleSignal16( frm_in_fx, frmInScaled, shl( l_frm, 1 ), ps->signalScaleForCorrelation );
#ifndef HARMONIZE_2481_EXTEND_SHRINK
            ps->signalScaleForCorrelation = sub(ps->signalScaleForCorrelation, Q_frm_in);
            findSynchResult = find_synch_fx(ps, frmInScaled, extract_l(L_shl(l_frm, 1)), s_start, sub(s_end, s_start), sync_start, l_seg, l_frm, &energy_fx, &quality_fx, &xtract[n]);
            ps->signalScaleForCorrelation = add(ps->signalScaleForCorrelation, Q_frm_in);
#else
            IF(Q_frm_in == NULL) {
                findSynchResult = find_synch_fx(ps, frmInScaled, extract_l(L_shl(l_frm, 1)), s_start, sub(s_end, s_start), sync_start, l_seg, l_frm, &energy_fx, &quality_fx, &xtract[n]);
            }
            ELSE{
                ps->signalScaleForCorrelation = sub(ps->signalScaleForCorrelation, Q_frm_in);
                findSynchResult = find_synch_fx(ps, frmInScaled, extract_l(L_shl(l_frm, 1)), s_start, sub(s_end, s_start), sync_start, l_seg, l_frm, &energy_fx, &quality_fx, &xtract[n]);
                ps->signalScaleForCorrelation = add(ps->signalScaleForCorrelation, Q_frm_in);
            }
#endif // !HARMONIZE_2481_EXTEND_SHRINK

            
        }
        /* assert synch_pos is cleanly divisible by number of channels */
        assert( xtract[n] % ps->num_channels == 0 );