summaryrefslogtreecommitdiffstats
path: root/media/libstagefright/colorconversion/SoftwareRenderer.cpp
diff options
context:
space:
mode:
authorAndreas Huber <andih@google.com>2012-05-04 09:58:03 -0700
committerAndreas Huber <andih@google.com>2012-05-04 09:58:03 -0700
commit9dc4c66f36ca0158b470c78b0929cd9dd929a375 (patch)
treeef5665551f1b072192b3c7867690dca03298f1d9 /media/libstagefright/colorconversion/SoftwareRenderer.cpp
parentf53c36c6463d899895719b8b17ba45bd2d552cee (diff)
downloadframeworks_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.cpp18
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: