dridri / OpenMaxIL-cpp

OpenMax IL C++ wrapper for RaspberryPi
MIT License
23 stars 5 forks source link

Golang wrapper #11

Open cedricve opened 3 years ago

cedricve commented 3 years ago

Hello @dridri,

We are using you library for a couple of years now in our www.kerberos.io project, and we are moving our architecture from c++ to Golang. Would there be anything on your mind to create a wrapper for Golang?

dridri commented 3 years ago

Hello, unfortunately I've never used Go lang and won't be very helpful to create a wrapper apart by using the few techniques that can be found on the web. But I stay open to any questions or remarks that could help you doing it.

By the way, it looks like that the Raspberry Pi Foundation is slowly moving to the new libcamera stack, but don't know if any golang interfaces are ready..

cedricve commented 3 years ago

Hey there,

Well it would be extremely interesting as Go is getting huge traction. In the space of your current library, there is none doing what you have implemented. All Go libraries are using the raspistill / raspivideo command line interaction. So there is a huge opportunity for you and this library here ;).

https://github.com/draffensperger/go-interlang https://github.com/draffensperger/go-interlang

By the way, it looks like that the Raspberry Pi Foundation is slowly moving to the new libcamera stack, but don't know if any golang interfaces are ready..

Where can we find more information about this libcamera, and how will it work?

Kind regards Cédric

On 14 Nov 2020, at 19:11, drich notifications@github.com wrote:

Hello, unfortunately I've never used Go lang and won't be very helpful to create a wrapper apart by using the few techniques that can be found on the web. But I stay open to any questions or remarks that could help you doing it.

By the way, it looks like that the Raspberry Pi Foundation is slowly moving to the new libcamera stack, but don't know if any golang interfaces are ready..

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/dridri/OpenMaxIL-cpp/issues/11#issuecomment-727244921, or unsubscribe https://github.com/notifications/unsubscribe-auth/AALZUG7KSGT5HTLWLZYJPVLSP3B3JANCNFSM4TUILBGQ.

dridri commented 3 years ago

It seems like that the SWIG wrapper would be the best approach between performance cost and development time. But since I've never used Go, I don't know how to handle things like frame-buffers physical pointers.

Here is their initial blog post about libcamera : https://www.raspberrypi.org/blog/an-open-source-camera-stack-for-raspberry-pi-using-libcamera/ There is also a topic on their forum : https://www.raspberrypi.org/forums/viewtopic.php?f=43&t=273018

cedricve commented 3 years ago

hey @dridri, I switched to Golang last year, but have to look into it. My level of C++ is not like yours. In my mind we would only have a hig-hlevel Golang API, which connects to your already build functions.

Most people do it like this: https://github.com/dhowden/raspicam. But that is not what we want.

We've been using your library (here: https://github.com/kerberos-io/machinery/blob/master/src/kerberos/capture/RaspiCamera.cpp), and What I was thinking if we could at a high level have something similar like this class, abstracting all your beautiful code.

I really want to help on this as I never did this before, I'm highly motivated to make this work. Not sure if you have the time and motivation as well?