diff options
-rw-r--r-- | media/libstagefright/Android.mk | 8 | ||||
-rw-r--r-- | media/libstagefright/CameraSource.cpp | 7 |
2 files changed, 15 insertions, 0 deletions
diff --git a/media/libstagefright/Android.mk b/media/libstagefright/Android.mk index beb86d7..725789a 100644 --- a/media/libstagefright/Android.mk +++ b/media/libstagefright/Android.mk @@ -163,6 +163,14 @@ endif LOCAL_CLANG := true +ifeq ($(BOARD_USE_SAMSUNG_CAMERAFORMAT_NV21), true) +# This needs flag requires the following string constant in +# CameraParametersExtra.h: +# +# const char CameraParameters::PIXEL_FORMAT_YUV420SP_NV21[] = "nv21"; +LOCAL_CFLAGS += -DUSE_SAMSUNG_CAMERAFORMAT_NV21 +endif + # FFMPEG plugin LOCAL_C_INCLUDES += $(TOP)/external/stagefright-plugins/include diff --git a/media/libstagefright/CameraSource.cpp b/media/libstagefright/CameraSource.cpp index 27a6086..aea0f13 100644 --- a/media/libstagefright/CameraSource.cpp +++ b/media/libstagefright/CameraSource.cpp @@ -117,6 +117,13 @@ static int32_t getColorFormat(const char* colorFormat) { return OMX_COLOR_FormatYUV420SemiPlanar; } +#ifdef USE_SAMSUNG_CAMERAFORMAT_NV21 + if (!strcmp(colorFormat, CameraParameters::PIXEL_FORMAT_YUV420SP_NV21)) { + static const int OMX_SEC_COLOR_FormatNV21Linear = 0x7F000011; + return OMX_SEC_COLOR_FormatNV21Linear; + } +#endif /* USE_SAMSUNG_CAMERAFORMAT_NV21 */ + if (!strcmp(colorFormat, CameraParameters::PIXEL_FORMAT_YUV422I)) { return OMX_COLOR_FormatYCbYCr; } |