def decode_rgb565(val):
    """Decode a RGB565 uint16 into a RGB888 tuple."""
    r5 = (val & 0xf800) >> 11
    g6 = (val & 0x7e0) >> 5
    b5 = val & 0x1f
    return (
        int((r5 * 255 + 15) / 31),
        int((g6 * 255 + 31) / 63),
        int((b5 * 255 + 15) / 31)
    )