From 71f190911abde06d0e9efe604b81b160b81dde23 Mon Sep 17 00:00:00 2001 From: Wolfgang Wiedmeyer Date: Mon, 21 Dec 2015 13:49:50 +0100 Subject: 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 --- media/libstagefright/colorconversion/SoftwareRenderer.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'media/libstagefright/colorconversion') 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 &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: -- cgit v1.1