summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBarnabás Pőcze <barnabas.pocze@ideasonboard.com>2025-04-18 14:30:25 +0200
committerBarnabás Pőcze <barnabas.pocze@ideasonboard.com>2025-05-15 17:41:36 +0200
commit02f60006cf903cbe74c95ba0b612c5cc11045787 (patch)
treec878fa66cf267d933183972208a7b1b55aa3591f
parentf3a12332f6d987b34893b2a41294dba6db5feb39 (diff)
apps: cam: sdl_texture: Take list of buffers in span
A non-owning span is sufficient, so use that instead of a vector. Signed-off-by: Barnabás Pőcze <barnabas.pocze@ideasonboard.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
-rw-r--r--src/apps/cam/sdl_texture.h4
-rw-r--r--src/apps/cam/sdl_texture_mjpg.cpp2
-rw-r--r--src/apps/cam/sdl_texture_mjpg.h2
-rw-r--r--src/apps/cam/sdl_texture_yuv.cpp4
-rw-r--r--src/apps/cam/sdl_texture_yuv.h4
5 files changed, 8 insertions, 8 deletions
diff --git a/src/apps/cam/sdl_texture.h b/src/apps/cam/sdl_texture.h
index 990f83b6..39e1c7b3 100644
--- a/src/apps/cam/sdl_texture.h
+++ b/src/apps/cam/sdl_texture.h
@@ -7,7 +7,7 @@
#pragma once
-#include <vector>
+#include <libcamera/base/span.h>
#include <SDL2/SDL.h>
@@ -19,7 +19,7 @@ public:
SDLTexture(const SDL_Rect &rect, uint32_t pixelFormat, const int stride);
virtual ~SDLTexture();
int create(SDL_Renderer *renderer);
- virtual void update(const std::vector<libcamera::Span<const uint8_t>> &data) = 0;
+ virtual void update(libcamera::Span<const libcamera::Span<const uint8_t>> data) = 0;
SDL_Texture *get() const { return ptr_; }
protected:
diff --git a/src/apps/cam/sdl_texture_mjpg.cpp b/src/apps/cam/sdl_texture_mjpg.cpp
index cace18fc..ca49a114 100644
--- a/src/apps/cam/sdl_texture_mjpg.cpp
+++ b/src/apps/cam/sdl_texture_mjpg.cpp
@@ -76,7 +76,7 @@ int SDLTextureMJPG::decompress(Span<const uint8_t> data)
return 0;
}
-void SDLTextureMJPG::update(const std::vector<libcamera::Span<const uint8_t>> &data)
+void SDLTextureMJPG::update(libcamera::Span<const libcamera::Span<const uint8_t>> data)
{
decompress(data[0]);
SDL_UpdateTexture(ptr_, nullptr, rgb_.get(), stride_);
diff --git a/src/apps/cam/sdl_texture_mjpg.h b/src/apps/cam/sdl_texture_mjpg.h
index 37bed5f0..be8a55fe 100644
--- a/src/apps/cam/sdl_texture_mjpg.h
+++ b/src/apps/cam/sdl_texture_mjpg.h
@@ -14,7 +14,7 @@ class SDLTextureMJPG : public SDLTexture
public:
SDLTextureMJPG(const SDL_Rect &rect);
- void update(const std::vector<libcamera::Span<const uint8_t>> &data) override;
+ void update(libcamera::Span<const libcamera::Span<const uint8_t>> data) override;
private:
int decompress(libcamera::Span<const uint8_t> data);
diff --git a/src/apps/cam/sdl_texture_yuv.cpp b/src/apps/cam/sdl_texture_yuv.cpp
index 480d7a37..80a5ec05 100644
--- a/src/apps/cam/sdl_texture_yuv.cpp
+++ b/src/apps/cam/sdl_texture_yuv.cpp
@@ -15,7 +15,7 @@ SDLTextureNV12::SDLTextureNV12(const SDL_Rect &rect, unsigned int stride)
{
}
-void SDLTextureNV12::update(const std::vector<libcamera::Span<const uint8_t>> &data)
+void SDLTextureNV12::update(libcamera::Span<const libcamera::Span<const uint8_t>> data)
{
SDL_UpdateNVTexture(ptr_, &rect_, data[0].data(), stride_,
data[1].data(), stride_);
@@ -27,7 +27,7 @@ SDLTextureYUYV::SDLTextureYUYV(const SDL_Rect &rect, unsigned int stride)
{
}
-void SDLTextureYUYV::update(const std::vector<libcamera::Span<const uint8_t>> &data)
+void SDLTextureYUYV::update(libcamera::Span<const libcamera::Span<const uint8_t>> data)
{
SDL_UpdateTexture(ptr_, &rect_, data[0].data(), stride_);
}
diff --git a/src/apps/cam/sdl_texture_yuv.h b/src/apps/cam/sdl_texture_yuv.h
index 29c756e7..db877f50 100644
--- a/src/apps/cam/sdl_texture_yuv.h
+++ b/src/apps/cam/sdl_texture_yuv.h
@@ -14,7 +14,7 @@ class SDLTextureNV12 : public SDLTexture
{
public:
SDLTextureNV12(const SDL_Rect &rect, unsigned int stride);
- void update(const std::vector<libcamera::Span<const uint8_t>> &data) override;
+ void update(libcamera::Span<const libcamera::Span<const uint8_t>> data) override;
};
#endif
@@ -22,5 +22,5 @@ class SDLTextureYUYV : public SDLTexture
{
public:
SDLTextureYUYV(const SDL_Rect &rect, unsigned int stride);
- void update(const std::vector<libcamera::Span<const uint8_t>> &data) override;
+ void update(libcamera::Span<const libcamera::Span<const uint8_t>> data) override;
};