c2a0b4482d7144e8382346ea4c22c7b89368fec0 |
02-Oct-2014 |
Neil Fuller <nfuller@google.com> |
resolved conflicts for merge of ee665151 to lmp-mr1-dev-plus-aosp Change-Id: I2588c65b7a9fa43f968151a206924a804f0595a7
|
33253a4baa6279f81a73425b49dfb6abe5f5416e |
01-Oct-2014 |
Neil Fuller <nfuller@google.com> |
Switch from FloatMath -> Math and Math.hypot where possible The motivation is an API change: FloatMath is going to be deprecated and/or removed. Performance is not the goal of this change. That said... Math is faster than FloatMath with AOT compilation. While making the change, occurances of: {Float}Math.sqrt(x * x + y * y) and {Float}Math.sqrt({Float}Math.pow(x, 2) + {Float}Math.pow(y, 2)) have been replaced with: {(float)} Math.hypot(x, y) Right now there is no runtime intrinsic for hypot so is not faster in all cases for AOT compilation: Math.sqrt(x * x + y * y) is faster than Math.hypot(x, y) with AOT, but all other combinations of FloatMath, use of pow() etc. are slower than hypot(). hypot() has the advantage of being self documenting and could be optimized in future. None of the behavior differences around NaN and rounding appear to be important for the cases looked at: they all assume results and arguments are in range and usually the results are cast to float. Different implementations measured on hammerhead / L: AOT compiled: [FloatMath.hypot(x, y)] benchmark=Hypot_FloatMathHypot} 633.85 ns; σ=0.32 ns @ 3 trials [FloatMath.sqrt(x*x + y*y)] benchmark=Hypot_FloatMathSqrtMult} 684.17 ns; σ=4.83 ns @ 3 trials [FloatMath.sqrt(FloatMath.pow(x, 2) + FloatMath.pow(y, 2))] benchmark=Hypot_FloatMathSqrtPow} 1270.65 ns; σ=12.20 ns @ 6 trials [(float) Math.hypot(x, y)] benchmark=Hypot_MathHypot} 96.80 ns; σ=0.05 ns @ 3 trials [(float) Math.sqrt(x*x + y*y)] benchmark=Hypot_MathSqrtMult} 23.97 ns; σ=0.01 ns @ 3 trials [(float) Math.sqrt(Math.pow(x, 2) + Math.pow(y, 2))] benchmark=Hypot_MathSqrtPow} 156.19 ns; σ=0.12 ns @ 3 trials Interpreter: benchmark=Hypot_FloatMathHypot} 1180.54 ns; σ=5.13 ns @ 3 trials benchmark=Hypot_FloatMathSqrtMult} 1121.05 ns; σ=3.80 ns @ 3 trials benchmark=Hypot_FloatMathSqrtPow} 3327.14 ns; σ=7.33 ns @ 3 trials benchmark=Hypot_MathHypot} 856.57 ns; σ=1.41 ns @ 3 trials benchmark=Hypot_MathSqrtMult} 1028.92 ns; σ=9.11 ns @ 3 trials benchmark=Hypot_MathSqrtPow} 2539.47 ns; σ=24.44 ns @ 3 trials Bug: https://code.google.com/p/android/issues/detail?id=36199 Change-Id: I06c91f682095e627cb547d60d936ef87941be692
ropFilter.java
|
fd887436bd111e4d2c7307578a51b5070025b7f2 |
04-Sep-2014 |
Eino-Ville Talvala <etalvala@google.com> |
Camera2: Final API revisions - Rename listeners to callbacks. Listeners are single-method and are interfaces, while callbacks are abstract may get more methods in the future. - Use register/unregister for registering callbacks, not add/remove. Bug: 17389922 Change-Id: Ic6b46ad79cb43a43a85e2a4b63f059d3af99798b
amples/simplecamera/Camera2Source.java
|
0a160acf297b583e12a9710c929c4ba9a38f7353 |
02-Jul-2014 |
Eino-Ville Talvala <etalvala@google.com> |
Camera2: Hide all the deprecated methods and interfaces Leave them in for now until bundled clients complete updating Change-Id: Ibd0fc971258ce6b649000c48dd7a6716f1ab91d4
amples/simplecamera/Camera2Source.java
|
db075afc85b6b50a5d3a988a17ed0d4e09ef0823 |
21-May-2014 |
Igor Murashkin <iam@google.com> |
camera2: Add partial results to the capture listener (API change) * Also adds capture sequence aborted callback Bug: 12492876 Change-Id: I56ec8edbcda8b64c2262ff7472961ac78042c7f4
amples/simplecamera/Camera2Source.java
|
8a985d24ce9a38f40ed88fecbdcd0e75e3a68f44 |
25-Feb-2014 |
John Spurlock <jspurlock@google.com> |
Tabs -> spaces in frameworks/base. Change-Id: I5a84e8e93ac99b5ed0212b37bf66efa5e53864be
raphReader.java
|
83511d2f49c9e272f328730586c3d0a7852247f2 |
16-Jan-2014 |
Andy Hung <hunga@google.com> |
Add "throws IOException" to MediaCodec factory methods android.media.MediaCodec (createByCodecName|createDecoderByType|createEncoderByType) now explicitly throws IOException. Requires changes to existing code for declaration compatibility. Bug: 11364276 Change-Id: I105ecb7c4bd49bf803111253cd23bab161c988f9 Signed-off-by: Andy Hung <hunga@google.com>
ecoder/AudioTrackDecoder.java
ecoder/CpuVideoTrackDecoder.java
ecoder/GpuVideoTrackDecoder.java
|
8ca55fc980a567270d397c7392fd5fa8490f6d42 |
07-Nov-2013 |
Andy Hung <hunga@google.com> |
Revert "Add "throws IOException" to MediaCodec constructors (3)" This reverts commit 52d8aa79a31c5042d2b43d06f08fa28489b27d1b. Change-Id: Ic706e0fb469931664499d00fa3a221726b258673
ecoder/AudioTrackDecoder.java
ecoder/CpuVideoTrackDecoder.java
ecoder/GpuVideoTrackDecoder.java
|
52d8aa79a31c5042d2b43d06f08fa28489b27d1b |
04-Nov-2013 |
Andy Hung <hunga@google.com> |
Add "throws IOException" to MediaCodec constructors (3) Change to add "throws IOException" to android.media.MediaCodec (createByCodecName|createDecoderByType|createEncoderByType). The exception was previously thrown through the native JNI, but not explicitly declared. Requires changes to existing code for declaration compatibility. Bug: 11364276 Change-Id: Ia0d3481397285cb1503bedde37d4651934b3a481 Signed-off-by: Andy Hung <hunga@google.com>
ecoder/AudioTrackDecoder.java
ecoder/CpuVideoTrackDecoder.java
ecoder/GpuVideoTrackDecoder.java
|
69b94f7c5520f3fa817a7bb1e4d1205b593e6c47 |
16-Oct-2013 |
Igor Murashkin <iam@google.com> |
SmartCamera: Fix to build against latest camera2 api Bug: 10818732 Change-Id: I536021b9663331532e2f4c21a4fc0f3de5da9aa9
amples/simplecamera/Camera2Source.java
|
bd7f343c7510aa512ceb6d6833ca0e4f2aa2a1d2 |
21-Sep-2013 |
Igor Murashkin <iam@google.com> |
Camera2Tests: update SmartCamera for async api Change-Id: I6eb541c96ee50756c35e7785fdae63e8e45e2726
amples/simplecamera/Camera2Source.java
|
227b47625d7482b5b47ad0e4c70ce0a246236ade |
19-Sep-2013 |
Benjamin Hendricks <coolbnjmn@google.com> |
Camera2Tests: Add SmartCamera App Bug: 10818732 Change-Id: I6ac08ecab3a1e04116be2f7764d0d5d4f29c5cd9
ackingStore.java
ranchFilter.java
rightnessFilter.java
ameraStreamer.java
olorSpace.java
olorfulnessFilter.java
ropFilter.java
ilter.java
ilterFactory.java
ilterGraph.java
rame.java
rameBuffer1D.java
rameBuffer2D.java
rameImage2D.java
rameManager.java
rameQueue.java
rameSlotSource.java
rameSlotTarget.java
rameType.java
rameValue.java
rameValues.java
LToolbox.java
raphExporter.java
raphInputSource.java
raphOutputTarget.java
raphReader.java
raphRunner.java
mageShader.java
nputPort.java
ffContext.java
otionSensor.java
ewChromaHistogramFilter.java
ormFilter.java
utputPort.java
ixelUtils.java
enderTarget.java
esizeFilter.java
otateFilter.java
caleFilter.java
ignature.java
impleCache.java
lotFilter.java
obelFilter.java
tatsFilter.java
urfaceHolderTarget.java
extViewTarget.java
extureSource.java
hroughput.java
hroughputFilter.java
oGrayValuesFilter.java
oStringFilter.java
ransformUtils.java
alueTarget.java
ariableSource.java
iewFilter.java
ecoder/AudioSample.java
ecoder/AudioTrackDecoder.java
ecoder/CpuVideoTrackDecoder.java
ecoder/DecoderUtil.java
ecoder/GpuVideoTrackDecoder.java
ecoder/MediaDecoder.java
ecoder/TrackDecoder.java
ecoder/VideoTrackDecoder.java
eometry/Quad.java
amples/simplecamera/AverageFilter.java
amples/simplecamera/AvgBrightnessFilter.java
amples/simplecamera/CSVWriterFilter.java
amples/simplecamera/Camera2Source.java
amples/simplecamera/CameraTestThread.java
amples/simplecamera/ContrastRatioFilter.java
amples/simplecamera/ExposureFilter.java
amples/simplecamera/FaceSquareFilter.java
amples/simplecamera/FloatArrayToSizeFilter.java
amples/simplecamera/FloatArrayToStrFilter.java
amples/simplecamera/IfElseFilter.java
amples/simplecamera/ImageConstants.java
amples/simplecamera/ImageGoodnessFilter.java
amples/simplecamera/MotionSensorWTime.java
amples/simplecamera/SmartCamera.java
amples/simplecamera/WaveTriggerFilter.java
|