switch(buffer->format)
{
- default: ALOGE("Unsupported buffer format %d", buffer->format); ASSERT(false);
- case HAL_PIXEL_FORMAT_RGB_565: destFormat = FORMAT_R5G6B5; break;
- case HAL_PIXEL_FORMAT_RGB_888: destFormat = FORMAT_R8G8B8; break;
+ case HAL_PIXEL_FORMAT_RGB_565: destFormat = FORMAT_R5G6B5; break;
case HAL_PIXEL_FORMAT_RGBA_8888: destFormat = FORMAT_A8B8G8R8; break;
#if ANDROID_PLATFORM_SDK_VERSION > 16
case HAL_PIXEL_FORMAT_IMPLEMENTATION_DEFINED: destFormat = FORMAT_X8B8G8R8; break;
#endif
case HAL_PIXEL_FORMAT_RGBX_8888: destFormat = FORMAT_X8B8G8R8; break;
case HAL_PIXEL_FORMAT_BGRA_8888: destFormat = FORMAT_A8R8G8B8; break;
+ case HAL_PIXEL_FORMAT_RGB_888:
+ // Frame buffers are expected to have 16-bit or 32-bit colors, not 24-bit.
+ ALOGE("Unsupported frame buffer format RGB_888"); ASSERT(false);
+ destFormat = FORMAT_R8G8B8; // Wrong component order.
+ break;
+ default:
+ ALOGE("Unsupported frame buffer format %d", buffer->format); ASSERT(false);
+ destFormat = FORMAT_NULL;
+ break;
}
stride = buffer->stride * Surface::bytes(destFormat);
case HAL_PIXEL_FORMAT_IMPLEMENTATION_DEFINED: return GL_RGB8;
#endif
case HAL_PIXEL_FORMAT_RGBX_8888: return GL_RGB8;
- case HAL_PIXEL_FORMAT_RGB_888: return GL_NONE; // Unsupported
case HAL_PIXEL_FORMAT_BGRA_8888: return GL_BGRA8_EXT;
case HAL_PIXEL_FORMAT_RGB_565: return GL_RGB565;
case HAL_PIXEL_FORMAT_YV12: return SW_YV12_BT601;
#ifdef GRALLOC_MODULE_API_VERSION_0_2
case HAL_PIXEL_FORMAT_YCbCr_420_888: return SW_YV12_BT601;
#endif
- default: return GL_NONE;
+ case HAL_PIXEL_FORMAT_RGB_888: // Unsupported.
+ default:
+ ALOGE("Unsupported EGL image format %d", halFormat); ASSERT(false);
+ return GL_NONE;
}
}
case HAL_PIXEL_FORMAT_IMPLEMENTATION_DEFINED: return GL_UNSIGNED_BYTE;
#endif
case HAL_PIXEL_FORMAT_RGBX_8888: return GL_UNSIGNED_BYTE;
- case HAL_PIXEL_FORMAT_RGB_888: return GL_NONE; // Unsupported
case HAL_PIXEL_FORMAT_BGRA_8888: return GL_UNSIGNED_BYTE;
case HAL_PIXEL_FORMAT_RGB_565: return GL_UNSIGNED_SHORT_5_6_5;
case HAL_PIXEL_FORMAT_YV12: return GL_UNSIGNED_BYTE;
#ifdef GRALLOC_MODULE_API_VERSION_0_2
case HAL_PIXEL_FORMAT_YCbCr_420_888: return GL_UNSIGNED_BYTE;
#endif
- default: return GL_NONE;
+ case HAL_PIXEL_FORMAT_RGB_888: // Unsupported.
+ default:
+ ALOGE("Unsupported EGL image format %d", halFormat); ASSERT(false);
+ return GL_NONE;
}
}