Loading lib_enc/ivas_qmetadata_enc.c +16 −15 Original line number Diff line number Diff line Loading @@ -2551,9 +2551,15 @@ static int16_t ivas_qmetadata_entropy_encode_dir( float avg_direction_vector[3], direction_vector[3], avg_azimuth, avg_elevation; int16_t avg_azimuth_alphabet, avg_elevation_alphabet; uint16_t avg_azimuth_index, avg_elevation_index; #ifdef FIX_635_UBSAN_UNDEFINED_BEHAVIOUR_QMETA int16_t avg_elevation_index_projected; int16_t avg_azimuth_index_projected; uint16_t avg_elevation_index_initial, avg_elevation_offset; uint16_t avg_azimuth_index_initial, avg_azimuth_offset; #else int16_t avg_elevation_index_initial, avg_elevation_offset, avg_elevation_index_projected; int16_t avg_azimuth_index_initial, avg_azimuth_offset, avg_azimuth_index_projected; #endif int16_t elevation_bits_ec_best, azimuth_bits_ec_best; int16_t gr_param_elevation_best = 0, avg_elevation_index_best = 0; Loading Loading @@ -2707,28 +2713,23 @@ static int16_t ivas_qmetadata_entropy_encode_dir( for ( avg_elevation_offset = 0; avg_elevation_offset < q_direction->cfg.search_effort; avg_elevation_offset++ ) { #ifdef FIX_635_UBSAN_UNDEFINED_BEHAVIOUR_QMETA if ( q_direction->cfg.mc_ls_setup != MC_LS_SETUP_INVALID ) { avg_elevation_index = (uint16_t) ( avg_elevation_index_initial + avg_elevation_offset ); } else { avg_elevation_index = (uint16_t) ( avg_elevation_index_initial + ivas_qmetadata_dereorder_generic( avg_elevation_offset ) ); } avg_elevation_index = (uint16_t) ( ( avg_elevation_index + avg_elevation_alphabet ) % avg_elevation_alphabet ); #else if ( q_direction->cfg.mc_ls_setup != MC_LS_SETUP_INVALID ) { avg_elevation_index = avg_elevation_index_initial + avg_elevation_offset; } else { #ifdef FIX_635_UBSAN_UNDEFINED_BEHAVIOUR_QMETA avg_elevation_index = avg_elevation_index_initial + (uint16_t) ( ivas_qmetadata_dereorder_generic( avg_elevation_offset ) ); #else avg_elevation_index = avg_elevation_index_initial + ivas_qmetadata_dereorder_generic( avg_elevation_offset ); } #endif } #ifdef FIX_635_UBSAN_UNDEFINED_BEHAVIOUR_QMETA avg_elevation_index = (uint16_t) (( avg_elevation_index + avg_elevation_alphabet ) % avg_elevation_alphabet); #else avg_elevation_index = ( avg_elevation_index + avg_elevation_alphabet ) % avg_elevation_alphabet; #endif all_zero_dist_elevation_indexes = 1; if ( q_direction->cfg.mc_ls_setup != MC_LS_SETUP_INVALID ) Loading Loading @@ -2846,7 +2847,7 @@ static int16_t ivas_qmetadata_entropy_encode_dir( { set_zero( avg_direction_vector, 3 ); #ifdef FIX_635_UBSAN_UNDEFINED_BEHAVIOUR_QMETA avg_azimuth_index = (uint16_t) ( avg_azimuth_index_initial + ivas_qmetadata_dereorder_generic( avg_azimuth_offset ) ); avg_azimuth_index = avg_azimuth_index_initial + (uint16_t) ( ivas_qmetadata_dereorder_generic( avg_azimuth_offset ) ); avg_azimuth_index = (uint16_t) ( ( avg_azimuth_index + avg_azimuth_alphabet ) % avg_azimuth_alphabet ); #else avg_azimuth_index = avg_azimuth_index_initial + ivas_qmetadata_dereorder_generic( avg_azimuth_offset ); Loading Loading
lib_enc/ivas_qmetadata_enc.c +16 −15 Original line number Diff line number Diff line Loading @@ -2551,9 +2551,15 @@ static int16_t ivas_qmetadata_entropy_encode_dir( float avg_direction_vector[3], direction_vector[3], avg_azimuth, avg_elevation; int16_t avg_azimuth_alphabet, avg_elevation_alphabet; uint16_t avg_azimuth_index, avg_elevation_index; #ifdef FIX_635_UBSAN_UNDEFINED_BEHAVIOUR_QMETA int16_t avg_elevation_index_projected; int16_t avg_azimuth_index_projected; uint16_t avg_elevation_index_initial, avg_elevation_offset; uint16_t avg_azimuth_index_initial, avg_azimuth_offset; #else int16_t avg_elevation_index_initial, avg_elevation_offset, avg_elevation_index_projected; int16_t avg_azimuth_index_initial, avg_azimuth_offset, avg_azimuth_index_projected; #endif int16_t elevation_bits_ec_best, azimuth_bits_ec_best; int16_t gr_param_elevation_best = 0, avg_elevation_index_best = 0; Loading Loading @@ -2707,28 +2713,23 @@ static int16_t ivas_qmetadata_entropy_encode_dir( for ( avg_elevation_offset = 0; avg_elevation_offset < q_direction->cfg.search_effort; avg_elevation_offset++ ) { #ifdef FIX_635_UBSAN_UNDEFINED_BEHAVIOUR_QMETA if ( q_direction->cfg.mc_ls_setup != MC_LS_SETUP_INVALID ) { avg_elevation_index = (uint16_t) ( avg_elevation_index_initial + avg_elevation_offset ); } else { avg_elevation_index = (uint16_t) ( avg_elevation_index_initial + ivas_qmetadata_dereorder_generic( avg_elevation_offset ) ); } avg_elevation_index = (uint16_t) ( ( avg_elevation_index + avg_elevation_alphabet ) % avg_elevation_alphabet ); #else if ( q_direction->cfg.mc_ls_setup != MC_LS_SETUP_INVALID ) { avg_elevation_index = avg_elevation_index_initial + avg_elevation_offset; } else { #ifdef FIX_635_UBSAN_UNDEFINED_BEHAVIOUR_QMETA avg_elevation_index = avg_elevation_index_initial + (uint16_t) ( ivas_qmetadata_dereorder_generic( avg_elevation_offset ) ); #else avg_elevation_index = avg_elevation_index_initial + ivas_qmetadata_dereorder_generic( avg_elevation_offset ); } #endif } #ifdef FIX_635_UBSAN_UNDEFINED_BEHAVIOUR_QMETA avg_elevation_index = (uint16_t) (( avg_elevation_index + avg_elevation_alphabet ) % avg_elevation_alphabet); #else avg_elevation_index = ( avg_elevation_index + avg_elevation_alphabet ) % avg_elevation_alphabet; #endif all_zero_dist_elevation_indexes = 1; if ( q_direction->cfg.mc_ls_setup != MC_LS_SETUP_INVALID ) Loading Loading @@ -2846,7 +2847,7 @@ static int16_t ivas_qmetadata_entropy_encode_dir( { set_zero( avg_direction_vector, 3 ); #ifdef FIX_635_UBSAN_UNDEFINED_BEHAVIOUR_QMETA avg_azimuth_index = (uint16_t) ( avg_azimuth_index_initial + ivas_qmetadata_dereorder_generic( avg_azimuth_offset ) ); avg_azimuth_index = avg_azimuth_index_initial + (uint16_t) ( ivas_qmetadata_dereorder_generic( avg_azimuth_offset ) ); avg_azimuth_index = (uint16_t) ( ( avg_azimuth_index + avg_azimuth_alphabet ) % avg_azimuth_alphabet ); #else avg_azimuth_index = avg_azimuth_index_initial + ivas_qmetadata_dereorder_generic( avg_azimuth_offset ); Loading