From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: <ffmpeg-devel-bounces@ffmpeg.org> Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTPS id 6DDD94C3CD for <ffmpegdev@gitmailbox.com>; Tue, 8 Apr 2025 11:22:54 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 5E454687DE5; Tue, 8 Apr 2025 14:22:50 +0300 (EEST) Received: from NAM11-CO1-obe.outbound.protection.outlook.com (mail-co1nam11on2109.outbound.protection.outlook.com [40.107.220.109]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 2AAC0687C73 for <ffmpeg-devel@ffmpeg.org>; Tue, 8 Apr 2025 14:22:43 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=c234I/dnz9PeBB6/RORKEZ/mVsLvuZIFD0RGr05RBc0T2nfJgNqAR6IejY3iO82j9eIFICyXjZBSFsohroWt4QL7C4iV7V29+qEsZrZG96sNsjnaMRqYPhfY2jL7kfrUre+McdPqueM+Fw8UH+FvjK25JzITuBLoyAijH0Y2f4JIwUEHaQ0DJINbVqSPDARY4wS7mIUuF/LL2EYBwEt4QRTBnGowaVzof5hzuboDwsjqgrLEzFjB1GdZlhWdd2172MwTnRNWIGvL9eUW4YGvpQ65QHZueqf/E9fQZcqaBGr8P5ZYyRSwu4YZI3KUwcu17mtNUTRwGZTkPqsmUc/mVA== 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=CfzUZJn8MgRmmY1rFoKOJ2ApS79Jsu+19skOdIesKjM=; b=jJP9eNX1SMwO461RpH3Ni8PnfleUdwH6uwIMqT5Ptq6yJQ5N/pRSw2YfKINR2vvJ1/JA2hTxdQOd6q6c6/9Goq7kqJJjxBdvxbYe32kEkzS/hhPTVH/fJQQ5wINIkxCS6GQ02GovZT4N7zSzOGeao5qR8DRsAtivMOyECkSfCe5ySWw0wQyTTf4HTzKz/G2ZZxelu/fzEUqdelv6VhpfflWHGKSUBBDZIxKTFYSMYE/90klpKGpdnnzXzbK6J4/IbB1DpqJMlU5R1Z+dgojQ0J7y0qAezIoGBzY8m44hEmLnfUTh0fboDNm7jTSMXuejDnk9ZQY+XDfCySuiz1ymfQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=visionular.com; dmarc=pass action=none header.from=visionular.com; dkim=pass header.d=visionular.com; arc=none Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=visionular.com; Received: from PH7PR14MB7417.namprd14.prod.outlook.com (2603:10b6:510:1b0::7) by BL0PR14MB3618.namprd14.prod.outlook.com (2603:10b6:208:1c8::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8606.35; Tue, 8 Apr 2025 11:22:38 +0000 Received: from PH7PR14MB7417.namprd14.prod.outlook.com ([fe80::60a3:6630:ba46:6204]) by PH7PR14MB7417.namprd14.prod.outlook.com ([fe80::60a3:6630:ba46:6204%4]) with mapi id 15.20.8606.035; Tue, 8 Apr 2025 11:22:38 +0000 Message-ID: <12e23f21-fbba-4b4f-8554-b043881dc332@visionular.com> Date: Tue, 8 Apr 2025 19:22:32 +0800 User-Agent: Mozilla Thunderbird From: Bin Peng <pengbin@visionular.com> To: ffmpeg-devel@ffmpeg.org Content-Language: en-US X-ClientProxiedBy: SG3P274CA0003.SGPP274.PROD.OUTLOOK.COM (2603:1096:4:be::15) To PH7PR14MB7417.namprd14.prod.outlook.com (2603:10b6:510:1b0::7) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PH7PR14MB7417:EE_|BL0PR14MB3618:EE_ X-MS-Office365-Filtering-Correlation-Id: 3a44e23b-e997-44e5-c1cd-08dd768faad1 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014; X-Microsoft-Antispam-Message-Info: =?utf-8?B?UlR3cU5HTkNldUFLVzErWjhiWXNhVnZhOEZadUNMeFU3UUpNWnJraDNuQ0h4?= =?utf-8?B?aUJSS3dtNEtsN3RuZklDb0w0WDdRdHhQbE1sek4yNlhIeEpIRnNOUGR2NEE3?= =?utf-8?B?VmhOL0tNcXp4N1VUTmEvTlBhT0U0LzZ1aE4zNXY3aCtuS0VJbUZMbkY4Vm04?= =?utf-8?B?aW1rODZwZUtEMmZpTjNOazZhZTVFNm5wZDNMOUtIQlJDNHJQTHVHT3RmdWNM?= =?utf-8?B?M1RHenJGMDA3dTdGc2wrMzl2M2VKSWdSZXFLOEt2elFxajRtMVJUUmdRb0Vv?= =?utf-8?B?YkJpYzFpenBHUGhlU2Z2TXNVTTgrRSs3KzJtQ1hrRUlFOGVJbU9ielZESzF6?= =?utf-8?B?WUN6RTJ3WklhYnZtaFp0T29OaU1UVTJZRWJQRW8xQTlpa3VaV25OMkJTS0Ux?= =?utf-8?B?dlVzMWh6YWEycTl2K0dPOGpHcWFLQzhoZGlUUExrTXVuOWZ0eDNNMlE0R09Y?= =?utf-8?B?aDZrNUVIcnRJb3p2TDV5QUEwRnlzWXd2NE5xOUdjQ1RvUDJTRnN3WFc1OWlW?= =?utf-8?B?cFhiMlVOUVZQL0ZLZG9BcUlNUjZrZjRXWGtlLzlBVW1JVVZ3VWtJTnFORERz?= =?utf-8?B?dkF2VmRjZitsQys0TzViWGxPQTAwQnorZlQyVFp3Q0lRbnVVUVlvcXN0Mi9t?= =?utf-8?B?ZUhTbGVqZjNoSjJPa2pTdGFKL3lWUTRXaFBjMUlud2hVWVY3ZEtQRzkzMm9h?= =?utf-8?B?MFNiYkY0eWdmdEJZZGNKNWlsQjd2OXRlclEwWDlNWXArdm1zTzVGNy9NbUVN?= =?utf-8?B?Z0ZZWnU3TXVwM3pIN3JsNVh6QTRmTjNCaFY0R05QZW8yVHZTS1lTVS9DMHl5?= =?utf-8?B?MDdVOFRaSmVpYmhTZ1czZ2VhbkoycmU0aXpXQ2RkK2xZOGFBTDh1RUxOQWRC?= =?utf-8?B?dVBoVVhMZldQb2xZVGFuUUtZWFRPQ2lGWW9PQWU4eS83Rmh3UjBZTHdzWm94?= =?utf-8?B?dkpFZ0p1YXZEaXRKb2tTa0pwRzFkVDFsS3VqcDY0TGhnYkpIT3k5RlZDZm8w?= =?utf-8?B?UC9pN3NEeDVLRXhlVWNwVzBVZHJSeXJjWngwOGdzQ3dFRVZIZit6SDdjdVJ1?= =?utf-8?B?dUFGNGJKK2QrMTh5TjBwd1dPUVpxVXRuVS83cEhtQVVjS1RiQThNSE9VQWF3?= =?utf-8?B?dWFxbzc1cnVZbEV1WVJQU2RCT0NMSmhFSG93eDFabGdMOWZhY1VDV05MMFUw?= =?utf-8?B?ZStmVlAycm1Xem0raUs1Y2ExdnV6T1ZTYVlTL215ZC9PMU02M1NsTUptRjUz?= =?utf-8?B?YXhOMmhPZTgxWWpGUlZTWktHTHZNOE1KMUpoK0VRR3d1SHMvcFRzV2tVK0cv?= =?utf-8?B?NnU5L0o0Q3FEdmgrQlQvM3NacGVRckVPN2ZIZXVlTnQwcDFKeEQxWGovMm56?= =?utf-8?B?S0huRHpsWktDb0cyMmp0VWgzZjA5bVNaRy82OU1seVB6UENYVlN2cSs3eXBT?= =?utf-8?B?Z0pyYTAwUGdxZGltL1RrSHN6Zzlqc29TUGY2aFJtV00wdllLVW5PRXV1WWZh?= =?utf-8?B?T2R3WU8yNnIxUTh2TWJRRXFqK1JmT0c5SVZTYk1ZdC9BWjBsUVBYSlRuVnQy?= =?utf-8?B?YytCR0xnQTAwNlg3V2JzLzJlempxU0Z0dVN0Y2cySFR1bFNWQnFVK3RSdWhx?= =?utf-8?B?Y0plKzZNdEFYQzQ3OTBPZndHek5YdmgzNThhRmZ5VUZienR2L2VITmtWN1FO?= =?utf-8?B?ZTB4YlZ1VHBBL3M1bGNBc1NrejdCSWoxeVlNOXdXYi9yaitINU1LS2lrM29w?= =?utf-8?B?ZlFrNitieEQ5elF4UWVJUjFXaEZ3T0VjOEtLT1ppSTFpSkNCSVhCUHRsWVNY?= =?utf-8?Q?HhXXWISurelHHo9vKlXiAxbgCh3XhyqZvPsNI=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PH7PR14MB7417.namprd14.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(366016)(1800799024)(376014); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?eUhiNkFTVlhrNi91OGg3TjVtZHN1N0tieVE2RGwxRUhqSmhJenNicFFRY3V4?= =?utf-8?B?K2ppcFI4MXN2SHBnTWV3SkZTT29WaGM2emFld1VDTmhidWZwYWF2d1ZYcWpy?= =?utf-8?B?bUI4VFJaTENDVzdTSkJXaVU1dUVsdUM1WXJ1bEt5WW13dFBtODhRWHl5bkps?= =?utf-8?B?TzZNOS9ya3VVOWNkUTlWb2ZkNFRtUGNFempjc3RHOVArZStwRlo3S29HRTRj?= =?utf-8?B?VWIzaGFhVXhTL29nTXN4NFlrYUNLR0ZhQlhIcVdycTB5dzdsYTlDaVgwT3Yy?= =?utf-8?B?TW54dUZkUmNYajRsQlV6SHJyejEza2QxYzcwOWY3blJKU3VibFZXeCtBTVVs?= =?utf-8?B?amJvekdjRDNXcklsQkhNOHhOd1c0YkVub3B6Z1dNYzZIM1V0cWIxLzljcDJ4?= =?utf-8?B?VnR3NldNOGFURFZ0b0RMTXllaDhwdXZ2QnU1UW1iUmt3YzBDWnFTTmg4K2xy?= =?utf-8?B?TFNvaU1CNG9VOE94TDhqWXMrK0JySzdEb1M3YWFQVGV4YkU0UUVSQWx4S0xo?= =?utf-8?B?c1pYSWQ2OWVYWk13bGFIZ0Fyb1JONXNENE03TGNneXBqWVpBdFo2dDhYUndK?= =?utf-8?B?UWh3RjZDTTd4amZaT0dPMG9EMXkvaFlNeDN6bks2Y2FKRWlHNE1zWFcwWlZq?= =?utf-8?B?aDFIcFBWUlNTWkYySFFTUytYMURFNUFhMHRQdXlPa0dmbEVvT2FYdHBvbTk5?= =?utf-8?B?d0d3cVBZc2dmT2Z3S1k1TXNIUHVRQ0o2ZCtIdUNBeXhPd2tlYkpHOVZlZ1lZ?= =?utf-8?B?TFpPYzNFdmpCT00yRlNsLzhOS1RnWFRBUUN0Wkl1NThVTnhRdG5kcTNVVnJQ?= =?utf-8?B?RkVhZmdhYUlYaHVFS3UxV0lZTTgvTXI3WWh5bGdNU1ozeTNYV2JEdVZlalM2?= =?utf-8?B?UUx2ZEVZenJaajdWd1FvRmp6RHdvbUFHUklyTkpzYWVmRVM1dHlvTW5WaGUw?= =?utf-8?B?M2g1TW5qZkZQUkFEOXB2bkNHWDJwNzNPamZQckExLys0ZmZRYUdxUTg0WHc4?= =?utf-8?B?Q0RWR2xEcTBxMERtcXJydGQzMU5XM2o3cHhGWFZsbTBaazVyNFh6SXo3RWJq?= =?utf-8?B?WWt6QWhhYXV5NGJFd2RUNngwd3RVbzljOUEvRXZmWTM5cnptQjVQNXB6cW1Z?= =?utf-8?B?eGR0amZWb24rRVRPUGpRWlVYYVphdVFxV0pzMEptdW9lcnYyOWE1TnpHZ2Z5?= =?utf-8?B?WE9ka0cvcHhSK2k4a2VkZUtlYVBiVkNwWHpaYk40ZEUzZ21TTVZNUXVUR1ZJ?= =?utf-8?B?TGVaZzhaemdvWkh3YUNBOTJ6UDlEcUFpRUNiY3hHVVhxenFwMTg1WkFkdEZS?= =?utf-8?B?UHV2eWI3VkNkYndDWHpBZDJPZkxNc2VRQ0F0eWIyR1dYdko5THZkRER1SWwz?= =?utf-8?B?aWtFM29heUVqbEpUOEZxWFFRZWd1bTJmdFZHU2NnUWVPK3lCY2ptV2NzMHR5?= =?utf-8?B?VDliWmxIdTQvc3dpZ0NpVkt2RVJMYlg1dlJDQThWaEo1UDJWT3JHeVZMaGt3?= =?utf-8?B?VnhSUkN3UTJvb0FacncxQzRVdktLbXZXUFpML2pRbndaSDJOZ3pBcDIyQkNK?= =?utf-8?B?eFN1WEdtczlDeUVRMnkvNTRTSkhMR0dqRTNMV0hZRk5PdWlraXhhSytjM05U?= =?utf-8?B?dkFtdGR3ZnZsek80c1dYSm1ZVzBOdjRVT3h3QzBLMVdrL2RkWG0rUXM3aEVr?= =?utf-8?B?RXdWcG9XZ2RVaGNzb1lEOVhVcVNMSllqaXY5TVphTXN6TVdQc2JTZWtPR1Q3?= =?utf-8?B?VEh1ZTFRNHJ6elJPWGtkQ1VSM3NnUldNMXBFV1k3aisveGhKYm5iSTBjMWYz?= =?utf-8?B?aUx4NVU3NUE1TVp1STBCY0pMNFh6T0k3YThSdEMzS3JBcjJ6S3g3cTVTM0Ra?= =?utf-8?B?VzJpTHIrdXZqZi9zV0doNkZZbERYKzJha2QzczlyOG80Q2JpWXN2TWdySXVT?= =?utf-8?B?L1ZpUXEyWnBjaUVUTWd2a0ZzN05GT1k3WjNCZ2FaOWlJdWZpYVkxU2JCajVR?= =?utf-8?B?TTV3d29WNDA0MTdJcUtHeW5XbWI2NVJTb1dXaXpsR2NhTFNEaGpwS2ppWGRS?= =?utf-8?B?MFFqY0Z5b3AvSVB5SlZ0THBZOWMwcC9sd09UM1BBNFZCZzJiWTBxSjBHMnVY?= =?utf-8?B?MFVNVnF2ZzFQbno5Wm9IMGF4OEJhaUFrWjdwbWFDN3J3OEI3NGZmQm9oc2NZ?= =?utf-8?B?dXc9PQ==?= X-OriginatorOrg: visionular.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3a44e23b-e997-44e5-c1cd-08dd768faad1 X-MS-Exchange-CrossTenant-AuthSource: PH7PR14MB7417.namprd14.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Apr 2025 11:22:37.9929 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: cf64f724-731c-473e-ad0b-0c4cf40a5eaf X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: wAr2GguR9fOCAtqNnn70DKoTlwvYJRhDk1cYFcPc4+jE8Ho2YBeQlDbUoFhy3VXngGmn84zIt1c8Cb0KbuuUaQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL0PR14MB3618 Subject: [FFmpeg-devel] [PATCH] avcodec/h264_mb: Fix buffer stride for arm X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches <ffmpeg-devel.ffmpeg.org> List-Unsubscribe: <https://ffmpeg.org/mailman/options/ffmpeg-devel>, <mailto:ffmpeg-devel-request@ffmpeg.org?subject=unsubscribe> List-Archive: <https://ffmpeg.org/pipermail/ffmpeg-devel> List-Post: <mailto:ffmpeg-devel@ffmpeg.org> List-Help: <mailto:ffmpeg-devel-request@ffmpeg.org?subject=help> List-Subscribe: <https://ffmpeg.org/mailman/listinfo/ffmpeg-devel>, <mailto:ffmpeg-devel-request@ffmpeg.org?subject=subscribe> Reply-To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org> Cc: pengbin@visionular.com Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" <ffmpeg-devel-bounces@ffmpeg.org> Archived-At: <https://master.gitmailbox.com/ffmpegdev/12e23f21-fbba-4b4f-8554-b043881dc332@visionular.com/> List-Archive: <https://master.gitmailbox.com/ffmpegdev/> List-Post: <mailto:ffmpegdev@gitmailbox.com> When decoding a bitstream with weighted-bipred enabled, the results on ARM and x86 platforms may differ. The reason for the inconsistency is that the value of STRIDE_ALIGN differs between platforms. And STRIDE_ALIGN is set to the buffer stride of temporary buffers for U and V components in mc_part_weighted. If the buffer stride is 32 or 64 (as on x86 platforms), the U and V pixels can be interleaved row by row without overlapping, resulting in correct output. However, on ARM platforms where the stride is 16, the V component will overwrite part of the U component's pixels, leading to incorrect predicted pixels. The bug can be reproduced by the following bitstream. https://trac.ffmpeg.org/attachment/ticket/11357/inter_weighted_bipred2.264 And the ref/fate file is also added in this patch. Fixes: ticket 11357 Signed-off-by: Bin Peng <pengbin@visionular.com> --- libavcodec/utils.c | 4 ++- .../h264-conformance-weighted_bipred2.264 | 31 +++++++++++++++++++ 2 files changed, 34 insertions(+), 1 deletion(-) create mode 100644 tests/ref/fate/h264-conformance-weighted_bipred2.264 diff --git a/libavcodec/utils.c b/libavcodec/utils.c index 90867ed6b1..5d15f5c8fa 100644 --- a/libavcodec/utils.c +++ b/libavcodec/utils.c @@ -144,6 +144,7 @@ void avcodec_align_dimensions2(AVCodecContext *s, int *width, int *height, int i; int w_align = 1; int h_align = 1; + int stride_align = STRIDE_ALIGN; AVPixFmtDescriptor const *desc = av_pix_fmt_desc_get(s->pix_fmt); if (desc) { @@ -339,13 +340,14 @@ void avcodec_align_dimensions2(AVCodecContext *s, int *width, int *height, // increasing witdth ensure that the temporary area is large enough, // the next rounded up width is 32 *width = FFMAX(*width, 32); + stride_align = FFMAX(stride_align, 32); } if (s->codec_id == AV_CODEC_ID_SVQ3) { *width = FFMAX(*width, 32); } for (i = 0; i < 4; i++) - linesize_align[i] = STRIDE_ALIGN; + linesize_align[i] = stride_align; } void avcodec_align_dimensions(AVCodecContext *s, int *width, int *height) diff --git a/tests/ref/fate/h264-conformance-weighted_bipred2.264 b/tests/ref/fate/h264-conformance-weighted_bipred2.264 new file mode 100644 index 0000000000..1d9bf90d12 --- /dev/null +++ b/tests/ref/fate/h264-conformance-weighted_bipred2.264 @@ -0,0 +1,31 @@ +#software: Lavf61.1.100 +#tb 0: 1/24 +#media_type 0: video +#codec_id 0: rawvideo +#dimensions 0: 32x168 +#sar 0: 0/1 +0, 0, 0, 2, 8064, 0x836abac1 +0, 2, 2, 2, 8064, 0x836abac1 +0, 4, 4, 2, 8064, 0x836abac1 +0, 6, 6, 2, 8064, 0x836abac1 +0, 8, 8, 2, 8064, 0x836abac1 +0, 10, 10, 2, 8064, 0x5fc56e41 +0, 12, 12, 2, 8064, 0x5fc56e41 +0, 14, 14, 2, 8064, 0x5fc56e41 +0, 16, 16, 2, 8064, 0x5fc56e41 +0, 18, 18, 2, 8064, 0x5fc56e41 +0, 20, 20, 2, 8064, 0xbfbb8282 +0, 22, 22, 2, 8064, 0xbfbb8282 +0, 24, 24, 2, 8064, 0x4cbc7d64 +0, 26, 26, 2, 8064, 0x5eaf7bd3 +0, 28, 28, 2, 8064, 0x43956bb8 +0, 30, 30, 2, 8064, 0x047a0f2d +0, 32, 32, 2, 8064, 0x0d271111 +0, 34, 34, 2, 8064, 0xab421086 +0, 36, 36, 2, 8064, 0x00780fcb +0, 38, 38, 2, 8064, 0xfd2513c0 +0, 40, 40, 2, 8064, 0xa10b5ae7 +0, 42, 42, 2, 8064, 0xa10b5ae7 +0, 44, 44, 2, 8064, 0xa10b5ae7 +0, 46, 46, 2, 8064, 0xa10b5ae7 +0, 48, 48, 2, 8064, 0xa10b5ae7 -- 2.25.1 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".