Revert "Fix for ubsan add-overflow"

This reverts commit e43b18075817a12522f49c9978a51d1cf7d9ce17.

Reason for revert: Moderate

Change-Id: Idafac3038357a39a1a26ef3e61b600b22a63869b
(cherry picked from commit 8aecaa873cc08cd5b9c1795870703eaabea67423)
diff --git a/decoder/ixheaacd_lpfuncs.c b/decoder/ixheaacd_lpfuncs.c
index c42896e..06fce57 100644
--- a/decoder/ixheaacd_lpfuncs.c
+++ b/decoder/ixheaacd_lpfuncs.c
@@ -662,7 +662,7 @@
       win_op = ixheaacd_mult32x16in32(*ptr_z++, (win_val));
 
       win_ovadd_op =
-          ixheaacd_add32_sat(ixheaacd_shl32(win_op, q_shift), *ptr_out++);
+          ixheaacd_add32(ixheaacd_shl32(win_op, q_shift), *ptr_out++);
 
       *out_samples = ixheaacd_round16(ixheaacd_shl32_sat(win_ovadd_op, 1));
       out_samples += stride;
@@ -672,7 +672,7 @@
       win_op = ixheaacd_mult32x16in32(*ptr_z++, (win_val));
 
       win_ovadd_op =
-          ixheaacd_add32_sat(ixheaacd_shl32(win_op, q_shift), *ptr_out++);
+          ixheaacd_add32(ixheaacd_shl32(win_op, q_shift), *ptr_out++);
 
       *out_samples = ixheaacd_round16(ixheaacd_shl32_sat(win_ovadd_op, 1));
       out_samples += stride;
@@ -681,7 +681,7 @@
       win_op = ixheaacd_mult32x16in32(*ptr_z++, (win_val));
 
       win_ovadd_op =
-          ixheaacd_add32_sat(ixheaacd_shl32(win_op, q_shift), *ptr_out++);
+          ixheaacd_add32(ixheaacd_shl32(win_op, q_shift), *ptr_out++);
 
       *out_samples = ixheaacd_round16(ixheaacd_shl32_sat(win_ovadd_op, 1));
       out_samples += stride;
@@ -691,7 +691,7 @@
       win_op = ixheaacd_mult32x16in32(*ptr_z++, (win_val));
 
       win_ovadd_op =
-          ixheaacd_add32_sat(ixheaacd_shl32(win_op, q_shift), *ptr_out++);
+          ixheaacd_add32(ixheaacd_shl32(win_op, q_shift), *ptr_out++);
 
       *out_samples = ixheaacd_round16(ixheaacd_shl32_sat(win_ovadd_op, 1));
       out_samples += stride;
@@ -705,23 +705,19 @@
       WORD16 win_val;
       win_val = *p_win++;
       win_op = ixheaacd_mult32x16in32(*ptr_z++, (win_val));
-      *p_out2++ =
-          ixheaacd_add32_sat(ixheaacd_shl32(win_op, q_shift), *ptr_out++);
+      *p_out2++ = ixheaacd_add32(ixheaacd_shl32(win_op, q_shift), *ptr_out++);
 
       win_val = *p_win++;
       win_op = ixheaacd_mult32x16in32(*ptr_z++, (win_val));
-      *p_out2++ =
-          ixheaacd_add32_sat(ixheaacd_shl32(win_op, q_shift), *ptr_out++);
+      *p_out2++ = ixheaacd_add32(ixheaacd_shl32(win_op, q_shift), *ptr_out++);
 
       win_val = *p_win++;
       win_op = ixheaacd_mult32x16in32(*ptr_z++, (win_val));
-      *p_out2++ =
-          ixheaacd_add32_sat(ixheaacd_shl32(win_op, q_shift), *ptr_out++);
+      *p_out2++ = ixheaacd_add32(ixheaacd_shl32(win_op, q_shift), *ptr_out++);
 
       win_val = *p_win++;
       win_op = ixheaacd_mult32x16in32(*ptr_z++, (win_val));
-      *p_out2++ =
-          ixheaacd_add32_sat(ixheaacd_shl32(win_op, q_shift), *ptr_out++);
+      *p_out2++ = ixheaacd_add32(ixheaacd_shl32(win_op, q_shift), *ptr_out++);
     }
 
     loop_size = ((((framesize << 2) - delay) - (framesize * 3)) >> 2) - 1;
@@ -757,7 +753,7 @@
       win_op = ixheaacd_mult32x16in32(*ptr_z++, (win_val));
 
       win_ovadd_op =
-          ixheaacd_add32_sat(ixheaacd_shr32(win_op, q_shift), *ptr_out++);
+          ixheaacd_add32(ixheaacd_shr32(win_op, q_shift), *ptr_out++);
 
       *out_samples = ixheaacd_round16(ixheaacd_shl32(win_ovadd_op, 1));
       out_samples += stride;
