diff options
author | Wolfgang Wiedmeyer <wolfgit@wiedmeyer.de> | 2015-12-21 13:49:50 +0100 |
---|---|---|
committer | Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org> | 2020-01-02 15:15:18 +0100 |
commit | a16ccffd6941c0761a32f9bba78d4a83d3d8e3a9 (patch) | |
tree | 26716b54bc099f84215418c498285306b4c992c4 | |
parent | 779361abc2ace8edf7e84170498a3980599087eb (diff) | |
download | frameworks_av-a16ccffd6941c0761a32f9bba78d4a83d3d8e3a9.tar.gz frameworks_av-a16ccffd6941c0761a32f9bba78d4a83d3d8e3a9.tar.bz2 frameworks_av-a16ccffd6941c0761a32f9bba78d4a83d3d8e3a9.zip |
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>
-rw-r--r-- | media/libstagefright/colorconversion/SoftwareRenderer.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/media/libstagefright/colorconversion/SoftwareRenderer.cpp b/media/libstagefright/colorconversion/SoftwareRenderer.cpp index 59af12a075..2a861d7378 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: |