Loading lib_enc/ivas_qmetadata_enc_fx.c +18 −12 Original line number Diff line number Diff line Loading @@ -4588,6 +4588,18 @@ static ivas_error write_ec_direction_fx( return IVAS_ERR_OK; } #ifdef FIX_2564_INSTRUMENTATION static Word64 W_mult0_64_16( Word64 L64_var1, Word16 L16_var2 ) { Word64 L64_result; L64_result = W_shl_nosat( W_mult0_32_32( W_extract_h( W_lshl( L64_var1, 1 ) ), L_deposit_l( L16_var2 ) ), 31 ); L64_result = W_add_nosat( L64_result, W_mult0_32_32( L_and( W_extract_l( L64_var1 ), 0x7fffffff ), L_deposit_l( L16_var2 ) ) ); return L64_result; } #endif /*-----------------------------------------------------------------------* * Local functions (coherence Q and coding) *-----------------------------------------------------------------------*/ Loading @@ -4608,7 +4620,13 @@ static UWord64 create_combined_index_fx( FOR( i = 0; i < len; i++ ) { idx = W_add( idx, base * idx_dct[i] ); #ifdef FIX_2564_INSTRUMENTATION assert( base <= (UWord64) MIN_64 ); base = (UWord64) W_mult0_64_16( (Word64) base, no_cb_vec[i] ); assert( base <= (UWord64) MIN_64 ); #else base *= no_cb_vec[i]; #endif } return idx; Loading Loading @@ -5748,18 +5766,6 @@ static Word16 ivas_qmetadata_quantize_coherence_hr_512_fx( return nbits; } #ifdef FIX_2564_INSTRUMENTATION static Word64 W_mult0_64_16( Word64 L64_var1, Word16 L16_var2 ) { Word64 L64_result; L64_result = W_shl_nosat( W_mult0_32_32( W_extract_h( W_lshl( L64_var1, 1 ) ), L_deposit_l( L16_var2 ) ), 31 ); L64_result = W_add_nosat( L64_result, W_mult0_32_32( L_and( W_extract_l( L64_var1 ), 0x7fffffff ), L_deposit_l( L16_var2 ) ) ); return L64_result; } #endif /*-------------------------------------------------------------------* * ivas_qmetadata_quantize_coherence() * Loading Loading
lib_enc/ivas_qmetadata_enc_fx.c +18 −12 Original line number Diff line number Diff line Loading @@ -4588,6 +4588,18 @@ static ivas_error write_ec_direction_fx( return IVAS_ERR_OK; } #ifdef FIX_2564_INSTRUMENTATION static Word64 W_mult0_64_16( Word64 L64_var1, Word16 L16_var2 ) { Word64 L64_result; L64_result = W_shl_nosat( W_mult0_32_32( W_extract_h( W_lshl( L64_var1, 1 ) ), L_deposit_l( L16_var2 ) ), 31 ); L64_result = W_add_nosat( L64_result, W_mult0_32_32( L_and( W_extract_l( L64_var1 ), 0x7fffffff ), L_deposit_l( L16_var2 ) ) ); return L64_result; } #endif /*-----------------------------------------------------------------------* * Local functions (coherence Q and coding) *-----------------------------------------------------------------------*/ Loading @@ -4608,7 +4620,13 @@ static UWord64 create_combined_index_fx( FOR( i = 0; i < len; i++ ) { idx = W_add( idx, base * idx_dct[i] ); #ifdef FIX_2564_INSTRUMENTATION assert( base <= (UWord64) MIN_64 ); base = (UWord64) W_mult0_64_16( (Word64) base, no_cb_vec[i] ); assert( base <= (UWord64) MIN_64 ); #else base *= no_cb_vec[i]; #endif } return idx; Loading Loading @@ -5748,18 +5766,6 @@ static Word16 ivas_qmetadata_quantize_coherence_hr_512_fx( return nbits; } #ifdef FIX_2564_INSTRUMENTATION static Word64 W_mult0_64_16( Word64 L64_var1, Word16 L16_var2 ) { Word64 L64_result; L64_result = W_shl_nosat( W_mult0_32_32( W_extract_h( W_lshl( L64_var1, 1 ) ), L_deposit_l( L16_var2 ) ), 31 ); L64_result = W_add_nosat( L64_result, W_mult0_32_32( L_and( W_extract_l( L64_var1 ), 0x7fffffff ), L_deposit_l( L16_var2 ) ) ); return L64_result; } #endif /*-------------------------------------------------------------------* * ivas_qmetadata_quantize_coherence() * Loading