static int decode_plte_chunk(AVCodecContext *avctx, PNGDecContext *s,

                             uint32_t length)

{

    int n, i, r, g, b;



    if ((length % 3) != 0 || length > 256 * 3)

        return AVERROR_INVALIDDATA;

    /* read the palette */

    n = length / 3;

    for (i = 0; i < n; i++) {

        r = bytestream2_get_byte(&s->gb);

        g = bytestream2_get_byte(&s->gb);

        b = bytestream2_get_byte(&s->gb);

        s->palette[i] = (0xFFU << 24) | (r << 16) | (g << 8) | b;

    }

    for (; i < 256; i++)

        s->palette[i] = (0xFFU << 24);

    s->state |= PNG_PLTE;

    bytestream2_skip(&s->gb, 4);     /* crc */



    return 0;

}

static int decode_plte_chunk(AVCodecContext *avctx, PNGDecContext *s,

                             uint32_t length)

{

    int n, i, r, g, b;



    if ((length % 3) != 0 || length > 256 * 3)

        return AVERROR_INVALIDDATA;

    

    n = length / 3;

    for (i = 0; i < n; i++) {

        r = bytestream2_get_byte(&s->gb);

        g = bytestream2_get_byte(&s->gb);

        b = bytestream2_get_byte(&s->gb);

        s->palette[i] = (0xFFU << 24) | (r << 16) | (g << 8) | b;

    }

    for (; i < 256; i++)

        s->palette[i] = (0xFFU << 24);

    s->state |= PNG_PLTE;

    bytestream2_skip(&s->gb, 4);     



    return 0;

}

    s->state |= PNG_PLTE;
static int FUNC_0(AVCodecContext *VAR_0, PNGDecContext *VAR_1,

                             uint32_t VAR_2)

{

    int VAR_3, VAR_4, VAR_5, VAR_6, VAR_7;



    if ((VAR_2 % 3) != 0 || VAR_2 > 256 * 3)

        return AVERROR_INVALIDDATA;

    

    VAR_3 = VAR_2 / 3;

    for (VAR_4 = 0; VAR_4 < VAR_3; VAR_4++) {

        VAR_5 = bytestream2_get_byte(&VAR_1->gb);

        VAR_6 = bytestream2_get_byte(&VAR_1->gb);

        VAR_7 = bytestream2_get_byte(&VAR_1->gb);

        VAR_1->palette[VAR_4] = (0xFFU << 24) | (VAR_5 << 16) | (VAR_6 << 8) | VAR_7;

    }

    for (; VAR_4 < 256; VAR_4++)

        VAR_1->palette[VAR_4] = (0xFFU << 24);

    VAR_1->state |= PNG_PLTE;

    bytestream2_skip(&VAR_1->gb, 4);     



    return 0;

}

static int FUNC_0(AVCodecContext *VAR_0, PNGDecContext *VAR_1,
uint32_t VAR_2)
{ int VAR_3, VAR_4, VAR_5, VAR_6, VAR_7; if ((VAR_2 % 3) != 0 || VAR_2 > 256 * 3)
return AVERROR_INVALIDDATA; VAR_3 = VAR_2 / 3; for (VAR_4 = 0; VAR_4 < VAR_3; VAR_4++) { VAR_5 = bytestream2_get_byte(&VAR_1->gb); VAR_6 = bytestream2_get_byte(&VAR_1->gb); VAR_7 = bytestream2_get_byte(&VAR_1->gb); VAR_1->palette[VAR_4] = (0xFFU << 24) | (VAR_5 << 16) | (VAR_6 << 8) | VAR_7; } for (; VAR_4 < 256; VAR_4++) VAR_1->palette[VAR_4] = (0xFFU << 24); VAR_1->state |= PNG_PLTE; bytestream2_skip(&VAR_1->gb, 4); return 0; }