From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id BB1D32D5416 for ; Thu, 27 Nov 2025 07:45:01 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764229503; cv=none; b=pf+5pIg/DnTK1noyJWqUmT8i/SRYEw/Wo7YHiKyBQVmxI0ku9nhELk0p5fuq9cOSAkK6jGMHOKanVHCT3ARZHG5PlWLQVEnMx94FPLWtw96IT1IYeEydwosVaf3pAN2erhHc357xgnkZXaJc0ii48LVwj7OcQJR2FoyGNfMWpZQ= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764229503; c=relaxed/simple; bh=vz/l0hbUbKj1WZhOqvp15gIxGg+vFoURHntWvH7Py/0=; h=From:Subject:Date:Message-Id:MIME-Version:Content-Type:To:Cc; b=KavgC3VGTs8CPf73xf9jc8kkiAV03Ego55m9aKFaA9uXiuMXWIJfyY+lm3Drgqlr5KVGUtwHwijs3S4AlTAtNWJ7BHrBIGQoHSRR9OouUbdu0Pp07MA5JCdaRsESMXsgoxLULrB2GeBPcIFPkUQ0ATBsMvNZP0T269xr9uACTVY= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=Nl3c0fji; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=ZaWM9y9l; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="Nl3c0fji"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="ZaWM9y9l" Received: from pps.filterd (m0279872.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 5AR24sSu3840173 for ; Thu, 27 Nov 2025 07:45:00 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:message-id :mime-version:subject:to; s=qcppdkim1; bh=QZYh3H10pSKlSStmP0UedT MeoJXklIx/VdIFb1Ao9Uc=; b=Nl3c0fjihROdI7pd+owoae4XIhh6ZNYzNYTFzL sGhwLTJmHbKSFIaLGE83UQyEWqhJRCLFu6Txe9ZCHreB4KFv+nQo7Rl5S7D4VdC6 fIzhP1iELJEVCjkVhdUcdCtZdfam4gQ+F6mR/AsLbFuzwGpfnndX5tllKPn/gDkM nO50eP6+XJXLijI4jXT2Oo6v3rE32Fccu1uPtaFVFiuhtCloE4KgFJc8EVRMeg+f mlw4mLJ/n15VQvFiPeU/R5LySa4wtjRFwFpKEcw6xIpACqnoDULRbnLWHFA/lALx lkzP7QD4Qewxcqpe8w3s88/NMGwuOlbR8gXTYZnlBeiovWrw== Received: from mail-pf1-f200.google.com (mail-pf1-f200.google.com [209.85.210.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4apdj08ta4-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 27 Nov 2025 07:45:00 +0000 (GMT) Received: by mail-pf1-f200.google.com with SMTP id d2e1a72fcca58-7b8a12f0cb4so576238b3a.3 for ; Wed, 26 Nov 2025 23:45:00 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1764229499; x=1764834299; darn=vger.kernel.org; h=cc:to:content-transfer-encoding:mime-version:message-id:date :subject:from:from:to:cc:subject:date:message-id:reply-to; bh=QZYh3H10pSKlSStmP0UedTMeoJXklIx/VdIFb1Ao9Uc=; b=ZaWM9y9lfvi4g7+qnj19DDl5Lgk1kIWkpwa899LJa5JWzmL5bYXcekjzyHmEGzgveV CkMt/tHYbD/q1r7zzadlWS6ljxJsWJY0hH/vOkRgX/3fKC2SJQABXEmVKlUTchD3bB85 D2Zr1NuH+1M3GU93LsTFC3h2Jm3B2OQZfXUhVTqliBbAnYTnrZakfjJgHN3BYROFRo0J HBCFpu0R6gQ6QgUZMpMuytmGg6p+NXz4ojLZWWmi4xn3Cwvai+ClYp7nTk88f3FXM4xp wx7kmiWQOB0RFqJYDWlt4gSxhq0zvRYLJCAuokGIU9zkkl6IuqVAXRsARiHzLi/JH4ef eGHA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1764229499; x=1764834299; h=cc:to:content-transfer-encoding:mime-version:message-id:date :subject:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=QZYh3H10pSKlSStmP0UedTMeoJXklIx/VdIFb1Ao9Uc=; b=OPIWlI4SkSDn6MF7CWw7KvEDXnVq2bAXfk45yE795iVtyLEegJg8zrAjHGv+qwZWcv c73cbJQ+CSifMQpDIgAlTf1h6ZA5UDtXgwvVXUMMKrYLev1Sqk+kKrSMwesm9It2eXSw xSMvAkSHeQkyIAwXbT/dSaxC1KxN8j9h4t/YBEgXrj6tek4ggOoQU07VCc9aeqsBCqt1 oGQviKc+leTf5k1JhRtmmvfF0MYzaZpfpedzevbRATSNe7wwB95uuRvMgjJ2tBWoiXLd tfeSYinzIYHTqNFsqx3duO11TgbTHhlsHfz1iZG061UkNktu04b1493wU/TSq5TWPWC/ aotg== X-Forwarded-Encrypted: i=1; AJvYcCUhGYIZouSg9h1J4PpSn364MINvto57dLgFZTWjL1ZJ3yAaUwgHZspk9SctlPmnKprdQ4KzWlurRT2zB0Y=@vger.kernel.org X-Gm-Message-State: AOJu0Yyy1a8RdHgKKhdKJNkQNClynpDhVFX2dsp2TfunPn8tK2Awafu+ kObGSzAJDFhtMcrRriOHAz/yL20xfwRiiPcNKyaDquP0mdd2Zu645TVBSTe3gL8SKernS0pb88I EoUGpWPP3bHHCn2UWl3pOK4JPEJPrpQH8ft9GiPzCK7OPB6hKgq6fedDsrz/EkuVpehI= X-Gm-Gg: ASbGnctyycwCxdgGa1/HJEdRAthziZYV1DimSQvG0DyZ3zuhypuc2z+DfgCWb0Xe+pf ZnTmVhSASK+CXjyqlXERwwGJjARi4MumydQPjKz2qi5OeTno02QUQJtz0XXNNSe8Lopidmg9KBV Mb1v+qscuQ3XGFErHtZ2lybZye3T4NWDUrJKkQ5R0L+rAiL6xvHB8UcdQR8D8/zc8e/kC+v5RDF mVjelWJJtK51KExfMGNmRdd2z4UFTWZn/t7Uyyh5jJTJcX/PoXHWkwjTmFYXnE9ajd32JZ0epb6 zZLBMn76i+astNiSotW/iUUbEcdWoru4koYPIROdqqNNHk/QiLDZ+GcDsA9x/3I3YYHTxAP0FmZ ObJbqB6NLVEEzWO9h/5zGbBNLKDc0QsKIJkSNkgg7Rsdkh4weN2Z/0R1uswNnzDrgRta3Qe+JlG dUJQ82e6ME2kEo X-Received: by 2002:a05:6a00:130d:b0:7aa:5053:f42d with SMTP id d2e1a72fcca58-7ca8b0c00a4mr9855684b3a.22.1764229499451; Wed, 26 Nov 2025 23:44:59 -0800 (PST) X-Google-Smtp-Source: AGHT+IGdcKI+nxPs47o6VDLaprLXObyDUX7roo8pLYbS8O4AyoV7ZwFGACjxMDRyVRzEDAAyzPQJkA== X-Received: by 2002:a05:6a00:130d:b0:7aa:5053:f42d with SMTP id d2e1a72fcca58-7ca8b0c00a4mr9855660b3a.22.1764229498970; Wed, 26 Nov 2025 23:44:58 -0800 (PST) Received: from WANGAOW-LAB01.ap.qualcomm.com (tpe-colo-wan-fw-bordernet.qualcomm.com. [103.229.16.4]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-7d15f080beasm908717b3a.47.2025.11.26.23.44.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Nov 2025 23:44:58 -0800 (PST) From: Wangao Wang Subject: [PATCH 0/4] media: qcom: iris: encoder feature enhancements batch2 Date: Thu, 27 Nov 2025 15:44:31 +0800 Message-Id: <20251127-batch2_iris_encoder_enhancements-v1-0-5ea78e2de2ae@oss.qualcomm.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit X-B4-Tracking: v=1; b=H4sIAF8BKGkC/42Q3WrEIBBGXyV4XZc4iebnqu9RlmXUSSM0setkQ 8uSd69JLkuhNyPfh3iO8xRMKRCLvniKRGvgEOcc1Esh3IjzO8ngcxZQglYKtLS4uBFuIQW+0ey ip5TPfNXRRPPCsiLtarBdhaBFfuYz0RC+DsTb9cyJ7o9MWs5STMSMB6kvTo6q5d+A1chSeuMrj R2YSvvXyHy5P/DDxWm65LFjLTLJvQhLX3QweENtrRptaUDVNDpblmhNC13VkkNoXGlB7IJj4CW m72MlqzoM///7VWU5BKWbwYAzbfdb7rpt2w9fI7lAeAEAAA== X-Change-ID: 20251125-batch2_iris_encoder_enhancements-3e5c42b93a25 To: Vikash Garodia , Dikshita Agarwal , Abhinav Kumar , Bryan O'Donoghue , Mauro Carvalho Chehab Cc: quic_qiweil@quicinc.com, Renjiang Han , Wangao Wang , linux-media@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1764229495; l=14019; i=wangao.wang@oss.qualcomm.com; s=20251021; h=from:subject:message-id; bh=vz/l0hbUbKj1WZhOqvp15gIxGg+vFoURHntWvH7Py/0=; b=zON1rqXeeeVurlqdLJtHZWGf1rccY5wyXDchotUEYU3zE1SXYSZtwDqjFvNZryY64Xc0B3CEX YjZfJNgLU/jDA2JVzhdYYjnPc01UDEHh/idtk60kFaqaxJ3D0IlRZG6 X-Developer-Key: i=wangao.wang@oss.qualcomm.com; a=ed25519; pk=bUPgYblBUAsoPyGfssbNR7ZXUSGF8v1VF4FJzSO6/aA= X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMTI3MDA1NCBTYWx0ZWRfX8aBSBMQ3tu7x eNwTobHSz4FYt7iG7DPkL1iazWJ4yFMK9vXVsZBPQtxEuG6m97dIZqlPbEJ+EsHzloCng61R5s5 LTYwtHBeQBpDqLk/fRgRro5Wmhf97TlWua517Pw5A60RkD7ALuIaJSIuLfrKB7nh67kUkfmoiOc ttM4wjij62ly60HT8v5FtKxiXTBF5ez1CYp201EpKKQDDK7bOcpcE3QVEyAlMILfglqW6hsvqyM u9FjwQGAuR0OZbqtjbtX09BIstW6V0H1O7oRUAYdNBoF8ntQ92ZHDAXhxwWAueFAtSDWhXNRwsA kAIb3f44HYOjSyRQVAQI/QetawsEQkdthRstJNUdCiTOE3HoSTjGec2qvgYJIMsBD+aPBYl6odu lukkTEpHc1N3HRWh4OpRpgbS7PdiWg== X-Proofpoint-GUID: HLvOiodd3PuCpMh8tGBG-rVO_yg-csMI X-Proofpoint-ORIG-GUID: HLvOiodd3PuCpMh8tGBG-rVO_yg-csMI X-Authority-Analysis: v=2.4 cv=PJoCOPqC c=1 sm=1 tr=0 ts=6928017c cx=c_pps a=mDZGXZTwRPZaeRUbqKGCBw==:117 a=nuhDOHQX5FNHPW3J6Bj6AA==:17 a=IkcTkHD0fZMA:10 a=6UeiqGixMTsA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=9ARsnYGZO-bw47MJTgUA:9 a=QEXdDO2ut3YA:10 a=zc0IvFSfCIW2DFIPzwfm:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49 definitions=2025-11-25_02,2025-11-26_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 lowpriorityscore=0 suspectscore=0 phishscore=0 priorityscore=1501 clxscore=1015 adultscore=0 impostorscore=0 malwarescore=0 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2510240001 definitions=main-2511270054 Hi All, This patch series introduces several enhancements to the Qualcomm Iris encoder driver, improving support for V4L2 controls and enabling more video encoding features. All patches have been tested with v4l2-compliance and v4l2-ctl on gen1:QCS6490, gen2:QCS8300, QCS8550, QCS9100, X1E-80100. Commands used for V4l2-ctl validation: Intra Refresh: ./v4l2-ctl --verbose -d /dev/video1 \ --set-fmt-video-out=width=1920,height=1080,pixelformat=NV12 \ --set-selection-output target=crop,width=1920,height=1080 \ --set-fmt-video=pixelformat=H264 --stream-mmap --stream-out-mmap \ --stream-from=input_nv12_1080p.yuv \ --stream-to=output/ir_random.h264 \ --set-ctrl intra_refresh_period_type=0,intra_refresh_period=30 ./v4l2-ctl --verbose -d /dev/video1 \ --set-fmt-video-out=width=1920,height=1080,pixelformat=NV12 \ --set-selection-output target=crop,width=1920,height=1080 \ --set-fmt-video=pixelformat=H264 --stream-mmap --stream-out-mmap \ --stream-from=input_nv12_1080p.yuv \ --stream-to=output/ir_cyclic.h264 \ --set-ctrl intra_refresh_period_type=1,intra_refresh_period=30 ./v4l2-ctl --verbose -d /dev/video1 \ --set-fmt-video-out=width=1920,height=1080,pixelformat=NV12 \ --set-selection-output target=crop,width=1920,height=1080 \ --set-fmt-video=pixelformat=HEVC --stream-mmap --stream-out-mmap \ --stream-from=input_nv12_1080p.yuv \ --stream-to=output/ir_random.h265 \ --set-ctrl intra_refresh_period_type=0,intra_refresh_period=30 ./v4l2-ctl --verbose -d /dev/video1 \ --set-fmt-video-out=width=1920,height=1080,pixelformat=NV12 \ --set-selection-output target=crop,width=1920,height=1080 \ --set-fmt-video=pixelformat=HEVC --stream-mmap --stream-out-mmap \ --stream-from=input_nv12_1080p.yuv \ --stream-to=output/ir_cyclic.h265 \ --set-ctrl intra_refresh_period_type=1,intra_refresh_period=30 B frames: ./v4l2-ctl --verbose -d /dev/video1 \ --set-fmt-video-out=width=1920,height=1080,pixelformat=NV12 \ --set-selection-output target=crop,width=1920,height=1080 \ --set-fmt-video=pixelformat=H264 --stream-mmap --stream-out-mmap \ --stream-from=input_nv12_1080p.yuv \ --stream-to=output/b_frames.h264 \ --set-ctrl video_b_frames=1 ./v4l2-ctl --verbose -d /dev/video1 \ --set-fmt-video-out=width=1920,height=1080,pixelformat=NV12 \ --set-selection-output target=crop,width=1920,height=1080 \ --set-fmt-video=pixelformat=HEVC --stream-mmap --stream-out-mmap \ --stream-from=input_nv12_1080p.yuv \ --stream-to=output/b_frames.h265 \ --set-ctrl video_b_frames=1 LTR: ./v4l2-ctl --verbose -d /dev/video1 \ --set-fmt-video-out=width=1920,height=1080,pixelformat=NV12 \ --set-selection-output target=crop,width=1920,height=1080 \ --set-fmt-video=pixelformat=H264 --stream-mmap --stream-out-mmap \ --stream-from=input_nv12_1080p.yuv \ --stream-to=output/ltr.h264 \ --set-ctrl ltr_count=2,frame_ltr_index=1 ./v4l2-ctl --verbose -d /dev/video1 \ --set-fmt-video-out=width=1920,height=1080,pixelformat=NV12 \ --set-selection-output target=crop,width=1920,height=1080 \ --set-fmt-video=pixelformat=HEVC --stream-mmap --stream-out-mmap \ --stream-from=input_nv12_1080p.yuv \ --stream-to=output/ltr.h265 \ --set-ctrl ltr_count=2,frame_ltr_index=1 Hierarchical Coding: ./v4l2-ctl --verbose -d /dev/video1 \ --set-fmt-video-out=width=1920,height=1080,pixelformat=NV12 \ --set-selection-output target=crop,width=1920,height=1080 \ --set-fmt-video=pixelformat=H264 --stream-mmap --stream-out-mmap \ --stream-from=input_nv12_1080p.yuv \ --stream-to=output/hier_coding.h264 \ --set-ctrl enable_h264_hierarchical_coding=1,h264_hierarchical_coding_type=1,h264_number_of_hc_layers=3 ./v4l2-ctl --verbose -d /dev/video1 \ --set-fmt-video-out=width=1920,height=1080,pixelformat=NV12 \ --set-selection-output target=crop,width=1920,height=1080 \ --set-fmt-video=pixelformat=HEVC --stream-mmap --stream-out-mmap \ --stream-from=input_nv12_1080p.yuv \ --stream-to=output/hier_coding.h265 \ --set-ctrl hevc_hierarchical_coding_type=1,hevc_hierarchical_coding_layer=5 The result of v4l2-compliance on QCS8300: v4l2-compliance 1.31.0-5379, 64 bits, 64-bit time_t v4l2-compliance SHA: 14c988631ad4 2025-11-11 11:19:35 Compliance test for iris_driver device /dev/video1: Driver Info: Driver name : iris_driver Card type : Iris Encoder Bus info : platform:aa00000.video-codec Driver version : 6.18.0 Capabilities : 0x84204000 Video Memory-to-Memory Multiplanar Streaming Extended Pix Format Device Capabilities Device Caps : 0x04204000 Video Memory-to-Memory Multiplanar Streaming Extended Pix Format Detected Stateful Encoder Required ioctls: test VIDIOC_QUERYCAP: OK test invalid ioctls: OK Allow for multiple opens: test second /dev/video1 open: OK test VIDIOC_QUERYCAP: OK test VIDIOC_G/S_PRIORITY: OK test for unlimited opens: OK Debug ioctls: test VIDIOC_DBG_G/S_REGISTER: OK (Not Supported) test VIDIOC_LOG_STATUS: OK (Not Supported) Input ioctls: test VIDIOC_G/S_TUNER/ENUM_FREQ_BANDS: OK (Not Supported) test VIDIOC_G/S_FREQUENCY: OK (Not Supported) test VIDIOC_S_HW_FREQ_SEEK: OK (Not Supported) test VIDIOC_ENUMAUDIO: OK (Not Supported) test VIDIOC_G/S/ENUMINPUT: OK (Not Supported) test VIDIOC_G/S_AUDIO: OK (Not Supported) Inputs: 0 Audio Inputs: 0 Tuners: 0 Output ioctls: test VIDIOC_G/S_MODULATOR: OK (Not Supported) test VIDIOC_G/S_FREQUENCY: OK (Not Supported) test VIDIOC_ENUMAUDOUT: OK (Not Supported) test VIDIOC_G/S/ENUMOUTPUT: OK (Not Supported) test VIDIOC_G/S_AUDOUT: OK (Not Supported) Outputs: 0 Audio Outputs: 0 Modulators: 0 Input/Output configuration ioctls: test VIDIOC_ENUM/G/S/QUERY_STD: OK (Not Supported) test VIDIOC_ENUM/G/S/QUERY_DV_TIMINGS: OK (Not Supported) test VIDIOC_DV_TIMINGS_CAP: OK (Not Supported) test VIDIOC_G/S_EDID: OK (Not Supported) Control ioctls: test VIDIOC_QUERY_EXT_CTRL/QUERYMENU: OK test VIDIOC_QUERYCTRL: OK test VIDIOC_G/S_CTRL: OK test VIDIOC_G/S/TRY_EXT_CTRLS: OK test VIDIOC_(UN)SUBSCRIBE_EVENT/DQEVENT: OK test VIDIOC_G/S_JPEGCOMP: OK (Not Supported) Standard Controls: 52 Private Controls: 0 Format ioctls: test VIDIOC_ENUM_FMT/FRAMESIZES/FRAMEINTERVALS: OK test VIDIOC_G/S_PARM: OK test VIDIOC_G_FBUF: OK (Not Supported) test VIDIOC_G_FMT: OK test VIDIOC_TRY_FMT: OK test VIDIOC_S_FMT: OK test VIDIOC_G_SLICED_VBI_CAP: OK (Not Supported) test Cropping: OK test Composing: OK (Not Supported) test Scaling: OK (Not Supported) Codec ioctls: test VIDIOC_(TRY_)ENCODER_CMD: OK test VIDIOC_G_ENC_INDEX: OK (Not Supported) test VIDIOC_(TRY_)DECODER_CMD: OK (Not Supported) Buffer ioctls: test VIDIOC_REQBUFS/CREATE_BUFS/QUERYBUF: OK test CREATE_BUFS maximum buffers: OK test VIDIOC_REMOVE_BUFS: OK test VIDIOC_EXPBUF: OK test Requests: OK (Not Supported) test blocking wait: OK Test input 0: Streaming ioctls: test read/write: OK (Not Supported) Video Capture Multiplanar: Captured 61 buffers test MMAP (select, REQBUFS): OK Video Capture Multiplanar: Captured 61 buffers test MMAP (epoll, REQBUFS): OK Video Capture Multiplanar: Captured 61 buffers test MMAP (select, CREATE_BUFS): OK Video Capture Multiplanar: Captured 61 buffers test MMAP (epoll, CREATE_BUFS): OK test USERPTR (select): OK (Not Supported) test DMABUF: Cannot test, specify --expbuf-device Total for iris_driver device /dev/video1: 54, Succeeded: 54, Failed: 0, Warnings: 0 The result of v4l2-compliance on QCS6490: v4l2-compliance 1.31.0-5379, 64 bits, 64-bit time_t v4l2-compliance SHA: 14c988631ad4 2025-11-11 11:19:35 Compliance test for iris_driver device /dev/video1: Driver Info: Driver name : iris_driver Card type : Iris Encoder Bus info : platform:aa00000.video-codec Driver version : 6.18.0 Capabilities : 0x84204000 Video Memory-to-Memory Multiplanar Streaming Extended Pix Format Device Capabilities Device Caps : 0x04204000 Video Memory-to-Memory Multiplanar Streaming Extended Pix Format Detected Stateful Encoder Required ioctls: test VIDIOC_QUERYCAP: OK test invalid ioctls: OK Allow for multiple opens: test second /dev/video1 open: OK test VIDIOC_QUERYCAP: OK test VIDIOC_G/S_PRIORITY: OK test for unlimited opens: OK Debug ioctls: test VIDIOC_DBG_G/S_REGISTER: OK (Not Supported) test VIDIOC_LOG_STATUS: OK (Not Supported) Input ioctls: test VIDIOC_G/S_TUNER/ENUM_FREQ_BANDS: OK (Not Supported) test VIDIOC_G/S_FREQUENCY: OK (Not Supported) test VIDIOC_S_HW_FREQ_SEEK: OK (Not Supported) test VIDIOC_ENUMAUDIO: OK (Not Supported) test VIDIOC_G/S/ENUMINPUT: OK (Not Supported) test VIDIOC_G/S_AUDIO: OK (Not Supported) Inputs: 0 Audio Inputs: 0 Tuners: 0 Output ioctls: test VIDIOC_G/S_MODULATOR: OK (Not Supported) test VIDIOC_G/S_FREQUENCY: OK (Not Supported) test VIDIOC_ENUMAUDOUT: OK (Not Supported) test VIDIOC_G/S/ENUMOUTPUT: OK (Not Supported) test VIDIOC_G/S_AUDOUT: OK (Not Supported) Outputs: 0 Audio Outputs: 0 Modulators: 0 Input/Output configuration ioctls: test VIDIOC_ENUM/G/S/QUERY_STD: OK (Not Supported) test VIDIOC_ENUM/G/S/QUERY_DV_TIMINGS: OK (Not Supported) test VIDIOC_DV_TIMINGS_CAP: OK (Not Supported) test VIDIOC_G/S_EDID: OK (Not Supported) Control ioctls: test VIDIOC_QUERY_EXT_CTRL/QUERYMENU: OK test VIDIOC_QUERYCTRL: OK test VIDIOC_G/S_CTRL: OK test VIDIOC_G/S/TRY_EXT_CTRLS: OK test VIDIOC_(UN)SUBSCRIBE_EVENT/DQEVENT: OK test VIDIOC_G/S_JPEGCOMP: OK (Not Supported) Standard Controls: 27 Private Controls: 0 Format ioctls: test VIDIOC_ENUM_FMT/FRAMESIZES/FRAMEINTERVALS: OK test VIDIOC_G/S_PARM: OK test VIDIOC_G_FBUF: OK (Not Supported) test VIDIOC_G_FMT: OK test VIDIOC_TRY_FMT: OK test VIDIOC_S_FMT: OK test VIDIOC_G_SLICED_VBI_CAP: OK (Not Supported) test Cropping: OK test Composing: OK (Not Supported) test Scaling: OK (Not Supported) Codec ioctls: test VIDIOC_(TRY_)ENCODER_CMD: OK test VIDIOC_G_ENC_INDEX: OK (Not Supported) test VIDIOC_(TRY_)DECODER_CMD: OK (Not Supported) Buffer ioctls: test VIDIOC_REQBUFS/CREATE_BUFS/QUERYBUF: OK test CREATE_BUFS maximum buffers: OK test VIDIOC_REMOVE_BUFS: OK test VIDIOC_EXPBUF: OK test Requests: OK (Not Supported) test blocking wait: OK Test input 0: Streaming ioctls: test read/write: OK (Not Supported) Video Capture Multiplanar: Captured 61 buffers test MMAP (select, REQBUFS): OK Video Capture Multiplanar: Captured 61 buffers test MMAP (epoll, REQBUFS): OK Video Capture Multiplanar: Captured 61 buffers test MMAP (select, CREATE_BUFS): OK Video Capture Multiplanar: Captured 61 buffers test MMAP (epoll, CREATE_BUFS): OK test USERPTR (select): OK (Not Supported) test DMABUF: Cannot test, specify --expbuf-device Total for iris_driver device /dev/video1: 54, Succeeded: 54, Failed: 0, Warnings: 0 Dependencies: https://lore.kernel.org/all/20251114-iris_encoder_enhancements-v6-0-d6d35a92635d@oss.qualcomm.com/ Signed-off-by: Wangao Wang --- Wangao Wang (4): media: qcom: iris: Add intra refresh support for gen1 encoder media: qcom: iris: Add Long-Term Reference support for encoder media: qcom: iris: Add B frames support for encoder media: qcom: iris: Add hierarchical coding support for encoder drivers/media/platform/qcom/iris/iris_ctrls.c | 337 ++++++++++++++++++++- drivers/media/platform/qcom/iris/iris_ctrls.h | 12 +- .../platform/qcom/iris/iris_hfi_gen1_command.c | 55 ++++ .../platform/qcom/iris/iris_hfi_gen1_defines.h | 45 +++ .../platform/qcom/iris/iris_hfi_gen2_defines.h | 12 + drivers/media/platform/qcom/iris/iris_instance.h | 4 + .../platform/qcom/iris/iris_platform_common.h | 19 ++ .../media/platform/qcom/iris/iris_platform_gen1.c | 94 +++++- .../media/platform/qcom/iris/iris_platform_gen2.c | 90 +++++- drivers/media/platform/qcom/iris/iris_vpu_buffer.c | 58 +++- 10 files changed, 710 insertions(+), 16 deletions(-) --- base-commit: 92fd6e84175befa1775e5c0ab682938eca27c0b2 change-id: 20251125-batch2_iris_encoder_enhancements-3e5c42b93a25 prerequisite-message-id: 20251114-iris_encoder_enhancements-v6-0-d6d35a92635d@oss.qualcomm.com prerequisite-patch-id: 2b77a7b9bfb436751da0bf69488dbff567a38479 prerequisite-patch-id: 190f29ef211b046f0d031e3a4b52f2c3bccd0cd9 prerequisite-patch-id: 92ff1a1958eeacd53d70e155bb8214f9987ddf85 prerequisite-patch-id: 0dae6aaa8db7df0729436cf9268d29ea363f0eed prerequisite-patch-id: 6382693f5a5a7438660f2e592b30163551d92791 prerequisite-patch-id: 9aa16211c36540a61d219eb25f09b7625b9bdbde Best regards, -- Wangao Wang