@@ -766,7 +762,7 @@
       win_op = ixheaacd_mult32x16in32(*ptr_z++, (win_val));
 
       win_ovadd_op =
-          ixheaacd_add32_sat(ixheaacd_shr32(win_op, q_shift), *ptr_out++);
+          ixheaacd_add32(ixheaacd_shr32(win_op, q_shift), *ptr_out++);
 
       *out_samples = ixheaacd_round16(ixheaacd_shl32(win_ovadd_op, 1));
       out_samples += stride;
@@ -775,7 +771,7 @@
       win_op = ixheaacd_mult32x16in32(*ptr_z++, (win_val));
 
       win_ovadd_op =
-          ixheaacd_add32_sat(ixheaacd_shr32(win_op, q_shift), *ptr_out++);
+          ixheaacd_add32(ixheaacd_shr32(win_op, q_shift), *ptr_out++);
 
       *out_samples = ixheaacd_round16(ixheaacd_shl32(win_ovadd_op, 1));
       out_samples += stride;
@@ -784,7 +780,7 @@
       win_op = ixheaacd_mult32x16in32(*ptr_z++, (win_val));
 
       win_ovadd_op =
-          ixheaacd_add32_sat(ixheaacd_shr32(win_op, q_shift), *ptr_out++);
+          ixheaacd_add32(ixheaacd_shr32(win_op, q_shift), *ptr_out++);
 
       *out_samples = ixheaacd_round16(ixheaacd_shl32(win_ovadd_op, 1));
       out_samples += stride;
@@ -798,23 +794,19 @@
       WORD16 win_val;
       win_val = *p_win++;
       win_op = ixheaacd_mult32x16in32(*ptr_z++, (win_val));
-      *p_out2++ =
-          ixheaacd_add32_sat(ixheaacd_shr32(win_op, q_shift), *ptr_out++);
+      *p_out2++ = ixheaacd_add32(ixheaacd_shr32(win_op, q_shift), *ptr_out++);
 
       win_val = *p_win++;
       win_op = ixheaacd_mult32x16in32(*ptr_z++, (win_val));
-      *p_out2++ =
-          ixheaacd_add32_sat(ixheaacd_shr32(win_op, q_shift), *ptr_out++);
+      *p_out2++ = ixheaacd_add32(ixheaacd_shr32(win_op, q_shift), *ptr_out++);
 
       win_val = *p_win++;
       win_op = ixheaacd_mult32x16in32(*ptr_z++, (win_val));
-      *p_out2++ =
-          ixheaacd_add32_sat(ixheaacd_shr32(win_op, q_shift), *ptr_out++);
+      *p_out2++ = ixheaacd_add32(ixheaacd_shr32(win_op, q_shift), *ptr_out++);
 
       win_val = *p_win++;
       win_op = ixheaacd_mult32x16in32(*ptr_z++, (win_val));
-      *p_out2++ =
-          ixheaacd_add32_sat(ixheaacd_shr32(win_op, q_shift), *ptr_out++);
+      *p_out2++ = ixheaacd_add32(ixheaacd_shr32(win_op, q_shift), *ptr_out++);
     }
     loop_size = ((((framesize << 2) - delay) - (framesize * 3)) >> 2) - 1;
     for (i = loop_size; i >= 0; i--) {
diff --git a/decoder/ixheaacd_pns_js_thumb.c b/decoder/ixheaacd_pns_js_thumb.c
index 15db806..d6dfae7 100644
--- a/decoder/ixheaacd_pns_js_thumb.c
+++ b/decoder/ixheaacd_pns_js_thumb.c
@@ -354,11 +354,10 @@
         scale_spec = (*ixheaacd_calc_max_spectral_line)(ptr_tmp, size);
       }
 
-      if (filter->direction != -1) {
-        position = start;
-      } else {
+      if (filter->direction == -1) {
         position = stop - 1;
-        if (((win << 7) + position) < filter->order) continue;
+      } else {
+        position = start;
       }
 
       if ((num_ch <= 2) &&
diff --git a/test/ixheaacd_main.c b/test/ixheaacd_main.c
index feec6c5..4d77b58 100644
--- a/test/ixheaacd_main.c
+++ b/test/ixheaacd_main.c
@@ -1576,16 +1576,6 @@
     if (raw_testing) {
       ixheaacd_i_bytes_to_read =
           get_metadata_dec_exec(meta_info, frame_counter);
-
-      if (ixheaacd_i_bytes_to_read <= 0) {
-        err_code = (*p_ia_process_api)(pv_ia_process_api_obj,
-                                       IA_API_CMD_INPUT_OVER, 0, NULL);
-
-        _IA_HANDLE_ERROR(p_proc_err_info, (pWORD8) "", err_code);
-
-        return IA_NO_ERROR;
-      }
-
       err_code =
           (*p_ia_process_api)(pv_ia_process_api_obj, IA_API_CMD_SET_INPUT_BYTES,
                               0, &ixheaacd_i_bytes_to_read);