[ERROR]
The index value of an array declaration was equal or less than 0.
int i[0]; // error;
// for 16bit int this is 0x8CA0 or -29536 !
static char dct_data[400*90];
The index value must be greater than 0. If the index value is a calculated one, use a 'u' to make the calculation unsigned (e.g. 400*90u).