154 Commits

Author SHA1 Message Date
Kamil Trzcinski
f742c1a7fc Fix camera-vflip/hflip support on arm32v7
This adds `buffer_list_alloc_buffers` and `buffer_list_free_buffers`
to delay buffers allocation for `libcamera`.

Doing this allows to setup RAW stream afterwards.
2023-04-29 10:21:52 +02:00
Kamil Trzcinski
04dd8c926f debug: dump all buffers to path specified by CAMERA_DEBUG_CAPTURE 2023-03-08 19:37:28 +01:00
Kamil Trzcinski
bbb1b32e08 Revert "debug: add more logs for VIDIOC_QBUF"
This reverts commit 5a3085a2f63c7ede601841fd42c602e697ad4662.
2023-03-06 10:08:04 +01:00
Kamil Trzcinski
9db8ba5fa5 device: fix compiler bugs 2023-03-03 00:28:48 +01:00
Kamil Trzcinski
edba5098d2 camera: improve resolution scaling for non-block camera inputs 2023-03-02 12:54:41 +01:00
Kamil Trzcinski
20ca08ffad camera: use CAMERA_DECODER_DEBUG to define output folder 2023-02-28 21:59:54 +01:00
Kamil Trzcinski
9c3414a653 links: restart if not enqueued for too long 2023-02-26 20:47:25 +01:00
Kamil Trzcinski
5a3085a2f6 debug: add more logs for VIDIOC_QBUF 2023-02-25 00:13:56 +01:00
Kamil Trzcinski
67a43e7bc9 buffer: queue all keyed packets 2023-02-24 22:22:00 +01:00
Kamil Trzcinski
19302b93d1 links: to avoid overrun limit amount of buffers enqueued on v4l2 2023-02-24 22:22:00 +01:00
Kamil Trzcinski
d57feb0359 links: enqueue and dequeue buffers in sync (output and capture) asynchronously 2023-02-24 22:22:00 +01:00
Kamil Trzcinski
34ff200ceb camera: add force_active option to make camera always hot 2023-02-24 22:20:36 +01:00
Kamil Trzcinski
6d30270b16 links: improve the implementation (simplify it) 2023-02-24 22:20:36 +01:00
Kamil Trzcinski
49c7d01789 buffer: if last buffer is discovered restart streaming 2023-02-24 19:59:56 +01:00
Kamil Trzcinski
6c14564e75 device: check hw methods being present 2023-02-24 19:59:54 +01:00
Kamil Trzcinski
27b93facc9 libcamera: add frame timeout 2023-02-24 19:59:54 +01:00
Kamil Trzcinski
f2ad561734 libcamera: find camera by partial match (if not found) 2023-02-24 19:59:53 +01:00
Kamil Trzcinski
cd7ab4c281 buffer_lock: Fix buffer lock checking for streaming 2023-02-24 19:59:52 +01:00
Kamil Trzcinski
f7f4eba9ca links: use n_output_lists for link_t 2023-02-24 19:59:51 +01:00
Kamil Trzcinski
2413c7f4fc device: remove decoder_started 2023-02-24 19:59:46 +01:00
Kamil Trzcinski
6ce1869f71 camera: improve resolution scaling to avoid extra rescallers 2023-02-24 19:59:42 +01:00
Kamil Trzcinski
425bbe7745 links: remove link_validate_buffer 2023-02-24 11:40:46 +01:00
Kamil Trzcinski
456eec5847 links: rename buf_list to capture_list or output_list 2023-02-24 11:40:46 +01:00
Kamil Trzcinski
8042743e1a links: allow to log processing statistics 2023-02-24 11:30:26 +01:00
Kamil Trzcinski
8b3ed0b599 links: introduce link_pool_t 2023-02-24 11:27:07 +01:00
Kamil Trzcinski
7c375f70a6 links: rename source and sinks to capture_list and output_lists 2023-02-24 11:26:49 +01:00
Kamil Trzcinski
bf14b915eb links: remove unused global links_init and links_step 2023-02-24 00:26:44 +01:00
Kamil Trzcinski
53bfdcfedf decoder: improve support for rescaller to prefer NV12 2023-02-24 00:08:37 +01:00
Kamil Trzcinski
c139a13ec2 camera: add camera_get_scaled_resolution 2023-02-24 00:07:57 +01:00
Kamil Trzcinski
b1c6fb33ec device: remove device_consume_event and device_set_decoder_start 2023-02-24 00:07:24 +01:00
Kamil Trzcinski
86e89a6291 device: add helpers for count enqueued 2023-02-24 00:07:19 +01:00
Kamil Trzcinski
23491cef49 libcamera: dynamically add new configurations
device: add `buffer_type_t`
2023-02-23 19:17:11 +01:00
Kamil Trzcinski
21ce78a277 camera: improve FPS handling 2023-02-23 19:17:07 +01:00
Kamil Trzcinski
a24e100983 camera: fix output matches to find close-by resolutions 2023-02-23 19:16:11 +01:00
Kamil Trzcinski
529d72b105 libcamera: configure RAW to force correct resolution 2023-02-22 23:04:39 +01:00
Kamil Trzcinski
e2e5762b2b libcamera: improve configuration management 2023-02-22 23:04:39 +01:00
Kamil Trzcinski
10545b6b7a camera: match resolutions close to 32x32 blocks (when re-using) 2023-02-22 21:49:06 +01:00
Kamil Trzcinski
aafd120af3 libcamera: support Rectangle and Size types
Fixes: https://github.com/ayufan/camera-streamer/issues/28
Replaces: https://github.com/ayufan/camera-streamer/pull/30
2023-02-22 18:07:27 +01:00
Kamil Trzcinski
72dfc2e731 camera: limit max rescaller size to 1920 (default for Raspi) 2023-02-22 17:32:47 +01:00
Kamil Trzcinski
3bc447c772 camera: add support for V4L2_PIX_FMT_SBGGR10P 2023-02-22 17:32:47 +01:00
Kamil Trzcinski
c9600d1253 device: allow to use dummy as a way to test streamer
This adds loopback tests via `tests/`
2023-02-22 17:32:47 +01:00
Kamil Trzcinski
2e9718fea7 device: make device_open_buffer_list_capture to use buffer_format_t 2023-02-22 17:32:46 +01:00
Kamil Trzcinski
168181afa5 camera: find device handling the format by format order 2023-02-22 17:32:46 +01:00
Kamil Trzcinski
0c244a61c8 Pass sizeimage to ensure that allocated buffers are of a correct size 2023-02-22 17:32:46 +01:00
Kamil Trzciński
ca08adb62f Add -snapshot.height, -stream.height and -video.height 2023-02-22 17:32:46 +01:00
Kamil Trzcinski
4ff6bee511 device: some random fixes 2023-02-21 23:39:38 +01:00
Kamil Trzcinski
fc8255ed90 device: ensure that sink has capture that can process output - otherwise skip
It appears that if output is enqueued, but there's no capture for longer period
this results EPIPE from mmal.
2023-02-21 23:39:38 +01:00
Kamil Trzcinski
ba369ce597 Log how much memory was used 2023-02-21 15:28:03 +01:00
Kamil Trzciński
3839f051af Refactor buffer_lock_capture method 2022-10-29 11:46:25 +02:00
Kamil Trzciński
79e9bca11f Discover H264 keyframes on dequeue 2022-10-29 11:36:58 +02:00