RFC: Options to maximize field of view for video calls #2052
Description
There are three aspects of camera configuration that result in cropped video output and a substantially reduced field of view;
- Use of 16:9 aspect ratio instead of the sensor native 4:3
- Use of Electronic Image Stabilization (EIS)
- Inability to control zoom ratio results in fixed ratio of 1:1.
The aspect ratio will affect devices universally, since as far as I can tell, all camera sensors seem to have a 4:3 native aspect ratio. The other two will apply on a sensor by sensor basis. Some phones have a mixture of available zoom ratios, and support for EIS or OIS (where OIS is available, EIS is disabled).
Naturally, there will be tradeoffs for each of the three causes of cropping;
- User may have a preference for a 16:9 ratio.
- Holding the device in user's hand will result in a jittery video without stabilization.
- Changing the zoom ratio could cause the HAL to select a different sensor with different characteristics, for example, the main camera on a Pixel 6 [/Pro] has OIS, but reducing the zoom level to lower than 1:1 will cause it to switch to the wide angle lens, which does not have OIS.
Consequently, each of these configuration changes should be user-controlled.
Access to the camera on this software is through webrtc, which unfortunately, does not provide means of user control for EIS or zoom ratio, however, others have coerced it into allowing settings; https://stackoverflow.com/questions/48598752/android-how-to-turn-on-flashlight-using-webrtc-android-io-pristine-libjingle1