From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.ffmpeg.org (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTPS id EBE804D6A6 for ; Tue, 25 Nov 2025 09:55:45 +0000 (UTC) Authentication-Results: ffbox; dkim=fail (body hash mismatch (got b'qCfR49UnQWpUtr0YS5kd7cwqmoI2pQLOjPwoA0vkw4Y=', expected b'qKf6nIXbRXXvNjW/NeZ0S7\r\n\tlU5WxeotvdgJ+7F5fXabM=')) header.d=qualcomm.com header.a=rsa-sha256 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ffmpeg.org; i=@ffmpeg.org; q=dns/txt; s=mail; t=1764064534; h=to : date : message-id : content-type : mime-version : reply-to : subject : list-id : list-archive : list-archive : list-help : list-owner : list-post : list-subscribe : list-unsubscribe : from : cc : content-transfer-encoding : from; bh=+FpmX2H8iVhubryCplIbKW0zxzE8UY6PiWrT1mYEQs0=; b=sJU3eiR3XflNcNESbSD1R9aSldmkupTmXCMYuwpLaDGjsos8GBnmDrQo5LDjEqfTOTcuA CRnPKhUykDGujRJQgO+piSraxtL8y6b2WB/aTo1sl3q4MxkQ35ed+AhKIRaQyXgrUFS/T2t Nx2fbrd9tw9oMPzHG+bIT1cmOSS0m6DfEiAGk6bWXbw6CPlykJgf/LJiVJrDW765GqRNIlF km/SRzoO5cGlKEHSLvFx6Xr3Vx2RpzXnmsxMvJ3GC3ersTDwQZdsB1f8GTJPjC/WCxdrBax f9eQzKk+QEpMdPxNQ1Lkh0F8hBEQPGq8JUiNPSu+wN58zDGusWvuUtUDCmPw== Received: from [172.19.0.3] (unknown [172.19.0.3]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTP id 5CC096900B1; Tue, 25 Nov 2025 11:55:34 +0200 (EET) ARC-Seal: i=2; cv=pass; a=rsa-sha256; d=ffmpeg.org; s=arc; t=1764064517; b=BnpAiyJItIDp+XrwiTqb0U8EgdtwkoAv50rTsFfPlzp97HcgMY7rJhu4U1TRK50xMtnyL +3lIFU0Al1EKYdtkOwdGyxBl5U5UKc43snX7DNpJrnz9XV6+z61EjVDyqmJSd+QwPurdgbu 4uxuZn8AhHqaZXpUvP5i0Ot0beW8t07JjKr83gipbYkFY+9rvYuj7Zf6ZF86pLLXNtxu1xP HAComJGy5AYYo1Jravm5ZGZEeFiC8PkGQxTjREjPFaGoed3+8UZKmgg/JMSkWB04N61iPkd 1iSWqc9BQwxg3SZanIbSgkj54cREe69pBdtZRC5CZ1vKqlE3U/6dzgjoKPcA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=ffmpeg.org; s=arc; t=1764064517; h=from : sender : reply-to : subject : date : message-id : to : cc : mime-version : content-type : content-transfer-encoding : content-id : content-description : resent-date : resent-from : resent-sender : resent-to : resent-cc : resent-message-id : in-reply-to : references : list-id : list-help : list-unsubscribe : list-subscribe : list-post : list-owner : list-archive; bh=qCfR49UnQWpUtr0YS5kd7cwqmoI2pQLOjPwoA0vkw4Y=; b=jLeIt5jgkT6yc1FbrjuNqB4xIhlEnaQHlI5rFvwcEyKQtKvgDXJAKFJ9us6vQwYaNQRTI OFQ8g7dDtqxAJgUgsi5uvGZxmlj1f3t3HMpORWRmaau9Xbc4VaqAIUgOBaRzJtGcOJMBMIu ROXdLpPNbpk0guMqunhR2JrDmZgC/1yGeR77f6aS/NahLy25AU1bw8P+GCxq+LIuV1lApxa pYHiLhhI7/d36OfiPoK93IhI6vsO/2heGFMYLqISOQPd0+pcAsqjTqePOxvi4VkgqfOjTXw iBJtXmLh31scF/hDk0OPqELStpgKcMQIoY3id3gUIsnchoXTS1PohuScaY/w== ARC-Authentication-Results: i=2; ffmpeg.org; dkim=pass header.d=qualcomm.com; arc=pass; dmarc=pass header.from=qti.qualcomm.com policy.dmarc=reject Authentication-Results: ffmpeg.org; dkim=pass header.d=qualcomm.com; arc=pass; dmarc=pass (Used Org Domain Record) header.from=qti.qualcomm.com policy.dmarc=reject Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTPS id E8C0868EFFD for ; Tue, 25 Nov 2025 11:55:03 +0200 (EET) 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 5AP2gclA1978793 for ; Tue, 25 Nov 2025 09:54:59 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=qKf6nIXbRXXvNjW/NeZ0S7 lU5WxeotvdgJ+7F5fXabM=; b=Ks8SAT/k3vNlGOSeuIUqxEF7SaAnFLGDDK7YUB 8qJ78bjf0u+X/aIh/xuE1p439678aDWlBcn4nLu3H9ROmfJZ1rCWnxfqNOFKNcY5 Q1pEkKGy9ZMBLcxTP5eL1c2HgXAvLniJx0Nu8yIbcoTjdV3XW93xXiDfmcqItnRc nCYZrPHBZXp9r99Dw0Htx5P4QzIv/IrWWPQx+Ehg/D8zS/kOboVNZ3DrgPkjxoCp w+22zhrVQwjywAOskMTiCiM9DJKB6x5Y4ctykCp+KsvEkZou9Aps8jgs4xQUSCbi jNOjH25h/EYmiZOWHJJjexMvjR5AyR20z99uicgYbEBPBoYw== Received: from sn1pr07cu001.outbound.protection.outlook.com (mail-sn1pr07cu00104.outbound.protection.outlook.com [40.93.14.100]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4amw9gt6b1-2 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT) for ; Tue, 25 Nov 2025 09:54:59 +0000 (GMT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=rjc8X9G4eb3YLk5WlSpnEKXZ5euBisbNV1EDc3NEwbOHPPepNw3z4V+UJXMGklZ+njC/qwft5T6NyE9e+W6vxkypwTNpW1rndPP0cAuS4u4dPmtDy+IKR5qQqUhcjk2fgiUKU7zqF6hFBgegOqVOqz2tCv9sdkjywsTASMDUN5rnkgHbKh20VCQ5YJV3sQV86Jhjav4WqSlNWHzd2Rn6tDUdm1JZDgUWixvuu4XAZhyJqjr1KACMtzBsUMfoiepiZwA46gNsTEOK6Zs6G18BomMijKn6ji1CW81q0cISU1mNPXqOjh/hqGjdNwYtp6JsOOStG6slvxW5r62ov3FmXw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=qKf6nIXbRXXvNjW/NeZ0S7lU5WxeotvdgJ+7F5fXabM=; b=PhSLm6q8nHwh4IL7TiS9e/W5oVoZlJlqaXFO49iktq9MjdyXYiNoJfa735RuZz6maRNnlnZD1KaQ5vAINL/SzeZ3bVA/HiAw3GkPmLqC4tDdaWaetYr3kRPTXAhmHhkk9S5lWzx99kNjRmjBt36mOFLfCWJvNzVPBp3Ysd7FBztf8yF8z3wuowthXqrJCIglrEOb57+I0whkvodpChi82sFj/04iGAq6p5i2+tmqN+Nn/FpEEL9KA6IwyCd2EftZGEFEQ7CB/U87UUG8QnARcL03s7gdtWCXmT7FZr5Rv1GMyimKBcoAP52F7MPudC/cy7olsGMZhlb0JPugLDPGDA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=qti.qualcomm.com; dmarc=pass action=none header.from=qti.qualcomm.com; dkim=pass header.d=qti.qualcomm.com; arc=none Received: from DS4PR02MB10842.namprd02.prod.outlook.com (2603:10b6:8:29b::14) by BY5PR02MB6866.namprd02.prod.outlook.com (2603:10b6:a03:237::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9343.17; Tue, 25 Nov 2025 09:54:54 +0000 Received: from DS4PR02MB10842.namprd02.prod.outlook.com ([fe80::5dbf:5adb:edb7:5534]) by DS4PR02MB10842.namprd02.prod.outlook.com ([fe80::5dbf:5adb:edb7:5534%6]) with mapi id 15.20.9343.016; Tue, 25 Nov 2025 09:54:54 +0000 To: "ffmpeg-devel@ffmpeg.org" , Wenjie Yin Thread-Topic: [PATCH v2] libavcodec/v4l2_buffers: fixing buffer alignment issue Thread-Index: Adxd8Ytv0fmZUrmtQnO2Xq5aa1O2qg== Date: Tue, 25 Nov 2025 09:54:54 +0000 Message-ID: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: DS4PR02MB10842:EE_|BY5PR02MB6866:EE_ x-ms-office365-filtering-correlation-id: beeccd46-961d-4065-0df5-08de2c08af59 x-ld-processed: 98e9ba89-e1a1-4e38-9007-8bdabc25de1d,ExtAddr x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0;ARA:13230040|1800799024|376014|366016|38070700021; x-microsoft-antispam-message-info: =?us-ascii?Q?mvZleC4871rk918oZzWCyCrKPqe2wI0DpPB9uMChziz1wqo8eTzxLSkbbTOe?= =?us-ascii?Q?ubrELTw55jy3U+yZ8+m0dymscmV3SsmOYqpc9UH/TMX+/bYigib/I350+ZM0?= =?us-ascii?Q?Yje6HK/Vr7WC163CoSU1ZpLPbo/MuB83GA/4zHU0gmgBwcBoiU43n/BELbZy?= =?us-ascii?Q?vTyQRIOtaszKqIG6i+HDAkm0nqCna9kOx6qiSPkVpQrYovdG8rJeVjVPpwwi?= =?us-ascii?Q?iqcOZhQ4OOy2W9kzt900idWaHcpP++7cEFgEaRG1qeJ3HcWjPBplbDfF14Cm?= =?us-ascii?Q?RZafjZShig8vJCGBbK0Y3aNUAmx5RIZDhUfKJaaCL480qCM0mA94yAycxVbE?= =?us-ascii?Q?YvThMBfbnSkDUNggA5l+oZPpo1NU8W8Zm9HaW2s5pyIEUqBSw6hYhAGYyxTU?= =?us-ascii?Q?qRD6EO1bolf082UA4cmEIqKwxQ39d+y86KM/8EQq9C20TGkoR5V1d+MZlJc0?= =?us-ascii?Q?E8Mfvke5nyxLr9GToZlDTSaLrjOjzdaCzUF3Aj9Gj78bt2/7MSSTdUUicp7P?= =?us-ascii?Q?ZhFmuJzhb3Td8Z53HAjBWCgHeAIYRA7JcS8k7L81zIV+nCFn5f2YBrnjZZFW?= =?us-ascii?Q?76AKiIf/pW/oARw98eos2zNp2U5AkH2bIi71eBPx1euhc06w3Smtfrk2NoOe?= =?us-ascii?Q?dMN0vQTHqx5pB5sgBrk8F0L8kinrZF539Yf8oaQOd9laQh7HJ3DgQ3Yt7fm4?= =?us-ascii?Q?d2J+uR/dOd/uDTcy9WXBp4nPRzwsn4lwheYhUjLuLhYVJBkbniUphaxkBuKn?= =?us-ascii?Q?tcfy5WuucUMRe7F3CAoypy2WFZcxRURv5mRihS01wRpyfcSK8gPzRvizNqCU?= =?us-ascii?Q?ExGF+5E9ory6mZsMD+TDmzd7yuBrZYiJc4PonyWM1kW5iuZ3o1EDYFVWehoO?= =?us-ascii?Q?g2yVJmCLuiQX6Y5xkr0/hwGFiwD9ZA5zBYmmn4ZmDvnTTcZkR6fkpKS7xay0?= =?us-ascii?Q?LTVXHzEcE8gEJfCJ8qsBkbqAtxPClG4cemQB3slWK7S3ivzpVFhfjpcs+RjR?= =?us-ascii?Q?4sj1MgaPSD2vgw1CpONEX9YAISQBnY03bSwW+KKK2tAkEK+vz15V5JhifaDw?= =?us-ascii?Q?v82THiElQwypt+/NBclT/1nLjxa9029gz73LadoFHJOVjmt0pgZSgaucrV9W?= =?us-ascii?Q?VuxvgXeSMlKVZjhrSd94SuqaEiDqpgVOCCNPZCbJtxwKtmiHJZTszjv7qExI?= =?us-ascii?Q?nKFgghD/b+RY9y5NeABYHH8giJjNQ34Oj4V6YvBfxMSLqnpsqwHZqfXzszNk?= =?us-ascii?Q?+PYs4ArQD2KLTG2zkgqv6KM925YqldBa/MAVnsKMgQktdcOx9KkjVXtjGyMM?= =?us-ascii?Q?9xUaKtB+1ig5aqdjDglvbdm6E34TwfFvzVTKHZV8D9juxuadANZcDCmzVeoK?= =?us-ascii?Q?b7ha/sHTn7vzecQfSLIPQWS6755lZUzahFzqAs5myttsAkP6M9OROb+9S/JG?= =?us-ascii?Q?mpdQkd+p8IIqER50Qj09i9AO4El8rsFixali1jJWoiLGqA+rInCgeIZFFdCm?= =?us-ascii?Q?Y880I2PvfGDqvSh3VgYJUdQjejpZFPkaeMDU?= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS4PR02MB10842.namprd02.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(366016)(38070700021);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?L2zS+YpFDpz+DH9SyYuKbVmPkTj2NpXz56LFUQOAo0GDwVLh5Ovo7pG7r7jI?= =?us-ascii?Q?QGEtnfRP02bElhwodkO/AucSSHrdIRkPQG1liYMkUw15d6VQac5Snm/PUy8W?= =?us-ascii?Q?gvH/jSOoJaupaDRiCexnfO5L9MpwBbCCAi/kila8gjm95TLjzK6rhiEXdeB2?= =?us-ascii?Q?gtT+/EaoTrVTT3ZqB4+kP//7tc5Zgo3lMnXY4eWusdjzcuL2gii4eWefi11P?= =?us-ascii?Q?m6sdpy/s0QcYgW6QyzDMlE4SoZJ847akcWkZ9LlbCbWDk5PaC/jFOjr8YkGo?= =?us-ascii?Q?1yDi9zV5L31sJEAr0253uHpSL/CUAlCDtFO0NqIGqyzdrT0foa46hi3PFVkQ?= =?us-ascii?Q?W8vy0OYw832EgUdX4QhOfatWBetVYj1rJcZcWS3ZDQHM/Xhikd4ZtjooZz6N?= =?us-ascii?Q?kz3sTD1kjBBSOslM+UaSCEP+Kg8yfbYFDe7YzNbjc31GTG9HhGY2oODr7RrV?= =?us-ascii?Q?gl+cFTj480+WiUGtyOozfRm6PZf0HQBhApC4w7A/msmnVHYDcJU9ISac/5jM?= =?us-ascii?Q?0ZMNzI9VErIM++66mK9ehU3fMySOrG2xaGTNz6lwJTPi2CfqIFow8yUJKI4u?= =?us-ascii?Q?uCeLhH5x7X/gTMdN3zQ5MLwRUXQKqRwDUkE0MRCniW2vBg8UCuUH+qlCHNVo?= =?us-ascii?Q?kr+93qJYHchgVUqY0PItei5xVzwO239tPAAb3htTFnHrBF8LabzYm9M+Lau/?= =?us-ascii?Q?9LllkdJmtwkOXoR9U4//+8MS/UT1AFxa9wFHo4xaoRm0piyhkIqzRVMMvohe?= =?us-ascii?Q?Loz87n2DseV4CCmGrvNEVHYO+SWKqQ6rzstkq18XeIXVPCKtFFTKtOoXWIj0?= =?us-ascii?Q?EWaioWUVlfqq31nEplL/Qpcw5kSZNiq/wXVLhESRGQTlzOuegsoJx2jRv9ZO?= =?us-ascii?Q?Tc7keWfJNkZVET7b2qO1enXHhEEVaczIEoNReKhFOPIL/SsWnnlFFJgt4npZ?= =?us-ascii?Q?UTjRWDDhnkiMHh74ihrCEwz4H2vwqOxE2V+ViBBcx0Ofl3IcE3FBasVwKnAz?= =?us-ascii?Q?W0MrAgg/h8m5H7EA55jx/kmL72053PP4mERrCftsrGJuG8aghLmldYKyrI+e?= =?us-ascii?Q?fSS0zAoVrZUS+HW2wUBPgSjmltlskw5/VL7tzfk3CcyzeGgjE58m5+BUjwrU?= =?us-ascii?Q?9HEC3xmX5SvcqGhnBk7EUH/7XBFXDxsby5UM2cVxtXa+v6EOvZQopxACtgGB?= =?us-ascii?Q?LHGwqmCw8DWNpakjam8881f7CSrKyl8vihQEemoXhIoaxDbXgdLuy+Xq0ZMn?= =?us-ascii?Q?EsrA1KlPww+k3tgttGQ+IMJzFYTbZdoyNGjFFP2IZj2IV3PwdjV/yV5Ne0ta?= =?us-ascii?Q?7+3nq9BtZ0rhBasbFG7KF9gG/jXzJZNNunWqzzEc5zp6Tcqb1SRayZixyaDj?= =?us-ascii?Q?9qZ0aKVNerRIIBbnFYq6T5TwwADqRFH5kcrlA95zrxCtesO1YrG9XGJ4CcPS?= =?us-ascii?Q?bLaMF3qwMNCOygyTMhHXmJ/hEyJOLxzTazY0baJMzOWKqnH3VQcFsFFv1qsL?= =?us-ascii?Q?Zs/ukeC8JoIxL+tS0TPvkevsGsGV/xbeyLc3Ppr0ZPgqVJkxxnmz91yBoyk3?= =?us-ascii?Q?e4KSb7d4UOqpwd+TzWmm6ISsxKxdqEn+Bna0dQdc?= Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: ziXOOuumwOIECxZTnPFGwrFosd9PCSKiV/mZj06yXTZehfLeC5K0eK7gVYW43uJ0ljeKCIxW9VcU3rqyBMl0xURLcO4QRsZuDbeq5U5T5iFdlKHglNYyIzguLgZmKG8NValmRqQIBfncUKKlfdMLQ71AR6LQr9mJk69p3eYK1aJUJnX8xAYlczyUlK3dFXXVP6LR/yDMukLSy4OhsNOvzw2i03KZFJ+tWSqygOvOsojDTZpudj65n3jiBMr0g5NAdD7B38cWj3IK3dOvNsaOha+wDdQeqxrJsa7pZ5MYspJHUWGH0WDcuU1+to/1lpLdLlN4Vo15Gf1HAJBrqZk87lobuXc26uL5B1jUKubp+Viph5GE3lvkn82zAvbzF1YNm+RXjlKUbhJYVteklPlhcMIDz4xy88RtNpOTaBP1uzmx0W/KWGLWiN/46OO+nA5bw1XJ/c+bb/cC6226xV+uFBZa8KieKR+ZPQKbQBpnIZY8LNzplPwTAAa/Gv3/Jms3ya+cA98LIVAlsBMbfvVGXFINlCS8L7ICSj03PPr4gwuge11DCmrrZaFxoph1q86igWNr8LpYv+y6jlPKrujONKwo6RouFhNi5ab1QEkkhJwJjwagGfHB3KiAGEsrmiDu X-OriginatorOrg: qti.qualcomm.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DS4PR02MB10842.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: beeccd46-961d-4065-0df5-08de2c08af59 X-MS-Exchange-CrossTenant-originalarrivaltime: 25 Nov 2025 09:54:54.5866 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 98e9ba89-e1a1-4e38-9007-8bdabc25de1d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: uGxrpuq0PFygEnBfpTgQG/j8DGKYsScOq+4dbxyc93ZwqhJbeYAsZkw+sZ/hlJtfQapa1Q1vWS6mgSQ4qKlwUkIDFOHdWhJ24xT/yQf2Zis= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR02MB6866 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMTI1MDA4MCBTYWx0ZWRfXxCA66Jxf30ki aqafDNLtn9dNdizt51P5EGkrzUwTg1tP6PYOalxypqU8iBI8lmNBAb8TW0FokGMxrJy1f9U9s8l zIPIttKPYiLKGTq6zX/XDhPXckQ015DKO8dUWFcp1JyRngf3UAHpRhZ99KGWPOCNR9jyS1t1lZJ 1KK6CyP+alczbD6zRLqsH/mijAqoNC1VNXIy9OBHwUqAdkRZE808eyi5/VnZ3XYc2eHarSVAkQF Wy0KHTec2AkQinspsFAr39sAyQ2NgUHEfYGjtfMaId59ch5oD/qOWjI9OoLwRVqYotO0CIavvgL pQJw1D8dPzvgxW6ZyGfNFWjFrr84Eh8E6CIaVf9aH3Pw2+lJrC2Jz8ysJmsbpY7T9CKynNG84fI FBCQDDgnoelVpDZk8EBUUKLGDIcsEQ== X-Authority-Analysis: v=2.4 cv=H53WAuYi c=1 sm=1 tr=0 ts=69257cf3 cx=c_pps a=+XBddCtgzym/aQrcCmMSAg==:117 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=kj9zAlcOel0A:10 a=6UeiqGixMTsA:10 a=VkNPw1HP01LnGYTKEx00:22 a=EUspDBNiAAAA:8 a=COk6AnOGAAAA:8 a=LAZdG9Hi1u-J5GOB1eQA:9 a=CjuIK1q_8ugA:10 a=TjNXssC_j7lpFel5tvFf:22 X-Proofpoint-ORIG-GUID: TLKyo-tGqib-hPdrTu9v_pJ1ik29drrb X-Proofpoint-GUID: TLKyo-tGqib-hPdrTu9v_pJ1ik29drrb 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-24_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 spamscore=0 phishscore=0 clxscore=1015 lowpriorityscore=0 adultscore=0 priorityscore=1501 suspectscore=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-2511250080 Message-ID-Hash: 6775RRONRYED7GDRSQLP32UVHR4STSU4 X-Message-ID-Hash: 6775RRONRYED7GDRSQLP32UVHR4STSU4 X-MailFrom: SRS0=q2vj=6B=qti.qualcomm.com=wenjyin@ffmpeg.org X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; header-match-ffmpeg-devel.ffmpeg.org-0; header-match-ffmpeg-devel.ffmpeg.org-1; header-match-ffmpeg-devel.ffmpeg.org-2; header-match-ffmpeg-devel.ffmpeg.org-3; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.10 Precedence: list Reply-To: FFmpeg development discussions and patches Subject: [FFmpeg-devel] [PATCH v2] libavcodec/v4l2_buffers: fixing buffer alignment issue List-Id: FFmpeg development discussions and patches Archived-At: Archived-At: List-Archive: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: From: Wenjie Yin via ffmpeg-devel Cc: "wangao.wang@oss.qualcomm.com" , "Qiwei Liu (QUIC)" , "renjiang.han@oss.qualcomm.com" , Wenjie Yin Content-Transfer-Encoding: 7bit Archived-At: List-Archive: List-Post: V4l2 drivers may return buffer width & height with aligned values, which may be different from frame width & height. Bytesperlines and strides should be check for aligned buffers when copying pixel data. When width aligned, copy with planar; otherwise, copy line-by-line to dest buffer. Co-authored-by: Renjiang Han Signed-off-by: Wenjie.Yin Signed-off-by: Wenjie Yin --- libavcodec/v4l2_buffers.c | 68 +++++++++++++++++++++++++++++++++++---- 1 file changed, 62 insertions(+), 6 deletions(-) diff --git a/libavcodec/v4l2_buffers.c b/libavcodec/v4l2_buffers.c index d869ce9e77..5f5a8aefd5 100644 --- a/libavcodec/v4l2_buffers.c +++ b/libavcodec/v4l2_buffers.c @@ -356,6 +356,33 @@ static int v4l2_buffer_buf_to_swframe(AVFrame *frame, V4L2Buffer *avbuf) return 0; } +static int v4l2_plane_to_plane_align(V4L2Buffer *out, int plane, const uint8_t* data, int size, int offset, int width, int height, int stride) +{ + unsigned int bytesused, length; + + if (plane >= out->num_planes) + return AVERROR(EINVAL); + + length = out->plane_info[plane].length; + bytesused = FFMIN(size+offset, length); + + for (int i = 0; i < height; i++) { + memcpy((uint8_t*)out->plane_info[plane].mm_addr + offset, data, width); + offset += stride; + data += width; + } + + if (V4L2_TYPE_IS_MULTIPLANAR(out->buf.type)) { + out->planes[plane].bytesused = bytesused; + out->planes[plane].length = length; + } else { + out->buf.bytesused = bytesused; + out->buf.length = length; + } + + return 0; +} + static int v4l2_buffer_swframe_to_buf(const AVFrame *frame, V4L2Buffer *out) { int i, ret; @@ -364,7 +391,11 @@ static int v4l2_buffer_swframe_to_buf(const AVFrame *frame, V4L2Buffer *out) fmt.fmt.pix_mp.pixelformat : fmt.fmt.pix.pixelformat; int height = V4L2_TYPE_IS_MULTIPLANAR(fmt.type) ? fmt.fmt.pix_mp.height : fmt.fmt.pix.height; - int is_planar_format = 0; + int bytesperline = V4L2_TYPE_IS_MULTIPLANAR(fmt.type) ? + (fmt.fmt.pix_mp.num_planes ? fmt.fmt.pix_mp.plane_fmt[0].bytesperline: 0) : fmt.fmt.pix.bytesperline; + int sizeimage = V4L2_TYPE_IS_MULTIPLANAR(fmt.type) ? + (fmt.fmt.pix_mp.num_planes ? fmt.fmt.pix_mp.plane_fmt[0].sizeimage: 0) : fmt.fmt.pix.sizeimage; + int is_planar_format = 0, scanline_y = 0, scanline_uv = 0; switch (pixel_format) { case V4L2_PIX_FMT_YUV420M: @@ -398,16 +429,41 @@ static int v4l2_buffer_swframe_to_buf(const AVFrame *frame, V4L2Buffer *out) for (i = 0; i < desc->nb_components; i++) planes_nb = FFMAX(planes_nb, desc->comp[i].plane + 1); + switch (pixel_format) + { + /* Currently only NV12 & NV21 are addressed for buffer alignment issue */ + case V4L2_PIX_FMT_NV12: + case V4L2_PIX_FMT_NV21: + scanline_y = sizeimage / bytesperline * 2 / 3; + scanline_uv = scanline_y / 2; + break; + default: + /* By default, no buffer alignment issues are expected */ + scanline_y = height; + scanline_uv = AV_CEIL_RSHIFT(height, desc->log2_chroma_h); + bytesperline = frame->linesize[0]; + break; + } + for (i = 0; i < planes_nb; i++) { int size, h = height; if (i == 1 || i == 2) { h = AV_CEIL_RSHIFT(h, desc->log2_chroma_h); } - size = frame->linesize[i] * h; - ret = v4l2_bufref_to_buf(out, 0, frame->data[i], size, offset); - if (ret) - return ret; - offset += size; + + if (bytesperline == frame->linesize[0]) { + size = frame->linesize[i] * h; + ret = v4l2_bufref_to_buf(out, 0, frame->data[i], size, offset); + if (ret) + return ret; + offset += frame->linesize[i] * (i ? scanline_uv : scanline_y); + } else { + size = bytesperline * (i ? scanline_uv : scanline_y); + ret = v4l2_plane_to_plane_align(out, 0, frame->data[i], size, offset, frame->linesize[i], h, bytesperline); + if (ret) + return ret; + offset += size; + } } return 0; } -- 2.34.1 _______________________________________________ ffmpeg-devel mailing list -- ffmpeg-devel@ffmpeg.org To unsubscribe send an email to ffmpeg-devel-leave@ffmpeg.org