From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wr1-f53.google.com (mail-wr1-f53.google.com [209.85.221.53]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 571F33321C2 for ; Fri, 29 May 2026 13:25:19 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.53 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780061120; cv=none; b=uP88FJaixn6txrfBFOaWNgdGK4e293YAOHH2EGtZ2qtu5ysTrsRvpE9cKoC+IlOv5LByLPrYl1vvhtm/kxoCtm6bgc/ou+HS64fniRhtOM5ew3oRAe0utbqbc4XdqEWLF0U449St7iuhb7K1iGEW3x20yase7dpU8j1934UBN1g= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780061120; c=relaxed/simple; bh=d7KKPnzPm9xfWtX5IXoUrRCoWBpgnJA98vng90txeRY=; h=Message-ID:Date:MIME-Version:From:Subject:To:Cc:References: In-Reply-To:Content-Type; b=SjGAvYccefqam22I5nPZZUh8n2m3gBBoDUK1hYwfcgXuf1kABaOsk4O5TPbr6uWUZ34WFTTwm8NVrczFDGLbPmEfUtrpR19q7B2ZXdocvKprlld8gEkmOaCIQqBFlbI/lLpERSCGxvbY28g0/VELdPvZ3/3abSpfy1ayAhqHy2I= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=E7hY3sj+; arc=none smtp.client-ip=209.85.221.53 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="E7hY3sj+" Received: by mail-wr1-f53.google.com with SMTP id ffacd0b85a97d-45ef5146b56so251965f8f.0 for ; Fri, 29 May 2026 06:25:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1780061118; x=1780665918; darn=vger.kernel.org; h=content-transfer-encoding:in-reply-to:organization:autocrypt :content-language:references:cc:to:subject:reply-to:from:user-agent :mime-version:date:message-id:from:to:cc:subject:date:message-id :reply-to; bh=STNCrrC3DbEKLdF4CzHB4IbWxshAq6+6AA2N616PCJY=; b=E7hY3sj+jqs6ClbWNtD+IQawyebNtJUFGrm6X0mM9qWMbSN+64l/tYhF2ITn+qyGc4 PPrppPmaKzCd+kfn3UtkOeCZufw6LlFR6u7mWq8MyXfMIwYgublz5W74y22W5aKJR+dv eui33oKVc5/OOuTB09N62KTGunk/jGF7h/PYD9dD/9hpTlZKa8TgejLDJO6rnDmrO9kV EUWK9CL0xHgb2IxnJpZOJHp0QRQ2PiwyKhb4OphAt/48BpK3Qfnodnam9ERhX2bfZIdz f+tV3Lhru5O25D7zNB80C3E8Ah9OrrbJNfsqnmGGSovRR/l8BCJKIKQqrtKlybTI1bFv 8HOg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1780061118; x=1780665918; h=content-transfer-encoding:in-reply-to:organization:autocrypt :content-language:references:cc:to:subject:reply-to:from:user-agent :mime-version:date:message-id:x-gm-gg:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=STNCrrC3DbEKLdF4CzHB4IbWxshAq6+6AA2N616PCJY=; b=HJQQtN11hqDcjtjnJDqeK37b7LMKPLLntLRfMYeleKjdiFiQTDfh/MgA3ODz+SnBJf e00sZKrv8XIdrxMaAKGQCDAEXBSQLCClbWMhZPMcSvHUGd0TOQLTjJwBsH+6UKHsD1Ti 3bk6aS5FnkrqJ1zdOcZy70eMS9MpEmworY6PVkHmf2aaVhS6mfa7lKZs/x7UQ5bnifL8 loxZqCGIUeitFY+qHOP5Zh3UGFhHiEoLrYVhqUHfqwMjrkA+neXBDMmpkdcxpoLgY6uU mpHeKxXag85KPcrG2wtMQQgSosmLfR/U8/Uuty0wvZSF6tAfvzCNqgsGJMYnji0Ikr17 FcEA== X-Forwarded-Encrypted: i=1; AFNElJ/JWS0/xTZE6hGTUGax7jwBFbe+Do/Gqha/JDvc5IciQO9tLrE4nFz4wivf2qyD1SMV5EGRMwTabc/zW8k=@vger.kernel.org X-Gm-Message-State: AOJu0YxhEnJb2seh/MltO4leDdIabuRNId221CHg9fhPeyZsxt+UkgfP RI+GrS6yjGhXvxua9gCx6hkj986+3+rPf9BaJsuCPt9PNw4+4hdHS4JKtFUd02xTjS8= X-Gm-Gg: Acq92OHeYXsP7vAPPsK/0yT7HwWp1grG80mmO1LfLddkG/FIfUcYk1Y0EQhTNFqz+43 aQwpOJSrP3rUOKImRHqLee3tL9VQkGnwNzKG54lQwSy5rkWPdGEe6fB1nH5tpjX210F1xvr0MPd PaT6BqBsdnCRemUWFqu4L3xLLcCL+ksxNAP5Q9/c2HVPQq9j68X0hfuraQ2T2zgWmCLAtcq9ZCL I9ywYXwf/s/VS2su7gHz2inblBZn8k7artQOHIHPt46H4bt5uYLO4Ue1i2WtlwYxbF2a0pG7k1M EDrM43CtJxm+Iv7J+dxwXu5Rl7fBRk3L90U+N7fXfb4yIIluA97qFoOS7Mn1tGxk9RD0l1iiLRT dc87SOXbV8k2l7JQkNJmxmXEU12sLLyVLEe/muxnXKg950QWAksavdoSBQ26qpSSZjOGD3ezF4m 85JfH1WztfSps+g+F4zMDtee1wVvkjkJ3hWLVIzqm9MQp9iNfo0Z9Pe4cbSjnIw/uyg0EevGIyt AX+iJHaoQ0aPARq5Q== X-Received: by 2002:a05:6000:250f:b0:45e:dc63:c7e4 with SMTP id ffacd0b85a97d-45ef138e827mr5368860f8f.25.1780061117430; Fri, 29 May 2026 06:25:17 -0700 (PDT) Received: from ?IPV6:2a01:e0a:106d:1080:b6d0:a628:be51:f552? ([2a01:e0a:106d:1080:b6d0:a628:be51:f552]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-45ef34a0674sm3282468f8f.8.2026.05.29.06.25.16 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 29 May 2026 06:25:17 -0700 (PDT) Message-ID: <0fb85345-ea8c-4294-bf4b-220617c9f089@linaro.org> Date: Fri, 29 May 2026 15:25:15 +0200 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird From: Neil Armstrong Reply-To: Neil Armstrong Subject: Re: [PATCH v4 0/6] media: qcom: iris: add support for decoding 10bit formats To: Wangao Wang , Vikash Garodia , Dikshita Agarwal , Abhinav Kumar , Bryan O'Donoghue , Mauro Carvalho Chehab Cc: linux-media@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, Dmitry Baryshkov , Bryan O'Donoghue References: <20260521-topic-sm8x50-iris-10bit-decoding-v4-0-8ff8fce3f904@linaro.org> <12102d68-da35-47ea-a972-28cb6d54ce1c@linaro.org> <12da2953-fe51-4999-9656-2b42a7897f91@oss.qualcomm.com> <9148913b-a5cd-4730-beff-6c517ac4818e@oss.qualcomm.com> <3baa753a-f716-45da-b1aa-7406f4092578@linaro.org> <88f8519f-31d8-47db-b0d1-f1d0d8c9df1f@oss.qualcomm.com> Content-Language: en-US, fr Autocrypt: addr=neil.armstrong@linaro.org; keydata= xsBNBE1ZBs8BCAD78xVLsXPwV/2qQx2FaO/7mhWL0Qodw8UcQJnkrWmgTFRobtTWxuRx8WWP GTjuhvbleoQ5Cxjr+v+1ARGCH46MxFP5DwauzPekwJUD5QKZlaw/bURTLmS2id5wWi3lqVH4 BVF2WzvGyyeV1o4RTCYDnZ9VLLylJ9bneEaIs/7cjCEbipGGFlfIML3sfqnIvMAxIMZrvcl9 qPV2k+KQ7q+aXavU5W+yLNn7QtXUB530Zlk/d2ETgzQ5FLYYnUDAaRl+8JUTjc0CNOTpCeik 80TZcE6f8M76Xa6yU8VcNko94Ck7iB4vj70q76P/J7kt98hklrr85/3NU3oti3nrIHmHABEB AAHNKk5laWwgQXJtc3Ryb25nIDxuZWlsLmFybXN0cm9uZ0BsaW5hcm8ub3JnPsLAkQQTAQoA OwIbIwULCQgHAwUVCgkICwUWAgMBAAIeAQIXgBYhBInsPQWERiF0UPIoSBaat7Gkz/iuBQJk Q5wSAhkBAAoJEBaat7Gkz/iuyhMIANiD94qDtUTJRfEW6GwXmtKWwl/mvqQtaTtZID2dos04 YqBbshiJbejgVJjy+HODcNUIKBB3PSLaln4ltdsV73SBcwUNdzebfKspAQunCM22Mn6FBIxQ GizsMLcP/0FX4en9NaKGfK6ZdKK6kN1GR9YffMJd2P08EO8mHowmSRe/ExAODhAs9W7XXExw UNCY4pVJyRPpEhv373vvff60bHxc1k/FF9WaPscMt7hlkbFLUs85kHtQAmr8pV5Hy9ezsSRa GzJmiVclkPc2BY592IGBXRDQ38urXeM4nfhhvqA50b/nAEXc6FzqgXqDkEIwR66/Gbp0t3+r yQzpKRyQif3OwE0ETVkGzwEIALyKDN/OGURaHBVzwjgYq+ZtifvekdrSNl8TIDH8g1xicBYp QTbPn6bbSZbdvfeQPNCcD4/EhXZuhQXMcoJsQQQnO4vwVULmPGgtGf8PVc7dxKOeta+qUh6+ SRh3vIcAUFHDT3f/Zdspz+e2E0hPV2hiSvICLk11qO6cyJE13zeNFoeY3ggrKY+IzbFomIZY 4yG6xI99NIPEVE9lNBXBKIlewIyVlkOaYvJWSV+p5gdJXOvScNN1epm5YHmf9aE2ZjnqZGoM Mtsyw18YoX9BqMFInxqYQQ3j/HpVgTSvmo5ea5qQDDUaCsaTf8UeDcwYOtgI8iL4oHcsGtUX oUk33HEAEQEAAcLAXwQYAQIACQUCTVkGzwIbDAAKCRAWmrexpM/4rrXiB/sGbkQ6itMrAIfn M7IbRuiSZS1unlySUVYu3SD6YBYnNi3G5EpbwfBNuT3H8//rVvtOFK4OD8cRYkxXRQmTvqa3 3eDIHu/zr1HMKErm+2SD6PO9umRef8V82o2oaCLvf4WeIssFjwB0b6a12opuRP7yo3E3gTCS KmbUuLv1CtxKQF+fUV1cVaTPMyT25Od+RC1K+iOR0F54oUJvJeq7fUzbn/KdlhA8XPGzwGRy 4zcsPWvwnXgfe5tk680fEKZVwOZKIEuJC3v+/yZpQzDvGYJvbyix0lHnrCzq43WefRHI5XTT QbM0WUIBIcGmq38+OgUsMYu4NzLu7uZFAcmp6h8g Organization: Linaro In-Reply-To: <88f8519f-31d8-47db-b0d1-f1d0d8c9df1f@oss.qualcomm.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit On 5/29/26 12:33, Wangao Wang wrote: > > > On 2026/5/29 17:55, Neil Armstrong wrote: >> Hi, >> >> On 5/29/26 10:21, Wangao Wang wrote: >>> >>> >>> On 2026/5/28 21:26, Neil Armstrong wrote: >>>> Hi Wangao, >>>> >>>> On 5/27/26 06:15, Wangao Wang wrote: >>>>> I tested the v4 patch using the gst command you provided earlier. The decoded output still has the previous plane misalignment issue, but all frames are decoded successfully. When viewing the raw data with an image player at 1920x1080 resolution, the first frame looks correct but subsequent frames appear shifted. If viewed at 1920x1088 resolution, there are artifacts at the bottom of each frame. I've attached the images. >>>>> >>>>> Also, have you tested the 720p case? I can't get it to run on my end. >>>> >>>> Thanks for the report but I don't have access to the Purwa platform you use, >>>> I've run test with multiple resolutions with display using P010 >>>> and QC10, and ran fluster aswell and all passed on SM8550 and SM8650. >>>> >>>> I'll test it on the Hamoa T14S I have which should be the closest to purwa, >>>> but it uses the same driver setup as SM8550 so I expected it to work the same. >>>> >>>> Could you indicate which iris firmware you're using ? >>>> >>>> Could you try passing the fluster h265 main10 test suite with gstreamer ? >>>> >>>> fluster download -c h.265 >>>> fluster run -d GStreamer-H.265-V4L2 -ts JCT-VC-HEVC_V1 -q -s -j1 >>>> >>>> The picture you send looks like there's a mismatch with the kernel >>>> and firmware setup of planes offsets. >>>> Could you check if there's a Purwa specific firmware property >>>> to set for 10bit decoding ? >>>> >>>> Neil >>>> >>>>> >>> >>> Hi Neil, >>> >>> I also tested on hamoa, and it has the same issue as purwa. The firmware used on purwa is vpu30_p1_s7.mbn. >>> >>> This is the result of fluster: >>> [JCT-VC-HEVC_V1] (GStreamer-H.265-V4L2-Gst1.0) WP_MAIN10_B_Toshiba_3       ... Success >>> [JCT-VC-HEVC_V1] (GStreamer-H.265-V4L2-Gst1.0) WPP_A_ericsson_MAIN10_2       ... Success >>> [JCT-VC-HEVC_V1] (GStreamer-H.265-V4L2-Gst1.0) WPP_A_ericsson_MAIN_2       ... Success >>> [JCT-VC-HEVC_V1] (GStreamer-H.265-V4L2-Gst1.0) WPP_B_ericsson_MAIN10_2       ... Success >>> [JCT-VC-HEVC_V1] (GStreamer-H.265-V4L2-Gst1.0) WPP_B_ericsson_MAIN_2       ... Success >>> [JCT-VC-HEVC_V1] (GStreamer-H.265-V4L2-Gst1.0) WPP_C_ericsson_MAIN10_2       ... Success >>> [JCT-VC-HEVC_V1] (GStreamer-H.265-V4L2-Gst1.0) WPP_C_ericsson_MAIN_2       ... Success >>> [JCT-VC-HEVC_V1] (GStreamer-H.265-V4L2-Gst1.0) WPP_D_ericsson_MAIN10_2       ... Error >>> [JCT-VC-HEVC_V1] (GStreamer-H.265-V4L2-Gst1.0) WPP_D_ericsson_MAIN_2       ... Error >>> [JCT-VC-HEVC_V1] (GStreamer-H.265-V4L2-Gst1.0) WPP_E_ericsson_MAIN10_2       ... Success >>> [JCT-VC-HEVC_V1] (GStreamer-H.265-V4L2-Gst1.0) WPP_E_ericsson_MAIN_2       ... Success >>> [JCT-VC-HEVC_V1] (GStreamer-H.265-V4L2-Gst1.0) WPP_F_ericsson_MAIN10_2       ... Success >>> [JCT-VC-HEVC_V1] (GStreamer-H.265-V4L2-Gst1.0) WPP_F_ericsson_MAIN_2       ... Success >>> >> >> Ok so this works fine, so I'm really wondering if your main10 HEVC is not properly encoded. >> >> Could you try playing a well know HEVC main10 files ? >> >> For example I just tried the 1080p and 4k 10bit files on Hamoa + fluster and it just worked as expected: >> https://larmoire.org/jellyfish/ >> https://larmoire.org/jellyfish/media/jellyfish-10-mbps-hd-hevc-10bit.mkv >> https://larmoire.org/jellyfish/media/jellyfish-120-mbps-4k-uhd- hevc-10bit.mkv >> >> Neil >> >> >>> >> > > Could you provide the test commands? I tried both files and the results from gst still show anomalies, but the results from iris_test_app are normal. I'm wondering if there are any additional settings needed on the client side. > > Here are my test commands: > gst-launch-1.0 -v -m filesrc location=jellyfish-10-mbps-hd-hevc-10bit.mkv ! matroskademux ! h265parse ! v4l2h265dec ! filesink location=1080P_out.yuv > gst-launch-1.0 -v -m filesrc location=jellyfish-120-mbps-4k-uhd-hevc-10bit.mkv ! matroskademux ! h265parse ! v4l2h265dec ! filesink location=4K_out.yuv > If I run those exact commands, I can correctly visualize the files with: gst-launch-1.0 -v -m filesrc location=1080P_out.yuv ! rawvideoparse format=p010-10le width=1920 height=1080 frame-size=6266880 ! waylandsink gst-launch-1.0 -v -m filesrc location=4K_out.yuv ! rawvideoparse format=p010-10le width=3840 height=2160 frame-size=25067520 ! waylandsink I have to use the decoder full aligned buffer size because gst just dumps the whole v4l2 buffer into filesink and frames are not tighly packed together. If you want to output tighly packed frames, this worked for me: gst-launch-1.0 -v -m filesrc location=jellyfish-10-mbps-hd-hevc-10bit.mkv ! matroskademux ! h265parse ! v4l2h265dec ! rawvideoparse format=p010-10le width=1920 height=1080 frame-size=6266880 ! filesink location=1080P_out.yuv gst-launch-1.0 -v -m filesrc location=jellyfish-120-mbps-4k-uhd-hevc-10bit.mkv.1 ! matroskademux ! h265parse ! v4l2h265dec ! rawvideoparse format=p010-10le width=3840 height=2160 frame-size=25067520 ! filesink location=4K_out.yuv There's probably a better way I don't know, but in any case gstreamer will only use the "frame-size" portion of each frame and process it. For example, you can convert it nv12 and dump to file, it will then dump only the nv12 data: gst-launch-1.0 -v -m filesrc location=jellyfish-10-mbps-hd-hevc-10bit.mkv ! matroskademux ! h265parse ! v4l2h265dec ! videoconvert ! video/x-raw, format=NV12 ! filesink location=1080P_out.yuv gst-launch-1.0 -v -m filesrc location=1080P_out.yuv ! rawvideoparse format=nv12 width=1920 height=1080 ! waylandsink If the plane offset/alignment was wrong, the convert frames would be wrong and playback would also be wrong. Neil