diff options
author | Andreas Huber <andih@google.com> | 2012-05-04 09:58:03 -0700 |
---|---|---|
committer | Andreas Huber <andih@google.com> | 2012-05-04 09:58:03 -0700 |
commit | 9dc4c66f36ca0158b470c78b0929cd9dd929a375 (patch) | |
tree | ef5665551f1b072192b3c7867690dca03298f1d9 /media/libstagefright/colorconversion/SoftwareRenderer.cpp | |
parent | f53c36c6463d899895719b8b17ba45bd2d552cee (diff) | |
download | frameworks_av-9dc4c66f36ca0158b470c78b0929cd9dd929a375.zip frameworks_av-9dc4c66f36ca0158b470c78b0929cd9dd929a375.tar.gz frameworks_av-9dc4c66f36ca0158b470c78b0929cd9dd929a375.tar.bz2 |
Until we have emulator support for YUV12 rendering do software color conversion.
Change-Id: Id2e118cae224facad7077f2f62c62cd21e95e749
related-to-bug: 6444358
Diffstat (limited to 'media/libstagefright/colorconversion/SoftwareRenderer.cpp')
-rw-r--r-- | media/libstagefright/colorconversion/SoftwareRenderer.cpp | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/media/libstagefright/colorconversion/SoftwareRenderer.cpp b/media/libstagefright/colorconversion/SoftwareRenderer.cpp index 059d6b9..8673bad 100644 --- a/media/libstagefright/colorconversion/SoftwareRenderer.cpp +++ b/media/libstagefright/colorconversion/SoftwareRenderer.cpp @@ -19,6 +19,7 @@ #include "../include/SoftwareRenderer.h" +#include <cutils/properties.h> // for property_get #include <media/stagefright/foundation/ADebug.h> #include <media/stagefright/MetaData.h> #include <system/window.h> @@ -27,6 +28,11 @@ namespace android { +static bool runningInEmulator() { + char prop[PROPERTY_VALUE_MAX]; + return (property_get("ro.kernel.qemu", prop, NULL) > 0); +} + SoftwareRenderer::SoftwareRenderer( const sp<ANativeWindow> &nativeWindow, const sp<MetaData> &meta) : mConverter(NULL), @@ -62,10 +68,14 @@ SoftwareRenderer::SoftwareRenderer( case OMX_COLOR_FormatYUV420Planar: case OMX_TI_COLOR_FormatYUV420PackedSemiPlanar: { - halFormat = HAL_PIXEL_FORMAT_YV12; - bufWidth = (mCropWidth + 1) & ~1; - bufHeight = (mCropHeight + 1) & ~1; - break; + if (!runningInEmulator()) { + halFormat = HAL_PIXEL_FORMAT_YV12; + bufWidth = (mCropWidth + 1) & ~1; + bufHeight = (mCropHeight + 1) & ~1; + break; + } + + // fall through. } default: |