summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xrs/rotator.rs9
-rw-r--r--src/com/android/camera/imageprocessor/FrameProcessor.java3
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);