You can't do damage, but also don't complain your images look bad.
Various people have hassled over the years to be able to disable ISP processing blocks, predominantly lens shading.
With firmware update https://github.com/Hexxeh/rpi-firmware/ ... bf2902bb54 that should be possible.
I will nudge Dom as he hasn't updated userland with the updated headers. Currently you'll need to modify interface/mmal/mmal_parameters_camera.h
Code: Select all
MMAL_PARAMETER_CAMERA_RX_CONFIG, /**< Takes a @ref MMAL_PARAMETER_CAMERA_RX_CONFIG_T */ MMAL_PARAMETER_CAMERA_RX_TIMING, /**< Takes a @ref MMAL_PARAMETER_CAMERA_RX_TIMING_T */ MMAL_PARAMETER_DPF_CONFIG, /**< Takes a @ref MMAL_PARAMETER_UINT32_T */ + + /* 0x50 */ MMAL_PARAMETER_JPEG_RESTART_INTERVAL, /**< Takes a @ref MMAL_PARAMETER_UINT32_T */ + MMAL_PARAMETER_CAMERA_ISP_BLOCK_OVERRIDE, /**< Takes a @ref MMAL_PARMAMETER_UINT32_T */ };
Bit usage for blocks that are enabled and not forced on :
bit 2 - black level compensation
bit 3 - lens shading.
bit 5 - white balance gain
bit 7 - automatic defective pixel correction
bit 9 - crosstalk
bit 18 - gamma
bit 22 - sharpening
There are a couple of others that I haven't documented but are active - turning them off will create very odd results as you'll then be omitting colour conversion stages. That's not to say that disabling any/all of the above will give good results - the blocks have been set up as they are to give best image quality for the standard cameras, and there is no guarantee that the default "bypass" mode of operation in a block is the same in terms of overall gain or otherwise.
A call inserted into an app before the camera component is enabled of
Code: Select all
mmal_port_parameter_set_uint32(camera->control, MMAL_PARAMETER_CAMERA_ISP_BLOCK_OVERRIDE, ~ 0x08);
If you have a play with this then hopefully you can realise quite how much processing is happening.
I'm not intending to expose any more functionality of the ISP via this route, so please don't ask.