diff options
| author | James Dong <jdong@google.com> | 2010-09-15 16:52:51 -0700 |
|---|---|---|
| committer | James Dong <jdong@google.com> | 2010-09-16 14:10:31 -0700 |
| commit | 9b61dc564e673a116928838e42dae25bdf1e0796 (patch) | |
| tree | ee000e011404ec424fd8191b5849b811ffa61bef | |
| parent | 6ca404d5213926ac58dc02d77293faa93b65a223 (diff) | |
| download | frameworks_base-9b61dc564e673a116928838e42dae25bdf1e0796.zip frameworks_base-9b61dc564e673a116928838e42dae25bdf1e0796.tar.gz frameworks_base-9b61dc564e673a116928838e42dae25bdf1e0796.tar.bz2 | |
Add YUV420P color format support for video output from camera hal
Change-Id: I5c8266348d0840361c8095ce351ac85c44d4068f
| -rw-r--r-- | include/camera/CameraParameters.h | 5 | ||||
| -rw-r--r-- | libs/camera/CameraParameters.cpp | 2 | ||||
| -rw-r--r-- | media/libstagefright/CameraSource.cpp | 4 |
3 files changed, 9 insertions, 2 deletions
diff --git a/include/camera/CameraParameters.h b/include/camera/CameraParameters.h index 7c5371a..72d5756 100644 --- a/include/camera/CameraParameters.h +++ b/include/camera/CameraParameters.h @@ -354,7 +354,10 @@ public: // for barcode reading. static const char SCENE_MODE_BARCODE[]; - // Formats for setPreviewFormat and setPictureFormat. + // Pixel color formats for KEY_PREVIEW_FORMAT, KEY_PICTURE_FORMAT, + // and KEY_VIDEO_FRAME_FORMAT + // Planar variant of the YUV420 color format + static const char PIXEL_FORMAT_YUV420P[]; static const char PIXEL_FORMAT_YUV422SP[]; static const char PIXEL_FORMAT_YUV420SP[]; // NV21 static const char PIXEL_FORMAT_YUV422I[]; // YUY2 diff --git a/libs/camera/CameraParameters.cpp b/libs/camera/CameraParameters.cpp index 362d9ee..887b12c 100644 --- a/libs/camera/CameraParameters.cpp +++ b/libs/camera/CameraParameters.cpp @@ -129,7 +129,7 @@ const char CameraParameters::SCENE_MODE_PARTY[] = "party"; const char CameraParameters::SCENE_MODE_CANDLELIGHT[] = "candlelight"; const char CameraParameters::SCENE_MODE_BARCODE[] = "barcode"; -// Formats for setPreviewFormat and setPictureFormat. +const char CameraParameters::PIXEL_FORMAT_YUV420P[] = "yuv420p"; const char CameraParameters::PIXEL_FORMAT_YUV422SP[] = "yuv422sp"; const char CameraParameters::PIXEL_FORMAT_YUV420SP[] = "yuv420sp"; const char CameraParameters::PIXEL_FORMAT_YUV422I[] = "yuv422i-yuyv"; diff --git a/media/libstagefright/CameraSource.cpp b/media/libstagefright/CameraSource.cpp index dc55ddf..12ac168 100644 --- a/media/libstagefright/CameraSource.cpp +++ b/media/libstagefright/CameraSource.cpp @@ -82,6 +82,10 @@ void CameraSourceListener::postDataTimestamp( } static int32_t getColorFormat(const char* colorFormat) { + if (!strcmp(colorFormat, CameraParameters::PIXEL_FORMAT_YUV420P)) { + return OMX_COLOR_FormatYUV420Planar; + } + if (!strcmp(colorFormat, CameraParameters::PIXEL_FORMAT_YUV422SP)) { return OMX_COLOR_FormatYUV422SemiPlanar; } |
