How to run and verify the benchmark: 1) adb push $OUT/data/local/tmp/panorama_bench /data/local/tmp 2) adb push input /data/panorama_input 3) adb shell /data/local/tmp/panorama_bench /data/panorama_input/test /data/panorama.ppm Sample output: 38 frames loaded Iteration 0: 1454x330 moasic created: 4.33 seconds (2.05 + 2.28) Iteration 1: 1454x330 moasic created: 4.26 seconds (1.83 + 2.44) Iteration 2: 1454x330 moasic created: 5.57 seconds (2.73 + 2.84) Iteration 3: 1454x330 moasic created: 5.15 seconds (2.33 + 2.82) Iteration 4: 1454x330 moasic created: 6.22 seconds (2.05 + 4.16) Iteration 5: 1454x330 moasic created: 6.31 seconds (2.16 + 4.15) Iteration 6: 1454x330 moasic created: 5.04 seconds (2.03 + 3.01) Iteration 7: 1454x330 moasic created: 6.30 seconds (3.47 + 2.83) Iteration 8: 1454x330 moasic created: 6.57 seconds (1.83 + 4.73) Iteration 9: 1454x330 moasic created: 6.27 seconds (2.28 + 4.00) Total elapsed time: 56.02 seconds The first number in the parenthesis is the time to align the frames; the second number is the time to stitch them. The total elapsed time is the interesting number for benchmarking. The result of the benchmark can be verified by pulling the the output photo off the device and comparing it against the golden reference: 1) adb pull /data/panorama.ppm . 2) diff panorama.ppm output/golden.ppm