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 7AD674D940 for <ffmpegdev@gitmailbox.com>; Mon, 21 Apr 2025 12:38:16 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 69543687D59; Mon, 21 Apr 2025 15:38:12 +0300 (EEST) Received: from NAM02-BN1-obe.outbound.protection.outlook.com (mail-bn1nam02on2102.outbound.protection.outlook.com [40.107.212.102]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id A763D687D16 for <ffmpeg-devel@ffmpeg.org>; Mon, 21 Apr 2025 15:38:05 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=pe2+j+DRsUp+ImHnCD9cYP6mfqyeiP+tFsR0ufSX0uG1j/aeAgEX5X3CMSMF9WltinMbYe1dhxr3v10dx9JK75kUTBsyc6EvyYbfXOJDkkU4RK9VJOuyDB86gb5auwFU24ZeZR34tTFx98D/mWOfx8T/241CGvsCLLYZ8Ow2WetM6GSH10d+hMW0Qw79OMDRH4O3NtHcq+V7a7HaWxNh64eJqrFoky/L7qJm438jO8pwhrx/8aFi1ZoHon/O3wTPmNFiBgXBueNQBq8ERD4Z+GzQ2n0Qx1wbTYU4mpApJ8KjvBwIosdHOrMTSQjJHHpX6XvldkUhSUOvfnWEFHQHPw== 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=XUca/9nvDaTgab4tJTHRwnXDuaPgpi46nfWvIm56rOc=; b=V4cluTD55uHGa+GVhTo43++MHYIVkXxJIG4ASqA1uK25ZqGQjbuyRlOjTVFRwBC3W7nE737G7jZug6Fhss8a4I9EV4PS5ZMHuKmTDK97Yepnd9alf+v1Ki/AHJmjRjBd0gBIb4EToOwYqEynJS4qSkXEYjqHoYEU+u3kcX2efnlYaWGC8a20KYaK+6oVi69b3TazV7ru+ZTUSAotoQLBtFbLRYJXr+MmjVUfkgmL78fVrSbV/ltbNocMwIkdVbvpImOpfh7K9h5/2udjfBfDyCR4jmfhwAMK8mjbJEPtHRUzY3XETQX/n4TvNvJ/3n7L3a2bRDBsxcrIrnrzOlyZqg== 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 DM6PR14MB3709.namprd14.prod.outlook.com (2603:10b6:5:20a::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8655.35; Mon, 21 Apr 2025 12:37:59 +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.8655.033; Mon, 21 Apr 2025 12:37:59 +0000 Message-ID: <9220e0fb-3fdb-46a5-8319-76e1aa613a29@visionular.com> Date: Mon, 21 Apr 2025 20:37:55 +0800 User-Agent: Mozilla Thunderbird To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org> Content-Language: en-US From: Bin Peng <pengbin@visionular.com> X-ClientProxiedBy: SI2PR01CA0020.apcprd01.prod.exchangelabs.com (2603:1096:4:192::6) To PH7PR14MB7417.namprd14.prod.outlook.com (2603:10b6:510:1b0::7) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PH7PR14MB7417:EE_|DM6PR14MB3709:EE_ X-MS-Office365-Filtering-Correlation-Id: 2e0abd1c-f9f4-460c-59a7-08dd80d1591e X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|366016; X-Microsoft-Antispam-Message-Info: =?utf-8?B?dEM2NHh3SVNxMFBXYSthRHJQbjk1YkdlNzVDeG1aZzN6a0V6Q3Iya3RPR0Jz?= =?utf-8?B?U3cwb0ltdW8vMDh4Z1NDanNxN0N3L0ZCcWlqWUZ2b2cydHlkREpIVFptNFAy?= =?utf-8?B?bkw1SE10RUtUbVdRV3Uxa1dSclJHY1dmbTgyblV6amYzaXlFWlVtaGg1ckd1?= =?utf-8?B?b3R1SnkwL3dncXhhQnU3T3RlUWxRbTF6ZUtFbVJWc0NVemlET3RPMkhpOW44?= =?utf-8?B?WEVTRUtiQmNwWDhmdHVzV1pNR0hITXhKTFJMc2hkQnQyS01iVkRSNnFlb0tx?= =?utf-8?B?VDZsOTR5Ny9CWkhMSWZGQXVkMVdMWnFNK3RlMFVleDQ0WmdmQnB1U2FVdnJ3?= =?utf-8?B?Nk5IWmRaY2ZJbHZHYVdjSlMzTU5KZCt5bXF2bGFJQkRzek13SXRSdVRGWVdV?= =?utf-8?B?Y1ZYUXEyWDB2alZLYndOTkVoVW1QcmFDLzFON251Q2R5TllSVWdzS2thRThM?= =?utf-8?B?QUhXNzBwNU5xd1NJOGUwU09iQkkrZlNiS1dzMWhGYUZDZ2IweTduS0NFNkxN?= =?utf-8?B?TzhPWTdkbWFGSmhpQi9HT1RwbHo5SWhYcE04UUczcW13eTRXVGJQVm1aWWlJ?= =?utf-8?B?Q3diRWZzcXdNMmF4NjcrN3BhYmhoMDFKTnVRaFQ1bjJsZzRiQThGN3NPbStz?= =?utf-8?B?bjVIVFZIOGY3cE1DY0Jic05WbDd2N0J1SWhUVyt0U1NhR2lPQThBYTBNU2t4?= =?utf-8?B?QkhuNkI0NFBEMXVyWmc2THpHVUJuQ1RUdi9PRm9wNGwvaGNzZFZKU2R6ekJT?= =?utf-8?B?RERIVW1xUlJITk5VQmw2cFhjTGo1S3pleXhrWHJXMVVEdzVGcnFXa1lkdkRT?= =?utf-8?B?cHJtbk5pbGJIeG5IWDhQS3NESDkrRnJsZGZ2R3kzei9SUys4Qk9jc1pOUWJz?= =?utf-8?B?V3pXamgrMmRkY01aTnRUdTFEemUzY0todXc3eFk0R21ZSFlBa0xFT2NXTlpZ?= =?utf-8?B?OXBmTldDZXJtbTRFR1crRDdBUEJ1OEJmWVdXdXlZNVo4TUE2d1NJN3l6cGVF?= =?utf-8?B?VkVVa2dFck9XYlUvOS9QcVNPUVNBQUhUeXBnMDJKTmt5Z0U3YlJUNmo5dlhH?= =?utf-8?B?ZFpVUEtxU2FhTUNBWDlFT3ltMDRYRkdmaHRjSG1KMmtRMzlld0dZUE42bFB3?= =?utf-8?B?cDQzT0tpbDBTcHBOcU9TT3BLek8zWmR6K0hQbTJKdkNySlAzYnM4OUI2OFd1?= =?utf-8?B?a1lveUNBK3dLZmdNc1Q4d0krZ1RlLzFBZmVTdUtXVXp3YXRkQTlIK1haalAw?= =?utf-8?B?LzExbXhkZVNySWFTTEVIeExpaW9UWTFQTlNzTnloNmMwU0RTQ1VuSXVsUzhE?= =?utf-8?B?bnJYNU1TV0gyekhPbmNPNjhpcG9FS0JqL1hrTHcwNnZGTVhwaEMzaWY5OHo0?= =?utf-8?B?Y0J3QjVJUDBobEhoTlh0Q1R4cmdPSDUyeHFaRDNza2N2VjhIdm1zMHV2S3Az?= =?utf-8?B?eCtTMFYwaTUxVGRrUnJYckxSdTdmNm1JcWd1MUtkbU9BWXZlbk0zTkN3TitC?= =?utf-8?B?Sm80R1JlbHVmT2lnSXkrcEJHTnp6UzlFS0lBelV1STZEeFhOZWdRUzYwb25T?= =?utf-8?B?QW5yVEZWYm5nd0FYdHhRQmtnMnZ5U3gvaXhpNXc4UFJ3M3lQejArYVNSeFZG?= =?utf-8?B?MGhzMTBSOEgwOWV4Mk9zdnhPUDdBSjdQSG50S3lpK3dzaHFtMHA3UjlEcjBV?= =?utf-8?B?cW15TFI0bDRWa3ZoK3RiUml5Y2k1NTB4ck8yTTBDNEhEd2RtWktoMjJnczlM?= =?utf-8?B?ak5sbkdMdkVNUkUyUmhNYXdMc1BBVlhWUUZ6N25qUkk2em1yd1J3QkZxeEx1?= =?utf-8?Q?62+Ea01WPHfvt7/93DZW5qIAWpzu9qUIqyHq8=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)(376014)(1800799024)(366016); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?ZUxFS0IyYWlGRXJKVlNOcWlYMHBiL0h4VEYzdlVQOVZNcDZuRmdPUGRCVFg5?= =?utf-8?B?SXNYNnZpS2xHTEc1NEFaVzBCUVQ1TFFrV3A2ME5Wa3ZMYkZnaW5zUkpOWmlF?= =?utf-8?B?OFZNTnFleWFaWUdrMkF4N3JCd1ZxTzlqKytQcCt1RVg1d29sdVZjT3FyRlZG?= =?utf-8?B?UFBXSmFkckNZS3I5QTdPZTV4d0Q2Nks0eHgwdnY4Q3JDbVRyRXNCOTNUVjN1?= =?utf-8?B?bVRGOXdnVU04SVhGTFZ5VnFvSmJ0SzFDZHF2RkhXN1llejJ6THRyOGVad2V6?= =?utf-8?B?TTFEWFh6dnNvaDhjV1VhTnhwdVlOUUlRVnNsTmZ5UFd6VEROcGRkUldIUWZB?= =?utf-8?B?U2k5ckhiajZjSXlPZTVwWEcvRHVNUW4wYS9rMUxJMGRZZEkzUEVvMXhVQ3lZ?= =?utf-8?B?Y1hpQ20vUldaTGQ5ZGJZZVhCVXpid05Vbk8vKzd4R2lsajVQSUhrWnVIck1x?= =?utf-8?B?N0VkQWliSGNrVmJnaG9hbzJOMXI0cGhVeXV3SXluZmsyVG9YMGx2Ykk5VzRP?= =?utf-8?B?Sm8zSGxLcHVEVjdmVmdiTTBKVFhUcHpzQUxCaGZhbEFwRFczOTVlRTJlRlhx?= =?utf-8?B?aUx6QmY4MDhsWDROZ056dm5YTlFRMjd2SkZBbTBzalNuU2dHdUl3S212amlX?= =?utf-8?B?OVpzbS9zOVpzQWRqWUVRaWdEWnBKSGh1YUd0cDlyOHI2MWJvODkvcTlBTGN0?= =?utf-8?B?YnFGM213STBndmZIZjVZSFJDenN0eE92eVdjNHhJeWFaR092RGZoYVBGbXNR?= =?utf-8?B?OURlcTlIbUdaOWdzVFdTVXM4N3FnYTU5dzIvbzFoeEtVTGhNZ3BFNWo4dTZs?= =?utf-8?B?WUZmZFlvUnBndjl5Ym5Pekh5dlczQzROeUdsWXpjcmJZdTNKUmFrZHhHZnBH?= =?utf-8?B?WkRzMmh3eEwxelBRNklDS0Q0VlpqOEtuaHA2R0p5U0pxSWpMMXd5ZTg1Y3dy?= =?utf-8?B?cUErTWh5Wk9uQUQ2NTJWd1NFTm9kdVg5RzRtTnhxSXBJNVkrank1UXR2MHNU?= =?utf-8?B?Smxnb3g1WUo1aWNPQXA1Ukl1VEdSN29GN0g1OVRyek9RRlltZzZ3SGVsWXRY?= =?utf-8?B?Ylpjb0lXQUlQZzVXQnRFYVhhRUNoSVF6UXlLK0FoNnQ2VlF6WXdvZXl2WnU3?= =?utf-8?B?cGNSNjNCSllLR3JmQzR2UnNtV0dVQkd4bko0UnhHa1NadWxkYmJaZmZlVlJ6?= =?utf-8?B?bTludHZxanFNZ1JLc0JCdXg1ajRsdTBzTmlFUVRMQmpZbldyVmt4MG5Tendx?= =?utf-8?B?QWNlZkhSMWFhUExxeXJvcENHMEJTTzR1WURWaGt6cndPRDkrbVVrRG01Qklv?= =?utf-8?B?UXFpaWVZYzE3ZjhOajNZV1JWUzhPbnBZNHFYTmtQbTNiRjVZUHdpSFdycFBZ?= =?utf-8?B?NzEzSStNSGtvdWxoTkR3TFA1TlFRVjI3L0tXeXNiMjc3YjlNQUZKZkl6WkIr?= =?utf-8?B?K0pkWE1KQWc0dkFOUXRnNUZGaGxaTmNzUURxcmIvRWNtVmVjK1R0TjN4VUR0?= =?utf-8?B?cTRmZjNyem54UFJPY1B0emV6UWMvMmt1Y25CSkNvbjl1QjhWeFh0UHBWYUhD?= =?utf-8?B?R1hTK040L1dQVG9yMFcrM0U0U3cveWR3Sm5mWDQ5QWxrLzV2TDJxK1VQY0RD?= =?utf-8?B?bkJOakdOUnFNSEV0a2ZoMzZBU3pkYzdTOW5WZzNmemk2RG8xTTVrRWszeVFr?= =?utf-8?B?cWJJaWNMNkFORFRvOEtEUkFHcjdyRlNRemV4Zm5zajFCcTliQ3VRdE03RHdp?= =?utf-8?B?Qm5RZUVhcWV0cnppZWFidkNJQTB2cDBySnhWejdDaWRqOU4yUUVNaFVmSHRK?= =?utf-8?B?MWhqR0tBMWFBbnpieUVnc1F1L3BqRHc0UnRjbWNWNC82d3cySmZFd3ZrVjRY?= =?utf-8?B?TUlURVA4aDBkNmlscWRpWFUrVmcrY1FXRE9HMFhlWmF5a0lpU3owdnlCQkpx?= =?utf-8?B?Zit6Zi9VM3pQRTZnZVh0SXp3REJLaW1pa05xTmZMdllQd2xaZzFDUlhMcytU?= =?utf-8?B?YUFLUnZUT0VHWXhkSDBXNmZrbGk5amFyVk40WDYyUnMrbUZPL0t5VnczOThu?= =?utf-8?B?S2dqbnZxK0xseFh0VkhlNDBLZExGY1Q2QzhUTyszR3BQakNQWFhEZDZLVHdk?= =?utf-8?B?eEVtb25NQW45RWJTU1VXemM1cW1ma09Kamd6cnhZS2ZFdnA0K05MSVRiZW5x?= =?utf-8?B?cVE9PQ==?= X-OriginatorOrg: visionular.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2e0abd1c-f9f4-460c-59a7-08dd80d1591e X-MS-Exchange-CrossTenant-AuthSource: PH7PR14MB7417.namprd14.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Apr 2025 12:37:59.3373 (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: FI888tslD6Nkv+dVVLU2PCphmjFFP/HGiJWIUDp8YdP1FDpGnZTk8s/wekeatmm0IpqvQsV7G5ipahttfInycQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR14MB3709 Subject: Re: [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> 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/9220e0fb-3fdb-46a5-8319-76e1aa613a29@visionular.com/> List-Archive: <https://master.gitmailbox.com/ffmpegdev/> List-Post: <mailto:ffmpegdev@gitmailbox.com> On 2025/4/16 8:24, Michael Niedermayer wrote: > On Tue, Apr 08, 2025 at 07:22:32PM +0800, Bin Peng wrote: >> 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 +++++++++++++++++++ > > is this supposed to be a fate test ? > if so theres something missing also the file extension is a bit misleading Yes, sorry for the file extension, It should has no extension. I guess we don't need this fate test after you merged your better fix. > and tests covering more cases is always welcome > > >> 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); > > does the following fix this too ? Yes, I checked your change on my local test, it also fix this issue, and your fix is better. Would you like to submit a patch with this change? Thanks a lot! > > diff --git a/libavcodec/h264_mb.c b/libavcodec/h264_mb.c > index 6083f7ad84f..0d6562b5830 100644 > --- a/libavcodec/h264_mb.c > +++ b/libavcodec/h264_mb.c > @@ -407,7 +407,7 @@ static av_always_inline void mc_part_weighted(const H264Context *h, H264SliceCon > /* don't optimize for luma-only case, since B-frames usually > * use implicit weights => chroma too. */ > uint8_t *tmp_cb = sl->bipred_scratchpad; > - uint8_t *tmp_cr = sl->bipred_scratchpad + (16 << pixel_shift); > + uint8_t *tmp_cr = sl->bipred_scratchpad + (8 << pixel_shift + (chroma_idc == 3)); > uint8_t *tmp_y = sl->bipred_scratchpad + 16 * sl->mb_uvlinesize; > int refn0 = sl->ref_cache[0][scan8[n]]; > int refn1 = sl->ref_cache[1][scan8[n]]; > > [...] _______________________________________________ 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".