summaryrefslogtreecommitdiffstats
path: root/camera/BufferSourceAdapter.cpp
diff options
context:
space:
mode:
authorEmilian Peev <epeev@mm-sol.com>2012-09-04 12:09:17 +0300
committerDaniel Levin <dendy@ti.com>2012-11-26 20:09:17 +0200
commit09b5ff4a75238f8e33b84d56851ff21e447f6016 (patch)
treec42d4bc778d26aaa9854639e8bea138735206dc1 /camera/BufferSourceAdapter.cpp
parentb10ee605cdfa5fd96c7bfeea7d0b3c702525185c (diff)
downloadhardware_ti_omap4-09b5ff4a75238f8e33b84d56851ff21e447f6016.tar.gz
hardware_ti_omap4-09b5ff4a75238f8e33b84d56851ff21e447f6016.tar.bz2
hardware_ti_omap4-09b5ff4a75238f8e33b84d56851ff21e447f6016.zip
CameraHal: Add support for UYVY reprocessing
NOTE: Currently UYVY is mapped to 'CameraParameters::PIXEL_FORMAT_YUV422I' which is not entirely correct. The Google pixelformat expects YUYV ordering of the components. Change-Id: Ia82e08363d6804e51c447eb845da2ca23fc29ae9 Signed-off-by: Emilian Peev <epeev@mm-sol.com> Signed-off-by: Vladimir Petrov <vppetrov@mm-sol.com>
Diffstat (limited to 'camera/BufferSourceAdapter.cpp')
-rw-r--r--camera/BufferSourceAdapter.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/camera/BufferSourceAdapter.cpp b/camera/BufferSourceAdapter.cpp
index a595b4b..97a7809 100644
--- a/camera/BufferSourceAdapter.cpp
+++ b/camera/BufferSourceAdapter.cpp
@@ -31,8 +31,7 @@ static int getANWFormat(const char* parameters_format)
if (parameters_format != NULL) {
if (strcmp(parameters_format, android::CameraParameters::PIXEL_FORMAT_YUV422I) == 0) {
CAMHAL_LOGDA("CbYCrY format selected");
- // TODO(XXX): not defined yet
- format = -1;
+ format = HAL_PIXEL_FORMAT_TI_UYVY;
} else if (strcmp(parameters_format, android::CameraParameters::PIXEL_FORMAT_YUV420SP) == 0) {
CAMHAL_LOGDA("YUV420SP format selected");
format = HAL_PIXEL_FORMAT_TI_NV12;
@@ -78,6 +77,8 @@ static const char* getFormatFromANW(int format)
return android::CameraParameters::PIXEL_FORMAT_YUV420SP;
case HAL_PIXEL_FORMAT_TI_Y16:
return android::CameraParameters::PIXEL_FORMAT_BAYER_RGGB;
+ case HAL_PIXEL_FORMAT_TI_UYVY:
+ return android::CameraParameters::PIXEL_FORMAT_YUV422I;
default:
break;
}
@@ -88,6 +89,7 @@ static CameraFrame::FrameType formatToOutputFrameType(const char* format) {
switch (getANWFormat(format)) {
case HAL_PIXEL_FORMAT_TI_NV12:
case HAL_PIXEL_FORMAT_TI_Y16:
+ case HAL_PIXEL_FORMAT_TI_UYVY:
// Assuming NV12 1D is RAW or Image frame
return CameraFrame::RAW_FRAME;
default:
@@ -102,6 +104,7 @@ static int getHeightFromFormat(const char* format, int stride, int size) {
case HAL_PIXEL_FORMAT_TI_NV12:
return (size / (3 * stride)) * 2;
case HAL_PIXEL_FORMAT_TI_Y16:
+ case HAL_PIXEL_FORMAT_TI_UYVY:
return (size / stride) / 2;
default:
break;