[{"id":37010,"web_url":"https://patchwork.libcamera.org/comment/37010/","msgid":"<cdf3a94a-4f5d-48d1-b980-6dd6ac010ca0@linaro.org>","date":"2025-11-22T21:40:02","subject":"Re: [PATCH 2/3] libcamera: software_isp: debayer_egl: Fix input\n\tsampling when width != stride","submitter":{"id":175,"url":"https://patchwork.libcamera.org/api/people/175/","name":"Bryan O'Donoghue","email":"bryan.odonoghue@linaro.org"},"content":"On 22/11/2025 20:55, Hans de Goede wrote:\n> When bayer_unpacked.vert is calculating the center and x/yCoord values\n> stride != width is taken into account for x/yCoord deltas since it is taken\n> into account by debayer_egl when setting the x part of tex_step uniform.\n> \n> But it is not taken into account for the center.x which is just directly\n> copied from textureIn, leading to the input width sampling covering\n> the entire input stride instead of just covering the input width.\n> \n> Use the existing and currently unused stride_factor uniform to pass\n> the width/stride ratio and correct center.x for this. This fixes\n> the misrendering seen on x86 laptops which is caused by the CSI2 receiver\n> there requiring a stride which is a multiple of 32 often leading to\n> stride != width.\n> \n> Signed-off-by: Hans de Goede <johannes.goede@oss.qualcomm.com>\n> ---\n> Besides using stride_factor to correct center.x this also requires\n> debayer_egl to actuall set stride_factor instead of hardcoding it to 1.0,\n> this last part should be squashed into \"libcamera: software_isp:\n> debayer_egl: Add an eGL debayer class\"\n> ---\n>   include/libcamera/internal/shaders/bayer_unpacked.vert | 4 +++-\n>   src/libcamera/software_isp/debayer_egl.cpp             | 2 +-\n>   2 files changed, 4 insertions(+), 2 deletions(-)\n> \n> diff --git a/include/libcamera/internal/shaders/bayer_unpacked.vert b/include/libcamera/internal/shaders/bayer_unpacked.vert\n> index fb5109ee..1425b449 100644\n> --- a/include/libcamera/internal/shaders/bayer_unpacked.vert\n> +++ b/include/libcamera/internal/shaders/bayer_unpacked.vert\n> @@ -40,8 +40,10 @@ varying vec4            xCoord;\n>   /** of the adjacent pixels.*/\n>   varying vec4            yCoord;\n>   \n> +uniform float stride_factor;\n> +\n>   void main(void) {\n> -    center.xy = textureIn;\n> +    center.xy = vec2(textureIn.x * stride_factor, textureIn.y);\n>       center.zw = textureIn * tex_size + tex_bayer_first_red;\n>   \n>       xCoord = center.x + vec4(-2.0 * tex_step.x,\n> diff --git a/src/libcamera/software_isp/debayer_egl.cpp b/src/libcamera/software_isp/debayer_egl.cpp\n> index cf40478f..29a8ae70 100644\n> --- a/src/libcamera/software_isp/debayer_egl.cpp\n> +++ b/src/libcamera/software_isp/debayer_egl.cpp\n> @@ -455,7 +455,7 @@ void DebayerEGL::setShaderVariableValues(DebayerParams &params)\n>   \t\t\t      (GLfloat)height_ };\n>   \tGLfloat Step[] = { static_cast<float>(bytesPerPixel_) / (inputConfig_.stride - 1),\n>   \t\t\t   1.0f / (height_ - 1) };\n> -\tGLfloat Stride = 1.0f;\n> +\tGLfloat Stride = (GLfloat)width_ / (inputConfig_.stride / bytesPerPixel_);\n>   \tGLfloat scaleX = (GLfloat)window_.width / width_;\n>   \tGLfloat scaleY = (GLfloat)window_.height / height_;\n>   \tGLfloat transX = -(1.0f - scaleX);\n\nNice.\n\nIs it OK to squash this down and do Co-developed-by/Signed-off-by ?\n\n---\nbod","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 A0D5EC3334\n\tfor <parsemail@patchwork.libcamera.org>;\n\tSat, 22 Nov 2025 21:40:07 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id E5D30609D8;\n\tSat, 22 Nov 2025 22:40:06 +0100 (CET)","from mail-wm1-x333.google.com (mail-wm1-x333.google.com\n\t[IPv6:2a00:1450:4864:20::333])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id E38AC606E6\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tSat, 22 Nov 2025 22:40:04 +0100 (CET)","by mail-wm1-x333.google.com with SMTP id\n\t5b1f17b1804b1-477b1cc8fb4so18176385e9.1\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tSat, 22 Nov 2025 13:40:04 -0800 (PST)","from [192.168.0.27] (188-141-3-146.dynamic.upc.ie. [188.141.3.146])\n\tby smtp.gmail.com with ESMTPSA id\n\tffacd0b85a97d-42cb7fb919bsm18773277f8f.34.2025.11.22.13.40.03\n\t(version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);\n\tSat, 22 Nov 2025 13:40:03 -0800 (PST)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (2048-bit key;\n\tunprotected) header.d=linaro.org header.i=@linaro.org\n\theader.b=\"ONMA7JVw\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=linaro.org; s=google; t=1763847604; x=1764452404;\n\tdarn=lists.libcamera.org; \n\th=content-transfer-encoding:in-reply-to:content-language:from\n\t:references:to:subject:user-agent:mime-version:date:message-id:from\n\t:to:cc:subject:date:message-id:reply-to;\n\tbh=BVBGa3MNwVjWVHapQ5/qWSsZBBRaJv7e0zcD/iCY5yU=;\n\tb=ONMA7JVwDJeHxqmOtUe236YszWsj3/aamvJBe5Z3smnIm9tEduwW+C97kop2pMQLfX\n\tA6j6iuQsB3AmzYk5l0otyn9ZJcvhruwAK0R2co6Ty5tG9IfSvVRofNVBKTwH/NrRoowE\n\ty6PdvCI6Vg9hL6kSAm2QFYlNoKI05yo3850OffQqFeUHn585E203utuUeNJArW0FZeoq\n\txElw91jkIOH5UlyS2007/MhP3SH98leWLqkNogj65NGWy0GfEsl9W4QI7NLiE3cI+A9Y\n\tMPWBfVHaR06AiqCb8bOCUut0qZUXCbIXASXYEGxjzlhBLX3TanZMM0l2Dhe2LaJAzh/a\n\tOewQ==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20230601; t=1763847604; x=1764452404;\n\th=content-transfer-encoding:in-reply-to:content-language:from\n\t:references:to:subject:user-agent:mime-version:date:message-id\n\t:x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id\n\t:reply-to;\n\tbh=BVBGa3MNwVjWVHapQ5/qWSsZBBRaJv7e0zcD/iCY5yU=;\n\tb=mzYs3jrzWbrft4QR/vr7/MKn1pVie5VNCZf0zRalNk5opyf8B7R0LWHRcpzzbDoGqI\n\tSY0WQWIvpfZdtv8Ci3upFRw3ALNf8u1mDSJvjkNwu/5U388Fvl8niZvtjSVYv3Hq91/d\n\thMp4GIyKOdG4Wy+v+vHd6s4/l4lLqtm6dLH9MwuLLA7m5SPdhymvf0DIHnSGfTcG+SSC\n\tGcLRqQB5vSQeHNlEclSt39GzcrnkslaT9kSHez7TVAY7NjoAJllFrEL76rcquK48Aus0\n\tofJznHzIKHvwWKmwHhoh5ANVTwPmeur30qT30pKVs00h6JFnalrUkPLBGhD0DuU/9zVa\n\tFUDg==","X-Forwarded-Encrypted":"i=1;\n\tAJvYcCWErGv67Q5Ox9SIJn4QWbqpMWWgr9rz925QKc1HSJYcno0UvXM9r+XtEbCY3m2abvKijfxqS9mwz5px95WY2kU=@lists.libcamera.org","X-Gm-Message-State":"AOJu0YzWN+dI4VS3R70BUv/w4votm0jytwO8+IFxQyGBys7tO6be9GIk\n\tEkuojPhpmBVf7W4jZFkT+o9bb7NzIin458GSrlmKN7qOPkgH0a6mbRDAsJc4+KmDVEREXSsl0Dr\n\tKvux7Rdk=","X-Gm-Gg":"ASbGnct1OsRp9IC2q87ZfAPXVxx4A7GWga+ewo8kpP0P1UDN/875bteWrEjNdOgGhOA\n\tkQUPip/M8BLLbl4JTYqoyjh8qODYZb8gmC2xsPsAtUTj3au7pMczemxqJ0CtoqXtXONApWTnid0\n\ty7cJCo0rpG1lRcmY5ObP1KRj0on/7JLxhr+3kzVcOQS3uKF4BueSSwhwh075zmXDXNwgAciRmVj\n\teplMGRLbKovBb1Ch2/fXQpr4yUKOdfWC/0O8HK/n995mePZCE1ywH8wyw83811qoGTqnCIopGBb\n\tcNd1TmK/jztqUHinTAR/1mSit8zB7tahRaReeFQctWZDghfqGf2dpUNOt1mZ6uqpWAI0nuUPrsB\n\t1X12os1x43Bo557TWv7YVHHah0RHJMlKicDL2UDPUuQqIWJWY1OkznjkLwfoicHMoU24FGUmMSA\n\tN4Eu7fEQN3c2FER3fM5c0rd0sii9fMDnXJDAq1jVynn2kCcKkPE2/u","X-Google-Smtp-Source":"AGHT+IGgslzTHfZWDGgnQkXt9qeSHmK2Z3qZ+QOYWIcwSciwpM3236wL6tgoiQ+zO3UCwb8A5lP5QQ==","X-Received":"by 2002:a05:600c:1c28:b0:46e:53cb:9e7f with SMTP id\n\t5b1f17b1804b1-477c01c11afmr78890955e9.18.1763847604252; \n\tSat, 22 Nov 2025 13:40:04 -0800 (PST)","Message-ID":"<cdf3a94a-4f5d-48d1-b980-6dd6ac010ca0@linaro.org>","Date":"Sat, 22 Nov 2025 21:40:02 +0000","MIME-Version":"1.0","User-Agent":"Mozilla Thunderbird","Subject":"Re: [PATCH 2/3] libcamera: software_isp: debayer_egl: Fix input\n\tsampling when width != stride","To":"Hans de Goede <johannes.goede@oss.qualcomm.com>,\n\tlibcamera-devel@lists.libcamera.org","References":"<20251122205507.37387-1-johannes.goede@oss.qualcomm.com>\n\t<20251122205507.37387-3-johannes.goede@oss.qualcomm.com>","From":"Bryan O'Donoghue <bryan.odonoghue@linaro.org>","Content-Language":"en-US","In-Reply-To":"<20251122205507.37387-3-johannes.goede@oss.qualcomm.com>","Content-Type":"text/plain; charset=UTF-8; format=flowed","Content-Transfer-Encoding":"7bit","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>"}},{"id":37012,"web_url":"https://patchwork.libcamera.org/comment/37012/","msgid":"<51ac39ae-4b3b-4d8d-bc94-8764c31f83e9@linaro.org>","date":"2025-11-23T10:27:47","subject":"Re: [PATCH 2/3] libcamera: software_isp: debayer_egl: Fix input\n\tsampling when width != stride","submitter":{"id":175,"url":"https://patchwork.libcamera.org/api/people/175/","name":"Bryan O'Donoghue","email":"bryan.odonoghue@linaro.org"},"content":"On 22/11/2025 20:55, Hans de Goede wrote:\n> When bayer_unpacked.vert is calculating the center and x/yCoord values\n> stride != width is taken into account for x/yCoord deltas since it is taken\n> into account by debayer_egl when setting the x part of tex_step uniform.\n> \n> But it is not taken into account for the center.x which is just directly\n> copied from textureIn, leading to the input width sampling covering\n> the entire input stride instead of just covering the input width.\n> \n> Use the existing and currently unused stride_factor uniform to pass\n> the width/stride ratio and correct center.x for this. This fixes\n> the misrendering seen on x86 laptops which is caused by the CSI2 receiver\n> there requiring a stride which is a multiple of 32 often leading to\n> stride != width.\n> \n> Signed-off-by: Hans de Goede <johannes.goede@oss.qualcomm.com>\nOn second thought I think this should be cherry-picked as-is on top of \nMilan's changes.\n\n---\nbod","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 9F60DC3334\n\tfor <parsemail@patchwork.libcamera.org>;\n\tSun, 23 Nov 2025 10:27:52 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id EB9E160A8B;\n\tSun, 23 Nov 2025 11:27:51 +0100 (CET)","from mail-wm1-x329.google.com (mail-wm1-x329.google.com\n\t[IPv6:2a00:1450:4864:20::329])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id EE30960856\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tSun, 23 Nov 2025 11:27:49 +0100 (CET)","by mail-wm1-x329.google.com with SMTP id\n\t5b1f17b1804b1-4779a4fc95aso27804195e9.1\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tSun, 23 Nov 2025 02:27:49 -0800 (PST)","from [192.168.0.35] (188-141-3-146.dynamic.upc.ie. [188.141.3.146])\n\tby smtp.gmail.com with ESMTPSA id\n\tffacd0b85a97d-42cb7f2e454sm21888677f8f.2.2025.11.23.02.27.48\n\t(version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);\n\tSun, 23 Nov 2025 02:27:48 -0800 (PST)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (2048-bit key;\n\tunprotected) header.d=linaro.org header.i=@linaro.org\n\theader.b=\"wn8szcPa\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=linaro.org; s=google; t=1763893669; x=1764498469;\n\tdarn=lists.libcamera.org; \n\th=content-transfer-encoding:in-reply-to:content-language:from\n\t:references:to:subject:user-agent:mime-version:date:message-id:from\n\t:to:cc:subject:date:message-id:reply-to;\n\tbh=caFqxw7vtN6nMp+qkR0PMom4Nuzp7FQ+shuDkr3Ecrg=;\n\tb=wn8szcPaO3VlSG6d4CPQCfofUPKME47Dq7KPs6E8HrvkHNClRzsbbQ1VOjGnPOYhue\n\tp+o+nVdl/Zo+ByvUa0IaKF/4JjkFscZbWixORRrbUdyaLUQlOAiXsnB3gS3KXYW3ZREx\n\tyVCP1q1AG9hJXNQLvoaSsfdUqgbel1D35s6wzdhh7bSzaSHpFd3x5tTNn89UBuKbipPv\n\tyHjJwrOHUsucPHirUgVBljZm4SM1ICa+9ogUkYlTLwOU38L9J2JuU0TmAFSAJRAuVzPB\n\txY1Zht3EVGbFQhtJTjW3x5k9nW6Ri7HRItv5RzdjZnc9ZRItS6/kGsaKoS2XHrtgwW31\n\tvCjQ==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20230601; t=1763893669; x=1764498469;\n\th=content-transfer-encoding:in-reply-to:content-language:from\n\t:references:to:subject:user-agent:mime-version:date:message-id\n\t:x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id\n\t:reply-to;\n\tbh=caFqxw7vtN6nMp+qkR0PMom4Nuzp7FQ+shuDkr3Ecrg=;\n\tb=b3ZAYdskrwKquKTHo6dMBjuaiMNi+0iDqL1zWEKSBiGOw7gOrMdU36RtF/01y+WcbX\n\t0g9WhJTi1aliJz/0u2IF8ibuQsUL+cckwgxBSdVnoxd6shfqLCkdhbNu97lmkXwlwLTZ\n\t7vCp53i/Pt/rYDCBmdmS+ZsBCP+mra90cEUtrjez5sGIosG9wV2jpKQQ2j2T7WD5zi7R\n\tv0wabAMJbemBgmX61zSk0mx91sbYbbIrAJm+NBM/2Mc2jIRlqoKG5IO/OnkI0tNJqQjS\n\tkuBL3TmAXzSinTqBp7TwVbBmLEFpRjei2h0QbU0DjA4MhBVeufxD/f/AKgpAKFICOCBG\n\t3P4g==","X-Forwarded-Encrypted":"i=1;\n\tAJvYcCVB3VEh2jpc2r+U0lgS9TzUzXl0tbbf32GGiD7E9cLyJj/2eFpD9xGzWOun+RPkfFj7ixhCIE0jwc7G5eyrAK0=@lists.libcamera.org","X-Gm-Message-State":"AOJu0YzBE4q5LxMe5ldb05A4k6WOQ1tfct2s+QQtPVlbg7U5/XL4+2Kl\n\tJ3Zs7EivBc6/xYL2Gw8rai8Ulws2zG35QlmyLWKQ283+dRoNws9Hxvdti2lpwgtM4Uw=","X-Gm-Gg":"ASbGncuVTtdw+1uC6RJY3RgFqt9TTT32EmcSRRrIP+XQNnaCH09WeJHq0EdZG3hayoH\n\ten26bXgpQZErPjU/PWhBeBtc9dq3BcFfGsvYEYCCPJVfWUISrMoOiz3/PT5kqj7RewJbRVfa3/u\n\t3bqiuR9RcM/yp3cRGWv/r3Vf1pAkaw+hQsV2xD3dQ7kUArHw459QoPLtryqmvNsxC9+Xl81mlNx\n\t2kkF4ZMoBYcvd+CH9KZkyIe7qqMt6pa6P0t8WJrLEhgyMyDnSmU0uf2MB0ypy/Nwhu3v0rVjlIE\n\tIIMQEFdkjhEItha3BJZC4INBHpsK4nWlIV8h7DeoxMP+gk/ON4dbxhyG3u06an7UUfcKixXl2TJ\n\t9ozRvS2fok7y3ZIbTJnbi2234DyoMvVX9FKluJW9XBDPEiW+qT8BRpFXqYc4kAsSwyKYvKwJKG9\n\tsAJQorETbNWEfTCC4Wc6ZRrv5droYXmn+TZFYSP0JcHPp/G+R1HwQk","X-Google-Smtp-Source":"AGHT+IF9aBBT02pcU83wQrWys3QchpWLFA6xvnh8kpPcwBqvOh1Y37PYtrOJNIjT47Y4jXN6ToaZ/w==","X-Received":"by 2002:a5d:5d0a:0:b0:42b:47ef:1d7a with SMTP id\n\tffacd0b85a97d-42cba7b436amr15272240f8f.20.1763893669390; \n\tSun, 23 Nov 2025 02:27:49 -0800 (PST)","Message-ID":"<51ac39ae-4b3b-4d8d-bc94-8764c31f83e9@linaro.org>","Date":"Sun, 23 Nov 2025 10:27:47 +0000","MIME-Version":"1.0","User-Agent":"Mozilla Thunderbird","Subject":"Re: [PATCH 2/3] libcamera: software_isp: debayer_egl: Fix input\n\tsampling when width != stride","To":"Hans de Goede <johannes.goede@oss.qualcomm.com>,\n\tlibcamera-devel@lists.libcamera.org","References":"<20251122205507.37387-1-johannes.goede@oss.qualcomm.com>\n\t<20251122205507.37387-3-johannes.goede@oss.qualcomm.com>","From":"Bryan O'Donoghue <bryan.odonoghue@linaro.org>","Content-Language":"en-US","In-Reply-To":"<20251122205507.37387-3-johannes.goede@oss.qualcomm.com>","Content-Type":"text/plain; charset=UTF-8; format=flowed","Content-Transfer-Encoding":"7bit","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>"}},{"id":37014,"web_url":"https://patchwork.libcamera.org/comment/37014/","msgid":"<18ac6331-fb9c-43b6-9619-09fb1bd8de71@oss.qualcomm.com>","date":"2025-11-23T11:49:31","subject":"Re: [PATCH 2/3] libcamera: software_isp: debayer_egl: Fix input\n\tsampling when width != stride","submitter":{"id":242,"url":"https://patchwork.libcamera.org/api/people/242/","name":"Hans de Goede","email":"johannes.goede@oss.qualcomm.com"},"content":"Hi,\n\nOn 23-Nov-25 11:27 AM, Bryan O'Donoghue wrote:\n> On 22/11/2025 20:55, Hans de Goede wrote:\n>> When bayer_unpacked.vert is calculating the center and x/yCoord values\n>> stride != width is taken into account for x/yCoord deltas since it is taken\n>> into account by debayer_egl when setting the x part of tex_step uniform.\n>>\n>> But it is not taken into account for the center.x which is just directly\n>> copied from textureIn, leading to the input width sampling covering\n>> the entire input stride instead of just covering the input width.\n>>\n>> Use the existing and currently unused stride_factor uniform to pass\n>> the width/stride ratio and correct center.x for this. This fixes\n>> the misrendering seen on x86 laptops which is caused by the CSI2 receiver\n>> there requiring a stride which is a multiple of 32 often leading to\n>> stride != width.\n>>\n>> Signed-off-by: Hans de Goede <johannes.goede@oss.qualcomm.com>\n> On second thought I think this should be cherry-picked as-is on top of Milan's changes.\n\nAs I said under the --- line I think the debayer_egl.cpp change can\nprobably be squashed but for the shader changes cherry-pick probably\nmakes sense.\n\nBut whatever works for you also works for me :)\n\nRegards,\n\nHans","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 C3171C3334\n\tfor <parsemail@patchwork.libcamera.org>;\n\tSun, 23 Nov 2025 11:49:41 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 0044560A8B;\n\tSun, 23 Nov 2025 12:49:40 +0100 (CET)","from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com\n\t[205.220.180.131])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id A831A608CF\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tSun, 23 Nov 2025 12:49:38 +0100 (CET)","from pps.filterd (m0279868.ppops.net [127.0.0.1])\n\tby mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id\n\t5AN5tNRA473666 for <libcamera-devel@lists.libcamera.org>;\n\tSun, 23 Nov 2025 11:49:37 GMT","from mail-qk1-f200.google.com (mail-qk1-f200.google.com\n\t[209.85.222.200])\n\tby mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4ak685taqg-1\n\t(version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT)\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tSun, 23 Nov 2025 11:49:37 +0000 (GMT)","by mail-qk1-f200.google.com with SMTP id\n\taf79cd13be357-8b2dbd36752so989079585a.0\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tSun, 23 Nov 2025 03:49:37 -0800 (PST)","from ?IPV6:2001:1c00:c32:7800:5bfa:a036:83f0:f9ec?\n\t(2001-1c00-0c32-7800-5bfa-a036-83f0-f9ec.cable.dynamic.v6.ziggo.nl.\n\t[2001:1c00:c32:7800:5bfa:a036:83f0:f9ec])\n\tby smtp.gmail.com with ESMTPSA id\n\ta640c23a62f3a-b7654ff3962sm996582466b.50.2025.11.23.03.49.32\n\t(version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);\n\tSun, 23 Nov 2025 03:49:34 -0800 (PST)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (2048-bit key;\n\tunprotected) header.d=qualcomm.com header.i=@qualcomm.com\n\theader.b=\"BKd/znKW\"; dkim=pass (2048-bit key;\n\tunprotected) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com\n\theader.b=\"DtVDNtGl\"; dkim-atps=neutral","DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h=\n\tcontent-transfer-encoding:content-type:date:from:in-reply-to\n\t:message-id:mime-version:references:subject:to; s=qcppdkim1; bh=\n\tpOcMpfjsmuGDP8+MrPIBp1g+F+LcPlx18I9/rBo5tKc=; b=BKd/znKWCv0MPLqu\n\tG9MFu8CBf1gKONDQowYfUN3E3jVqfK9R3OaLdOy1sNSW9aY1hzurCrHfW9WayVfu\n\tkkcBbbpsDe0U8Qf9inmF4CA8JC3MblJP8oZggrDaj2IY1fAJ85Huo3OIqQKlGPqZ\n\t/D/AuRjBVRTIxa7Use3S63XKFQ1ghtCDe4343t9Zd1Dsl3WfRINU5jyzfQMssIGC\n\tiu9q42Tbk13l6x4DdhM/TxXJWUkg+IDA5rTJoQTpnxs6yZROP9RRkzaKMhYZ5wDf\n\tNYd5/esNSTYcvqG5/Gg7IQ1GAarocWXz8GBdfCU42uLqqMTtcKxWAuQl9wqQWBJP\n\tGtl94Q==","v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=oss.qualcomm.com; s=google; t=1763898576; x=1764503376;\n\tdarn=lists.libcamera.org; \n\th=content-transfer-encoding:in-reply-to:content-language:references\n\t:to:subject:from:user-agent:mime-version:date:message-id:from:to:cc\n\t:subject:date:message-id:reply-to;\n\tbh=pOcMpfjsmuGDP8+MrPIBp1g+F+LcPlx18I9/rBo5tKc=;\n\tb=DtVDNtGlhZ9htNK2PVX/9bryhuRbnwg7o7kfnn6f6wO3fnAh1cskwba/emU5naQG3C\n\tiullVy6XiWaPGoKwNUpRuvd8LdP2CUBxlnPkqZ7UaFKBWyEef/0lRk/QQi5Vijj8C8AD\n\t7HkWvWuHE5BKslUNp6/9ODBiJ1mYmIX1ofgXkZYeooPC2vRoxg39E0fgkl683B9Pp1Yz\n\t0qDCAz8JgpBY+ec+OxUZd4fQXM6jL0afSdlSN97vhuQTqVz0/+oq88XyhACT+8j1AiwK\n\tnlyMrrjmIJ6QyBUrI34BdCjYqyGdbAPVLvK+ZyyeDheYO6TFGueyXKWfZLCJT+R0d76R\n\t115g=="],"X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20230601; t=1763898576; x=1764503376;\n\th=content-transfer-encoding:in-reply-to:content-language:references\n\t:to:subject:from:user-agent:mime-version:date:message-id:x-gm-gg\n\t:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;\n\tbh=pOcMpfjsmuGDP8+MrPIBp1g+F+LcPlx18I9/rBo5tKc=;\n\tb=vY/NLldN3V5rByLuaSf6rSGQ04B4pWPu07CIHoS8jBEzSj1Uqt0VEyy8hebDApDBfE\n\thePF26mMrzzRHlGujKxeBde3/ZqMW0niU6R0l9gmnuatvGADHR81PtZnUWy87H8tDQc9\n\tqcs1T1gXrkM0QGqdLenrVdiGVs8rnaxyafMwLswxq3pUaDawSc0wZTYTp+QYSRDqwGl2\n\tIacJKBZrYtV27FajqAmbHT9HCYqJsKcgO2tPMSN/6xakshJnf/NYBC2QFGowCIWll1hz\n\tHv27e7VlTpokKeqIzhi8uHS6HUz8o0A5QysciTgFQkok9/kvYDkcJTHBvOp7e9vAiw6B\n\tHaSg==","X-Forwarded-Encrypted":"i=1;\n\tAJvYcCW5C2DtnTER5Bkpt4cQvH+zRlTAU3bn0fZqsLYk9PeC1M7+RMw83MnRuceCZ2qa0MlUbpx0sFuLgQABvbAe9Wo=@lists.libcamera.org","X-Gm-Message-State":"AOJu0YypbSJe9+c/HIhTBe5UgJ7e1qzBX6a+fezHHdfAcR+FQ0njYOdX\n\tShaLwWZN0ex1PW8QDMMId2+04Jc9o4OGl17E68gCpor96IL8uAUDksIvQV5a1VlfzhyKMal8XxF\n\tRCnujZ5NtSe9JxT0J1TgeffLVnCdlqKEggkJydRCt1LBfdDZTfvjmVku/Aeg0rxIm41/YZ/Fxmp\n\tE+gSLfiuSW","X-Gm-Gg":"ASbGnctBBFxoviQWarMyFuJv2Jobz++mvfAE7tyWZFwvldXf5GPdweIDjCX2gx9q8zL\n\tZ7XBHBKGVn4+IwZoHgKIW3ZpdxfFIr8tRkjgQ4+k1F0WCfSUOgreV5fg57J05TrILhoA5dXT2EJ\n\t8TcWdI7dlN9T0YpfFZiV2XDwF9252+oaU8jSVQYg/1HfuGHeyxLs3FXiRfJfG0x5/x7DEldl2Cs\n\tJUK/BWvYOTU3UJSASLlD3HUb3ysghwAk80xS/WA4Z9LLo6Q2n/CBSwzdBZYCDfovHrQEUR+7eHT\n\t3CL8c3WgCTqLCA6W6/rKbsOt5/VWOuDQNGB2/tim3s9w108jJE/ASHXtj3VMbPmO+iYKkE0E1vh\n\tbL+i0PUZ03KBiuw1hNeACbAShpWN2GGcZtX1bxUeQf7WrpnaT+dLAbm7gT1NIumCQuyNZeNWGBW\n\th8/zbG8okiWsSCLetebtm5mMhH+N32gGRgHAjzaP4l66w7kbWieeKFbb4DKcpocqWb1Hmpp8/Oe\n\tRyk","X-Received":["by 2002:a05:620a:290a:b0:8b3:16c:1a79 with SMTP id\n\taf79cd13be357-8b33d4cfb50mr934877685a.53.1763898576277; \n\tSun, 23 Nov 2025 03:49:36 -0800 (PST)","by 2002:a05:620a:290a:b0:8b3:16c:1a79 with SMTP id\n\taf79cd13be357-8b33d4cfb50mr934876485a.53.1763898575834; \n\tSun, 23 Nov 2025 03:49:35 -0800 (PST)"],"X-Google-Smtp-Source":"AGHT+IHsk9wsSAqEQvnT68vHwNn6yhltkGSbjVTOa3akB46spCI1ppXWbzfvF/N5891Dm0I22yP9dw==","Message-ID":"<18ac6331-fb9c-43b6-9619-09fb1bd8de71@oss.qualcomm.com>","Date":"Sun, 23 Nov 2025 12:49:31 +0100","MIME-Version":"1.0","User-Agent":"Mozilla Thunderbird","From":"Hans de Goede <johannes.goede@oss.qualcomm.com>","Subject":"Re: [PATCH 2/3] libcamera: software_isp: debayer_egl: Fix input\n\tsampling when width != stride","To":"Bryan O'Donoghue <bryan.odonoghue@linaro.org>,\n\tlibcamera-devel@lists.libcamera.org","References":"<20251122205507.37387-1-johannes.goede@oss.qualcomm.com>\n\t<20251122205507.37387-3-johannes.goede@oss.qualcomm.com>\n\t<51ac39ae-4b3b-4d8d-bc94-8764c31f83e9@linaro.org>","Content-Language":"en-US, nl","In-Reply-To":"<51ac39ae-4b3b-4d8d-bc94-8764c31f83e9@linaro.org>","Content-Type":"text/plain; charset=UTF-8","Content-Transfer-Encoding":"7bit","X-Authority-Analysis":"v=2.4 cv=Woom8Nfv c=1 sm=1 tr=0 ts=6922f4d1 cx=c_pps\n\ta=hnmNkyzTK/kJ09Xio7VxxA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10\n\ta=6UeiqGixMTsA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22\n\ta=EUspDBNiAAAA:8 a=Iamhxpy4-n070RDRMWUA:9 a=QEXdDO2ut3YA:10\n\ta=PEH46H7Ffwr30OY-TuGO:22","X-Proofpoint-GUID":"fnsAFDzFkU2PmuLvBQJ7LuOEkQwj7SjM","X-Proofpoint-ORIG-GUID":"fnsAFDzFkU2PmuLvBQJ7LuOEkQwj7SjM","X-Proofpoint-Spam-Details-Enc":"AW1haW4tMjUxMTIzMDEwNiBTYWx0ZWRfXzLaid728bQN9\n\tU+uba8jYULAhjKnKrquKaRHotFKqSg6xW6Ngc3naa3vfU9AhA4MPx1xgNd03OiPGDx8H62OEVDX\n\tzbHiVXx+52qVLDRUNLxxd8Qwl2hDPhwpWg2DRO4bcWyil67DE4O2uzduwGg0rOTYrvtsSJSwD+O\n\tyOKpVluaHQwe1MKE7uK71kGvq4vTLJhS7lQuMM5HbK2YVLUYG+WWEOPAdNO/DYTs2t30y06uSKY\n\tUXvSkU2ME/8E6rp+fzBhmYQV/JABJpTOTvOKgLaGbWRxjvAeEvoBXpJfpccLDNx1vlm5z2cB2qX\n\t/7mbuvLNAsLagw14dkr3juRPEl/Hxee9+sPPy/9ooR8f3+Yi55GAWlmK438oZohzIp65JPpGztE\n\taw4CkR1NHD2eUvDHnneYA1u4aFe90Q==","X-Proofpoint-Virus-Version":"vendor=baseguard\n\tengine=ICAP:2.0.293, Aquarius:18.0.1121, Hydra:6.1.9,\n\tFMLib:17.12.100.49\n\tdefinitions=2025-11-23_04,2025-11-21_01,2025-10-01_01","X-Proofpoint-Spam-Details":"rule=outbound_notspam policy=outbound score=0\n\tclxscore=1015 phishscore=0 adultscore=0 malwarescore=0 suspectscore=0\n\timpostorscore=0 spamscore=0 bulkscore=0 lowpriorityscore=0\n\tpriorityscore=1501\n\tclassifier=typeunknown authscore=0 authtc= authcc= route=outbound\n\tadjust=0\n\treason=mlx scancount=1 engine=8.22.0-2510240001\n\tdefinitions=main-2511230106","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>"}},{"id":37026,"web_url":"https://patchwork.libcamera.org/comment/37026/","msgid":"<85y0nvmr7y.fsf@mzamazal-thinkpadp1gen7.tpbc.csb>","date":"2025-11-24T14:37:37","subject":"Re: [PATCH 2/3] libcamera: software_isp: debayer_egl: Fix input\n\tsampling when width != stride","submitter":{"id":177,"url":"https://patchwork.libcamera.org/api/people/177/","name":"Milan Zamazal","email":"mzamazal@redhat.com"},"content":"Hi Hans,\n\nthank you for the patch.\n\nHans de Goede <johannes.goede@oss.qualcomm.com> writes:\n\n> When bayer_unpacked.vert is calculating the center and x/yCoord values\n> stride != width is taken into account for x/yCoord deltas since it is taken\n> into account by debayer_egl when setting the x part of tex_step uniform.\n>\n> But it is not taken into account for the center.x which is just directly\n> copied from textureIn, leading to the input width sampling covering\n> the entire input stride instead of just covering the input width.\n>\n> Use the existing and currently unused stride_factor uniform to pass\n\nUnused in bayer_unpacked.vert; already used in identity.vert (but yes,\nnot set to the proper value).\n\n> the width/stride ratio and correct center.x for this. This fixes\n> the misrendering seen on x86 laptops which is caused by the CSI2 receiver\n> there requiring a stride which is a multiple of 32 often leading to\n> stride != width.\n>\n> Signed-off-by: Hans de Goede <johannes.goede@oss.qualcomm.com>\n\nYour patches seem to work fine in my environment.\n\nReviewed-by: Milan Zamazal <mzamazal@redhat.com>\n\n> ---\n> Besides using stride_factor to correct center.x this also requires\n> debayer_egl to actuall set stride_factor instead of hardcoding it to 1.0,\n> this last part should be squashed into \"libcamera: software_isp:\n> debayer_egl: Add an eGL debayer class\"\n> ---\n>  include/libcamera/internal/shaders/bayer_unpacked.vert | 4 +++-\n>  src/libcamera/software_isp/debayer_egl.cpp             | 2 +-\n>  2 files changed, 4 insertions(+), 2 deletions(-)\n>\n> diff --git a/include/libcamera/internal/shaders/bayer_unpacked.vert b/include/libcamera/internal/shaders/bayer_unpacked.vert\n> index fb5109ee..1425b449 100644\n> --- a/include/libcamera/internal/shaders/bayer_unpacked.vert\n> +++ b/include/libcamera/internal/shaders/bayer_unpacked.vert\n> @@ -40,8 +40,10 @@ varying vec4            xCoord;\n>  /** of the adjacent pixels.*/\n>  varying vec4            yCoord;\n>  \n> +uniform float stride_factor;\n> +\n>  void main(void) {\n> -    center.xy = textureIn;\n> +    center.xy = vec2(textureIn.x * stride_factor, textureIn.y);\n>      center.zw = textureIn * tex_size + tex_bayer_first_red;\n>  \n>      xCoord = center.x + vec4(-2.0 * tex_step.x,\n> diff --git a/src/libcamera/software_isp/debayer_egl.cpp b/src/libcamera/software_isp/debayer_egl.cpp\n> index cf40478f..29a8ae70 100644\n> --- a/src/libcamera/software_isp/debayer_egl.cpp\n> +++ b/src/libcamera/software_isp/debayer_egl.cpp\n> @@ -455,7 +455,7 @@ void DebayerEGL::setShaderVariableValues(DebayerParams &params)\n>  \t\t\t      (GLfloat)height_ };\n>  \tGLfloat Step[] = { static_cast<float>(bytesPerPixel_) / (inputConfig_.stride - 1),\n>  \t\t\t   1.0f / (height_ - 1) };\n> -\tGLfloat Stride = 1.0f;\n> +\tGLfloat Stride = (GLfloat)width_ / (inputConfig_.stride / bytesPerPixel_);\n>  \tGLfloat scaleX = (GLfloat)window_.width / width_;\n>  \tGLfloat scaleY = (GLfloat)window_.height / height_;\n>  \tGLfloat transX = -(1.0f - scaleX);","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 D0CDCC326B\n\tfor <parsemail@patchwork.libcamera.org>;\n\tMon, 24 Nov 2025 14:37:49 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 6EFB760AA2;\n\tMon, 24 Nov 2025 15:37:49 +0100 (CET)","from us-smtp-delivery-124.mimecast.com\n\t(us-smtp-delivery-124.mimecast.com [170.10.133.124])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id EB59460A7B\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 24 Nov 2025 15:37:47 +0100 (CET)","from mail-wr1-f72.google.com (mail-wr1-f72.google.com\n\t[209.85.221.72]) by relay.mimecast.com with ESMTP with STARTTLS\n\t(version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id\n\tus-mta-462-MQ6PEcFHO_m6MYFltoeuTQ-1; Mon, 24 Nov 2025 09:37:45 -0500","by mail-wr1-f72.google.com with SMTP id\n\tffacd0b85a97d-42b3c965ce5so3638064f8f.2\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 24 Nov 2025 06:37:43 -0800 (PST)","from mzamazal-thinkpadp1gen7.tpbc.csb\n\t(ip-77-48-47-2.net.vodafone.cz. [77.48.47.2])\n\tby smtp.gmail.com with ESMTPSA id\n\t5b1f17b1804b1-477bf3602d1sm203692785e9.5.2025.11.24.06.37.37\n\t(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n\tMon, 24 Nov 2025 06:37:40 -0800 (PST)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=redhat.com header.i=@redhat.com\n\theader.b=\"AkEHQocg\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;\n\ts=mimecast20190719; t=1763995066;\n\th=from:from:reply-to:subject:subject:date:date:message-id:message-id:\n\tto:to:cc:cc:mime-version:mime-version:content-type:content-type:\n\tin-reply-to:in-reply-to:references:references;\n\tbh=o6vyzYuuwQhSfJTAjjeDS2DIGODNqpxmd6uW7rcNOSQ=;\n\tb=AkEHQocgVZmBB5ABhiYRfHJgv3bk0Evp/r6Dz1jsF5e9/lo3AcgHj/lNCZTp2I6oeiLaU0\n\tQAbWZjx4jWHYPUYQdbOQnLDZPVwBsv/3epHfr3//276IjzUUtDGYEQr/Tf3zt4p6X9v/dC\n\twEYIUnn+ud8jF9Plw/5z27vzR5EAjos=","X-MC-Unique":"MQ6PEcFHO_m6MYFltoeuTQ-1","X-Mimecast-MFC-AGG-ID":"MQ6PEcFHO_m6MYFltoeuTQ_1763995063","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20230601; t=1763995062; x=1764599862;\n\th=mime-version:user-agent:message-id:date:references:in-reply-to\n\t:subject:cc:to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject\n\t:date:message-id:reply-to;\n\tbh=o6vyzYuuwQhSfJTAjjeDS2DIGODNqpxmd6uW7rcNOSQ=;\n\tb=uCFv/YQCVPxjUnaii1uCi6L59b5yZN6dh0fvLX9l0Mc9YVfyx0KSeDapXXHLrqMS/L\n\t5dpTWVgpYAscz447qf+IsR1pkaK2pwzp4leu/8Y3AzOU92ICx1/qLiaNq1+eQxyDAw5L\n\t7xtzjuabAuygtfvoh8FrT0ScfFUCoLJhl9EP4VLejLVHY9wl5NFtncZLNOQN/b6//GQJ\n\tvYzRnK6I/46neW18r/NIWengcgNMj4GGOhiIW0IOQYhxmwHgqiLjCo9bnmTRBXRyqVTx\n\tZIkVkfq8iHoTqVCzDSwZrGbzKD3zel7fwJ1khD8sKeDHy9nn5yBH8JJHdg66KAR7gTrF\n\tKQHA==","X-Gm-Message-State":"AOJu0YyTTp1FpmtgvHE+7FzqNelFw2dPGR5Tyx9tHbvSlRe8SanLkFdX\n\tsbJEePYxl7nWx2fKHrqRErDa/NgtF7Vrz3AIGbkh5pZ8bztp6KcPOiijdMBSD2ROhinl0MfJ8x1\n\tDHlbeVsnJF7T/nW8GPntVlhEal0ePlCEUfDWyuHGcET/5m12VO6QcrMxPsoNCiOVS+26cGag8bZ\n\tt6FRN2BaQ=","X-Gm-Gg":"ASbGncsjZjVOk30CrGOEPkXRL67bpvlKonDyBXdd15RxTEFihAEP2nKVC1dzyn3szhE\n\tVslir8m4iXKpAl4kWw5DJXXSqcDfmXZTn1DJewmy96HAeTTCqUioIy5qfUaY1zfSgrzzIoGcaHO\n\tD6X+HWlrshBxFwzPu90lpAzfmf+d+tjfj+r0wLTW2tayCJlH0WeqKh+4hpxitCE7lu9ghBHJ+gd\n\tluE52GyWvaZW6QsHZm6reAgO7VjZ8tNKpKcn5dZHBqAOd3+GHXDZ4Hv7EsjweLUhGDTVXqLF5Nr\n\thZaHKtbFNoJc/72YE/fLRhLCMBnq9QmGq3B6hh2fw3OhFxUIlva8Q9YSyuTPrZU/0k8cvObSYTI\n\tljFrjJvoGrmMI6gVzHXb9RziiA8ZnttDZ2h2QuVT8yWMzFLzNHjdFohraQHALS7I=","X-Received":["by 2002:a05:600c:3b09:b0:471:131f:85aa with SMTP id\n\t5b1f17b1804b1-477c017dfd2mr109729375e9.13.1763995062243; \n\tMon, 24 Nov 2025 06:37:42 -0800 (PST)","by 2002:a05:600c:3b09:b0:471:131f:85aa with SMTP id\n\t5b1f17b1804b1-477c017dfd2mr109729025e9.13.1763995061769; \n\tMon, 24 Nov 2025 06:37:41 -0800 (PST)"],"X-Google-Smtp-Source":"AGHT+IF7/hiDnLStvvi8dyp5HExBl9hnGgORwP6UDwr4m4IOG782Ye9EVbQkwF4EAczrdSfqWx8Zvg==","From":"Milan Zamazal <mzamazal@redhat.com>","To":"Hans de Goede <johannes.goede@oss.qualcomm.com>","Cc":"libcamera-devel@lists.libcamera.org,  Bryan O'Donoghue\n\t<bryan.odonoghue@linaro.org>","Subject":"Re: [PATCH 2/3] libcamera: software_isp: debayer_egl: Fix input\n\tsampling when width != stride","In-Reply-To":"<20251122205507.37387-3-johannes.goede@oss.qualcomm.com> (Hans\n\tde Goede's message of \"Sat, 22 Nov 2025 21:55:06 +0100\")","References":"<20251122205507.37387-1-johannes.goede@oss.qualcomm.com>\n\t<20251122205507.37387-3-johannes.goede@oss.qualcomm.com>","Date":"Mon, 24 Nov 2025 15:37:37 +0100","Message-ID":"<85y0nvmr7y.fsf@mzamazal-thinkpadp1gen7.tpbc.csb>","User-Agent":"Gnus/5.13 (Gnus v5.13)","MIME-Version":"1.0","X-Mimecast-Spam-Score":"0","X-Mimecast-MFC-PROC-ID":"2JUCuCz2ZvRw5ppSy1zRDXhUKf9u5zMy6yepvtIA3W0_1763995063","X-Mimecast-Originator":"redhat.com","Content-Type":"text/plain","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>"}},{"id":37081,"web_url":"https://patchwork.libcamera.org/comment/37081/","msgid":"<4bde3622-d2fd-4853-8073-543a9314b661@linaro.org>","date":"2025-11-26T17:49:03","subject":"Re: [PATCH 2/3] libcamera: software_isp: debayer_egl: Fix input\n\tsampling when width != stride","submitter":{"id":175,"url":"https://patchwork.libcamera.org/api/people/175/","name":"Bryan O'Donoghue","email":"bryan.odonoghue@linaro.org"},"content":"On 22/11/2025 20:55, Hans de Goede wrote:\n> -\tGLfloat Stride = 1.0f;\n> +\tGLfloat Stride = (GLfloat)width_ / (inputConfig_.stride / bytesPerPixel_);\n\nThis ends up cropping the image on the 1x shader for me since we use \nidentity.vert not bayer_unpacked.vert so, I'll differentiate this logic \nbetween packed and unpacked in v5.\n\n---\nbod","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 5F5DEC3257\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed, 26 Nov 2025 17:49:08 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id A8404609DE;\n\tWed, 26 Nov 2025 18:49:07 +0100 (CET)","from mail-wm1-x330.google.com (mail-wm1-x330.google.com\n\t[IPv6:2a00:1450:4864:20::330])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 4D76E606D5\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 26 Nov 2025 18:49:05 +0100 (CET)","by mail-wm1-x330.google.com with SMTP id\n\t5b1f17b1804b1-477b198f4bcso46269965e9.3\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 26 Nov 2025 09:49:05 -0800 (PST)","from [192.168.0.35] (188-141-3-146.dynamic.upc.ie. [188.141.3.146])\n\tby smtp.gmail.com with ESMTPSA id\n\t5b1f17b1804b1-4790adc8bc7sm59098065e9.1.2025.11.26.09.49.03\n\t(version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);\n\tWed, 26 Nov 2025 09:49:04 -0800 (PST)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (2048-bit key;\n\tunprotected) header.d=linaro.org header.i=@linaro.org\n\theader.b=\"MSUx+VAN\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=linaro.org; s=google; t=1764179345; x=1764784145;\n\tdarn=lists.libcamera.org; \n\th=content-transfer-encoding:in-reply-to:content-language:from\n\t:references:to:subject:user-agent:mime-version:date:message-id:from\n\t:to:cc:subject:date:message-id:reply-to;\n\tbh=74ckcYk1jCUlzh/9vk70tiNkL2CXW5H5rK8Vo53oCO0=;\n\tb=MSUx+VANSt8zzcZisz3idFyi3HH3CluLUZJFMMDfuZ6rGSAZuzY6BZlqOiseh3/3aB\n\tcWIUwT2X6U07c1gvmjgoQhS4TiM4d6t/BQe2KsLJWPBCE0aQkVdqJ/CBOMl91Pd2Ljs8\n\tTFziL2hWffgSWSL3FaRG5bfcNwsnOO+7ufB32fpVlCyuUOZkOCP309FgUBEWvO+k1B+a\n\t4IPPa9jDkdzV/G0Ty9460gcWSDlqqr4sKWDoLakCapa05NJPqtVJarCl3Ri5bmz4yWfd\n\t/iWVSVqe/K/h+bJ1GbudjkzZb2rvyNaPbRHy6oykfUdpejpZ1ERZgVtry06DkspOYalX\n\tPqgg==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20230601; t=1764179345; x=1764784145;\n\th=content-transfer-encoding:in-reply-to:content-language:from\n\t:references:to:subject:user-agent:mime-version:date:message-id\n\t:x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id\n\t:reply-to;\n\tbh=74ckcYk1jCUlzh/9vk70tiNkL2CXW5H5rK8Vo53oCO0=;\n\tb=CcKu24SYWJzUX/pEjslBjmfks8LJNEEYwXLpgkJaYVC/i6icRL2Vhkyc8NoaN3XAUF\n\t/Yv8vuYnG9piC7bkeLeYOovCWJHAGmBDhTs5naGhag6vkSYlabAhqRuTS3nYfFweiVct\n\tlfEnntwzGqYOGc1WDbzMJauFgQWUeofUEtEJPoubAEEZtJXHlDx7hcVqZ5odkpFsSorX\n\tuGPU25shtScO3w4W77sCzalEX4VbbdafGU7vQjp/u4qtaUedrVFNskDXFzDjz0ez0GVT\n\tw25LvPrdiKpgHTU3o72lOoDZn3ulCpYt6i2yF86Wj+e7uoo3fjExhyexlLR506rq0fLw\n\td86A==","X-Forwarded-Encrypted":"i=1;\n\tAJvYcCUjHixUOHJb3QvelKw8ovZgTqgGlxd/XAM9Qq4irDPubpWMlwrAXPpLGFj3IxWETREelNO6xpPtM26J+qwVlmo=@lists.libcamera.org","X-Gm-Message-State":"AOJu0YyCln9FZEQG6Rpbm9XQKKnaws3XmEW6jefC8oPlvPbUiW+CMOTv\n\t7dy/RHCjpfVcxhE32C7TA7nE3rVqsEj33ad6j2wvJ+h2FZMqBhiknWk9lAukWFWopBwlOU1PIop\n\t0MEhlsJc=","X-Gm-Gg":"ASbGnctoBbaIdVIz3mOscjBnEwKr3X9M18oCyddAk3zxOW7VpPjxmo5KVYJl92Jg5zX\n\t/ONzBAhmdMSsMU140+0vytoyffvjvJUmSm8MKiHkw7oP6a1ypoRKggRVNXwBVnfsEWAUL07p7zj\n\tATCxw91EuMkSk/C4p7j8Zlwt0sEOTw+q94m0D8V4c7uRRXLcqc601dj1SysabJ4JpWJYSMwbzBz\n\tDHLXjo3fMjvPZhhTo5DYAtfG1ntMFSvzakayxAyBmOXOBcXYxyAiRreiEInKH0YJCmtwVRpA54z\n\tgL9Fy8xCLpJG0lvBnT3r39Ora4pcv/6s6JoppEpAyNeMov7I+8qEtwXHXHRux0k0TQwS9qCtE3k\n\tUC+WIk/AVZUSJaQpvW/7tFfET3SQWW+D3SbSOl2ZuN65sdM5p+MH+RpV+LwYT3eC/WKdrxt2Wfv\n\tFsNGzjUk0Gx7c93D5amz6VKSXKbQD+bRL7xm6sEe8vU3yG5xcAZBwVoHM4gtBOaFk=","X-Google-Smtp-Source":"AGHT+IH1RP49by+Pqw2uTZOfIl/eXqoRpHgteiFqk+jdKaiNDSnFzbIGHiDyZSNlBm8H98iH+tkVgQ==","X-Received":"by 2002:a05:600c:314c:b0:477:333a:f71f with SMTP id\n\t5b1f17b1804b1-477c01b4986mr191388255e9.17.1764179344735; \n\tWed, 26 Nov 2025 09:49:04 -0800 (PST)","Message-ID":"<4bde3622-d2fd-4853-8073-543a9314b661@linaro.org>","Date":"Wed, 26 Nov 2025 17:49:03 +0000","MIME-Version":"1.0","User-Agent":"Mozilla Thunderbird","Subject":"Re: [PATCH 2/3] libcamera: software_isp: debayer_egl: Fix input\n\tsampling when width != stride","To":"Hans de Goede <johannes.goede@oss.qualcomm.com>,\n\tlibcamera-devel@lists.libcamera.org","References":"<20251122205507.37387-1-johannes.goede@oss.qualcomm.com>\n\t<20251122205507.37387-3-johannes.goede@oss.qualcomm.com>","From":"Bryan O'Donoghue <bryan.odonoghue@linaro.org>","Content-Language":"en-US","In-Reply-To":"<20251122205507.37387-3-johannes.goede@oss.qualcomm.com>","Content-Type":"text/plain; charset=UTF-8; format=flowed","Content-Transfer-Encoding":"7bit","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>"}},{"id":37082,"web_url":"https://patchwork.libcamera.org/comment/37082/","msgid":"<7bcc6c35-3e4e-4919-ab7c-8d5ab88f36a9@oss.qualcomm.com>","date":"2025-11-26T20:15:12","subject":"Re: [PATCH 2/3] libcamera: software_isp: debayer_egl: Fix input\n\tsampling when width != stride","submitter":{"id":242,"url":"https://patchwork.libcamera.org/api/people/242/","name":"Hans de Goede","email":"johannes.goede@oss.qualcomm.com"},"content":"Hi,\n\nOn 26-Nov-25 6:49 PM, Bryan O'Donoghue wrote:\n> On 22/11/2025 20:55, Hans de Goede wrote:\n>> -    GLfloat Stride = 1.0f;\n>> +    GLfloat Stride = (GLfloat)width_ / (inputConfig_.stride / bytesPerPixel_);\n> \n> This ends up cropping the image on the 1x shader for me since we use identity.vert not bayer_unpacked.vert so, I'll differentiate this logic between packed and unpacked in v5.\n\nHmm, I see. Then maybe copy identity.vert which is shared with qcam\nshaders for YUV, RGB, etc. to bayer_1x_packed.frag and add:\n\ndiff --git a/include/libcamera/internal/shaders/identity.vert b/include/libcamera/internal/sha\nindex 907e8741..649f1a6c 100644\n--- a/include/libcamera/internal/shaders/identity.vert\n+++ b/include/libcamera/internal/shaders/identity.vert\n@@ -10,10 +10,9 @@ attribute vec2 textureIn;\n varying vec2 textureOut;\n \n uniform mat4 proj_matrix;\n-uniform float stride_factor;\n \n void main(void)\n {\n        gl_Position = proj_matrix * vertexIn;\n-       textureOut = vec2(textureIn.x * stride_factor, textureIn.y);\n+       textureOut = textureIn;\n }\n\n\n?\n\nThere really is no need to waste GPU cycles / energy on multiplying\nwith 1.0 .\n\nRegards,\n\nHans","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 33807C3260\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed, 26 Nov 2025 20:15:23 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id C8BEF60A85;\n\tWed, 26 Nov 2025 21:15:21 +0100 (CET)","from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com\n\t[205.220.180.131])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id C86FF606D5\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 26 Nov 2025 21:15:19 +0100 (CET)","from pps.filterd (m0279872.ppops.net [127.0.0.1])\n\tby mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id\n\t5AQEt01e3891030 for <libcamera-devel@lists.libcamera.org>;\n\tWed, 26 Nov 2025 20:15:18 GMT","from mail-qk1-f197.google.com (mail-qk1-f197.google.com\n\t[209.85.222.197])\n\tby mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4angmec39r-1\n\t(version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT)\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 26 Nov 2025 20:15:18 +0000 (GMT)","by mail-qk1-f197.google.com with SMTP id\n\taf79cd13be357-8b4f267ba01so245027685a.1\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 26 Nov 2025 12:15:18 -0800 (PST)","from ?IPV6:2001:1c00:c32:7800:5bfa:a036:83f0:f9ec?\n\t(2001-1c00-0c32-7800-5bfa-a036-83f0-f9ec.cable.dynamic.v6.ziggo.nl.\n\t[2001:1c00:c32:7800:5bfa:a036:83f0:f9ec])\n\tby smtp.gmail.com with ESMTPSA id\n\ta640c23a62f3a-b76550191c8sm1890944566b.54.2025.11.26.12.15.13\n\t(version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);\n\tWed, 26 Nov 2025 12:15:15 -0800 (PST)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (2048-bit key;\n\tunprotected) header.d=qualcomm.com header.i=@qualcomm.com\n\theader.b=\"kgj15orl\"; dkim=pass (2048-bit key;\n\tunprotected) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com\n\theader.b=\"WXSTpVib\"; dkim-atps=neutral","DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h=\n\tcontent-transfer-encoding:content-type:date:from:in-reply-to\n\t:message-id:mime-version:references:subject:to; s=qcppdkim1; bh=\n\tJ+DjgIw0Wc2gwuXOY0QFbHMx6BZ9XFKAGrrA23+i5RI=; b=kgj15orlP9aDMCH7\n\tyZvCAD9UaGWSuDhBNZL3wwO8jsCacZXafpeKw6swPg9yyXs6R4oQVQTH58RE8YB6\n\tNVy8S/KDGk8/vKUk1AR2V9f0kcdOWmKCmLZJeUbWHQXaFtJ6/hXLszN3lbNzT6IF\n\tlajuGM5Vjvywqq9vrECVemix9RgnJ9vzcJVpEqC95dUplcPoLxJzhN7OnGxfLhX0\n\t6nKwYb8QFxU2WRM7mMThnW6XoTKsGvTU053cPOK0CTnG6jwwwLeJCoWgHqMAZtl/\n\t9GGJVYI02Wt0xCNCbUWxPTSn4PC2GFh1SnzOEXavLEwl2QDNj9hf6fCJ3GqiwqqU\n\ti1R5Tw==","v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=oss.qualcomm.com; s=google; t=1764188117; x=1764792917;\n\tdarn=lists.libcamera.org; \n\th=content-transfer-encoding:in-reply-to:content-language:references\n\t:to:subject:from:user-agent:mime-version:date:message-id:from:to:cc\n\t:subject:date:message-id:reply-to;\n\tbh=J+DjgIw0Wc2gwuXOY0QFbHMx6BZ9XFKAGrrA23+i5RI=;\n\tb=WXSTpVib/1L5dvSi7w3mOE9l7BrtBFrYpezIqH/JoKifZjr1awQlUKwIaJX1vBak82\n\thfhOuYqkVjYBJJLtXX7rkORoTYZOStiop0gVPDec/JyY4YZcYbhSlEdlV01uvYnCbYe6\n\tgwWWxBMWF+20DR5cmPB26d4dXi58Hf6rp/SrX9ePi+sdfowhbPfr/vUGWN5yvxmrbW+T\n\tA+an2otXYjxa218gmtJm4wdegd2Ud/uhesCmCamFreoUBVsRK4BLXWYpSZLSYn7wiN35\n\tN8wngXdF3vFcGutH1NN5JADFMVyfYIMB7+aFrSHCaFPOMcI5CgZIL20gP591jR4Sdzvh\n\t/a3Q=="],"X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20230601; t=1764188117; x=1764792917;\n\th=content-transfer-encoding:in-reply-to:content-language:references\n\t:to:subject:from:user-agent:mime-version:date:message-id:x-gm-gg\n\t:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;\n\tbh=J+DjgIw0Wc2gwuXOY0QFbHMx6BZ9XFKAGrrA23+i5RI=;\n\tb=dj4c8VTt1XfaqCWXBvQBrDAwzH339NYlw2lm76zlVJGuGb7HatMLu6pTlYl38PExfT\n\tx/1eyoolfbRo9jAx5i1QRXBFW1qtXKmnjLmcKovVw2iJC9Yiw77W4JaxvUfu/d2fBEG+\n\tq+yb9cMA77nHm1L1+5E+Jk+HYOZz3vd6qLiN1RF2xmqFBYzY/s2fuFdwtum2fB1vOqGR\n\td5m4TaB+zUqdVyO0tXXPaYocnRMMCn96S502C2NKu4nvXkAxbs1DNskI3BhjXnO/a0tW\n\tjnS+3/wQmYzffAxk0cSma44NQVuJG220FW902FysAzjqubbObdSG9AA7iS1hMNU0q9pQ\n\tZHoA==","X-Forwarded-Encrypted":"i=1;\n\tAJvYcCU3za0Q8JFfwNlat+wGh2xa0fjIADNio97lZ8ptoKUEsn8Phl/yAxLxcilouAyL42+4/CA1+Td3h8A1LxNh8qo=@lists.libcamera.org","X-Gm-Message-State":"AOJu0YxcFq8TeD4OBBG75W1OaFNPcFTCGB1AB91YBlnvsIhzeHlYsNqH\n\tgBgSk6AJ6MGaoj/uV2jBWxha6D4001ecW46SIn6fose+jagHgCpWLQSAZgeB16tUxmFBawUIr5/\n\tOAX90eke0b2sy6su/CDiVb6LAwqw0NCfLyorAzDGQQO3NIY8roKbzhm5JHc/PWiZHO0g0iDk+JW\n\tHb7Hsdm5ih","X-Gm-Gg":"ASbGnct2rvxwjTB8zBTuyxvkYHWyq6wEGaNiEb6I7e0qk6xPkcoFsVHJmXq3zDtabZi\n\tdwcEd57iATe2ug+l6e1iHOJulrpqhnmalZrG2Ytt/dZhoCIhU9u/lljvIUSYBLVLV1T2VFz2faR\n\tFwR+kzmmW/pHcofQWbeTTbIDqAew4+09BSBcJkMKF7iHrmQsZRGb7KXkk4afjQT7RSsyC4OWImG\n\tbkK9rFQQ3djV1EBb50HRq5IqwZL7c3Il4GRC5ls51o47gnVnSW75p1sf432EiIyobht/13gnYy3\n\t55P+FcunPSEIYAXn3TlbkdtTptFc4vGdKLEVMlSlLXCxvCbGLCFzJ/r2wJNrthRJ9tOVsLyMDmE\n\tLObMX96tH/Ul9SHDcRKMvcIMtVN9pgbAOXALLlZM1oGcTDgI+lJgZ6Jok8nll4R3CU986TMgUC+\n\txKYQm7rvWq7Sc1NIoMavxzwz0A/m8UBzb6+iMWEc6JL+kJimr0iqQ7sMR1/K5ob6qtIutgVBnh6\n\t20A","X-Received":["by 2002:a05:620a:2a03:b0:828:faae:b444 with SMTP id\n\taf79cd13be357-8b32ad1083bmr3234599385a.20.1764188117211; \n\tWed, 26 Nov 2025 12:15:17 -0800 (PST)","by 2002:a05:620a:2a03:b0:828:faae:b444 with SMTP id\n\taf79cd13be357-8b32ad1083bmr3234591185a.20.1764188116648; \n\tWed, 26 Nov 2025 12:15:16 -0800 (PST)"],"X-Google-Smtp-Source":"AGHT+IEubcSt9bV6Xh7d2v/8aNIDeMcpYiI05ZF+Eqzg2Qzq2+WWdtD6zFjHzHuhHfIsUBe33gMsng==","Message-ID":"<7bcc6c35-3e4e-4919-ab7c-8d5ab88f36a9@oss.qualcomm.com>","Date":"Wed, 26 Nov 2025 21:15:12 +0100","MIME-Version":"1.0","User-Agent":"Mozilla Thunderbird","From":"Hans de Goede <johannes.goede@oss.qualcomm.com>","Subject":"Re: [PATCH 2/3] libcamera: software_isp: debayer_egl: Fix input\n\tsampling when width != stride","To":"Bryan O'Donoghue <bryan.odonoghue@linaro.org>,\n\tlibcamera-devel@lists.libcamera.org","References":"<20251122205507.37387-1-johannes.goede@oss.qualcomm.com>\n\t<20251122205507.37387-3-johannes.goede@oss.qualcomm.com>\n\t<4bde3622-d2fd-4853-8073-543a9314b661@linaro.org>","Content-Language":"en-US, nl","In-Reply-To":"<4bde3622-d2fd-4853-8073-543a9314b661@linaro.org>","Content-Type":"text/plain; charset=UTF-8","Content-Transfer-Encoding":"8bit","X-Authority-Analysis":"v=2.4 cv=PJgCOPqC c=1 sm=1 tr=0 ts=69275fd6 cx=c_pps\n\ta=50t2pK5VMbmlHzFWWp8p/g==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10\n\ta=6UeiqGixMTsA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22\n\ta=kigweVBR3Y2Wf4pgihgA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10\n\ta=IoWCM6iH3mJn3m4BftBB:22","X-Proofpoint-Spam-Details-Enc":"AW1haW4tMjUxMTI2MDE2NCBTYWx0ZWRfX0XTarcMvUmaV\n\tRsKQbcziiGMbbBIX5u0qTMTZdtxRV/dBFdoKdsAaVC5OdA4PmmImvQgFB2PMHzj7QqTApYLYBax\n\tDwyjTgI8XbjaRXs2Z4rKEUzyeDs0cTS+Ywp6wTMcOteT4+qtZcMbAER+NYqilwUzWD9GGC1mOyh\n\tC+GUpbJEXb3Maj+HS8rHL3aDimBjadpefqZ3tQi51KL7B3hz6bRpdvaqqEkj9cmYTJgfybh9gTt\n\tCbRhnpTs/gXzpA8cniY2YZJ5KW9GFC1YegxuniwByk+2ByU4nfvtLnxkuAXNTHElsD3KfGM+i15\n\t0TIKu/KgdXoDXfW9fKwf8rOronA8RZEJJGnPB9byd92JDiFBHs0Gg2pOlyFjSLFqLzvqBCLyVoK\n\tInGEQ99TKuHnmh7HSiRHdJMQ3SLkug==","X-Proofpoint-GUID":"5b_aJs3_4r8ORgcjW5KlJ9vq_m4MmgtG","X-Proofpoint-ORIG-GUID":"5b_aJs3_4r8ORgcjW5KlJ9vq_m4MmgtG","X-Proofpoint-Virus-Version":"vendor=baseguard\n\tengine=ICAP:2.0.293, Aquarius:18.0.1121, Hydra:6.1.9,\n\tFMLib:17.12.100.49\n\tdefinitions=2025-11-25_02,2025-11-26_01,2025-10-01_01","X-Proofpoint-Spam-Details":"rule=outbound_notspam policy=outbound score=0\n\tpriorityscore=1501 impostorscore=0 lowpriorityscore=0 suspectscore=0\n\tadultscore=0 spamscore=0 malwarescore=0 clxscore=1015 phishscore=0\n\tbulkscore=0 classifier=typeunknown authscore=0 authtc= authcc=\n\troute=outbound\n\tadjust=0 reason=mlx scancount=1 engine=8.22.0-2510240001\n\tdefinitions=main-2511260164","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>"}}]