static int fic_decode_slice(AVCodecContext *avctx, void *tdata)

{

    FICContext *ctx        = avctx->priv_data;

    FICThreadContext *tctx = tdata;

    GetBitContext gb;

    uint8_t *src = tctx->src;

    int slice_h  = tctx->slice_h;

    int src_size = tctx->src_size;

    int y_off    = tctx->y_off;

    int x, y, p;



    init_get_bits(&gb, src, src_size * 8);



    for (p = 0; p < 3; p++) {

        int stride   = ctx->frame->linesize[p];

        uint8_t* dst = ctx->frame->data[p] + (y_off >> !!p) * stride;



        for (y = 0; y < (slice_h >> !!p); y += 8) {

            for (x = 0; x < (ctx->aligned_width >> !!p); x += 8) {

                int ret;



                if ((ret = fic_decode_block(ctx, &gb, dst + x, stride, tctx->block)) != 0)

                    return ret;

            }



            dst += 8 * stride;

        }

    }



    return 0;

}

static int fic_decode_slice(AVCodecContext *avctx, void *tdata)

{

    FICContext *ctx        = avctx->priv_data;

    FICThreadContext *tctx = tdata;

    GetBitContext gb;

    uint8_t *src = tctx->src;

    int slice_h  = tctx->slice_h;

    int src_size = tctx->src_size;

    int y_off    = tctx->y_off;

    int x, y, p;



    init_get_bits(&gb, src, src_size * 8);



    for (p = 0; p < 3; p++) {

        int stride   = ctx->frame->linesize[p];

        uint8_t* dst = ctx->frame->data[p] + (y_off >> !!p) * stride;



        for (y = 0; y < (slice_h >> !!p); y += 8) {

            for (x = 0; x < (ctx->aligned_width >> !!p); x += 8) {

                int ret;



                if ((ret = fic_decode_block(ctx, &gb, dst + x, stride, tctx->block)) != 0)

                    return ret;

            }



            dst += 8 * stride;

        }

    }



    return 0;

}

                if ((ret = fic_decode_block(ctx, &gb, dst + x, stride, tctx->block)) != 0)
static int FUNC_0(AVCodecContext *VAR_0, void *VAR_1)

{

    FICContext *ctx        = VAR_0->priv_data;

    FICThreadContext *tctx = VAR_1;

    GetBitContext gb;

    uint8_t *src = tctx->src;

    int VAR_2  = tctx->VAR_2;

    int VAR_3 = tctx->VAR_3;

    int VAR_4    = tctx->VAR_4;

    int VAR_5, VAR_6, VAR_7;



    init_get_bits(&gb, src, VAR_3 * 8);



    for (VAR_7 = 0; VAR_7 < 3; VAR_7++) {

        int VAR_8   = ctx->frame->linesize[VAR_7];

        uint8_t* dst = ctx->frame->data[VAR_7] + (VAR_4 >> !!VAR_7) * VAR_8;



        for (VAR_6 = 0; VAR_6 < (VAR_2 >> !!VAR_7); VAR_6 += 8) {

            for (VAR_5 = 0; VAR_5 < (ctx->aligned_width >> !!VAR_7); VAR_5 += 8) {

                int ret;



                if ((ret = fic_decode_block(ctx, &gb, dst + VAR_5, VAR_8, tctx->block)) != 0)

                    return ret;

            }



            dst += 8 * VAR_8;

        }

    }



    return 0;

}

static int FUNC_0(AVCodecContext *VAR_0, void *VAR_1)
{ FICContext *ctx        = VAR_0->priv_data; FICThreadContext *tctx = VAR_1; GetBitContext gb; uint8_t *src = tctx->src; int VAR_2  = tctx->VAR_2; int VAR_3 = tctx->VAR_3; int VAR_4    = tctx->VAR_4; int VAR_5, VAR_6, VAR_7; init_get_bits(&gb, src, VAR_3 * 8); for (VAR_7 = 0; VAR_7 < 3; VAR_7++) { int VAR_8   = ctx->frame->linesize[VAR_7]; uint8_t* dst = ctx->frame->data[VAR_7] + (VAR_4 >> !!VAR_7) * VAR_8; for (VAR_6 = 0; VAR_6 < (VAR_2 >> !!VAR_7); VAR_6 += 8) { for (VAR_5 = 0; VAR_5 < (ctx->aligned_width >> !!VAR_7); VAR_5 += 8) { int ret; if ((ret = fic_decode_block(ctx, &gb, dst + VAR_5, VAR_8, tctx->block)) != 0)
return ret; } dst += 8 * VAR_8; } } return 0; }