New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[HOW-TO] Disable on-board defective pixel correction? #827
Comments
The Linux kernel driver will let you disable this via a kernel module parameter. For the HQ cam, for example, do the following
You can check its value with (you don't have to be root for this)
You can't change the value while the camera is running, though it probably gets actioned every time you change the camera configuration and start it. Maybe just do it first after booting. As regards the DPC in the pipeline, libcamera doesn't have an API for this so there simply is no mechanism we could use to give you control. But it's a conversation we could have with the libcamera folks. For the moment any such discussions would be parked behind a very large volume of Pi 5 work, however. If this were super critical you could obviously edit the DPC algorithm yourself to give you a "back door" control, though this kind of thing is obviously not generally desirable. To disable it permanently, you can also just remove it from the tuning file, or indeed just renaming it will achieve the same effect. Sometimes I change the algorithm name to something like "disabled.rpi.dpc" to make it clear what I've done (and easy to undo again). |
Thanks for the helpful response as always, David. Does editing |
No, the two things are completely separate. You can have on-sensor DPC and no DPC in the pipeline, or vice versa, or both or none! |
Okay, got it. So in order to completely disable DPC, one must do both? |
Correct. |
Okay great—thanks again! |
One more question on this actually: in the Raspberry Pi Camera Algorithm and Tuning guide, it says
Is this |
I'm afraid It's a bit confusing that there's Raspberry Pi metadata (which is where we put |
Okay, got it. |
Describe what it is that you want to accomplish
It seems the legacy camera stack had a way to disable on-sensor defective pixel correction. I am wondering if there is a way to do the same using the modern
picamera2
/libcamera
-based stack.Describe alternatives you've considered
I am aware of the
rpi.dpc
algorithm entry in thelibcamera
tuning JSON file, and that I can edit it to have{"strength": 0}
in order to accomplish this. However, it is difficult and clunky to modify this adaptively/on-the-fly. A control exposed via the API (as there exists for AWB, sharpening, noise reduction, etc.) would be better.The text was updated successfully, but these errors were encountered: