Commit 2c09078c authored by Dominik Weckbecker's avatar Dominik Weckbecker 💬
Browse files

remove factor of 0.5 in the OSBA encoder and decoder

parent a60dd45d
Loading
Loading
Loading
Loading
Loading
+5 −5
Original line number Diff line number Diff line
@@ -1110,7 +1110,7 @@ ivas_error ivas_jbm_dec_render(
                {
                    mvr2r( p_tc[n], p_output[n], *nSamplesRendered );
                }
#ifdef NONBE_1339_FIXOSBA_EXT_LOUDNESS
#ifndef NONBE_13552_HARMONIZE_OSBA_LOUDNESS
                 for ( n = 0; n < st_ivas->hDecoderConfig->nchan_out; n++ )
                 {
                     v_multc( p_output[n], 0.5f, p_output[n], *nSamplesRendered );
+15 −10
Original line number Diff line number Diff line
@@ -183,12 +183,16 @@ ivas_error ivas_osba_dirac_td_binaural_jbm(
                for ( b = 0; b < num_cldfb_bands; b++ )
                {
                    st_ivas->hSplitBinRend->hMultiBinCldfbData->Cldfb_RealBuffer_Binaural[n][slot_idx_start + slot_idx][b] =
                        ( 0.5f * st_ivas->hSplitBinRend->hMultiBinCldfbData->Cldfb_RealBuffer_Binaural[n][slot_idx_start + slot_idx][b] ) +
                        ( 0.5f * Cldfb_RealBuffer[b] );
                        // ( 0.5f * st_ivas->hSplitBinRend->hMultiBinCldfbData->Cldfb_RealBuffer_Binaural[n][slot_idx_start + slot_idx][b] ) +
                        // ( 0.5f * Cldfb_RealBuffer[b] );
                        st_ivas->hSplitBinRend->hMultiBinCldfbData->Cldfb_RealBuffer_Binaural[n][slot_idx_start + slot_idx][b] +
                        Cldfb_RealBuffer[b];

                    st_ivas->hSplitBinRend->hMultiBinCldfbData->Cldfb_ImagBuffer_Binaural[n][slot_idx_start + slot_idx][b] =
                        ( 0.5f * st_ivas->hSplitBinRend->hMultiBinCldfbData->Cldfb_ImagBuffer_Binaural[n][slot_idx_start + slot_idx][b] ) +
                        ( 0.5f * Cldfb_ImagBuffer[b] );
                        // ( 0.5f * st_ivas->hSplitBinRend->hMultiBinCldfbData->Cldfb_ImagBuffer_Binaural[n][slot_idx_start + slot_idx][b] ) +
                        // ( 0.5f * Cldfb_ImagBuffer[b] );
                        st_ivas->hSplitBinRend->hMultiBinCldfbData->Cldfb_ImagBuffer_Binaural[n][slot_idx_start + slot_idx][b] +
                        Cldfb_ImagBuffer[b];
                }
            }
        }
@@ -205,7 +209,8 @@ ivas_error ivas_osba_dirac_td_binaural_jbm(
            int16_t i;
            for ( i = 0; i < nSamplesAsked; i++ )
            {
                output_f[n][i] = 0.5f * output_f[channel_offset + n][i] + 0.5f * p_sepobj[n][i];
                // output_f[n][i] = 0.5f * output_f[channel_offset + n][i] + 0.5f * p_sepobj[n][i];
                output_f[n][i] = output_f[channel_offset + n][i] + p_sepobj[n][i];
            }
        }
    }
@@ -295,7 +300,7 @@ ivas_error ivas_osba_render_sf(
            v_add( p_output[n], p_output_ism[n], p_output[n], *nSamplesRendered );
        }

        v_multc( p_output[n], 0.5f, p_output[n], *nSamplesRendered );
        // v_multc( p_output[n], 0.5f, p_output[n], *nSamplesRendered );
    }

    return IVAS_ERR_OK;
@@ -338,10 +343,10 @@ void ivas_osba_stereo_add_channels(
        }
    }

    for ( n = 0; n < nchan_out; n++ )
    {
        v_multc( output_f[n], 0.5f, output_f[n], n_samples_to_render );
    }
    // for ( n = 0; n < nchan_out; n++ )
    // {
    //     v_multc( output_f[n], 0.5f, output_f[n], n_samples_to_render );
    // }

    return;
}
+4 −0
Original line number Diff line number Diff line
@@ -72,7 +72,11 @@ static void ivas_merge_sba_transports(
    {
        for ( j = 0; j < input_frame; j++ )
        {
#ifdef NONBE_1339_FIXOSBA_EXT_LOUDNESS
            data_out_f[i][j] =  data_in_f1[i][j] + data_in_f2[i][j];
#else
            data_out_f[i][j] = 0.5f * ( data_in_f1[i][j] + data_in_f2[i][j] );
#endif
        }
    }