summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChien-Yu Chen <cychen@google.com>2015-06-19 19:51:40 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2015-06-19 19:51:42 +0000
commitbe2e38e01c5c23d1ac240313ecb8f71251c448c3 (patch)
tree964dec18bfe705568cfabf33ef5a2cbf4ea7390a
parentf3e8dca84b51e6eab1cc1384a5baabb0bae433a1 (diff)
parent0782aab077b32613c6715190135008dbf3dc5d6d (diff)
downloadframeworks_base-be2e38e01c5c23d1ac240313ecb8f71251c448c3.zip
frameworks_base-be2e38e01c5c23d1ac240313ecb8f71251c448c3.tar.gz
frameworks_base-be2e38e01c5c23d1ac240313ecb8f71251c448c3.tar.bz2
Merge "ImageReader: Fix format workarounds for legacy devices" into mnc-dev
-rw-r--r--core/java/android/hardware/camera2/legacy/SurfaceTextureRenderer.java2
-rw-r--r--media/jni/android_media_ImageReader.cpp5
2 files changed, 4 insertions, 3 deletions
diff --git a/core/java/android/hardware/camera2/legacy/SurfaceTextureRenderer.java b/core/java/android/hardware/camera2/legacy/SurfaceTextureRenderer.java
index f928a55..bc80fc1 100644
--- a/core/java/android/hardware/camera2/legacy/SurfaceTextureRenderer.java
+++ b/core/java/android/hardware/camera2/legacy/SurfaceTextureRenderer.java
@@ -630,8 +630,6 @@ public class SurfaceTextureRenderer {
holder.width = surfaceSize.getWidth();
holder.height = surfaceSize.getHeight();
if (LegacyCameraDevice.needsConversion(s)) {
- // Always override to YV12 output for YUV surface formats.
- LegacyCameraDevice.setSurfaceFormat(s, ImageFormat.YV12);
mConversionSurfaces.add(holder);
} else {
mSurfaces.add(holder);
diff --git a/media/jni/android_media_ImageReader.cpp b/media/jni/android_media_ImageReader.cpp
index 635fa11..0034b07 100644
--- a/media/jni/android_media_ImageReader.cpp
+++ b/media/jni/android_media_ImageReader.cpp
@@ -1240,8 +1240,11 @@ static jint Image_getFormat(JNIEnv* env, jobject thiz, jint readerFormat)
return static_cast<jint>(PublicFormat::PRIVATE);
} else {
CpuConsumer::LockedBuffer* buffer = Image_getLockedBuffer(env, thiz);
+ int readerHalFormat = android_view_Surface_mapPublicFormatToHalFormat(
+ static_cast<PublicFormat>(readerFormat));
+ int32_t fmt = applyFormatOverrides(buffer->flexFormat, readerHalFormat);
PublicFormat publicFmt = android_view_Surface_mapHalFormatDataspaceToPublicFormat(
- buffer->flexFormat, buffer->dataSpace);
+ fmt, buffer->dataSpace);
return static_cast<jint>(publicFmt);
}
}