Commit Graph

21 Commits

Author SHA1 Message Date
Xiang Xiao c6821c741d video_framebuff: Replace critical section with spinlock
to avoid th global big lock and improve the performance.

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2024-03-26 15:21:05 +08:00
Xiang Xiao 0db82210fd video_framebuff: Hold mutex in video_framebuff_realloc_container
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2024-03-26 15:21:05 +08:00
Xiang Xiao efee5f86e8 video_framebuff: Remove the unnecessary vbuf_curr field
since vbuf_curr is always equal to vbuf_next

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2024-03-26 15:21:05 +08:00
yaojingwei 25e7d9e43e video: add video buffer overflow warning info.
Signed-off-by: yaojingwei <yaojingwei@xiaomi.com>
2024-03-26 15:21:05 +08:00
yuexinyi baefa5fa6b Revert "drivers/video: Don't need update vbuf_tail in dequeue_vbuf_unsafe"
This reverts commit e15bccaa71.

Signed-off-by: yuexinyi <yuexinyi@xiaomi.com>
2023-07-26 07:45:30 -07:00
lile7 a3db142fbf drivers/video: use kmm_free(buff) to free memory instead of realloc(buff, 0) which is abandoned
ref: 89d61f4eb4

Signed-off-by: lile7 <lile7@xiaomi.com>
2023-07-12 02:33:17 +08:00
jihandong a1e04617f8 drivers/video/video: add poll support to capture
support part of Linux std:
https://www.kernel.org/doc/html/v4.9/media/uapi/v4l/func-poll.html

Capture devices set the POLLIN and POLLRDNORM flags in the revents field

Signed-off-by: jihandong <jihandong@xiaomi.com>
2023-02-13 23:17:45 +08:00
Xiang Xiao 243983328a drivers/video: Correct the code style
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-12-17 20:43:07 +08:00
Xiang Xiao 1555c9b8f8 drivers/video: Zero next field of dequeued buffer before return dequeue_vbuf_unsafe
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-12-13 21:38:22 +02:00
Xiang Xiao e15bccaa71 drivers/video: Don't need update vbuf_tail in dequeue_vbuf_unsafe
since it is already done in video_framebuff_queue_container

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-12-13 21:38:22 +02:00
Xiang Xiao 01d7f44480 drivers/video: Merge vbuf_next assignment in video_framebuff_queue_container
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-12-13 21:38:22 +02:00
Xiang Xiao d09f1fb186 drivers/video: Keep the old state in case of fail
and ensure the internal state get clear if sz equals zero

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-12-13 21:38:22 +02:00
Xiang Xiao ae3cadf03c drivers/video: Skip all action if video_framebuff_realloc_container doesn't change the container size
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-12-13 21:38:22 +02:00
Xiang Xiao aa20b1e8bd drivers/video: Zero all video_framebuff_t fields in video_framebuff_init
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-12-13 21:38:22 +02:00
Peter Bee 31347da187 drivers/video: add support for V4L2 mmap-ed buffer
Support V4L2_MEMORY_MMAP memory mode

Signed-off-by: Peter Bee <bijunda1@xiaomi.com>
2022-12-07 01:21:46 +08:00
anjiahao d1d46335df Replace nxsem API when used as a lock with nxmutex API
Signed-off-by: anjiahao <anjiahao@xiaomi.com>
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-10-17 15:59:46 +09:00
SPRESENSE 74df4b70b3 drivers: video: Rearchitect video driver
Rearchitect video driver:
- Define two video I/F(struct imgsensor_ops_s and struct imgdata_ops_s),
  and support them.
- CISIF driver supports new video I/F struct imgdata_ops_s.
- ISX012 driver supports new video I/F struct imgsensor_ops_s.
- Move ISX012 driver to general driver directory.
2021-09-15 07:06:35 +02:00
Alin Jerpelea cb5d8b53cb drivers: video: altair: nxstyle fixes
Nxstyle fixes to pass CI

Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
2021-01-26 05:11:58 -08:00
Alin Jerpelea f22683a0a6 drivers: replace licenses with Apache 2.0
This change is a license change to Apache 2.0 license.

Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
2021-01-26 05:11:58 -08:00
Xiang Xiao 6a3c2aded6 Fix wait loop and void cast (#24)
* Simplify EINTR/ECANCEL error handling

1. Add semaphore uninterruptible wait function
2 .Replace semaphore wait loop with a single uninterruptible wait
3. Replace all sem_xxx to nxsem_xxx

* Unify the void cast usage

1. Remove void cast for function because many place ignore the returned value witout cast
2. Replace void cast for variable with UNUSED macro
2020-01-02 10:54:43 -06:00
Alin Jerpelea 128c1f1430 Merged in alinjerpelea/nuttx (pull request #934)
drivers: video: add basic Video Stream support

basic video stream and capture implementation based on the
spresense SDK code release

Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>

Approved-by: Gregory Nutt <gnutt@nuttx.org>
2019-07-04 13:30:50 +00:00