Move IGF temporary buffers out of the highest stack
At the encoder, the worst case for the stack consumption happens in the MDCT stereo encoder. Some buffers - they are temporary buffers related to the IGF encoding - defined in the function `stereo_mdct_core_enc_fx()` can be moved out of the highest stack. Below is a list of the longest buffers in the function `stereo_mdct_core_enc_fx()`: and their corresponding consumption in FLP and BASOP frameworks: <table> <tr> <td colspan="6"> **buffer** </td> <td colspan="2"> **FLP** </td> <td colspan="2"> **BASOP** </td> </tr> <tr> <td colspan="6"></td> <td> **data type** </td> <td> **RAM in bytes** </td> <td> **data type** </td> <td> **RAM in bytes** </td> </tr> <tr> <td colspan="6"> orig_spectrum_long\[2\]\[1200\]; </td> <td>float</td> <td align="right">9,600</td> <td>Word32</td> <td align="right">9,600</td> </tr> <tr> <td colspan="6"> powerSpec\[2\]\[1200\]; </td> <td>float</td> <td align="right">9,600</td> <td>Word64</td> <td align="right">19,200</td> </tr> <tr> <td colspan="6"> powerSpecMsInv_long\[2\]\[1200\]; </td> <td>float</td> <td align="right">9,600</td> <td>Word32</td> <td align="right">9,600</td> </tr> <tr> <td colspan="6"> quantized_spectrum_long\[2\]\[1200\]; </td> <td>float</td> <td align="right">9,600</td> <td>Word32</td> <td align="right">9,600</td> </tr> <tr> <td colspan="6"> mdst_spectrum_long\[2\]\[1200\]; </td> <td>float</td> <td align="right">9,600</td> <td>Word32</td> <td align="right">9,600</td> </tr> <tr> <td colspan="6"> q_powerSpecMsInv_long_fx\[2\]\[1200\]; </td> <td>n/a</td> <td></td> <td>Word16</td> <td align="right">4,800</td> </tr> <tr> <td colspan="6"> powerSpec_fx\[2\]\[1200\]; </td> <td>n/a</td> <td></td> <td>Word32</td> <td align="right">9,600</td> </tr> <tr> <td colspan="6"> exp_powSpec\[2\]\[1200+420\]; </td> <td>n/a</td> <td></td> <td>Word16</td> <td align="right">6,480</td> </tr> <tr> <td colspan="6"> **total** </td> <td> </td> <td align="right"> **48,000** </td> <td> </td> <td align="right"> **78,480** </td> </tr> </table> The worst-case stack can be reduced by 16,080 bytes by moving the temporary IGF buffers. Then, more reduction can be achieved by changing the data type of the power spectrum from Word64 to Word32, but this would be a major change that would affect bit-exactness. <!--- 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.-->
task