Read .dcp files stored in the same directory as the camera configuration
files and copy over the calibration curves into the DNG files after
taking a picture.
sun6i-csi-bridge will return EINVAL if the resolution it is configured
with is different than the resolution the camera is configured with. So
we have to set it's resolution when changing the camera resolution.
The setup_camera() function removes found media devices
from the device list on run but somehow avoids this on
the pinephone due more bugs in the software. This makes
it run with a clean list for every camera to fix this.
The proper fix is dropping the whole setup_camera()
procedure in the future.
Fixes#44
This commit changes the way that screen rotation is detected. Instead of
using Mutter's DBus interface, we now listen directly for X and Wayland
events indicating the screen has been rotated (RRScreenChangeNotify and
wl_output::geometry events). This has the advantage of working outside
of Phosh.
Current post processing scripts assume at least 2 frames are captured.
With the rear pinephone camera the automatic gain control will always
raise the gain high enough that the frame count will be 2 or higher. For
the front camera the gain might be zero causing the burst to be 1 frame
long.
If the flash was disabled and screne flash is used it will try to set
the screen brightness back to the original value. Because the check for
mp_flash_enable and mp_flash_disable is different there's cases where
enable wasn't run but disable is, causing it to use the initial zero
brightness as the restore value.
Move part of mp_device_setup_link to a new function to allow
setting links between entities with entity and port indices,
and add a function to set entity pad formats.
Rename MPCameraMode to a more generic MPMode and move it along
with related functions to a new object in preparation for using
it in the device object.
The clang-format-12 package no longer exist and only clang-format 11, 13
and 14 remain in the repositories.
Also replace apt with apt-get since apt is not for scripting