libavcodec/interplayvideo.c:727: error: Uninitialized Value
  The value read from P[_] was never initialized.

libavcodec/interplayvideo.c:727:11: 
725.     /* 4-color encoding for each 4x4 quadrant, or 4-color encoding on
726.      * either top and bottom or left and right halves */
727.     if (!(P[0] & 0x8000)) {
               ^
728. 
729.         /* 4-color encoding for each quadrant */

static int ipvideo_decode_block_opcode_0xA_16(IpvideoContext *s)
{
    int x, y;
    uint16_t P[8];
    int flags = 0;
    uint16_t *pixel_ptr = (uint16_t*)s->pixel_ptr;
    for (x = 0; x < 4; x++)
        P[x] = bytestream2_get_le16(&s->stream_ptr);
    if (!(P[0] & 0x8000)) {
        for (y = 0; y < 16; y++) {
            if (!(y & 3)) {
                if (y)
                    for (x = 0; x < 4; x++)
                        P[x] = bytestream2_get_le16(&s->stream_ptr);
                flags = bytestream2_get_le32(&s->stream_ptr);
            }
            for (x = 0; x < 4; x++, flags >>= 2)
                *pixel_ptr++ = P[flags & 0x03];
            pixel_ptr += s->stride - 4;
            if (y == 7) pixel_ptr -= 8 * s->stride - 4;
        }
    } else {
        int vert;
        uint64_t flags = bytestream2_get_le64(&s->stream_ptr);
        for (x = 4; x < 8; x++)
            P[x] = bytestream2_get_le16(&s->stream_ptr);
        vert = !(P[4] & 0x8000);
        for (y = 0; y < 16; y++) {
            for (x = 0; x < 4; x++, flags >>= 2)
                *pixel_ptr++ = P[flags & 0x03];
            if (vert) {
                pixel_ptr += s->stride - 4;
                if (y == 7) pixel_ptr -= 8 * s->stride - 4;
            } else if (y & 1) pixel_ptr += s->line_inc;
            if (y == 7) {
                memcpy(P, P + 4, 8);
                flags = bytestream2_get_le64(&s->stream_ptr);
            }
        }
    }
    return 0;
}
['static int ipvideo_decode_block_opcode_0xA_16(IpvideoContext *s)\n{\n    int x, y;\n    uint16_t P[8];\n    int flags = 0;\n    uint16_t *pixel_ptr = (uint16_t*)s->pixel_ptr;\n    for (x = 0; x < 4; x++)\n        P[x] = bytestream2_get_le16(&s->stream_ptr);\n    if (!(P[0] & 0x8000)) {\n        for (y = 0; y < 16; y++) {\n            if (!(y & 3)) {\n                if (y)\n                    for (x = 0; x < 4; x++)\n                        P[x] = bytestream2_get_le16(&s->stream_ptr);\n                flags = bytestream2_get_le32(&s->stream_ptr);\n            }\n            for (x = 0; x < 4; x++, flags >>= 2)\n                *pixel_ptr++ = P[flags & 0x03];\n            pixel_ptr += s->stride - 4;\n            if (y == 7) pixel_ptr -= 8 * s->stride - 4;\n        }\n    } else {\n        int vert;\n        uint64_t flags = bytestream2_get_le64(&s->stream_ptr);\n        for (x = 4; x < 8; x++)\n            P[x] = bytestream2_get_le16(&s->stream_ptr);\n        vert = !(P[4] & 0x8000);\n        for (y = 0; y < 16; y++) {\n            for (x = 0; x < 4; x++, flags >>= 2)\n                *pixel_ptr++ = P[flags & 0x03];\n            if (vert) {\n                pixel_ptr += s->stride - 4;\n                if (y == 7) pixel_ptr -= 8 * s->stride - 4;\n            } else if (y & 1) pixel_ptr += s->line_inc;\n            if (y == 7) {\n                memcpy(P, P + 4, 8);\n                flags = bytestream2_get_le64(&s->stream_ptr);\n            }\n        }\n    }\n    return 0;\n}']