[{"id":34002,"web_url":"https://patchwork.libcamera.org/comment/34002/","msgid":"<20250422233626.GZ17813@pendragon.ideasonboard.com>","date":"2025-04-22T23:36:26","subject":"Re: [RFC PATCH v1 1/5] apps: cam: sdl_texture: Take list of buffers\n\tin span","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/people/2/","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"content":"Hi Barnabás,\n\nThank you for the patch.\n\nOn Mon, Apr 21, 2025 at 05:51:05PM +0200, Barnabás Pőcze wrote:\n\nMissing commit message. With that fixed,\n\nReviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n\n> Signed-off-by: Barnabás Pőcze <barnabas.pocze@ideasonboard.com>\n> ---\n>  src/apps/cam/sdl_texture.h        | 4 ++--\n>  src/apps/cam/sdl_texture_mjpg.cpp | 2 +-\n>  src/apps/cam/sdl_texture_mjpg.h   | 2 +-\n>  src/apps/cam/sdl_texture_yuv.cpp  | 4 ++--\n>  src/apps/cam/sdl_texture_yuv.h    | 4 ++--\n>  5 files changed, 8 insertions(+), 8 deletions(-)\n> \n> diff --git a/src/apps/cam/sdl_texture.h b/src/apps/cam/sdl_texture.h\n> index 990f83b6e..39e1c7b38 100644\n> --- a/src/apps/cam/sdl_texture.h\n> +++ b/src/apps/cam/sdl_texture.h\n> @@ -7,7 +7,7 @@\n>  \n>  #pragma once\n>  \n> -#include <vector>\n> +#include <libcamera/base/span.h>\n>  \n>  #include <SDL2/SDL.h>\n>  \n> @@ -19,7 +19,7 @@ public:\n>  \tSDLTexture(const SDL_Rect &rect, uint32_t pixelFormat, const int stride);\n>  \tvirtual ~SDLTexture();\n>  \tint create(SDL_Renderer *renderer);\n> -\tvirtual void update(const std::vector<libcamera::Span<const uint8_t>> &data) = 0;\n> +\tvirtual void update(libcamera::Span<const libcamera::Span<const uint8_t>> data) = 0;\n>  \tSDL_Texture *get() const { return ptr_; }\n>  \n>  protected:\n> diff --git a/src/apps/cam/sdl_texture_mjpg.cpp b/src/apps/cam/sdl_texture_mjpg.cpp\n> index cace18fc6..ca49a1142 100644\n> --- a/src/apps/cam/sdl_texture_mjpg.cpp\n> +++ b/src/apps/cam/sdl_texture_mjpg.cpp\n> @@ -76,7 +76,7 @@ int SDLTextureMJPG::decompress(Span<const uint8_t> data)\n>  \treturn 0;\n>  }\n>  \n> -void SDLTextureMJPG::update(const std::vector<libcamera::Span<const uint8_t>> &data)\n> +void SDLTextureMJPG::update(libcamera::Span<const libcamera::Span<const uint8_t>> data)\n>  {\n>  \tdecompress(data[0]);\n>  \tSDL_UpdateTexture(ptr_, nullptr, rgb_.get(), stride_);\n> diff --git a/src/apps/cam/sdl_texture_mjpg.h b/src/apps/cam/sdl_texture_mjpg.h\n> index 37bed5f0e..be8a55fe7 100644\n> --- a/src/apps/cam/sdl_texture_mjpg.h\n> +++ b/src/apps/cam/sdl_texture_mjpg.h\n> @@ -14,7 +14,7 @@ class SDLTextureMJPG : public SDLTexture\n>  public:\n>  \tSDLTextureMJPG(const SDL_Rect &rect);\n>  \n> -\tvoid update(const std::vector<libcamera::Span<const uint8_t>> &data) override;\n> +\tvoid update(libcamera::Span<const libcamera::Span<const uint8_t>> data) override;\n>  \n>  private:\n>  \tint decompress(libcamera::Span<const uint8_t> data);\n> diff --git a/src/apps/cam/sdl_texture_yuv.cpp b/src/apps/cam/sdl_texture_yuv.cpp\n> index 480d7a379..80a5ec05d 100644\n> --- a/src/apps/cam/sdl_texture_yuv.cpp\n> +++ b/src/apps/cam/sdl_texture_yuv.cpp\n> @@ -15,7 +15,7 @@ SDLTextureNV12::SDLTextureNV12(const SDL_Rect &rect, unsigned int stride)\n>  {\n>  }\n>  \n> -void SDLTextureNV12::update(const std::vector<libcamera::Span<const uint8_t>> &data)\n> +void SDLTextureNV12::update(libcamera::Span<const libcamera::Span<const uint8_t>> data)\n>  {\n>  \tSDL_UpdateNVTexture(ptr_, &rect_, data[0].data(), stride_,\n>  \t\t\t    data[1].data(), stride_);\n> @@ -27,7 +27,7 @@ SDLTextureYUYV::SDLTextureYUYV(const SDL_Rect &rect, unsigned int stride)\n>  {\n>  }\n>  \n> -void SDLTextureYUYV::update(const std::vector<libcamera::Span<const uint8_t>> &data)\n> +void SDLTextureYUYV::update(libcamera::Span<const libcamera::Span<const uint8_t>> data)\n>  {\n>  \tSDL_UpdateTexture(ptr_, &rect_, data[0].data(), stride_);\n>  }\n> diff --git a/src/apps/cam/sdl_texture_yuv.h b/src/apps/cam/sdl_texture_yuv.h\n> index 29c756e77..db877f503 100644\n> --- a/src/apps/cam/sdl_texture_yuv.h\n> +++ b/src/apps/cam/sdl_texture_yuv.h\n> @@ -14,7 +14,7 @@ class SDLTextureNV12 : public SDLTexture\n>  {\n>  public:\n>  \tSDLTextureNV12(const SDL_Rect &rect, unsigned int stride);\n> -\tvoid update(const std::vector<libcamera::Span<const uint8_t>> &data) override;\n> +\tvoid update(libcamera::Span<const libcamera::Span<const uint8_t>> data) override;\n>  };\n>  #endif\n>  \n> @@ -22,5 +22,5 @@ class SDLTextureYUYV : public SDLTexture\n>  {\n>  public:\n>  \tSDLTextureYUYV(const SDL_Rect &rect, unsigned int stride);\n> -\tvoid update(const std::vector<libcamera::Span<const uint8_t>> &data) override;\n> +\tvoid update(libcamera::Span<const libcamera::Span<const uint8_t>> data) override;\n>  };","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id B7E01C327D\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue, 22 Apr 2025 23:36:31 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id D6CC068AC5;\n\tWed, 23 Apr 2025 01:36:30 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 09D5868AC5\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 23 Apr 2025 01:36:29 +0200 (CEST)","from pendragon.ideasonboard.com (81-175-209-231.bb.dnainternet.fi\n\t[81.175.209.231])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id D425A16A;\n\tWed, 23 Apr 2025 01:36:27 +0200 (CEST)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"ZnX4P6+N\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1745364988;\n\tbh=7e0+fm3Xw7WwCvOyx19dAp1K6G/S++yeEE3bpr/slCM=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=ZnX4P6+NBuzikuNTC7EJwrB8l5rAEsZMOArsz7b6OcMa64GxU893j8+sbDD9zaTY6\n\t6WUoma7LNCyOkEEUv/++wRp1Tp1Wg2tvpzc3ic1oeqaMxjd/xW6zztlEBosYjKnkB1\n\t456eE/Wmb0kKyI/odmrNk6XD8yWkG5+6dKXAg+IA=","Date":"Wed, 23 Apr 2025 02:36:26 +0300","From":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","To":"=?utf-8?q?Barnab=C3=A1s_P=C5=91cze?= <barnabas.pocze@ideasonboard.com>","Cc":"libcamera-devel@lists.libcamera.org","Subject":"Re: [RFC PATCH v1 1/5] apps: cam: sdl_texture: Take list of buffers\n\tin span","Message-ID":"<20250422233626.GZ17813@pendragon.ideasonboard.com>","References":"<20250421155109.175930-1-barnabas.pocze@ideasonboard.com>\n\t<20250421155109.175930-2-barnabas.pocze@ideasonboard.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","Content-Transfer-Encoding":"8bit","In-Reply-To":"<20250421155109.175930-2-barnabas.pocze@ideasonboard.com>","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}}]