Horizon uses the iPhone’s motion sensors (the accelerometer and gyroscope) to automatically scale and rotate input from the camera to generate videos that are always in landscape, no matter how the phone is actually being held.
It works by measuring the tilt of the phone and then offsetting the effect digitally by rotating the video by the same amount in the other direction. This results in a final image that is always orientated correctly. The app does this for every frame of the video. Thanks to the power of the processors inside iOS devices these days, this processing happens seamlessly. In my testing, On an iPhone 5s, a one-minute clip was corrected and saved by the app in less than a second.
Similar to how digital image stabilisation works, the app has to crop the source video to make the illusion work, so some detail is lost in the process. However, the output is generally of good quality. There is some noticeable stutter if you are constantly shifting the phone in your hand, but this issue shouldn’t crop up that much in ‘normal’ circumstances. The demo video (above) offers a fair representation of what the final product looks like.