static int vqa_decode_frame(AVCodecContext *avctx,

                            void *data, int *data_size,

                            AVPacket *avpkt)

{

    const uint8_t *buf = avpkt->data;

    int buf_size = avpkt->size;

    VqaContext *s = avctx->priv_data;



    s->buf = buf;

    s->size = buf_size;



    if (s->frame.data[0])

        avctx->release_buffer(avctx, &s->frame);



    if (avctx->get_buffer(avctx, &s->frame)) {

        av_log(s->avctx, AV_LOG_ERROR, "  VQA Video: get_buffer() failed\n");

        return -1;

    }



    vqa_decode_chunk(s);



    /* make the palette available on the way out */

    memcpy(s->frame.data[1], s->palette, PALETTE_COUNT * 4);

    s->frame.palette_has_changed = 1;



    *data_size = sizeof(AVFrame);

    *(AVFrame*)data = s->frame;



    /* report that the buffer was completely consumed */

    return buf_size;

}

static int vqa_decode_frame(AVCodecContext *avctx,

                            void *data, int *data_size,

                            AVPacket *avpkt)

{

    const uint8_t *buf = avpkt->data;

    int buf_size = avpkt->size;

    VqaContext *s = avctx->priv_data;



    s->buf = buf;

    s->size = buf_size;



    if (s->frame.data[0])

        avctx->release_buffer(avctx, &s->frame);



    if (avctx->get_buffer(avctx, &s->frame)) {

        av_log(s->avctx, AV_LOG_ERROR, "  VQA Video: get_buffer() failed\n");

        return -1;

    }



    vqa_decode_chunk(s);



    

    memcpy(s->frame.data[1], s->palette, PALETTE_COUNT * 4);

    s->frame.palette_has_changed = 1;



    *data_size = sizeof(AVFrame);

    *(AVFrame*)data = s->frame;



    

    return buf_size;

}

    const uint8_t *buf = avpkt->data;     int buf_size = avpkt->size;     s->buf = buf;     s->size = buf_size;     vqa_decode_chunk(s);     return buf_size;
static int FUNC_0(AVCodecContext *VAR_0,

                            void *VAR_1, int *VAR_2,

                            AVPacket *VAR_3)

{

    const uint8_t *VAR_4 = VAR_3->VAR_1;

    int VAR_5 = VAR_3->size;

    VqaContext *s = VAR_0->priv_data;



    s->VAR_4 = VAR_4;

    s->size = VAR_5;



    if (s->frame.VAR_1[0])

        VAR_0->release_buffer(VAR_0, &s->frame);



    if (VAR_0->get_buffer(VAR_0, &s->frame)) {

        av_log(s->VAR_0, AV_LOG_ERROR, "  VQA Video: get_buffer() failed\n");

        return -1;

    }



    vqa_decode_chunk(s);



    

    memcpy(s->frame.VAR_1[1], s->palette, PALETTE_COUNT * 4);

    s->frame.palette_has_changed = 1;



    *VAR_2 = sizeof(AVFrame);

    *(AVFrame*)VAR_1 = s->frame;



    

    return VAR_5;

}

static int FUNC_0(AVCodecContext *VAR_0,
void *VAR_1, int *VAR_2,
AVPacket *VAR_3)
{ const uint8_t *VAR_4 = VAR_3->VAR_1; int VAR_5 = VAR_3->size; VqaContext *s = VAR_0->priv_data; s->VAR_4 = VAR_4; s->size = VAR_5; if (s->frame.VAR_1[0])
VAR_0->release_buffer(VAR_0, &s->frame); if (VAR_0->get_buffer(VAR_0, &s->frame)) { av_log(s->VAR_0, AV_LOG_ERROR, "  VQA Video: get_buffer() failed\n"); return -1; } vqa_decode_chunk(s); memcpy(s->frame.VAR_1[1], s->palette, PALETTE_COUNT * 4); s->frame.palette_has_changed = 1; *VAR_2 = sizeof(AVFrame); *(AVFrame*)VAR_1 = s->frame; return VAR_5; }