Hi,

I would love to see video support in nuttx.
I worked with video4linux a few years ago. What I loved was how to deal
with memory buffers from the user space.

The video4linux API allows the device configuration and also a registration
of an undefined amount of memory buffers (usually related to the
video/image frame size) by an user space task.
Then the task simply waits for the next captured frame via a blocking ioctl
call to the opened video character device.
Once a frame is captured, the driver wakes up the userspace task and tells
in which of the registered memory buffer the content of the last frame was
captured.

I found that API so quite easy, so I think we should have something similar
in nuttx.
The Video4Linux API is huge for historical reasons, and I think we do not
need support for a lot of functionality for older hardware and should have
a focus on video input devices first.
The vl42 API should be a good starting point.

But I can't help out here very much because of the lack of camera hardware.
I only have an USB camera that supports uvc (usb video class) what I think
should also be a thing that nuttx should support.
Unfortunately, I'm not a USB expert.

Marco

Am Sa., 3. Apr. 2021 um 06:31 Uhr schrieb Gregory Nutt <spudan...@gmail.com
>:

> One thing that we have always been missing is a video subsystem. This
> would be something similar to the audio/ subsystem which is basically a
> way of connecting audio streams between audio sources (like
> apps/system/nxplayer), audio processors (codecs, equalizers, etc. which
> would go in audio/), and audio sinks most of which are in drivers/audio
> (but also apps/system/nxrecorder).
>
> People have said that we need something like Video4Linux but I don't
> really know very much about that.  I also think Sony recently
> contributed some video support under drivers/video but, again, I know
> nothing about that really (video-related drivers should go under
> drivers/video, but system video support should really go under video/).
>
> It would be nice to get some people together who are interested in video
> to develop an architecture and roadmap for video support.  I can't
> imagine that we would be happy with the results if we just develop video
> support organically.
>
> I say this because I spent some time developing camera support with the
> SAMA5D's a few years back and was hamper because after writing the
> camera driver, I really didn't know how to integrate it.
>
> Greg
>
> On 4/2/2021 8:30 PM, Matias N. wrote:
> > Thanks Alan. I'll probably give it a try.
> >
> > Best,
> > Matias
> >
> > On Fri, Apr 2, 2021, at 20:43, Alan Carvalho de Assis wrote:
> >> Hi Matias,
> >>
> >> No, AFAIK there is nobody working on camera support.
> >>
> >> BR,
> >>
> >> Alan
> >>
> >> On 4/2/21, Matias N. <mat...@imap.cc <mailto:matias%40imap.cc>> wrote:
> >>> I've looked into this a bit further. It seems NuttX supports the OV2640
> >>> command interface (via I2C) with video/ov2640.c driver. However, the
> data
> >>> transfer is handled separately. From what I read, on ESP32, the I2S
> >>> peripheral is used to handle the data transfer using DMA. So this
> means that
> >>> an ESP32 specific driver would need to be written so that it transfers
> image
> >>> data using I2S.
> >>>
> >>> Any chance anyone already did this? Seems a bit complex.
> >>>
> >>> Best,
> >>> Matias
> >>>
> >>> On Thu, Apr 1, 2021, at 12:18, Matias N. wrote:
> >>>> I'm merely experimenting myself but as a test I will try to read the
> >>>> camera and offer images via a webserver. I believe the camea is
> supported
> >>>> in NuttX already.
> >>>>
> >>>> Best,
> >>>> Matias
> >>>>
> >>>> On Thu, Apr 1, 2021, at 11:40, Grr wrote:
> >>>>> I have a bunch of those modules I plan to use as security cameras and
> >>>>> automation control nodes, preferably under NuttX, so I have a couple
> of
> >>>>> questions:
> >>>>>
> >>>>> 1-How far away is the camera support?
> >>>>>
> >>>>> 2-How about WiFi?
> >>>>>
> >>>>> TIA
> >>>>> Grr
> >>>>>
> >>>>>
> >>>>> El jue, 1 abr 2021 a las 8:34, Matias N. (<mat...@imap.cc <mailto:
> matias%40imap.cc>>) escribió:
> >>>>>> __
> >>>>>> Yeah, I was under the impression it was single core due to the "S"
> as in
> >>>>>> the figure below. But you're right
> >>>>>> that ESP32-S is not a valid Espressif part number. This is the
> module I
> >>>>>> was refering to:
> >>>>>>
> >>>>>> It makes sense that it is actually the normal dual-core chip inside.
> >>>>>>
> >>>>>> Best,
> >>>>>> Matias
> >>>>>>
> >>>>>> On Thu, Apr 1, 2021, at 11:23, Sara da Cunha Monteiro de Souza
> wrote:
> >>>>>>> Besides that,
> >>>>>>> here we can see all the "official" series of Espressif:
> >>>>>>>
> https://www.espressif.com/sites/default/files/documentation/espressif_products_ordering_information_en.pdf
> >>>>>>> Or a more simple and interactive way, using the product selector:
> >>>>>>> https://products.espressif.com/#/product-selector
> >>>>>>> So, ESP32S or ESP32-S modules are from third party.
> >>>>>>>
> >>>>>>>
> >>>>>>> Em qui., 1 de abr. de 2021 às 11:14, Sara da Cunha Monteiro de
> Souza
> >>>>>>> <saramonteirosouz...@gmail.com <mailto:
> saramonteirosouza44%40gmail.com>> escreveu:
> >>>>>>>> Hi Matias,
> >>>>>>>> These devkits with cameras and sd card slot with ESP32S modules
> are
> >>>>>>>> third party modules and the S doesn't necessarily stand for
> "single
> >>>>>>>> core".
> >>>>>>>> I recommend take a look at this post to see the differences
> between
> >>>>>>>> different devkits:
> >>>>>>>>
> https://diyprojects.io/esp32-cam-which-model-choose-esp-eye-aithinker-ttgo-tcamera-m5stack/#.YFJoh-1KhH4
> .
> >>>>>>>> FY, this is how you can interpret Part numbers of ESP32 modules :
> >>>>>>>> image.png
> >>>>>>>> And if you don't have this information and you have the devkit on
> >>>>>>>> hands, you can use esptool to discover this information from your
> >>>>>>>> ESP32
> >>>>>>>> by using the following command:
> >>>>>>>>
> >>>>>>>> esptool.py --port /dev/ttyUSB0 chip_id
> >>>>>>>>
> >>>>>>>> You should have something like this:
> >>>>>>>>
> >>>>>>>> Serial port /dev/ttyUSB0 Connecting..... Detecting chip type...
> ESP32
> >>>>>>>> Chip is ESP32-D0WDQ6 (revision 1) Features: WiFi, BT, Dual Core,
> >>>>>>>> 240MHz, VRef calibration in efuse, Coding Scheme None Crystal is
> 40MHz
> >>>>>>>> MAC: 9c:9c:1f:ea:6e:5c
> >>>>>>>>
> >>>>>>>> It can be very useful to know other information as you can see,
> for
> >>>>>>>> example, the chip revision.
> >>>>>>>>
> >>>>>>>> But regarding the support for this DevKit, the board
> implementation is
> >>>>>>>> relatively simple, but we still
> >>>>>>>> don't have the I2S driver for the camera.
> >>>>>>>>
> >>>>>>>>
> >>>>>>>> Em qui., 1 de abr. de 2021 às 10:49, Matias N. <mat...@imap.cc
> <mailto:matias%40imap.cc>>
> >>>>>>>> escreveu:
> >>>>>>>>> Hi,
> >>>>>>>>> I'm considering buying one of those ESP32 modules which includes
> the
> >>>>>>>>> camera and SD card and I noticed it seems it comes with a
> single-core
> >>>>>>>>> variant of the typical ESP32 module.
> >>>>>>>>> I looked around NuttX and I think there's no explicit support
> yet but
> >>>>>>>>> I imagine it shouldn't be hard to add, right?
> >>>>>>>>>
> >>>>>>>>> Best,
> >>>>>>>>> Matias
> >>>>>>> *Attachments:*
> >>>>>>>   * image.png
> >>>>> *Attachments:*
> >>>>>   * image.png
> >>>>>   * image.png
> >>>>
> >>>> *Attachments:*
> >>>>   * image.png
> >>>>   * image.png
>

Reply via email to