summaryrefslogtreecommitdiffstats
path: root/media/libstagefright/colorconversion
diff options
context:
space:
mode:
authorWolfgang Wiedmeyer <wolfgit@wiedmeyer.de>2015-12-21 13:49:50 +0100
committerWolfgang Wiedmeyer <wolfgit@wiedmeyer.de>2015-12-21 13:49:50 +0100
commit71f190911abde06d0e9efe604b81b160b81dde23 (patch)
tree26d04ca1d54c2b73f92a05d7c49056a69b23e02c /media/libstagefright/colorconversion
parent53ac41b011537674ae823bc38df2fea7b369c894 (diff)
downloadframeworks_av-71f190911abde06d0e9efe604b81b160b81dde23.zip
frameworks_av-71f190911abde06d0e9efe604b81b160b81dde23.tar.gz
frameworks_av-71f190911abde06d0e9efe604b81b160b81dde23.tar.bz2
colorconversion: not only check for the emulator, but also for a device that only has software rendering
Change-Id: I895cc30e6ed47629442b4cd949089fc940a8382c Signed-off-by: Wolfgang Wiedmeyer <wolfgit@wiedmeyer.de>
Diffstat (limited to 'media/libstagefright/colorconversion')
-rw-r--r--media/libstagefright/colorconversion/SoftwareRenderer.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/media/libstagefright/colorconversion/SoftwareRenderer.cpp b/media/libstagefright/colorconversion/SoftwareRenderer.cpp
index 3fa29a2..d0c8ced 100644
--- a/media/libstagefright/colorconversion/SoftwareRenderer.cpp
+++ b/media/libstagefright/colorconversion/SoftwareRenderer.cpp
@@ -33,6 +33,11 @@ static bool runningInEmulator() {
return (property_get("ro.kernel.qemu", prop, NULL) > 0);
}
+static bool needsSoftwareRendering() {
+ char prop[PROPERTY_VALUE_MAX];
+ return (property_get("ro.softwaregl", prop, NULL) > 0);
+}
+
static int ALIGN(int x, int y) {
// y must be a power of 2.
return (x + y - 1) & ~(y - 1);
@@ -106,7 +111,7 @@ void SoftwareRenderer::resetFormatIfChanged(const sp<AMessage> &format) {
size_t bufHeight = mCropHeight;
// hardware has YUV12 and RGBA8888 support, so convert known formats
- if (!runningInEmulator()) {
+ if (!runningInEmulator() && !needsSoftwareRendering()) {
switch (mColorFormat) {
case OMX_COLOR_FormatYUV420Planar:
case OMX_COLOR_FormatYUV420SemiPlanar: