Loading lib_com/ivas_dirac_com.c +36 −49 Original line number Diff line number Diff line Loading @@ -868,14 +868,6 @@ void calculate_hodirac_sector_parameters( int16_t i_sec, i_bin, i_band; float p_real, p_imag, normI, energy, tmp_diff; float sec_w_real[NUM_ANA_SECTORS]; float sec_x_real[NUM_ANA_SECTORS]; float sec_y_real[NUM_ANA_SECTORS]; float sec_z_real[NUM_ANA_SECTORS]; float sec_w_imag[NUM_ANA_SECTORS]; float sec_x_imag[NUM_ANA_SECTORS]; float sec_y_imag[NUM_ANA_SECTORS]; float sec_z_imag[NUM_ANA_SECTORS]; float sec_I_vec_x[NUM_ANA_SECTORS]; float sec_I_vec_y[NUM_ANA_SECTORS]; Loading @@ -897,15 +889,6 @@ void calculate_hodirac_sector_parameters( for ( i_sec = 0; i_sec < NUM_ANA_SECTORS; i_sec++ ) { float *p_sec_w_real = &sec_w_real[i_sec]; float *p_sec_x_real = &sec_x_real[i_sec]; float *p_sec_y_real = &sec_y_real[i_sec]; float *p_sec_z_real = &sec_z_real[i_sec]; float *p_sec_w_imag = &sec_w_imag[i_sec]; float *p_sec_x_imag = &sec_x_imag[i_sec]; float *p_sec_y_imag = &sec_y_imag[i_sec]; float *p_sec_z_imag = &sec_z_imag[i_sec]; float *p_sec_I_vec_x = &sec_I_vec_x[i_sec]; float *p_sec_I_vec_y = &sec_I_vec_y[i_sec]; Loading Loading @@ -956,27 +939,29 @@ void calculate_hodirac_sector_parameters( for ( i_bin = band_grouping[i_band]; i_bin < band_grouping[i_band + 1]; i_bin++ ) { float w = *( p_c_weights++ ); float sec_w_imag, sec_x_imag, sec_y_imag, sec_z_imag; float sec_w_real, sec_x_real, sec_y_real, sec_z_real; *p_sec_w_imag = 1.772454f * *( p_ImagBuffer_0 ) + 1.772454f * *( p_ImagBuffer_1 ); *p_sec_x_imag = 1.772454f * *( p_ImagBuffer_3++ ) + 1.023326f * *( p_ImagBuffer_4++ ); *p_sec_y_imag = 0.590818f * *( p_ImagBuffer_0++ ) + 1.772454f * *( p_ImagBuffer_1++ ) - 0.590817f * *( p_ImagBuffer_6++ ) - 1.023326f * *( p_ImagBuffer_8++ ); *p_sec_z_imag = 1.772454f * *( p_ImagBuffer_2++ ) + 1.023326f * *( p_ImagBuffer_5++ ); sec_w_imag = 1.772454f * *( p_ImagBuffer_0 ) + 1.772454f * *( p_ImagBuffer_1 ); sec_x_imag = 1.772454f * *( p_ImagBuffer_3++ ) + 1.023326f * *( p_ImagBuffer_4++ ); sec_y_imag = 0.590818f * *( p_ImagBuffer_0++ ) + 1.772454f * *( p_ImagBuffer_1++ ) - 0.590817f * *( p_ImagBuffer_6++ ) - 1.023326f * *( p_ImagBuffer_8++ ); sec_z_imag = 1.772454f * *( p_ImagBuffer_2++ ) + 1.023326f * *( p_ImagBuffer_5++ ); *p_sec_w_real = 1.772454f * *( p_RealBuffer_0 ) + 1.772454f * *( p_RealBuffer_1 ); *p_sec_x_real = 1.772454f * *( p_RealBuffer_3++ ) + 1.023326f * *( p_RealBuffer_4++ ); *p_sec_y_real = 0.590818f * *( p_RealBuffer_0++ ) + 1.772454f * *( p_RealBuffer_1++ ) - 0.590817f * *( p_RealBuffer_6++ ) - 1.023326f * *( p_RealBuffer_8++ ); *p_sec_z_real = 1.772454f * *( p_RealBuffer_2++ ) + 1.023326f * *( p_RealBuffer_5++ ); sec_w_real = 1.772454f * *( p_RealBuffer_0 ) + 1.772454f * *( p_RealBuffer_1 ); sec_x_real = 1.772454f * *( p_RealBuffer_3++ ) + 1.023326f * *( p_RealBuffer_4++ ); sec_y_real = 0.590818f * *( p_RealBuffer_0++ ) + 1.772454f * *( p_RealBuffer_1++ ) - 0.590817f * *( p_RealBuffer_6++ ) - 1.023326f * *( p_RealBuffer_8++ ); sec_z_real = 1.772454f * *( p_RealBuffer_2++ ) + 1.023326f * *( p_RealBuffer_5++ ); p_real = *p_sec_w_real * w; p_imag = *p_sec_w_imag * w; p_real = sec_w_real * w; p_imag = sec_w_imag * w; *p_sec_I_vec_x += p_real * *p_sec_x_real + p_imag * *p_sec_x_imag; *p_sec_I_vec_y += p_real * *p_sec_y_real + p_imag * *p_sec_y_imag; *p_sec_I_vec_z += p_real * *p_sec_z_real + p_imag * *p_sec_z_imag; *p_sec_I_vec_x += p_real * sec_x_real + p_imag * sec_x_imag; *p_sec_I_vec_y += p_real * sec_y_real + p_imag * sec_y_imag; *p_sec_I_vec_z += p_real * sec_z_real + p_imag * sec_z_imag; energy += 0.5f * ( p_real * p_real + p_imag * p_imag + *p_sec_x_real * *p_sec_x_real + *p_sec_x_imag * *p_sec_x_imag + *p_sec_y_real * *p_sec_y_real + *p_sec_y_imag * *p_sec_y_imag + *p_sec_z_real * *p_sec_z_real + *p_sec_z_imag * *p_sec_z_imag ); energy += 0.5f * ( p_real * p_real + p_imag * p_imag + sec_x_real * sec_x_real + sec_x_imag * sec_x_imag + sec_y_real * sec_y_real + sec_y_imag * sec_y_imag + sec_z_real * sec_z_real + sec_z_imag * sec_z_imag ); } } else Loading @@ -984,27 +969,29 @@ void calculate_hodirac_sector_parameters( for ( i_bin = band_grouping[i_band]; i_bin < band_grouping[i_band + 1]; i_bin++ ) { float w = *( p_c_weights++ ); float sec_w_imag, sec_x_imag, sec_y_imag, sec_z_imag; float sec_w_real, sec_x_real, sec_y_real, sec_z_real; *p_sec_w_imag = 1.772454f * *(p_ImagBuffer_0) -1.772454f * *( p_ImagBuffer_1 ); *p_sec_x_imag = 1.772454f * *( p_ImagBuffer_3++ ) - 1.023326f * *( p_ImagBuffer_4++ ); *p_sec_y_imag = -0.590818f * *( p_ImagBuffer_0++ ) + 1.772454f * *( p_ImagBuffer_1++ ) + 0.590817f * *( p_ImagBuffer_6++ ) + 1.023326f * *( p_ImagBuffer_8++ ); *p_sec_z_imag = 1.772454f * *( p_ImagBuffer_2++ ) - 1.023326f * *( p_ImagBuffer_5++ ); sec_w_imag = 1.772454f * *(p_ImagBuffer_0) -1.772454f * *( p_ImagBuffer_1 ); sec_x_imag = 1.772454f * *( p_ImagBuffer_3++ ) - 1.023326f * *( p_ImagBuffer_4++ ); sec_y_imag = -0.590818f * *( p_ImagBuffer_0++ ) + 1.772454f * *( p_ImagBuffer_1++ ) + 0.590817f * *( p_ImagBuffer_6++ ) + 1.023326f * *( p_ImagBuffer_8++ ); sec_z_imag = 1.772454f * *( p_ImagBuffer_2++ ) - 1.023326f * *( p_ImagBuffer_5++ ); *p_sec_w_real = 1.772454f * *(p_RealBuffer_0) -1.772454f * *( p_RealBuffer_1 ); *p_sec_x_real = 1.772454f * *( p_RealBuffer_3++ ) - 1.023326f * *( p_RealBuffer_4++ ); *p_sec_y_real = -0.590818f * *( p_RealBuffer_0++ ) + 1.772454f * *( p_RealBuffer_1++ ) + 0.590817f * *( p_RealBuffer_6++ ) + 1.023326f * *( p_RealBuffer_8++ ); *p_sec_z_real = 1.772454f * *( p_RealBuffer_2++ ) - 1.023326f * *( p_RealBuffer_5++ ); sec_w_real = 1.772454f * *(p_RealBuffer_0) -1.772454f * *( p_RealBuffer_1 ); sec_x_real = 1.772454f * *( p_RealBuffer_3++ ) - 1.023326f * *( p_RealBuffer_4++ ); sec_y_real = -0.590818f * *( p_RealBuffer_0++ ) + 1.772454f * *( p_RealBuffer_1++ ) + 0.590817f * *( p_RealBuffer_6++ ) + 1.023326f * *( p_RealBuffer_8++ ); sec_z_real = 1.772454f * *( p_RealBuffer_2++ ) - 1.023326f * *( p_RealBuffer_5++ ); p_real = *p_sec_w_real * w; p_imag = *p_sec_w_imag * w; p_real = sec_w_real * w; p_imag = sec_w_imag * w; *p_sec_I_vec_x += p_real * *p_sec_x_real + p_imag * *p_sec_x_imag; *p_sec_I_vec_y += p_real * *p_sec_y_real + p_imag * *p_sec_y_imag; *p_sec_I_vec_z += p_real * *p_sec_z_real + p_imag * *p_sec_z_imag; *p_sec_I_vec_x += p_real * sec_x_real + p_imag * sec_x_imag; *p_sec_I_vec_y += p_real * sec_y_real + p_imag * sec_y_imag; *p_sec_I_vec_z += p_real * sec_z_real + p_imag * sec_z_imag; energy += 0.5f * ( p_real * p_real + p_imag * p_imag + *p_sec_x_real * *p_sec_x_real + *p_sec_x_imag * *p_sec_x_imag + *p_sec_y_real * *p_sec_y_real + *p_sec_y_imag * *p_sec_y_imag + *p_sec_z_real * *p_sec_z_real + *p_sec_z_imag * *p_sec_z_imag ); energy += 0.5f * ( p_real * p_real + p_imag * p_imag + sec_x_real * sec_x_real + sec_x_imag * sec_x_imag + sec_y_real * sec_y_real + sec_y_imag * sec_y_imag + sec_z_real * sec_z_real + sec_z_imag * sec_z_imag ); } } Loading Loading
lib_com/ivas_dirac_com.c +36 −49 Original line number Diff line number Diff line Loading @@ -868,14 +868,6 @@ void calculate_hodirac_sector_parameters( int16_t i_sec, i_bin, i_band; float p_real, p_imag, normI, energy, tmp_diff; float sec_w_real[NUM_ANA_SECTORS]; float sec_x_real[NUM_ANA_SECTORS]; float sec_y_real[NUM_ANA_SECTORS]; float sec_z_real[NUM_ANA_SECTORS]; float sec_w_imag[NUM_ANA_SECTORS]; float sec_x_imag[NUM_ANA_SECTORS]; float sec_y_imag[NUM_ANA_SECTORS]; float sec_z_imag[NUM_ANA_SECTORS]; float sec_I_vec_x[NUM_ANA_SECTORS]; float sec_I_vec_y[NUM_ANA_SECTORS]; Loading @@ -897,15 +889,6 @@ void calculate_hodirac_sector_parameters( for ( i_sec = 0; i_sec < NUM_ANA_SECTORS; i_sec++ ) { float *p_sec_w_real = &sec_w_real[i_sec]; float *p_sec_x_real = &sec_x_real[i_sec]; float *p_sec_y_real = &sec_y_real[i_sec]; float *p_sec_z_real = &sec_z_real[i_sec]; float *p_sec_w_imag = &sec_w_imag[i_sec]; float *p_sec_x_imag = &sec_x_imag[i_sec]; float *p_sec_y_imag = &sec_y_imag[i_sec]; float *p_sec_z_imag = &sec_z_imag[i_sec]; float *p_sec_I_vec_x = &sec_I_vec_x[i_sec]; float *p_sec_I_vec_y = &sec_I_vec_y[i_sec]; Loading Loading @@ -956,27 +939,29 @@ void calculate_hodirac_sector_parameters( for ( i_bin = band_grouping[i_band]; i_bin < band_grouping[i_band + 1]; i_bin++ ) { float w = *( p_c_weights++ ); float sec_w_imag, sec_x_imag, sec_y_imag, sec_z_imag; float sec_w_real, sec_x_real, sec_y_real, sec_z_real; *p_sec_w_imag = 1.772454f * *( p_ImagBuffer_0 ) + 1.772454f * *( p_ImagBuffer_1 ); *p_sec_x_imag = 1.772454f * *( p_ImagBuffer_3++ ) + 1.023326f * *( p_ImagBuffer_4++ ); *p_sec_y_imag = 0.590818f * *( p_ImagBuffer_0++ ) + 1.772454f * *( p_ImagBuffer_1++ ) - 0.590817f * *( p_ImagBuffer_6++ ) - 1.023326f * *( p_ImagBuffer_8++ ); *p_sec_z_imag = 1.772454f * *( p_ImagBuffer_2++ ) + 1.023326f * *( p_ImagBuffer_5++ ); sec_w_imag = 1.772454f * *( p_ImagBuffer_0 ) + 1.772454f * *( p_ImagBuffer_1 ); sec_x_imag = 1.772454f * *( p_ImagBuffer_3++ ) + 1.023326f * *( p_ImagBuffer_4++ ); sec_y_imag = 0.590818f * *( p_ImagBuffer_0++ ) + 1.772454f * *( p_ImagBuffer_1++ ) - 0.590817f * *( p_ImagBuffer_6++ ) - 1.023326f * *( p_ImagBuffer_8++ ); sec_z_imag = 1.772454f * *( p_ImagBuffer_2++ ) + 1.023326f * *( p_ImagBuffer_5++ ); *p_sec_w_real = 1.772454f * *( p_RealBuffer_0 ) + 1.772454f * *( p_RealBuffer_1 ); *p_sec_x_real = 1.772454f * *( p_RealBuffer_3++ ) + 1.023326f * *( p_RealBuffer_4++ ); *p_sec_y_real = 0.590818f * *( p_RealBuffer_0++ ) + 1.772454f * *( p_RealBuffer_1++ ) - 0.590817f * *( p_RealBuffer_6++ ) - 1.023326f * *( p_RealBuffer_8++ ); *p_sec_z_real = 1.772454f * *( p_RealBuffer_2++ ) + 1.023326f * *( p_RealBuffer_5++ ); sec_w_real = 1.772454f * *( p_RealBuffer_0 ) + 1.772454f * *( p_RealBuffer_1 ); sec_x_real = 1.772454f * *( p_RealBuffer_3++ ) + 1.023326f * *( p_RealBuffer_4++ ); sec_y_real = 0.590818f * *( p_RealBuffer_0++ ) + 1.772454f * *( p_RealBuffer_1++ ) - 0.590817f * *( p_RealBuffer_6++ ) - 1.023326f * *( p_RealBuffer_8++ ); sec_z_real = 1.772454f * *( p_RealBuffer_2++ ) + 1.023326f * *( p_RealBuffer_5++ ); p_real = *p_sec_w_real * w; p_imag = *p_sec_w_imag * w; p_real = sec_w_real * w; p_imag = sec_w_imag * w; *p_sec_I_vec_x += p_real * *p_sec_x_real + p_imag * *p_sec_x_imag; *p_sec_I_vec_y += p_real * *p_sec_y_real + p_imag * *p_sec_y_imag; *p_sec_I_vec_z += p_real * *p_sec_z_real + p_imag * *p_sec_z_imag; *p_sec_I_vec_x += p_real * sec_x_real + p_imag * sec_x_imag; *p_sec_I_vec_y += p_real * sec_y_real + p_imag * sec_y_imag; *p_sec_I_vec_z += p_real * sec_z_real + p_imag * sec_z_imag; energy += 0.5f * ( p_real * p_real + p_imag * p_imag + *p_sec_x_real * *p_sec_x_real + *p_sec_x_imag * *p_sec_x_imag + *p_sec_y_real * *p_sec_y_real + *p_sec_y_imag * *p_sec_y_imag + *p_sec_z_real * *p_sec_z_real + *p_sec_z_imag * *p_sec_z_imag ); energy += 0.5f * ( p_real * p_real + p_imag * p_imag + sec_x_real * sec_x_real + sec_x_imag * sec_x_imag + sec_y_real * sec_y_real + sec_y_imag * sec_y_imag + sec_z_real * sec_z_real + sec_z_imag * sec_z_imag ); } } else Loading @@ -984,27 +969,29 @@ void calculate_hodirac_sector_parameters( for ( i_bin = band_grouping[i_band]; i_bin < band_grouping[i_band + 1]; i_bin++ ) { float w = *( p_c_weights++ ); float sec_w_imag, sec_x_imag, sec_y_imag, sec_z_imag; float sec_w_real, sec_x_real, sec_y_real, sec_z_real; *p_sec_w_imag = 1.772454f * *(p_ImagBuffer_0) -1.772454f * *( p_ImagBuffer_1 ); *p_sec_x_imag = 1.772454f * *( p_ImagBuffer_3++ ) - 1.023326f * *( p_ImagBuffer_4++ ); *p_sec_y_imag = -0.590818f * *( p_ImagBuffer_0++ ) + 1.772454f * *( p_ImagBuffer_1++ ) + 0.590817f * *( p_ImagBuffer_6++ ) + 1.023326f * *( p_ImagBuffer_8++ ); *p_sec_z_imag = 1.772454f * *( p_ImagBuffer_2++ ) - 1.023326f * *( p_ImagBuffer_5++ ); sec_w_imag = 1.772454f * *(p_ImagBuffer_0) -1.772454f * *( p_ImagBuffer_1 ); sec_x_imag = 1.772454f * *( p_ImagBuffer_3++ ) - 1.023326f * *( p_ImagBuffer_4++ ); sec_y_imag = -0.590818f * *( p_ImagBuffer_0++ ) + 1.772454f * *( p_ImagBuffer_1++ ) + 0.590817f * *( p_ImagBuffer_6++ ) + 1.023326f * *( p_ImagBuffer_8++ ); sec_z_imag = 1.772454f * *( p_ImagBuffer_2++ ) - 1.023326f * *( p_ImagBuffer_5++ ); *p_sec_w_real = 1.772454f * *(p_RealBuffer_0) -1.772454f * *( p_RealBuffer_1 ); *p_sec_x_real = 1.772454f * *( p_RealBuffer_3++ ) - 1.023326f * *( p_RealBuffer_4++ ); *p_sec_y_real = -0.590818f * *( p_RealBuffer_0++ ) + 1.772454f * *( p_RealBuffer_1++ ) + 0.590817f * *( p_RealBuffer_6++ ) + 1.023326f * *( p_RealBuffer_8++ ); *p_sec_z_real = 1.772454f * *( p_RealBuffer_2++ ) - 1.023326f * *( p_RealBuffer_5++ ); sec_w_real = 1.772454f * *(p_RealBuffer_0) -1.772454f * *( p_RealBuffer_1 ); sec_x_real = 1.772454f * *( p_RealBuffer_3++ ) - 1.023326f * *( p_RealBuffer_4++ ); sec_y_real = -0.590818f * *( p_RealBuffer_0++ ) + 1.772454f * *( p_RealBuffer_1++ ) + 0.590817f * *( p_RealBuffer_6++ ) + 1.023326f * *( p_RealBuffer_8++ ); sec_z_real = 1.772454f * *( p_RealBuffer_2++ ) - 1.023326f * *( p_RealBuffer_5++ ); p_real = *p_sec_w_real * w; p_imag = *p_sec_w_imag * w; p_real = sec_w_real * w; p_imag = sec_w_imag * w; *p_sec_I_vec_x += p_real * *p_sec_x_real + p_imag * *p_sec_x_imag; *p_sec_I_vec_y += p_real * *p_sec_y_real + p_imag * *p_sec_y_imag; *p_sec_I_vec_z += p_real * *p_sec_z_real + p_imag * *p_sec_z_imag; *p_sec_I_vec_x += p_real * sec_x_real + p_imag * sec_x_imag; *p_sec_I_vec_y += p_real * sec_y_real + p_imag * sec_y_imag; *p_sec_I_vec_z += p_real * sec_z_real + p_imag * sec_z_imag; energy += 0.5f * ( p_real * p_real + p_imag * p_imag + *p_sec_x_real * *p_sec_x_real + *p_sec_x_imag * *p_sec_x_imag + *p_sec_y_real * *p_sec_y_real + *p_sec_y_imag * *p_sec_y_imag + *p_sec_z_real * *p_sec_z_real + *p_sec_z_imag * *p_sec_z_imag ); energy += 0.5f * ( p_real * p_real + p_imag * p_imag + sec_x_real * sec_x_real + sec_x_imag * sec_x_imag + sec_y_real * sec_y_real + sec_y_imag * sec_y_imag + sec_z_real * sec_z_real + sec_z_imag * sec_z_imag ); } } Loading