static void qtrle_decode_16bpp(QtrleContext *s, int stream_ptr, int row_ptr, int lines_to_change)

{

    int rle_code;

    int pixel_ptr;

    int row_inc = s->frame.linesize[0];

    unsigned short rgb16;

    unsigned char *rgb = s->frame.data[0];

    int pixel_limit = s->frame.linesize[0] * s->avctx->height;



    while (lines_to_change--) {

        CHECK_STREAM_PTR(2);

        pixel_ptr = row_ptr + (s->buf[stream_ptr++] - 1) * 2;



        while ((rle_code = (signed char)s->buf[stream_ptr++]) != -1) {

            if (rle_code == 0) {

                /* there's another skip code in the stream */

                CHECK_STREAM_PTR(1);

                pixel_ptr += (s->buf[stream_ptr++] - 1) * 2;

                CHECK_PIXEL_PTR(0);  /* make sure pixel_ptr is positive */

            } else if (rle_code < 0) {

                /* decode the run length code */

                rle_code = -rle_code;

                CHECK_STREAM_PTR(2);

                rgb16 = AV_RB16(&s->buf[stream_ptr]);

                stream_ptr += 2;



                CHECK_PIXEL_PTR(rle_code * 2);



                while (rle_code--) {

                    *(unsigned short *)(&rgb[pixel_ptr]) = rgb16;

                    pixel_ptr += 2;

                }

            } else {

                CHECK_STREAM_PTR(rle_code * 2);

                CHECK_PIXEL_PTR(rle_code * 2);



                /* copy pixels directly to output */

                while (rle_code--) {

                    rgb16 = AV_RB16(&s->buf[stream_ptr]);

                    stream_ptr += 2;

                    *(unsigned short *)(&rgb[pixel_ptr]) = rgb16;

                    pixel_ptr += 2;

                }

            }

        }

        row_ptr += row_inc;

    }

}

static void qtrle_decode_16bpp(QtrleContext *s, int stream_ptr, int row_ptr, int lines_to_change)

