static int dnxhd_decode_row(AVCodecContext *avctx, void *data,

                            int rownb, int threadnb)

{

    const DNXHDContext *ctx = avctx->priv_data;

    uint32_t offset = ctx->mb_scan_index[rownb];

    RowContext *row = ctx->rows + threadnb;

    int x;



    row->last_dc[0] =

    row->last_dc[1] =

    row->last_dc[2] = 1 << (ctx->bit_depth + 2); // for levels +2^(bitdepth-1)

    init_get_bits(&row->gb, ctx->buf + offset, (ctx->buf_size - offset) << 3);

    for (x = 0; x < ctx->mb_width; x++) {

        //START_TIMER;

        dnxhd_decode_macroblock(ctx, row, data, x, rownb);

        //STOP_TIMER("decode macroblock");

    }



    return 0;

}

static int dnxhd_decode_row(AVCodecContext *avctx, void *data,

                            int rownb, int threadnb)

{

    const DNXHDContext *ctx = avctx->priv_data;

    uint32_t offset = ctx->mb_scan_index[rownb];

    RowContext *row = ctx->rows + threadnb;

    int x;



    row->last_dc[0] =

    row->last_dc[1] =

    row->last_dc[2] = 1 << (ctx->bit_depth + 2); 

    init_get_bits(&row->gb, ctx->buf + offset, (ctx->buf_size - offset) << 3);

    for (x = 0; x < ctx->mb_width; x++) {

        

        dnxhd_decode_macroblock(ctx, row, data, x, rownb);

        

    }



    return 0;

}

        dnxhd_decode_macroblock(ctx, row, data, x, rownb);
static int FUNC_0(AVCodecContext *VAR_0, void *VAR_1,

                            int VAR_2, int VAR_3)

{

    const DNXHDContext *VAR_4 = VAR_0->priv_data;

    uint32_t offset = VAR_4->mb_scan_index[VAR_2];

    RowContext *row = VAR_4->rows + VAR_3;

    int VAR_5;



    row->last_dc[0] =

    row->last_dc[1] =

    row->last_dc[2] = 1 << (VAR_4->bit_depth + 2); 

    init_get_bits(&row->gb, VAR_4->buf + offset, (VAR_4->buf_size - offset) << 3);

    for (VAR_5 = 0; VAR_5 < VAR_4->mb_width; VAR_5++) {

        

        dnxhd_decode_macroblock(VAR_4, row, VAR_1, VAR_5, VAR_2);

        

    }



    return 0;

}

static int FUNC_0(AVCodecContext *VAR_0, void *VAR_1,
int VAR_2, int VAR_3)
{ const DNXHDContext *VAR_4 = VAR_0->priv_data; uint32_t offset = VAR_4->mb_scan_index[VAR_2]; RowContext *row = VAR_4->rows + VAR_3; int VAR_5; row->last_dc[0] =
row->last_dc[1] =
row->last_dc[2] = 1 << (VAR_4->bit_depth + 2); init_get_bits(&row->gb, VAR_4->buf + offset, (VAR_4->buf_size - offset) << 3); for (VAR_5 = 0; VAR_5 < VAR_4->mb_width; VAR_5++) { dnxhd_decode_macroblock(VAR_4, row, VAR_1, VAR_5, VAR_2); } return 0; }