diff options
author | junjiez <junjiez@codeaurora.org> | 2016-12-07 15:44:46 +0800 |
---|---|---|
committer | Arne Coucheron <arco68@gmail.com> | 2017-06-13 07:18:41 +0200 |
commit | 708af54ab42e5f4143d987ef6a9aa476499763ae (patch) | |
tree | 413d460adc9bf494f92d0da8e5d68636e5c962b7 | |
parent | 9d21c697f4bd8f62892c374e993ff41d6d98722b (diff) | |
download | android_packages_apps_Snap-708af54ab42e5f4143d987ef6a9aa476499763ae.tar.gz android_packages_apps_Snap-708af54ab42e5f4143d987ef6a9aa476499763ae.tar.bz2 android_packages_apps_Snap-708af54ab42e5f4143d987ef6a9aa476499763ae.zip |
SnapdragonCamera: Fix front camera preview flipped
Modidfy render script to implement new flip way
according to the front camera mounting position.
Change-Id: I5681447aa17c0499bcb7dc47eef6d4793ee68818
CRs-Fixed: 1097179
-rwxr-xr-x | rs/rotator.rs | 9 | ||||
-rw-r--r-- | src/com/android/camera/imageprocessor/FrameProcessor.java | 3 |
2 files changed, 12 insertions, 0 deletions
diff --git a/rs/rotator.rs b/rs/rotator.rs index 2c57951d6..62257d2cf 100755 --- a/rs/rotator.rs +++ b/rs/rotator.rs @@ -50,6 +50,10 @@ uchar __attribute__((kernel)) rotate90andMerge(uint32_t x, uint32_t y) { if(x >= width - pad) return (uchar)0; rsSetElementAt_uchar(gOut, yValue, (width-1-x-pad)*height + y); + } else if (degree == 0) { + if(x >= width - pad) + return (uchar)0; + rsSetElementAt_uchar(gOut, yValue, x*height + y); } @@ -71,6 +75,11 @@ uchar __attribute__((kernel)) rotate90andMerge(uint32_t x, uint32_t y) { return (uchar)0; rsSetElementAt_uchar(gOut, uValue, ySize + (width-1-x-pad)/2*height + y -1); rsSetElementAt_uchar(gOut, vValue, ySize + (width-1-x-pad)/2*height + y); + } else if (degree == 0) { + if(x >= (width - pad)) + return (uchar)0; + rsSetElementAt_uchar(gOut, uValue, ySize + x/2*height + y - 1); + rsSetElementAt_uchar(gOut, vValue, ySize + x/2*height + y); } } return (uchar)0; diff --git a/src/com/android/camera/imageprocessor/FrameProcessor.java b/src/com/android/camera/imageprocessor/FrameProcessor.java index a85636bc1..d4b4790a4 100644 --- a/src/com/android/camera/imageprocessor/FrameProcessor.java +++ b/src/com/android/camera/imageprocessor/FrameProcessor.java @@ -158,6 +158,9 @@ public class FrameProcessor { if(mModule.getMainCameraCharacteristics() != null) { degree = mModule.getMainCameraCharacteristics(). get(CameraCharacteristics.SENSOR_ORIENTATION); + if (mModule.getMainCameraId() == CaptureModule.FRONT_ID) { + degree = Math.abs(degree - 90); + } } mRsRotator.set_degree(degree); mRsYuvToRGB.set_gIn(mProcessAllocation); |