I'd like to learn how exactly the raw data from PiCamera are processed by the system to yield the final JPEG that raspistill saves. Is this algorithm available as opensource code? Or is it hidden in a binary firmware blob?

Note: I know that I can convert the raw data to DNG format and use software like RawTherapee etc., but this is not what I'm looking for. I'm looking for what is actually done by the system, not what I can use to try to emulate this.

  • You can check the source for yourself at github.com/raspberrypi/userland/tree/master/host_applications/…
    – Dirk
    Jan 3, 2020 at 15:28
  • @Dirk I have seen the source for RaspiStill. It simply uses the MMAL, which doesn't answer my question in any way.
    – Ruslan
    Jan 3, 2020 at 15:36
  • Would have been helpful if you had added that info to your question...goodbye
    – Dirk
    Jan 3, 2020 at 17:18
  • Have you looked at the MMAL header file?
    – Seamus
    Jan 3, 2020 at 22:36
  • @Seamus it doesn't seem to have any pointers to the code doing the demosaicing, black level subtraction, denoising, color balancing etc....
    – Ruslan
    Jan 3, 2020 at 22:48


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Browse other questions tagged or ask your own question.