History log of /packages/apps/Camera/jni/mosaic_renderer_jni.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
445ed7298889bb5f3ba1ee8c0db4ae6e46f1fbb8 22-Oct-2012 Wu-cheng Li <wuchengli@google.com> Clean up SRI panorama UI.

- Change Saving... to Rendering panorama.
- Change preview area and progress bar to landscape in portrait mode.
- Move cancel button to the center in portrait mode.

bug:7385654

Change-Id: I166e6c419962b440a0a6148bc133ac6e14cba308
/packages/apps/Camera/jni/mosaic_renderer_jni.cpp
ee1ff397d5c8cd98b4396031e2b39e48962f5f75 21-Oct-2012 Wu-cheng Li <wuchengli@google.com> Fix panorama preview distortion when capture starts.

bug:7388550

Change-Id: I87e2cefadae4949579887b2099352be76a212e7d
/packages/apps/Camera/jni/mosaic_renderer_jni.cpp
05e0d1744d7325621170aff167cb65b7dfdf18f2 17-May-2012 Angus Kong <shkong@google.com> Make panorama work in all orientations.

bug:6305152
Change-Id: Ia38d03fecc32451c4940200ac9578c2dc3d832fe
/packages/apps/Camera/jni/mosaic_renderer_jni.cpp
4fabf52f7e8b2419749f5cdc03925d5f8b1c0199 03-May-2012 Angus Kong <shkong@google.com> Enable swipe UI in panorama mode.

bug:6305152
Change-Id: I1dcb62e097053a748a9a53bf643656556f5192fd
/packages/apps/Camera/jni/mosaic_renderer_jni.cpp
b96ce59e1d477622f9a3c235135d7040f642e262 06-Apr-2012 Wei-Ta Chen <weita@google.com> Speed up the start-up time of PanoramaActivity.

Optimize the initializing step of the mosaic library:
remove unnecessary glClear() calls, memory block reset, ..., etc.

Before the change, the latency of startup is ~1100ms.
The change reduces the latency to ~700ms.

Bug: 5954891
Change-Id: If2c721f57bf57e935b2f566d857c696ebfbeb61f
/packages/apps/Camera/jni/mosaic_renderer_jni.cpp
0f986735d15b2435091bf6e11fc9306c95a5c528 15-Mar-2012 Pin Ting <pinting@google.com> Remove references to old panorama java package name.

bug:5954391

Make camera, camcorder, panorama activities share the same java package.

Change-Id: I23800ff9ede72b04e438111e7997782d535edfe5
/packages/apps/Camera/jni/mosaic_renderer_jni.cpp
f93198f838d047572a5cdeaa66668b060985b937 01-Feb-2012 Angus Kong <shkong@google.com> Fix PanoramaActivity stucks in native lib.

The semaphore in native lib is not initialized if camera device is not
successfully opened. PanoramaActivity thus hangs in onSurfaceChanged()
when calling native library using the semaphore.

bug:5949215
Change-Id: I9d1374489268562fcbc4761fc24c9cff4655f645
/packages/apps/Camera/jni/mosaic_renderer_jni.cpp
d32aa042a7d7fdb52cd8cec571e7c648f837eaff 19-Oct-2011 Wei-Ta Chen <weita@google.com> Make Panorama work in portrait layout.

Add the support of both portrait and landscape layout to the panorama library.
Add a step into the preview renderer that rotates the content in the
offscreen buffer by 90 degrees in the case of a portrait layout.

Change-Id: I879e3476daac522b0c8b27fe3ef5b17ebf0797e3
/packages/apps/Camera/jni/mosaic_renderer_jni.cpp
47f3bff0df080af493ddae1857b82370b592e2f7 09-Sep-2011 Wei-Ta Chen <weita@google.com> Use the high-resolution data to render the preview.

We now use high-res data, instead of low-res data, to render the viewfinder/preview mosaic.
This results in a much better quality in viewfinder/preview mosaic.

Bug: 5271646
Change-Id: I5e9c466d86b95699b94beb56d809a3249972341f
/packages/apps/Camera/jni/mosaic_renderer_jni.cpp
274ca49c63557a8c3ee12c8da5f75e28b4875a5d 11-Sep-2011 Wei-Ta Chen <weita@google.com> Clean up the logs.

Bug: 5277853
Change-Id: Ic1c9a0395846b6815f2c18663e3c9078781a6194
/packages/apps/Camera/jni/mosaic_renderer_jni.cpp
85dedb803016feea39a78efc4bfc07b4f436cc6c 09-Sep-2011 Wei-Ta Chen <weita@google.com> Make the preview mosaic leave a margin.

To follow the UI spec, the preview mosaic shouldn't grow to the
boundary of control bar when we pan the device.
Also, the height of the preview track on Xoom is increased to better
match the spec.

Change-Id: Ic1184b00b3b9efd6232c51fa666ba7a0862c1a98
/packages/apps/Camera/jni/mosaic_renderer_jni.cpp
a6f0b9e759fa2d19d493bde7ffa8105ec2978b94 19-Aug-2011 mbansal <mayank.bansal@sri.com> Updates to remove compile warnings and stop the viewfinder panning at UI boundary. Also, new logic for rendering the preview mosaic.

1) Fixed compiler warnings reported by Wei-Ta.
2) The viewfinder now stops panning (for both left-to-right and right-to-left motions) when it hits a pre-defined border region within the screen viewport.
3) Updated the logic for rendering to always maintain the preview mosaic (previewFBO) in the current-frame coordinate system. This fixes the repeating issues.

Change-Id: I6619ffe96955965ba523e330fa6561c88e6e6d5c
/packages/apps/Camera/jni/mosaic_renderer_jni.cpp
1e762b1f935c9d4a06af6dd56121590ca81d48b1 16-Aug-2011 mbansal <mayank.bansal@sri.com> Updates to allow the viewfinder to slide across the UI with device panning. Also, rendering updates for color conversion using GPU.

1) Refactored the SurfaceTextureRenderer and WarpRenderer classes to inherit from a new base class Renderer.
2) Fixed a minor bug in the Blend class and added a helper function to create the mosaic in middle frame coordinate system [no changes in run-time behavior].
3) Added a flip-flop gPreviewFBO to allow panning the viewfinder across the UI when the user pans the device.
4) Fixed the size of the viewfinder and preview mosaic to match the UI layout height.
5) The viewfinder in the preview stage is now aligned with the viewfinder in the capture stage.
6) Added new class YVURenderer that converts from RGB to YVU data using GLSL shaders.
7) Modified the rendering pipeline to use GPU for RGB to YVU conversion. The processing thread now only performs conversion from YVUA interlaced to YVU planar format.
8) Updates following Wei-Ta's code-review comments.

Change-Id: I6c18df3b57d1c2d78d55da8a8f3b9cd970c8d903
/packages/apps/Camera/jni/mosaic_renderer_jni.cpp
41a2e9735136f372de95652d0828600282c8e967 09-Aug-2011 mbansal <mayank.bansal@sri.com> Updates to allow using SurfaceTexture for reading the preview frames directly from GPU memory.

1) SurfaceTexture is now used to obtain the data processed by the mosaicing library.
2) SurfaceTexture in GPU memory is directly rendered using the transformation from the mosaicing library to generate the preview mosaic.
3) GPU is also used to generate the Low-Res frames from the High-res frames (was being done in CPU before).
4) SurfaceTexture is also used to render the viewfinder as soon as the mosaicing application starts (eliminating the need for a separate SurfaceHolder to render the camera).
5) Modified the XML layout during the preview state to be the same size as during the capture stage to accommodate the SurfaceTexture based viewfinder [this needs to be reviewed and adjusted].
6) Fixed the viewfinder and back button issues identified by Wei-Ta.
7) Round-1 of removing trailing spaces and tabs.
8) Added documentation to new Java side interfaces and cleaned up code in general.
9) Cleaned up redundant and commented out code from the native side.
10) Merged with latest updates from the main trunk.
11) Fixed issues identified in code review and also cleaned up and refactored some code.
12) Added layout-w1024dp/pano_capture.xml for tablet layout.

Change-Id: If8fb0116de6c7fc6652cc67ac453553726961c32
/packages/apps/Camera/jni/mosaic_renderer_jni.cpp
eeb94d4de94bfd4e01f3a716803f77a530f5b92c 02-Aug-2011 mbansal <mayank.bansal@sri.com> Updates for mosaic preview rendering to happen using native GLES2.0 code.

1) Added new subfolder mosaic_renderer in feature_mos/src with FrameBuffer and WarpRenderer classes.
2) Added mosaic_renderer_jni.h|cpp files to the jni folder to perform GL calls for rendering on the GL thread.
3) Updated code in feature_mos_jni.cpp to connect with mosaic_renderer_jni.cpp.
4) Added new java files in com.android.camera.panorama to encapsulate the GL JNI interface, a GLSurfaceView for display and a GLSurfaceView.Renderer for rendering.
5) Modified APP code to enable the new GL-based rendering and made relevant changes to the UI (in pano_views.xml).
6) Fixed a GL bug which was preventing the rendering from working properly after hitting the back button once.
7) Preview rendering now displays in the current frame coordinate system.
8) Fixed the ghost preview rendering bug.

Change-Id: Ieb64ee3fd4a9a2c6563a311a4930ddc85ce2247c
/packages/apps/Camera/jni/mosaic_renderer_jni.cpp