static void mct_decode(Jpeg2000DecoderContext *s, Jpeg2000Tile *tile)
{
    int i, csize = 1;
    int32_t *src[3],  i0,  i1,  i2;
    float   *srcf[3], i0f, i1f, i2f;
    for (i = 0; i < 3; i++)
        if (tile->codsty[0].transform == FF_DWT97)
            srcf[i] = tile->comp[i].f_data;
        else
            src [i] = tile->comp[i].i_data;
    for (i = 0; i < 2; i++)
        csize *= tile->comp[0].coord[i][1] - tile->comp[0].coord[i][0];
    switch (tile->codsty[0].transform) {
    case FF_DWT97:
        for (i = 0; i < csize; i++) {
            i0f = *srcf[0] + (f_ict_params[0] * *srcf[2]);
            i1f = *srcf[0] - (f_ict_params[1] * *srcf[1])
                           - (f_ict_params[2] * *srcf[2]);
            i2f = *srcf[0] + (f_ict_params[3] * *srcf[1]);
            *srcf[0]++ = i0f;
            *srcf[1]++ = i1f;
            *srcf[2]++ = i2f;
        break;
    case FF_DWT97_INT:
        for (i = 0; i < csize; i++) {
            i0 = *src[0] + (((i_ict_params[0] * *src[2]) + (1 << 15)) >> 16);
            i1 = *src[0] - (((i_ict_params[1] * *src[1]) + (1 << 15)) >> 16)
                         - (((i_ict_params[2] * *src[2]) + (1 << 15)) >> 16);
            i2 = *src[0] + (((i_ict_params[3] * *src[1]) + (1 << 15)) >> 16);
            *src[0]++ = i0;
            *src[1]++ = i1;
            *src[2]++ = i2;
        break;
    case FF_DWT53:
        for (i = 0; i < csize; i++) {
            i1 = *src[0] - (*src[2] + *src[1] >> 2);
            i0 = i1 + *src[2];
            i2 = i1 + *src[1];
            *src[0]++ = i0;
            *src[1]++ = i1;
            *src[2]++ = i2;
        break;
static void mct_decode(Jpeg2000DecoderContext *s, Jpeg2000Tile *tile)
{
    int i, csize = 1;
    int32_t *src[3],  i0,  i1,  i2;
    float   *srcf[3], i0f, i1f, i2f;
    for (i = 0; i < 3; i++)
        if (tile->codsty[0].transform == FF_DWT97)
            srcf[i] = tile->comp[i].f_data;
        else
            src [i] = tile->comp[i].i_data;
    for (i = 0; i < 2; i++)
        csize *= tile->comp[0].coord[i][1] - tile->comp[0].coord[i][0];
    switch (tile->codsty[0].transform) {
    case FF_DWT97:
        for (i = 0; i < csize; i++) {
            i0f = *srcf[0] + (f_ict_params[0] * *srcf[2]);
            i1f = *srcf[0] - (f_ict_params[1] * *srcf[1])
                           - (f_ict_params[2] * *srcf[2]);
            i2f = *srcf[0] + (f_ict_params[3] * *srcf[1]);
            *srcf[0]++ = i0f;
            *srcf[1]++ = i1f;
            *srcf[2]++ = i2f;
        break;
    case FF_DWT97_INT:
        for (i = 0; i < csize; i++) {
            i0 = *src[0] + (((i_ict_params[0] * *src[2]) + (1 << 15)) >> 16);
            i1 = *src[0] - (((i_ict_params[1] * *src[1]) + (1 << 15)) >> 16)
                         - (((i_ict_params[2] * *src[2]) + (1 << 15)) >> 16);
            i2 = *src[0] + (((i_ict_params[3] * *src[1]) + (1 << 15)) >> 16);
            *src[0]++ = i0;
            *src[1]++ = i1;
            *src[2]++ = i2;
        break;
    case FF_DWT53:
        for (i = 0; i < csize; i++) {
            i1 = *src[0] - (*src[2] + *src[1] >> 2);
            i0 = i1 + *src[2];
            i2 = i1 + *src[1];
            *src[0]++ = i0;
            *src[1]++ = i1;
            *src[2]++ = i2;
        break;
static void FUNC_0(Jpeg2000DecoderContext *VAR_0, Jpeg2000Tile *VAR_1)
{
    int VAR_2, VAR_3 = 1;
    int32_t *src[3],  i0,  i1,  i2;
    float   *VAR_4[3], VAR_5, VAR_6, VAR_7;
    for (VAR_2 = 0; VAR_2 < 3; VAR_2++)
        if (VAR_1->codsty[0].transform == FF_DWT97)
            VAR_4[VAR_2] = VAR_1->comp[VAR_2].f_data;
        else
            src [VAR_2] = VAR_1->comp[VAR_2].i_data;
    for (VAR_2 = 0; VAR_2 < 2; VAR_2++)
        VAR_3 *= VAR_1->comp[0].coord[VAR_2][1] - VAR_1->comp[0].coord[VAR_2][0];
    switch (VAR_1->codsty[0].transform) {
    case FF_DWT97:
        for (VAR_2 = 0; VAR_2 < VAR_3; VAR_2++) {
            VAR_5 = *VAR_4[0] + (f_ict_params[0] * *VAR_4[2]);
            VAR_6 = *VAR_4[0] - (f_ict_params[1] * *VAR_4[1])
                           - (f_ict_params[2] * *VAR_4[2]);
            VAR_7 = *VAR_4[0] + (f_ict_params[3] * *VAR_4[1]);
            *VAR_4[0]++ = VAR_5;
            *VAR_4[1]++ = VAR_6;
            *VAR_4[2]++ = VAR_7;
        break;
    case FF_DWT97_INT:
        for (VAR_2 = 0; VAR_2 < VAR_3; VAR_2++) {
            i0 = *src[0] + (((i_ict_params[0] * *src[2]) + (1 << 15)) >> 16);
            i1 = *src[0] - (((i_ict_params[1] * *src[1]) + (1 << 15)) >> 16)
                         - (((i_ict_params[2] * *src[2]) + (1 << 15)) >> 16);
            i2 = *src[0] + (((i_ict_params[3] * *src[1]) + (1 << 15)) >> 16);
            *src[0]++ = i0;
            *src[1]++ = i1;
            *src[2]++ = i2;
        break;
    case FF_DWT53:
        for (VAR_2 = 0; VAR_2 < VAR_3; VAR_2++) {
            i1 = *src[0] - (*src[2] + *src[1] >> 2);
            i0 = i1 + *src[2];
            i2 = i1 + *src[1];
            *src[0]++ = i0;
            *src[1]++ = i1;
            *src[2]++ = i2;
        break;
static void FUNC_0(Jpeg2000DecoderContext *VAR_0, Jpeg2000Tile *VAR_1)
{ int VAR_2, VAR_3 = 1; int32_t *src[3],  i0,  i1,  i2; float   *VAR_4[3], VAR_5, VAR_6, VAR_7; for (VAR_2 = 0; VAR_2 < 3; VAR_2++) if (VAR_1->codsty[0].transform == FF_DWT97)
VAR_4[VAR_2] = VAR_1->comp[VAR_2].f_data; else
src [VAR_2] = VAR_1->comp[VAR_2].i_data; for (VAR_2 = 0; VAR_2 < 2; VAR_2++) VAR_3 *= VAR_1->comp[0].coord[VAR_2][1] - VAR_1->comp[0].coord[VAR_2][0]; switch (VAR_1->codsty[0].transform) { case FF_DWT97:
for (VAR_2 = 0; VAR_2 < VAR_3; VAR_2++) { VAR_5 = *VAR_4[0] + (f_ict_params[0] * *VAR_4[2]); VAR_6 = *VAR_4[0] - (f_ict_params[1] * *VAR_4[1])
- (f_ict_params[2] * *VAR_4[2]); VAR_7 = *VAR_4[0] + (f_ict_params[3] * *VAR_4[1]); *VAR_4[0]++ = VAR_5; *VAR_4[1]++ = VAR_6; *VAR_4[2]++ = VAR_7; break; case FF_DWT97_INT:
for (VAR_2 = 0; VAR_2 < VAR_3; VAR_2++) { i0 = *src[0] + (((i_ict_params[0] * *src[2]) + (1 << 15)) >> 16); i1 = *src[0] - (((i_ict_params[1] * *src[1]) + (1 << 15)) >> 16)
- (((i_ict_params[2] * *src[2]) + (1 << 15)) >> 16); i2 = *src[0] + (((i_ict_params[3] * *src[1]) + (1 << 15)) >> 16); *src[0]++ = i0; *src[1]++ = i1; *src[2]++ = i2; break; case FF_DWT53:
for (VAR_2 = 0; VAR_2 < VAR_3; VAR_2++) { i1 = *src[0] - (*src[2] + *src[1] >> 2); i0 = i1 + *src[2]; i2 = i1 + *src[1]; *src[0]++ = i0; *src[1]++ = i1; *src[2]++ = i2; break;