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 | e2d8ba8c36fd39eb98f604b11654aa5466673260 (patch) | |
| tree | bdbd47442bc5f6c564746b99b4752a927c59f47b | |
| parent | 38a7476749eb4b4fd117b6e64027870077eb22d8 (diff) | |
| download | frameworks_av-e2d8ba8c36fd39eb98f604b11654aa5466673260.zip frameworks_av-e2d8ba8c36fd39eb98f604b11654aa5466673260.tar.gz frameworks_av-e2d8ba8c36fd39eb98f604b11654aa5466673260.tar.bz2 | |
Add YUV420P color format support for video output from camera hal
Change-Id: I5c8266348d0840361c8095ce351ac85c44d4068f
| -rw-r--r-- | camera/CameraParameters.cpp | 2 | ||||
| -rw-r--r-- | include/camera/CameraParameters.h | 5 | ||||
| -rw-r--r-- | media/libstagefright/CameraSource.cpp | 4 |
3 files changed, 9 insertions, 2 deletions
diff --git a/camera/CameraParameters.cpp b/camera/CameraParameters.cpp index 362d9ee..887b12c 100644 --- a/camera/CameraParameters.cpp +++ b/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/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/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; } |
