[PATCH v1 1/3] libcamera: virtual: Avoid some copies
Kieran Bingham
kieran.bingham at ideasonboard.com
Tue Dec 17 17:08:02 CET 2024
Quoting Barnabás Pőcze (2024-12-11 15:25:45)
> There is no reason make copies, these functions return
> const lvalue references, access the data through those.
>
> Signed-off-by: Barnabás Pőcze <pobrn at protonmail.com>
Reviewed-by: Kieran Bingham <kieran.bingham at ideasonboard.com>
> ---
> src/libcamera/pipeline/virtual/image_frame_generator.cpp | 2 +-
> src/libcamera/pipeline/virtual/test_pattern_generator.cpp | 2 +-
> src/libcamera/pipeline/virtual/virtual.cpp | 3 +--
> 3 files changed, 3 insertions(+), 4 deletions(-)
>
> diff --git a/src/libcamera/pipeline/virtual/image_frame_generator.cpp b/src/libcamera/pipeline/virtual/image_frame_generator.cpp
> index 277efbb09..d1545b5d9 100644
> --- a/src/libcamera/pipeline/virtual/image_frame_generator.cpp
> +++ b/src/libcamera/pipeline/virtual/image_frame_generator.cpp
> @@ -129,7 +129,7 @@ int ImageFrameGenerator::generateFrame(const Size &size, const FrameBuffer *buff
>
> MappedFrameBuffer mappedFrameBuffer(buffer, MappedFrameBuffer::MapFlag::Write);
>
> - auto planes = mappedFrameBuffer.planes();
> + const auto &planes = mappedFrameBuffer.planes();
>
> /* Loop only around the number of images available */
> frameIndex_ %= imageFrameDatas_.size();
> diff --git a/src/libcamera/pipeline/virtual/test_pattern_generator.cpp b/src/libcamera/pipeline/virtual/test_pattern_generator.cpp
> index 7bc2b338c..47d341919 100644
> --- a/src/libcamera/pipeline/virtual/test_pattern_generator.cpp
> +++ b/src/libcamera/pipeline/virtual/test_pattern_generator.cpp
> @@ -25,7 +25,7 @@ int TestPatternGenerator::generateFrame(const Size &size,
> MappedFrameBuffer mappedFrameBuffer(buffer,
> MappedFrameBuffer::MapFlag::Write);
>
> - auto planes = mappedFrameBuffer.planes();
> + const auto &planes = mappedFrameBuffer.planes();
>
> shiftLeft(size);
>
> diff --git a/src/libcamera/pipeline/virtual/virtual.cpp b/src/libcamera/pipeline/virtual/virtual.cpp
> index 1b7cd5cb3..3126bdd7d 100644
> --- a/src/libcamera/pipeline/virtual/virtual.cpp
> +++ b/src/libcamera/pipeline/virtual/virtual.cpp
> @@ -275,8 +275,7 @@ int PipelineHandlerVirtual::exportFrameBuffers([[maybe_unused]] Camera *camera,
> return -ENOBUFS;
>
> const StreamConfiguration &config = stream->configuration();
> -
> - auto info = PixelFormatInfo::info(config.pixelFormat);
> + const PixelFormatInfo &info = PixelFormatInfo::info(config.pixelFormat);
>
> std::vector<unsigned int> planeSizes;
> for (size_t i = 0; i < info.planes.size(); ++i)
> --
> 2.47.1
>
>
More information about the libcamera-devel
mailing list