int ff_j2k_dwt_init(DWTContext *s, uint16_t border[2][2], int decomp_levels, int type)

{

    int i, j, lev = decomp_levels, maxlen,

        b[2][2];



    if (decomp_levels >= FF_DWT_MAX_DECLVLS)

        return AVERROR_INVALIDDATA;

    s->ndeclevels = decomp_levels;

    s->type = type;



    for (i = 0; i < 2; i++)

        for(j = 0; j < 2; j++)

            b[i][j] = border[i][j];



    maxlen = FFMAX(b[0][1] - b[0][0],

                   b[1][1] - b[1][0]);



    while(--lev >= 0){

        for (i = 0; i < 2; i++){

            s->linelen[lev][i] = b[i][1] - b[i][0];

            s->mod[lev][i] = b[i][0] & 1;

            for (j = 0; j < 2; j++)

                b[i][j] = (b[i][j] + 1) >> 1;

        }

    }

    if (type == FF_DWT97)

        s->linebuf = av_malloc((maxlen + 12) * sizeof(float));

    else if (type == FF_DWT53)

        s->linebuf = av_malloc((maxlen + 6) * sizeof(int));

    else

        return -1;



    if (!s->linebuf)

        return AVERROR(ENOMEM);



    return 0;

}

int ff_j2k_dwt_init(DWTContext *s, uint16_t border[2][2], int decomp_levels, int type)

{

    int i, j, lev = decomp_levels, maxlen,

        b[2][2];



    if (decomp_levels >= FF_DWT_MAX_DECLVLS)

        return AVERROR_INVALIDDATA;

    s->ndeclevels = decomp_levels;

    s->type = type;



    for (i = 0; i < 2; i++)

        for(j = 0; j < 2; j++)

            b[i][j] = border[i][j];



    maxlen = FFMAX(b[0][1] - b[0][0],

                   b[1][1] - b[1][0]);



    while(--lev >= 0){

        for (i = 0; i < 2; i++){

            s->linelen[lev][i] = b[i][1] - b[i][0];

            s->mod[lev][i] = b[i][0] & 1;

            for (j = 0; j < 2; j++)

                b[i][j] = (b[i][j] + 1) >> 1;

        }

    }

    if (type == FF_DWT97)

        s->linebuf = av_malloc((maxlen + 12) * sizeof(float));

    else if (type == FF_DWT53)

        s->linebuf = av_malloc((maxlen + 6) * sizeof(int));

    else

        return -1;



    if (!s->linebuf)

        return AVERROR(ENOMEM);



    return 0;

}

    if (decomp_levels >= FF_DWT_MAX_DECLVLS)
int FUNC_0(DWTContext *VAR_0, uint16_t VAR_1[2][2], int VAR_2, int VAR_3)

{

    int VAR_4, VAR_5, VAR_6 = VAR_2, VAR_7,

        VAR_8[2][2];



    if (VAR_2 >= FF_DWT_MAX_DECLVLS)

        return AVERROR_INVALIDDATA;

    VAR_0->ndeclevels = VAR_2;

    VAR_0->VAR_3 = VAR_3;



    for (VAR_4 = 0; VAR_4 < 2; VAR_4++)

        for(VAR_5 = 0; VAR_5 < 2; VAR_5++)

            VAR_8[VAR_4][VAR_5] = VAR_1[VAR_4][VAR_5];



    VAR_7 = FFMAX(VAR_8[0][1] - VAR_8[0][0],

                   VAR_8[1][1] - VAR_8[1][0]);



    while(--VAR_6 >= 0){

        for (VAR_4 = 0; VAR_4 < 2; VAR_4++){

            VAR_0->linelen[VAR_6][VAR_4] = VAR_8[VAR_4][1] - VAR_8[VAR_4][0];

            VAR_0->mod[VAR_6][VAR_4] = VAR_8[VAR_4][0] & 1;

            for (VAR_5 = 0; VAR_5 < 2; VAR_5++)

                VAR_8[VAR_4][VAR_5] = (VAR_8[VAR_4][VAR_5] + 1) >> 1;

        }

    }

    if (VAR_3 == FF_DWT97)

        VAR_0->linebuf = av_malloc((VAR_7 + 12) * sizeof(float));

    else if (VAR_3 == FF_DWT53)

        VAR_0->linebuf = av_malloc((VAR_7 + 6) * sizeof(int));

    else

        return -1;



    if (!VAR_0->linebuf)

        return AVERROR(ENOMEM);



    return 0;

}

int FUNC_0(DWTContext *VAR_0, uint16_t VAR_1[2][2], int VAR_2, int VAR_3)
{ int VAR_4, VAR_5, VAR_6 = VAR_2, VAR_7,
VAR_8[2][2]; if (VAR_2 >= FF_DWT_MAX_DECLVLS)
return AVERROR_INVALIDDATA; VAR_0->ndeclevels = VAR_2; VAR_0->VAR_3 = VAR_3; for (VAR_4 = 0; VAR_4 < 2; VAR_4++) for(VAR_5 = 0; VAR_5 < 2; VAR_5++) VAR_8[VAR_4][VAR_5] = VAR_1[VAR_4][VAR_5]; VAR_7 = FFMAX(VAR_8[0][1] - VAR_8[0][0],
VAR_8[1][1] - VAR_8[1][0]); while(--VAR_6 >= 0){ for (VAR_4 = 0; VAR_4 < 2; VAR_4++){ VAR_0->linelen[VAR_6][VAR_4] = VAR_8[VAR_4][1] - VAR_8[VAR_4][0]; VAR_0->mod[VAR_6][VAR_4] = VAR_8[VAR_4][0] & 1; for (VAR_5 = 0; VAR_5 < 2; VAR_5++) VAR_8[VAR_4][VAR_5] = (VAR_8[VAR_4][VAR_5] + 1) >> 1; } } if (VAR_3 == FF_DWT97)
VAR_0->linebuf = av_malloc((VAR_7 + 12) * sizeof(float)); else if (VAR_3 == FF_DWT53)
VAR_0->linebuf = av_malloc((VAR_7 + 6) * sizeof(int)); else
return -1; if (!VAR_0->linebuf)
return AVERROR(ENOMEM); return 0; }