am 7f8edbd9: Merge "remove unused YUV formats" into gingerbread
Merge commit '7f8edbd92737bc610bf4f06ad8a516656be83188' into gingerbread-plus-aosp * commit '7f8edbd92737bc610bf4f06ad8a516656be83188': remove unused YUV formats
This commit is contained in:
@@ -87,7 +87,7 @@ status_t TextureManager::initTexture(Image* pImage, int32_t format)
|
||||
GLenum target = GL_TEXTURE_2D;
|
||||
#if defined(GL_OES_texture_external)
|
||||
if (GLExtensions::getInstance().haveTextureExternal()) {
|
||||
if (format && isSupportedYuvFormat(format)) {
|
||||
if (format && isYuvFormat(format)) {
|
||||
target = GL_TEXTURE_EXTERNAL_OES;
|
||||
pImage->target = Texture::TEXTURE_EXTERNAL;
|
||||
}
|
||||
@@ -105,23 +105,32 @@ status_t TextureManager::initTexture(Image* pImage, int32_t format)
|
||||
|
||||
bool TextureManager::isSupportedYuvFormat(int format)
|
||||
{
|
||||
return isYuvFormat(format);
|
||||
switch (format) {
|
||||
case HAL_PIXEL_FORMAT_YV12:
|
||||
case HAL_PIXEL_FORMAT_YV16:
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
bool TextureManager::isYuvFormat(int format)
|
||||
{
|
||||
switch (format) {
|
||||
case HAL_PIXEL_FORMAT_NV16:
|
||||
case HAL_PIXEL_FORMAT_NV21:
|
||||
case HAL_PIXEL_FORMAT_IYUV:
|
||||
case HAL_PIXEL_FORMAT_YUV9:
|
||||
case HAL_PIXEL_FORMAT_YUY2:
|
||||
case HAL_PIXEL_FORMAT_UYVY:
|
||||
case HAL_PIXEL_FORMAT_NV12:
|
||||
case HAL_PIXEL_FORMAT_NV61:
|
||||
case HAL_PIXEL_FORMAT_NV12_ADRENO_TILED:
|
||||
// supported YUV formats
|
||||
case HAL_PIXEL_FORMAT_YV12:
|
||||
case HAL_PIXEL_FORMAT_YV16:
|
||||
// Legacy/deprecated YUV formats
|
||||
case HAL_PIXEL_FORMAT_YCbCr_422_SP:
|
||||
case HAL_PIXEL_FORMAT_YCrCb_420_SP:
|
||||
case HAL_PIXEL_FORMAT_YCbCr_422_I:
|
||||
case HAL_PIXEL_FORMAT_YCbCr_420_SP_TILED:
|
||||
return true;
|
||||
}
|
||||
|
||||
// Any OEM format needs to be considered
|
||||
if (format>=0x100 && format<=0x1FF)
|
||||
return true;
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -255,7 +264,7 @@ status_t TextureManager::loadTexture(Texture* texture,
|
||||
glTexImage2D(GL_TEXTURE_2D, 0,
|
||||
GL_RGBA, texture->potWidth, texture->potHeight, 0,
|
||||
GL_RGBA, GL_UNSIGNED_BYTE, data);
|
||||
} else if (isYuvFormat(t.format)) {
|
||||
} else if (isSupportedYuvFormat(t.format)) {
|
||||
// just show the Y plane of YUV buffers
|
||||
glTexImage2D(GL_TEXTURE_2D, 0,
|
||||
GL_LUMINANCE, texture->potWidth, texture->potHeight, 0,
|
||||
@@ -283,7 +292,7 @@ status_t TextureManager::loadTexture(Texture* texture,
|
||||
0, bounds.top, t.width, bounds.height(),
|
||||
GL_RGBA, GL_UNSIGNED_BYTE,
|
||||
t.data + bounds.top*t.stride*4);
|
||||
} else if (isYuvFormat(t.format)) {
|
||||
} else if (isSupportedYuvFormat(t.format)) {
|
||||
// just show the Y plane of YUV buffers
|
||||
glTexSubImage2D(GL_TEXTURE_2D, 0,
|
||||
0, bounds.top, t.width, bounds.height(),
|
||||
|
||||
@@ -59,16 +59,13 @@ status_t getPixelFormatInfo(PixelFormat format, PixelFormatInfo* info)
|
||||
// YUV format from the HAL are handled here
|
||||
switch (format) {
|
||||
case HAL_PIXEL_FORMAT_YCbCr_422_SP:
|
||||
case HAL_PIXEL_FORMAT_YCrCb_422_SP:
|
||||
case HAL_PIXEL_FORMAT_YCbCr_422_P:
|
||||
case HAL_PIXEL_FORMAT_YCbCr_422_I:
|
||||
case HAL_PIXEL_FORMAT_CbYCrY_422_I:
|
||||
case HAL_PIXEL_FORMAT_YV16:
|
||||
info->bitsPerPixel = 16;
|
||||
goto done;
|
||||
case HAL_PIXEL_FORMAT_YCbCr_420_SP:
|
||||
case HAL_PIXEL_FORMAT_YCrCb_420_SP:
|
||||
case HAL_PIXEL_FORMAT_YCbCr_420_SP_TILED:
|
||||
case HAL_PIXEL_FORMAT_YCbCr_420_P:
|
||||
case HAL_PIXEL_FORMAT_YV12:
|
||||
info->bitsPerPixel = 12;
|
||||
done:
|
||||
info->format = format;
|
||||
|
||||
Reference in New Issue
Block a user