diff options
author | Barnabás Pőcze <barnabas.pocze@ideasonboard.com> | 2025-04-18 14:30:25 +0200 |
---|---|---|
committer | Barnabás Pőcze <barnabas.pocze@ideasonboard.com> | 2025-05-15 17:41:36 +0200 |
commit | 02f60006cf903cbe74c95ba0b612c5cc11045787 (patch) | |
tree | c878fa66cf267d933183972208a7b1b55aa3591f /src | |
parent | f3a12332f6d987b34893b2a41294dba6db5feb39 (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>
Diffstat (limited to 'src')
-rw-r--r-- | src/apps/cam/sdl_texture.h | 4 | ||||
-rw-r--r-- | src/apps/cam/sdl_texture_mjpg.cpp | 2 | ||||
-rw-r--r-- | src/apps/cam/sdl_texture_mjpg.h | 2 | ||||
-rw-r--r-- | src/apps/cam/sdl_texture_yuv.cpp | 4 | ||||
-rw-r--r-- | src/apps/cam/sdl_texture_yuv.h | 4 |
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; }; |