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

libavcodec/interplayvideo.c:734:21: 
732.                 int flags = bytestream_get_le16(&s->stream_ptr);
733.                 for (x = 0; x < 8; x++, flags >>= 2)
734.                     *pixel_ptr++ = P[flags & 0x03];
                         ^
735.                 pixel_ptr += s->line_inc;
736.             }

static int ipvideo_decode_block_opcode_0x9_16(IpvideoContext *s)
{
    int x, y;
    uint16_t P[4];
    uint16_t *pixel_ptr = (uint16_t*)s->pixel_ptr;
    CHECK_STREAM_PTR(s->stream_ptr, s->stream_end, 8);
    for (x = 0; x < 4; x++)
        P[x] = bytestream_get_le16(&s->stream_ptr);
    if (!(P[0] & 0x8000)) {
        if (!(P[2] & 0x8000)) {
            CHECK_STREAM_PTR(s->stream_ptr, s->stream_end, 16);
            for (y = 0; y < 8; y++) {
                int flags = bytestream_get_le16(&s->stream_ptr);
                for (x = 0; x < 8; x++, flags >>= 2)
                    *pixel_ptr++ = P[flags & 0x03];
                pixel_ptr += s->line_inc;
            }
        } else {
            uint32_t flags;
            CHECK_STREAM_PTR(s->stream_ptr, s->stream_end, 4);
            flags = bytestream_get_le32(&s->stream_ptr);
            for (y = 0; y < 8; y += 2) {
                for (x = 0; x < 8; x += 2, flags >>= 2) {
                    pixel_ptr[x                ] =
                    pixel_ptr[x + 1            ] =
                    pixel_ptr[x +     s->stride] =
                    pixel_ptr[x + 1 + s->stride] = P[flags & 0x03];
                }
                pixel_ptr += s->stride * 2;
            }
        }
    } else {
        uint64_t flags;
        CHECK_STREAM_PTR(s->stream_ptr, s->stream_end, 8);
        flags = bytestream_get_le64(&s->stream_ptr);
        if (!(P[2] & 0x8000)) {
            for (y = 0; y < 8; y++) {
                for (x = 0; x < 8; x += 2, flags >>= 2) {
                    pixel_ptr[x    ] =
                    pixel_ptr[x + 1] = P[flags & 0x03];
                }
                pixel_ptr += s->stride;
            }
        } else {
            for (y = 0; y < 8; y += 2) {
                for (x = 0; x < 8; x++, flags >>= 2) {
                    pixel_ptr[x            ] =
                    pixel_ptr[x + s->stride] = P[flags & 0x03];
                }
                pixel_ptr += s->stride * 2;
            }
        }
    }
    return 0;
}
['static int ipvideo_decode_block_opcode_0x9_16(IpvideoContext *s)\n{\n    int x, y;\n    uint16_t P[4];\n    uint16_t *pixel_ptr = (uint16_t*)s->pixel_ptr;\n    CHECK_STREAM_PTR(s->stream_ptr, s->stream_end, 8);\n    for (x = 0; x < 4; x++)\n        P[x] = bytestream_get_le16(&s->stream_ptr);\n    if (!(P[0] & 0x8000)) {\n        if (!(P[2] & 0x8000)) {\n            CHECK_STREAM_PTR(s->stream_ptr, s->stream_end, 16);\n            for (y = 0; y < 8; y++) {\n                int flags = bytestream_get_le16(&s->stream_ptr);\n                for (x = 0; x < 8; x++, flags >>= 2)\n                    *pixel_ptr++ = P[flags & 0x03];\n                pixel_ptr += s->line_inc;\n            }\n        } else {\n            uint32_t flags;\n            CHECK_STREAM_PTR(s->stream_ptr, s->stream_end, 4);\n            flags = bytestream_get_le32(&s->stream_ptr);\n            for (y = 0; y < 8; y += 2) {\n                for (x = 0; x < 8; x += 2, flags >>= 2) {\n                    pixel_ptr[x                ] =\n                    pixel_ptr[x + 1            ] =\n                    pixel_ptr[x +     s->stride] =\n                    pixel_ptr[x + 1 + s->stride] = P[flags & 0x03];\n                }\n                pixel_ptr += s->stride * 2;\n            }\n        }\n    } else {\n        uint64_t flags;\n        CHECK_STREAM_PTR(s->stream_ptr, s->stream_end, 8);\n        flags = bytestream_get_le64(&s->stream_ptr);\n        if (!(P[2] & 0x8000)) {\n            for (y = 0; y < 8; y++) {\n                for (x = 0; x < 8; x += 2, flags >>= 2) {\n                    pixel_ptr[x    ] =\n                    pixel_ptr[x + 1] = P[flags & 0x03];\n                }\n                pixel_ptr += s->stride;\n            }\n        } else {\n            for (y = 0; y < 8; y += 2) {\n                for (x = 0; x < 8; x++, flags >>= 2) {\n                    pixel_ptr[x            ] =\n                    pixel_ptr[x + s->stride] = P[flags & 0x03];\n                }\n                pixel_ptr += s->stride * 2;\n            }\n        }\n    }\n    return 0;\n}']