static int dx2_decode_slice_5x5(GetBitContext *gb, AVFrame *frame,

                                int line, int left, uint8_t lru[3][8],

                                int is_565)

{

    int x, y;

    int r, g, b;

    int width    = frame->width;

    int stride   = frame->linesize[0];

    uint8_t *dst = frame->data[0] + stride * line;



    for (y = 0; y < left && get_bits_left(gb) > 16; y++) {

        for (x = 0; x < width; x++) {

            b = decode_sym_565(gb, lru[0], 5);

            g = decode_sym_565(gb, lru[1], is_565 ? 6 : 5);

            r = decode_sym_565(gb, lru[2], 5);

            dst[x * 3 + 0] = (r << 3) | (r >> 2);

            dst[x * 3 + 1] = is_565 ? (g << 2) | (g >> 4) : (g << 3) | (g >> 2);

            dst[x * 3 + 2] = (b << 3) | (b >> 2);

        }



        dst += stride;

    }



    return y;

}

static int dx2_decode_slice_5x5(GetBitContext *gb, AVFrame *frame,

                                int line, int left, uint8_t lru[3][8],

                                int is_565)

{

    int x, y;

    int r, g, b;

    int width    = frame->width;

    int stride   = frame->linesize[0];

    uint8_t *dst = frame->data[0] + stride * line;



    for (y = 0; y < left && get_bits_left(gb) > 16; y++) {

        for (x = 0; x < width; x++) {

            b = decode_sym_565(gb, lru[0], 5);

            g = decode_sym_565(gb, lru[1], is_565 ? 6 : 5);

            r = decode_sym_565(gb, lru[2], 5);

            dst[x * 3 + 0] = (r << 3) | (r >> 2);

            dst[x * 3 + 1] = is_565 ? (g << 2) | (g >> 4) : (g << 3) | (g >> 2);

            dst[x * 3 + 2] = (b << 3) | (b >> 2);

        }



        dst += stride;

    }



    return y;

}

    for (y = 0; y < left && get_bits_left(gb) > 16; y++) {     for (y = 0; y < left && get_bits_left(gb) > 16; y++) {     for (y = 0; y < left && get_bits_left(gb) > 16; y++) {
static int FUNC_0(GetBitContext *VAR_0, AVFrame *VAR_1,

                                int VAR_2, int VAR_3, uint8_t VAR_4[3][8],

                                int VAR_5)

{

    int VAR_6, VAR_7;

    int VAR_8, VAR_9, VAR_10;

    int VAR_11    = VAR_1->VAR_11;

    int VAR_12   = VAR_1->linesize[0];

    uint8_t *dst = VAR_1->data[0] + VAR_12 * VAR_2;



    for (VAR_7 = 0; VAR_7 < VAR_3 && get_bits_left(VAR_0) > 16; VAR_7++) {

        for (VAR_6 = 0; VAR_6 < VAR_11; VAR_6++) {

            VAR_10 = decode_sym_565(VAR_0, VAR_4[0], 5);

            VAR_9 = decode_sym_565(VAR_0, VAR_4[1], VAR_5 ? 6 : 5);

            VAR_8 = decode_sym_565(VAR_0, VAR_4[2], 5);

            dst[VAR_6 * 3 + 0] = (VAR_8 << 3) | (VAR_8 >> 2);

            dst[VAR_6 * 3 + 1] = VAR_5 ? (VAR_9 << 2) | (VAR_9 >> 4) : (VAR_9 << 3) | (VAR_9 >> 2);

            dst[VAR_6 * 3 + 2] = (VAR_10 << 3) | (VAR_10 >> 2);

        }



        dst += VAR_12;

    }



    return VAR_7;

}

static int FUNC_0(GetBitContext *VAR_0, AVFrame *VAR_1,
int VAR_2, int VAR_3, uint8_t VAR_4[3][8],
int VAR_5)
{ int VAR_6, VAR_7; int VAR_8, VAR_9, VAR_10; int VAR_11    = VAR_1->VAR_11; int VAR_12   = VAR_1->linesize[0]; uint8_t *dst = VAR_1->data[0] + VAR_12 * VAR_2; for (VAR_7 = 0; VAR_7 < VAR_3 && get_bits_left(VAR_0) > 16; VAR_7++) { for (VAR_6 = 0; VAR_6 < VAR_11; VAR_6++) { VAR_10 = decode_sym_565(VAR_0, VAR_4[0], 5); VAR_9 = decode_sym_565(VAR_0, VAR_4[1], VAR_5 ? 6 : 5); VAR_8 = decode_sym_565(VAR_0, VAR_4[2], 5); dst[VAR_6 * 3 + 0] = (VAR_8 << 3) | (VAR_8 >> 2); dst[VAR_6 * 3 + 1] = VAR_5 ? (VAR_9 << 2) | (VAR_9 >> 4) : (VAR_9 << 3) | (VAR_9 >> 2); dst[VAR_6 * 3 + 2] = (VAR_10 << 3) | (VAR_10 >> 2); } dst += VAR_12; } return VAR_7; }