{

    int rle_code;

    int pixel_ptr;

    int row_inc = s->frame.linesize[0];

    unsigned short rgb16;

    unsigned char *rgb = s->frame.data[0];

    int pixel_limit = s->frame.linesize[0] * s->avctx->height;



    while (lines_to_change--) {

        CHECK_STREAM_PTR(2);

        pixel_ptr = row_ptr + (s->buf[stream_ptr++] - 1) * 2;



        while ((rle_code = (signed char)s->buf[stream_ptr++]) != -1) {

            if (rle_code == 0) {

                

                CHECK_STREAM_PTR(1);

                pixel_ptr += (s->buf[stream_ptr++] - 1) * 2;

                CHECK_PIXEL_PTR(0);  

            } else if (rle_code < 0) {

                

                rle_code = -rle_code;

                CHECK_STREAM_PTR(2);

                rgb16 = AV_RB16(&s->buf[stream_ptr]);

                stream_ptr += 2;



                CHECK_PIXEL_PTR(rle_code * 2);



                while (rle_code--) {

                    *(unsigned short *)(&rgb[pixel_ptr]) = rgb16;

                    pixel_ptr += 2;

                }

            } else {

                CHECK_STREAM_PTR(rle_code * 2);

                CHECK_PIXEL_PTR(rle_code * 2);



                

                while (rle_code--) {

                    rgb16 = AV_RB16(&s->buf[stream_ptr]);

                    stream_ptr += 2;

                    *(unsigned short *)(&rgb[pixel_ptr]) = rgb16;

                    pixel_ptr += 2;

                }

            }

        }

        row_ptr += row_inc;

    }

}

        CHECK_STREAM_PTR(2);         CHECK_STREAM_PTR(2);         while ((rle_code = (signed char)s->buf[stream_ptr++]) != -1) {                 CHECK_STREAM_PTR(1);         CHECK_STREAM_PTR(2);         while ((rle_code = (signed char)s->buf[stream_ptr++]) != -1) {                 CHECK_STREAM_PTR(1); static void qtrle_decode_16bpp(QtrleContext *s, int stream_ptr, int row_ptr, int lines_to_change)         CHECK_STREAM_PTR(2);         pixel_ptr = row_ptr + (s->buf[stream_ptr++] - 1) * 2;         while ((rle_code = (signed char)s->buf[stream_ptr++]) != -1) {                 CHECK_STREAM_PTR(1);                 pixel_ptr += (s->buf[stream_ptr++] - 1) * 2;                 CHECK_STREAM_PTR(2);                 rgb16 = AV_RB16(&s->buf[stream_ptr]);                 stream_ptr += 2;                 CHECK_STREAM_PTR(rle_code * 2);                     rgb16 = AV_RB16(&s->buf[stream_ptr]);                     stream_ptr += 2;         CHECK_STREAM_PTR(2);         while ((rle_code = (signed char)s->buf[stream_ptr++]) != -1) {                 CHECK_STREAM_PTR(1);         CHECK_STREAM_PTR(2);         while ((rle_code = (signed char)s->buf[stream_ptr++]) != -1) {                 CHECK_STREAM_PTR(1);
static void FUNC_0(QtrleContext *VAR_0, int VAR_1, int VAR_2, int VAR_3)

{

    int VAR_4;

    int VAR_5;

    int VAR_6 = VAR_0->frame.linesize[0];

    unsigned short VAR_7;

    unsigned char *VAR_8 = VAR_0->frame.data[0];

    int VAR_9 = VAR_0->frame.linesize[0] * VAR_0->avctx->height;



    while (VAR_3--) {

        CHECK_STREAM_PTR(2);

        VAR_5 = VAR_2 + (VAR_0->buf[VAR_1++] - 1) * 2;



        while ((VAR_4 = (signed char)VAR_0->buf[VAR_1++]) != -1) {

            if (VAR_4 == 0) {

                

                CHECK_STREAM_PTR(1);

                VAR_5 += (VAR_0->buf[VAR_1++] - 1) * 2;

                CHECK_PIXEL_PTR(0);  

            } else if (VAR_4 < 0) {

                

                VAR_4 = -VAR_4;

                CHECK_STREAM_PTR(2);

                VAR_7 = AV_RB16(&VAR_0->buf[VAR_1]);

                VAR_1 += 2;



                CHECK_PIXEL_PTR(VAR_4 * 2);



                while (VAR_4--) {

                    *(unsigned short *)(&VAR_8[VAR_5]) = VAR_7;

                    VAR_5 += 2;

                }

            } else {

                CHECK_STREAM_PTR(VAR_4 * 2);

                CHECK_PIXEL_PTR(VAR_4 * 2);



                

                while (VAR_4--) {

                    VAR_7 = AV_RB16(&VAR_0->buf[VAR_1]);

                    VAR_1 += 2;

                    *(unsigned short *)(&VAR_8[VAR_5]) = VAR_7;

                    VAR_5 += 2;

                }

            }

        }

        VAR_2 += VAR_6;

    }

}

static void FUNC_0(QtrleContext *VAR_0, int VAR_1, int VAR_2, int VAR_3)
{ int VAR_4; int VAR_5; int VAR_6 = VAR_0->frame.linesize[0]; unsigned short VAR_7; unsigned char *VAR_8 = VAR_0->frame.data[0]; int VAR_9 = VAR_0->frame.linesize[0] * VAR_0->avctx->height; while (VAR_3--) { CHECK_STREAM_PTR(2); VAR_5 = VAR_2 + (VAR_0->buf[VAR_1++] - 1) * 2; while ((VAR_4 = (signed char)VAR_0->buf[VAR_1++]) != -1) { if (VAR_4 == 0) { CHECK_STREAM_PTR(1); VAR_5 += (VAR_0->buf[VAR_1++] - 1) * 2; CHECK_PIXEL_PTR(0); } else if (VAR_4 < 0) { VAR_4 = -VAR_4; CHECK_STREAM_PTR(2); VAR_7 = AV_RB16(&VAR_0->buf[VAR_1]); VAR_1 += 2; CHECK_PIXEL_PTR(VAR_4 * 2); while (VAR_4--) { *(unsigned short *)(&VAR_8[VAR_5]) = VAR_7; VAR_5 += 2; } } else { CHECK_STREAM_PTR(VAR_4 * 2); CHECK_PIXEL_PTR(VAR_4 * 2); while (VAR_4--) { VAR_7 = AV_RB16(&VAR_0->buf[VAR_1]); VAR_1 += 2; *(unsigned short *)(&VAR_8[VAR_5]) = VAR_7; VAR_5 += 2; } } } VAR_2 += VAR_6; } }