Minimum pitch calculation issue in GSC fixed point encoder
# Basic info <!--- Add commit SHA used to reproduce--> - Float reference: - Encoder (float): - Decoder (float): - Fixed point: - Encoder (fixed): 43ca007ce - Decoder (fixed): # Bug description In a specific configuration of the GSC codec, the encoder and decoder can become desynchronized due to incorrect minimum pitch calculation. This issue occurs when the number of subframes is set to 2 and the core bitrate is below 9.6 kbps. The fixed-point encoder incorrectly determines the minimum pitch by checking only the first two pitch values instead of the entire pitch vector. For two subframes, the pitch vector follows the pattern: P1, P1, P2, P2. By considering only the first two values, the encoder may select an incorrect minimum pitch. The floating-point encoder and decoder as well as the fixed point decoder correctly analyze the full vector. This discrepancy can lead to mismatched bit allocation and, ultimately to a BER or an undefined behaviour. A simple fix is to check all the pitch vector on the encoder. Note: EVS uses the same approach, but the configuration where this could cause an issue (`nb_subfr == 2`) is not used at low bitrate. For `nb_subfr == 1` or `nb_subfr == 4`, the different search method does not lead to a different result. # Ways to reproduce Box folder: ...\\Box_EXTERNAL_IVAS_BASOP_VERIFICATION\\issues\\issue-1115 Issue happens at frame 433 with the following command line: <!--Commandline or script--> ```bash ivas_cod_fx -no_delay_cmp -sba 2 13200 48 am5ba1s14_HOA2_48_-16.wav am5ba1s14_HOA2_48_-16_13200_CTX_dut.g192.fx ivas_dec_flt -no_delay_cmp BINAURAL 48 am5ba1s14_HOA2_48_-16_13200_CTX_dut.g192.flt syn.fx.flt.wav ``` <!--- Below are labels that will be added but are not shown in description. This is a template to help fill them. Add further information to the first row and remove and add labels as necessary.-->
issue