[libcamera-devel,0/3] libcamera: pipeline: Add internal request queue
mbox series

Message ID 20210719191438.189046-1-nfraprado@collabora.com
Headers show
Series
  • libcamera: pipeline: Add internal request queue
Related show

Message

Nícolas F. R. A. Prado July 19, 2021, 7:14 p.m. UTC
This series adds an internal request queue for the rkisp1, uvcvideo and vimc
pipeline handlers. Each patch is independent of the others, but I've grouped
them in this series because they're very similar, so it should ease the review.

The patches here are based on these patches that added the same functionality
for the ipu3 pipeline handler: 5a9d19210fad ("libcamera: pipeline: ipu3: Try
queuing pending requests if a buffer is available") and 89dae5844964
("libcamera: pipeline: ipu3: Store requests in the case a buffer shortage").

With these patches applied, the lc-compliance test from [1] passes in all three
pipeline handlers.

[1] https://lists.libcamera.org/pipermail/libcamera-devel/2021-July/022356.html

Previous standalone versions of the patches: uvcvideo [2] and rkisp1 [3]

[2] https://lists.libcamera.org/pipermail/libcamera-devel/2021-July/022029.html
[3] https://lists.libcamera.org/pipermail/libcamera-devel/2021-July/022135.html

Nícolas F. R. A. Prado (3):
  libcamera: pipeline: vimc: Add internal request queue
  libcamera: pipeline: uvcvideo: Add internal request queue
  libcamera: pipeline: rkisp1: Add internal request queue

 src/libcamera/pipeline/rkisp1/rkisp1.cpp     | 73 ++++++++++++++++----
 src/libcamera/pipeline/uvcvideo/uvcvideo.cpp | 66 +++++++++++++++---
 src/libcamera/pipeline/vimc/vimc.cpp         | 65 ++++++++++++++---
 3 files changed, 170 insertions(+), 34 deletions(-)

Comments

Laurent Pinchart Aug. 1, 2021, 11:17 p.m. UTC | #1
Hi Nícolas,

Thank you for the series.

On Mon, Jul 19, 2021 at 04:14:35PM -0300, Nícolas F. R. A. Prado wrote:
> This series adds an internal request queue for the rkisp1, uvcvideo and vimc
> pipeline handlers. Each patch is independent of the others, but I've grouped
> them in this series because they're very similar, so it should ease the review.
> 
> The patches here are based on these patches that added the same functionality
> for the ipu3 pipeline handler: 5a9d19210fad ("libcamera: pipeline: ipu3: Try
> queuing pending requests if a buffer is available") and 89dae5844964
> ("libcamera: pipeline: ipu3: Store requests in the case a buffer shortage").
> 
> With these patches applied, the lc-compliance test from [1] passes in all three
> pipeline handlers.

Given that this is a pattern that every pipeline handler needs to
implement, would you be able to document it in the pipeline handler
writer's guide ?

> [1] https://lists.libcamera.org/pipermail/libcamera-devel/2021-July/022356.html
> 
> Previous standalone versions of the patches: uvcvideo [2] and rkisp1 [3]
> 
> [2] https://lists.libcamera.org/pipermail/libcamera-devel/2021-July/022029.html
> [3] https://lists.libcamera.org/pipermail/libcamera-devel/2021-July/022135.html
> 
> Nícolas F. R. A. Prado (3):
>   libcamera: pipeline: vimc: Add internal request queue
>   libcamera: pipeline: uvcvideo: Add internal request queue
>   libcamera: pipeline: rkisp1: Add internal request queue
> 
>  src/libcamera/pipeline/rkisp1/rkisp1.cpp     | 73 ++++++++++++++++----
>  src/libcamera/pipeline/uvcvideo/uvcvideo.cpp | 66 +++++++++++++++---
>  src/libcamera/pipeline/vimc/vimc.cpp         | 65 ++++++++++++++---
>  3 files changed, 170 insertions(+), 34 deletions(-)
>