我尝试使用此指令创建 Android GraphicBuffer
新的 GraphicBuffer(160, 98, HAL_PIXEL_FORMAT_YV12, GraphicBuffer::USAGE_HW_TEXTURE | GraphicBuffer::USAGE_SW_WRITE_RARELY)
它适用于我的 Android 4.0 设备 Huawei Mediapad,但不适用于 Android 2.3 HTC Desire。那就是我得到错误:
05-28 16:53:15.994: W/GraphicBufferAllocator(3765): alloc(160, 98, 842094169, 00000120, ...) 失败 -22 (无效参数)
如果我将像素格式从 HAL_PIXEL_FORMAT_YV12 更改为 HAL_PIXEL_FORMAT_RGB_565,那么它在我的两个设备上都可以正常工作。我想 Android 2.3 不支持 YV12 但无论如何我都需要 YUV 像素的格式。