Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9b61dc56 authored by James Dong's avatar James Dong
Browse files

Add YUV420P color format support for video output from camera hal

Change-Id: I5c8266348d0840361c8095ce351ac85c44d4068f
parent 6ca404d5
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -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
+1 −1
Original line number Diff line number Diff line
@@ -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";
+4 −0
Original line number Diff line number Diff line
@@ -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;
    }