From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id 0F6764385D for ; Fri, 1 Jul 2022 08:00:05 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id D133868B817; Fri, 1 Jul 2022 11:00:01 +0300 (EEST) Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 644A868B7F0 for ; Fri, 1 Jul 2022 10:59:54 +0300 (EEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1656662399; x=1688198399; h=from:to:subject:date:message-id:references:in-reply-to: content-id:content-transfer-encoding:mime-version; bh=3TFCV5NdFID5b0NMeo6pP623SaqusAA74/Sd1gqSfYw=; b=fYvujkFbiJJY3Nnl3Q59rQ8jy6dm9BtiZ/moojkPle7zowjfr7b0pFXW pn+wQ7NgI3PYljzqaSrRWISBD52UXJZ/i4LCZDsjIqQWKaMK0wqHFmyMT OplRH9oBouQo4jZENpO/ZKJXfQ0HTw+6kWyCipN2D5SMn1aICOcfvpGZ2 RzzXTNvrm6jw8a5V9iLsTXij/9XRzYphpz8kVLW1sisI/vYA6Yq+/IUyE SymFwwWWPsW2g1gMq+5kiIYoAwR30k331iKhF28YoGQbYH2nM+8Br13qp 3RSbx8YwNJiUIhX2UHfG5sFoC4VJDsdDwWEgZcblVfY9lxeeal7/hPs2b g==; X-IronPort-AV: E=McAfee;i="6400,9594,10394"; a="262383640" X-IronPort-AV: E=Sophos;i="5.92,236,1650956400"; d="scan'208";a="262383640" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 01 Jul 2022 00:59:51 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.92,236,1650956400"; d="scan'208";a="733969290" Received: from orsmsx605.amr.corp.intel.com ([10.22.229.18]) by fmsmga001.fm.intel.com with ESMTP; 01 Jul 2022 00:59:51 -0700 Received: from orsmsx601.amr.corp.intel.com (10.22.229.14) by ORSMSX605.amr.corp.intel.com (10.22.229.18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27; Fri, 1 Jul 2022 00:59:51 -0700 Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) by orsmsx601.amr.corp.intel.com (10.22.229.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27 via Frontend Transport; Fri, 1 Jul 2022 00:59:51 -0700 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (104.47.55.170) by edgegateway.intel.com (134.134.137.103) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2308.27; Fri, 1 Jul 2022 00:59:50 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=cKFHcT/FW+XxIStu0CHxF8hw6Q9v4dn7f4LLYM0/z8rftE5U9Rk1ClTRReiPOBI0TxEhgd6Wn9yP1zdjuIc1xO17sp74Snt+Nl0GzqQKH1Kthoxjt7uqEycVW6dZ66Fx6VR8G8QEDNn2N9rc8EN3ZfScIq7WHUFzDRGEiYF/qzDqRrMpfcaD8c63aWTiU4IDpzC5nzp6u81sQ7xC90ZHYa3Mmwzpd64TwDgq4xLV8hDuptRitVQUcHLR5Vc36OITm0if+0/eO6r65YuDxzhZNjy7Dx4ziY6TLSYSC/+m4aRmzyEOZ0qVHfSWQQ+OaM9BWb7YYmA8w8T1TfGkEBvT0g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=3TFCV5NdFID5b0NMeo6pP623SaqusAA74/Sd1gqSfYw=; b=ldggH+LNEezQvTUKb/GCrA0lAmssnErLkT2AYXvtg7x+4QksxIywnekZ2NGDoaIJsr1pOpCdEx/pt962UE1upr0+4xtNLEB2g0BF8oLfafbXsNH2YOWeIjNvw+xDQ/pvHzS7WZ/8n3SlxU5aaeFEsyyUzCFXvTESB83l8CtJBMLjxLZUE/8XvZGOIzjZqAXnSWn96kwHp3KkW33+efsVkyAK7CY1zuNqk3BTLyf2AcPBmDn9rwlW8pck5aOl+rUrFJ98SDtsdM/29DzjDd+rWxBrIGyKSuJ8Sj/9P3VM0uaLp1Za96IEvu/xuLDH+dbVQvjGznTzKHxbrhuyq9oQUQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Received: from BN9PR11MB5515.namprd11.prod.outlook.com (2603:10b6:408:104::8) by DM5PR11MB1916.namprd11.prod.outlook.com (2603:10b6:3:10a::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5395.14; Fri, 1 Jul 2022 07:59:48 +0000 Received: from BN9PR11MB5515.namprd11.prod.outlook.com ([fe80::f977:9a9f:bad7:d3ce]) by BN9PR11MB5515.namprd11.prod.outlook.com ([fe80::f977:9a9f:bad7:d3ce%6]) with mapi id 15.20.5395.014; Fri, 1 Jul 2022 07:59:48 +0000 From: "Xiang, Haihao" To: "ffmpeg-devel@ffmpeg.org" Thread-Topic: [FFmpeg-devel] [PATCH] libavcodec/mpegvideo_enc: Fix a chroma mb size error in sse_mb() Thread-Index: AQHYjQzx02jiaEFYw0KRtvgcbkmCZK1pJvaA Date: Fri, 1 Jul 2022 07:59:48 +0000 Message-ID: References: <20220701053434.2137992-1-wenbin.chen@intel.com> In-Reply-To: <20220701053434.2137992-1-wenbin.chen@intel.com> Accept-Language: en-AS, zh-CN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: Evolution 3.28.5-0ubuntu0.18.04.2 authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 6f2bdbda-6a47-4fbd-ba4d-08da5b37ab92 x-ms-traffictypediagnostic: DM5PR11MB1916:EE_ x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 8SXTJBi5V+s7cbP2ytl38zfDI5HVknBMqAt6CRNAgyGjr8DlyZHVn8FObTrWF/5NDSot24nybFrvp+YL7Vzutog5y9RPEcyKMWc9zCYJ+xydnGw1CpI23hyDdyeLfHUhRb0ciMvmuQRx9wd8HASROTrvKevRZMUmT6iIrtVdAnHkvPei2C/a5/kGVVrP6sShixhECEnvM87iJcozTDyUJDZWvg98v1pPV3qJRjZ2I4ECwmCxUIZTMdcqFB8fRQT/g/9r0hB6ayjCVjLKbb7gaRDNyvt54H1SwIwq0xYQj8WpDWZfKgMk8USNZ38KmIvnF99Y8W5U1E6HAiJNuG7yAR34C3pPr0oPANmChkILlrIIVEnqxrWabMMdyl2rxNPvSfvqoVjgBishDfKe4xZQjv7PvKYmUvIiRYu8vym+R/H9za6lK6WRxICAHMs+MvaD9LTOHZLUZOR1QuxSdRNOjmTcjO0r06TOPjkqKb+LGm+j/iqFRI7oPMhIufmEBHJc+z03yvMvuyX4oV8lohRIHdpnJF3dxHgditf09z2olgj6+sNYaRiUDJ+2ECnH10WGewp+nPugmSP1W9wXGYy3FD3ZuMVWkIbU+c+NaO3X8y/mgs0wjewuEtNO8T9KeRaOG5A7zNBIdkDIIS4uXRboKQegKWyObDsgG6L6f/LJ8BJUcDn4ipu0W5wUkIu1f9Dp6Txh4JJ/Q6UjPDiM20cPkzSFsedFDP6FwyDV5Qwlge5o37o/RoY4i+HgPQ4mCvDy5daVvtnCyBfyJtgZekkQ4OShS2002vZCSq7JFNHhMmzraUhJF0si6Ue6Zq0CwOJjHYGB0P704EwK1vfXTmMe2+ZgIc3f73O7bC4lndZnxwneaZfuNMpfrLDBt0h9ZW2/ x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BN9PR11MB5515.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230016)(39860400002)(366004)(396003)(136003)(346002)(376002)(26005)(82960400001)(6512007)(76116006)(36756003)(186003)(66946007)(6506007)(6916009)(38070700005)(91956017)(86362001)(66556008)(64756008)(8676002)(66476007)(71200400001)(66446008)(316002)(122000001)(5660300002)(38100700002)(30864003)(8936002)(966005)(41300700001)(2906002)(6486002)(2616005)(83380400001)(478600001)(99106002); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?cHFVeFRmSjlXSks4c3BIU094Ump4Vng0cGdjdXpWN0tQK2lUUStoOUZBcUkz?= =?utf-8?B?Z2Jldi9GZ3lES1lLZmdnNlp1d0hSQU13MkRkSzN5ZklNbzdVY1BCMFBYZ2wz?= =?utf-8?B?NnlHV0RRUHJIOTBKQktQZEJBUGxwUktzV2UzdzN6cDkxby9RZXVUSzkrZURD?= =?utf-8?B?ZTFDSU94UmRoZkozQVVYbG43YzNiYlpmNnE5TFRaZG02d1JNSFp5am5UNGRl?= =?utf-8?B?UzJWUXZmeE9iT1ZNMFJ3dkpsbWZML2xSbHR5cnEyWEZLQVQrUjVBY2ZCNHZs?= =?utf-8?B?UkJCRlpuTnVJYjVpVzMvVEJ1UWMrK3ZIUXI4WHlKMXZMY1JTeHZzcnYxMkhl?= =?utf-8?B?YjJ4cEFpdUZjWXBlUFh0RC9FeTQrUVZYeWkwNUZkZm1mRGRmcDRySVd4ZU4z?= =?utf-8?B?RG1mMytaWUJpQkU2c2tTQXUzeGhCK3dXaVRsUGE1ZHkvWnNubGtEQTVaTmtL?= =?utf-8?B?dUx1U2FqTDRudnJMdTN6ek1rNGtMNklhSzU2ZEFqYWI5ZGtWTS9oTVZNeXRV?= =?utf-8?B?OXJDQ2xOb2pyN0tGa05LNkhkVnhMbVlMK1cvN3g1aXRvTWpJL0M1dWJMbmVK?= =?utf-8?B?a1pZNmVuZmJLVk4vTExpRTZWb1dLVGUyWHJDTWVjOVZkR0tJMG45SU9Hb3BT?= =?utf-8?B?Vkt3cEVhWWlUT2pXTDBOdlBqS3NhN0NMN2IwYlBvVXIySWszdVEzeWszN1Rz?= =?utf-8?B?VU9uVEVnUE5Cd29OcWV6T1YxMndzYkM0YlVPNkF4T3phYlkyVU5DQlNPcTJp?= =?utf-8?B?NnhJRGlYbWJDYlBvRWszSi9XSzF1MEdEZzhhaUtDYzBNZ3hYSWdlcGNCL2pJ?= =?utf-8?B?UmxuTmwvWXIrNHNlSXppQzRkTTdsbEVacnplbExraGFHU2R3ZDJYMU5pMXNj?= =?utf-8?B?aVIwTG82a3BCWm9xRi95T21DcjcvNzZtVS9jVkJ2Y3Y1TUZJT0JYb2JaQjRn?= =?utf-8?B?WnplZ28xNGhXMGUvTWdUL3gxN2FXUm5DM2dKY09MWldmR0R0YTVhQWJEZ0ls?= =?utf-8?B?T1hiOXpYN2cxYm1IaGd0TWtTOG9wb1dqQzREL2JocFV6TjZUVldBbGE5RHV0?= =?utf-8?B?RmhOUkQxWDVON1M4N24zV0ZMaEFvcTJrV2dXVmRYYTdkWVNPalFOTVYvNWhi?= =?utf-8?B?MXZGWUREd0kvUkNvdG9MaGlRSFJPTHdUNnUyMk5HZFY3N0dZN1o1elFoMG8v?= =?utf-8?B?Z1RocGVDYXVaK1kxbkNjeC96WXE3Nk02YUxycXNWRUlMdVNrWVcwZ2p5SXlQ?= =?utf-8?B?VFlxc3VXWEdYMFBZWFo0aytLaTVuMEFRU1Bra3N4U0ZOeVIzb3ppZFBBWjVj?= =?utf-8?B?dkw2TlVLTk1McmI0QllRc2pKWDBBT0ZDK3E0TlREeExPdU1qR0FOSDRhUmlT?= =?utf-8?B?eEZ1dHMxcEl2cmVEVG02dVB1SVZNaXY2QVNYeENBZ0VLRVVNSFowUjdqbm04?= =?utf-8?B?YXJBRlh6OHBGT0JjeWRaT0ZqQ2Z4RkJKbkliT245ZlNndUZxMFd0VXczN1ZN?= =?utf-8?B?LzJIYkJkRSswdDcvOGVYc1NFbzdTeGZRblU4VzZsSnkrRGl1dmJrK3k1N291?= =?utf-8?B?L3RBLzJkZk9mN2dOeStyVVVmNjBxU0JwYktwank0WTUybWdtdXJFM1BMcHVF?= =?utf-8?B?czBhUTAvUGdHc0hZU01TWjB5dGRYU1JXa0tnSmNKNktNTzNqY1JrdnpmZ2Jk?= =?utf-8?B?cWNUUVdVdFE3dzVNRE1jU3ZiV2Y0WVhZWDFVTXBKQ0FNSFpOSlJ3SzhnTFZH?= =?utf-8?B?Nm5PL1U1QWIvbTA0VXhUOVdXckZHZE1oSnZOWC9JbWpleGNOYmpRNDl1VEdN?= =?utf-8?B?aXhKeUtLSHJxTVUxdVdla1pvb0hGaThqMU5FdGZ1MW5KSENyQXp5WkZGMlVv?= =?utf-8?B?R2pSSUsxYU9GQ1hOaGVKbm5ZTU1wbFdPbXl6M3JtUDFzNWgrWmdIWXBENkF2?= =?utf-8?B?V3hRYjRRb1lkbEYvMlBRWHZPM0tQaUdoaUR2bk5Cb0E0WjR3WFJTMVVOSVgx?= =?utf-8?B?Z0VoQUNZNnN0OXVRWnJZblBmTld1WXVQd0JVeEFZS3Y5MWVVTlRpSEZCN0J6?= =?utf-8?B?VG5MVENuUXkyOTZlRXhjSlQ5SDl6ekY3U1FVdmpxK05VQjVzd0pVSUNWSlR1?= =?utf-8?B?Z1l6V2Z3YUdvZWNuWUNWVytyelEyRTQzVW9wNEoyVEpSMndPbHhwT3gzeFg3?= =?utf-8?B?MHc9PQ==?= Content-ID: <4E8E41E90C6A6B4C8BAE880F25AACA13@namprd11.prod.outlook.com> MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BN9PR11MB5515.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6f2bdbda-6a47-4fbd-ba4d-08da5b37ab92 X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Jul 2022 07:59:48.5570 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 8TNdWcid/5ETQfLPD0SwgSR5Vt5CttYDP1jMV6gu06A7myDpjFlsH3Swi+J3oWzLWFbKjowVFhJRGfc/o2Nj2w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR11MB1916 X-OriginatorOrg: intel.com Subject: Re: [FFmpeg-devel] [PATCH] libavcodec/mpegvideo_enc: Fix a chroma mb size error in sse_mb() X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: On Fri, 2022-07-01 at 13:34 +0800, Wenbin Chen wrote: > For 422 frames we should not use hard coded 8 to calculate mb size for > uv plane. Chroma shift should be taken into consideration to be > compatiple with different sampling format. > > The error is reported by fate test when av_cpu_max_align() return 64 > on the platform supporting AVX512. This is a hidden error and it is > exposed after commit 17a59a634c39b00a680c6ebbaea58db95594d13d. > > mpeg2enc has a mechanism to reuse frames. When it computes SSE (sum of > squared error) on current mb, reconstructed mb will be wrote to the > previous mb space, so that the memory can be saved. However if the align > is 64, the frame is shared in somewhere else, so the frame cannot be > reused and a new frame to store reconstrued data is created. Because the > height of mb is wrong when compute sse on 422 frame, starting from the > second line of macro block, changed data is read when frame is reused > (we need to read row 16 rather than row 8 if frame is 422), and unchanged > data is read when frame is not reused (a new frame is created so the > original frame will not be changed). > > That is why commit 17a59a634c39b00a680c6ebbaea58db95594d13d exposes this > issue, because it add av_cpu_max_align() and this function return 64 on > platform supporting AVX512 which lead to creating a frame in mpeg2enc, > and this lead to the different outputs. > > Signed-off-by: Wenbin Chen > --- > libavcodec/mpegvideo_enc.c | 29 +++++++++++++------ > tests/ref/seek/vsynth_lena-mpeg2-422 | 40 +++++++++++++------------- > tests/ref/vsynth/vsynth1-mpeg2-422 | 8 +++--- > tests/ref/vsynth/vsynth2-mpeg2-422 | 8 +++--- > tests/ref/vsynth/vsynth3-mpeg2-422 | 8 +++--- > tests/ref/vsynth/vsynth_lena-mpeg2-422 | 8 +++--- > 6 files changed, 56 insertions(+), 45 deletions(-) > > diff --git a/libavcodec/mpegvideo_enc.c b/libavcodec/mpegvideo_enc.c > index d6a85a037a..c9d9e2a764 100644 > --- a/libavcodec/mpegvideo_enc.c > +++ b/libavcodec/mpegvideo_enc.c > @@ -2558,24 +2558,35 @@ static int sse(MpegEncContext *s, uint8_t *src1, > uint8_t *src2, int w, int h, in > static int sse_mb(MpegEncContext *s){ > int w= 16; > int h= 16; > + int chroma_mb_w = w >> s->chroma_x_shift; > + int chroma_mb_h = h >> s->chroma_y_shift; > > if(s->mb_x*16 + 16 > s->width ) w= s->width - s->mb_x*16; > if(s->mb_y*16 + 16 > s->height) h= s->height- s->mb_y*16; > > if(w==16 && h==16) > if(s->avctx->mb_cmp == FF_CMP_NSSE){ > - return s->mecc.nsse[0](s, s->new_picture->data[0] + s->mb_x * 16 + s- > >mb_y * s->linesize * 16, s->dest[0], s->linesize, 16) + > - s->mecc.nsse[1](s, s->new_picture->data[1] + s->mb_x * 8 + s- > >mb_y * s->uvlinesize * 8, s->dest[1], s->uvlinesize, 8) + > - s->mecc.nsse[1](s, s->new_picture->data[2] + s->mb_x * 8 + s- > >mb_y * s->uvlinesize * 8, s->dest[2], s->uvlinesize, 8); > + return s->mecc.nsse[0](s, s->new_picture->data[0] + s->mb_x * 16 + s- > >mb_y * s->linesize * 16, > + s->dest[0], s->linesize, 16) + > + s->mecc.nsse[1](s, s->new_picture->data[1] + s->mb_x * > chroma_mb_w + s->mb_y * s->uvlinesize * chroma_mb_h, > + s->dest[1], s->uvlinesize, chroma_mb_h) + > + s->mecc.nsse[1](s, s->new_picture->data[2] + s->mb_x * > chroma_mb_w + s->mb_y * s->uvlinesize * chroma_mb_h, > + s->dest[2], s->uvlinesize, chroma_mb_h); > }else{ > - return s->mecc.sse[0](NULL, s->new_picture->data[0] + s->mb_x * 16 + > s->mb_y * s->linesize * 16, s->dest[0], s->linesize, 16) + > - s->mecc.sse[1](NULL, s->new_picture->data[1] + s->mb_x * 8 + > s->mb_y * s->uvlinesize * 8, s->dest[1], s->uvlinesize, 8) + > - s->mecc.sse[1](NULL, s->new_picture->data[2] + s->mb_x * 8 + > s->mb_y * s->uvlinesize * 8, s->dest[2], s->uvlinesize, 8); > + return s->mecc.sse[0](NULL, s->new_picture->data[0] + s->mb_x * 16 + > s->mb_y * s->linesize * 16, > + s->dest[0], s->linesize, 16) + > + s->mecc.sse[1](NULL, s->new_picture->data[1] + s->mb_x * > chroma_mb_w + s->mb_y * s->uvlinesize * chroma_mb_h, > + s->dest[1], s->uvlinesize, chroma_mb_h) + > + s->mecc.sse[1](NULL, s->new_picture->data[2] + s->mb_x * > chroma_mb_w + s->mb_y * s->uvlinesize * chroma_mb_h, > + s->dest[2], s->uvlinesize, chroma_mb_h); > } > else > - return sse(s, s->new_picture->data[0] + s->mb_x*16 + s->mb_y*s- > >linesize*16, s->dest[0], w, h, s->linesize) > - +sse(s, s->new_picture->data[1] + s->mb_x*8 + s->mb_y*s- > >uvlinesize*8,s->dest[1], w>>1, h>>1, s->uvlinesize) > - +sse(s, s->new_picture->data[2] + s->mb_x*8 + s->mb_y*s- > >uvlinesize*8,s->dest[2], w>>1, h>>1, s->uvlinesize); > + return sse(s, s->new_picture->data[0] + s->mb_x * 16 + s->mb_y * s- > >linesize * 16, > + s->dest[0], w, h, s->linesize) + > + sse(s, s->new_picture->data[1] + s->mb_x * chroma_mb_w + s- > >mb_y * s->uvlinesize * chroma_mb_h, > + s->dest[1], w >> s->chroma_x_shift, h >> s- > >chroma_y_shift, s->uvlinesize) + > + sse(s, s->new_picture->data[2] + s->mb_x * chroma_mb_w + s- > >mb_y * s->uvlinesize * chroma_mb_h, > + s->dest[2], w >> s->chroma_x_shift, h >> s- > >chroma_y_shift, s->uvlinesize); > } > > static int pre_estimate_motion_thread(AVCodecContext *c, void *arg){ > diff --git a/tests/ref/seek/vsynth_lena-mpeg2-422 > b/tests/ref/seek/vsynth_lena-mpeg2-422 > index 06d8f7ac3a..1fc2bf93a0 100644 > --- a/tests/ref/seek/vsynth_lena-mpeg2-422 > +++ b/tests/ref/seek/vsynth_lena-mpeg2-422 > @@ -1,46 +1,46 @@ > -ret: 0 st: 0 flags:1 dts: 0.000000 pts: NOPTS pos: 0 size: > 17497 > +ret: 0 st: 0 flags:1 dts: 0.000000 pts: NOPTS pos: 0 size: > 18339 > ret: 0 st:-1 flags:0 ts:-1.000000 > -ret: 0 st: 0 flags:1 dts: 0.000000 pts: NOPTS pos: 0 size: > 17497 > +ret: 0 st: 0 flags:1 dts: 0.000000 pts: NOPTS pos: 0 size: > 18339 > ret: 0 st:-1 flags:1 ts: 1.894167 > -ret: 0 st: 0 flags:1 dts: 1.840000 pts: NOPTS pos: 325397 size: > 19967 > +ret: 0 st: 0 flags:1 dts: 1.840000 pts: NOPTS pos: 329242 size: > 21479 > ret: 0 st: 0 flags:0 ts: 0.788334 > -ret: 0 st: 0 flags:1 dts: 0.880000 pts: NOPTS pos: 200747 size: > 22575 > +ret: 0 st: 0 flags:1 dts: 0.880000 pts: NOPTS pos: 203086 size: > 24774 > ret:-1 st: 0 flags:1 ts:-0.317499 > ret:-1 st:-1 flags:0 ts: 2.576668 > ret: 0 st:-1 flags:1 ts: 1.470835 > -ret: 0 st: 0 flags:1 dts: 1.360000 pts: NOPTS pos: 265466 size: > 21329 > +ret: 0 st: 0 flags:1 dts: 1.360000 pts: NOPTS pos: 268154 size: > 22845 > ret: 0 st: 0 flags:0 ts: 0.365002 > -ret: 0 st: 0 flags:1 dts: 0.400000 pts: NOPTS pos: 104454 size: > 28984 > +ret: 0 st: 0 flags:1 dts: 0.400000 pts: NOPTS pos: 108763 size: > 32204 > ret:-1 st: 0 flags:1 ts:-0.740831 > ret:-1 st:-1 flags:0 ts: 2.153336 > ret: 0 st:-1 flags:1 ts: 1.047503 > -ret: 0 st: 0 flags:1 dts: 0.880000 pts: NOPTS pos: 200747 size: > 22575 > +ret: 0 st: 0 flags:1 dts: 0.880000 pts: NOPTS pos: 203086 size: > 24774 > ret: 0 st: 0 flags:0 ts:-0.058330 > -ret: 0 st: 0 flags:1 dts: 0.000000 pts: NOPTS pos: 0 size: > 17497 > +ret: 0 st: 0 flags:1 dts: 0.000000 pts: NOPTS pos: 0 size: > 18339 > ret: 0 st: 0 flags:1 ts: 2.835837 > -ret: 0 st: 0 flags:1 dts: 1.840000 pts: NOPTS pos: 325397 size: > 19967 > +ret: 0 st: 0 flags:1 dts: 1.840000 pts: NOPTS pos: 329242 size: > 21479 > ret: 0 st:-1 flags:0 ts: 1.730004 > -ret: 0 st: 0 flags:1 dts: 1.840000 pts: NOPTS pos: 325397 size: > 19967 > +ret: 0 st: 0 flags:1 dts: 1.840000 pts: NOPTS pos: 329242 size: > 21479 > ret: 0 st:-1 flags:1 ts: 0.624171 > -ret: 0 st: 0 flags:1 dts: 0.400000 pts: NOPTS pos: 104454 size: > 28984 > +ret: 0 st: 0 flags:1 dts: 0.400000 pts: NOPTS pos: 108763 size: > 32204 > ret: 0 st: 0 flags:0 ts:-0.481662 > -ret: 0 st: 0 flags:1 dts: 0.000000 pts: NOPTS pos: 0 size: > 17497 > +ret: 0 st: 0 flags:1 dts: 0.000000 pts: NOPTS pos: 0 size: > 18339 > ret: 0 st: 0 flags:1 ts: 2.412505 > -ret: 0 st: 0 flags:1 dts: 1.840000 pts: NOPTS pos: 325397 size: > 19967 > +ret: 0 st: 0 flags:1 dts: 1.840000 pts: NOPTS pos: 329242 size: > 21479 > ret: 0 st:-1 flags:0 ts: 1.306672 > -ret: 0 st: 0 flags:1 dts: 1.360000 pts: NOPTS pos: 265466 size: > 21329 > +ret: 0 st: 0 flags:1 dts: 1.360000 pts: NOPTS pos: 268154 size: > 22845 > ret: 0 st:-1 flags:1 ts: 0.200839 > -ret: 0 st: 0 flags:1 dts: 0.000000 pts: NOPTS pos: 0 size: > 17497 > +ret: 0 st: 0 flags:1 dts: 0.000000 pts: NOPTS pos: 0 size: > 18339 > ret: 0 st: 0 flags:0 ts:-0.904994 > -ret: 0 st: 0 flags:1 dts: 0.000000 pts: NOPTS pos: 0 size: > 17497 > +ret: 0 st: 0 flags:1 dts: 0.000000 pts: NOPTS pos: 0 size: > 18339 > ret: 0 st: 0 flags:1 ts: 1.989173 > -ret: 0 st: 0 flags:1 dts: 1.840000 pts: NOPTS pos: 325397 size: > 19967 > +ret: 0 st: 0 flags:1 dts: 1.840000 pts: NOPTS pos: 329242 size: > 21479 > ret: 0 st:-1 flags:0 ts: 0.883340 > -ret: 0 st: 0 flags:1 dts: 1.360000 pts: NOPTS pos: 265466 size: > 21329 > +ret: 0 st: 0 flags:1 dts: 1.360000 pts: NOPTS pos: 268154 size: > 22845 > ret:-1 st:-1 flags:1 ts:-0.222493 > ret:-1 st: 0 flags:0 ts: 2.671674 > ret: 0 st: 0 flags:1 ts: 1.565841 > -ret: 0 st: 0 flags:1 dts: 1.360000 pts: NOPTS pos: 265466 size: > 21329 > +ret: 0 st: 0 flags:1 dts: 1.360000 pts: NOPTS pos: 268154 size: > 22845 > ret: 0 st:-1 flags:0 ts: 0.460008 > -ret: 0 st: 0 flags:1 dts: 0.880000 pts: NOPTS pos: 200747 size: > 22575 > +ret: 0 st: 0 flags:1 dts: 0.880000 pts: NOPTS pos: 203086 size: > 24774 > ret:-1 st:-1 flags:1 ts:-0.645825 > diff --git a/tests/ref/vsynth/vsynth1-mpeg2-422 b/tests/ref/vsynth/vsynth1- > mpeg2-422 > index e936ba463e..a39b2b4dce 100644 > --- a/tests/ref/vsynth/vsynth1-mpeg2-422 > +++ b/tests/ref/vsynth/vsynth1-mpeg2-422 > @@ -1,4 +1,4 @@ > -6e135a1a27235a320311a932147846b4 *tests/data/fate/vsynth1-mpeg2- > 422.mpeg2video > -730780 tests/data/fate/vsynth1-mpeg2-422.mpeg2video > -0273cd8463d1fc115378748239951560 *tests/data/fate/vsynth1-mpeg2- > 422.out.rawvideo > -stddev: 10.27 PSNR: 27.90 MAXDIFF: 162 bytes: 7603200/ 7603200 > +651f054730be04257498eeae08b3bdc5 *tests/data/fate/vsynth1-mpeg2- > 422.mpeg2video > +855859 tests/data/fate/vsynth1-mpeg2-422.mpeg2video > +10fd55dbd10b08f9271eb89617766be8 *tests/data/fate/vsynth1-mpeg2- > 422.out.rawvideo > +stddev: 9.38 PSNR: 28.68 MAXDIFF: 178 bytes: 7603200/ 7603200 > diff --git a/tests/ref/vsynth/vsynth2-mpeg2-422 b/tests/ref/vsynth/vsynth2- > mpeg2-422 > index ec7244f9f9..5da29b4eac 100644 > --- a/tests/ref/vsynth/vsynth2-mpeg2-422 > +++ b/tests/ref/vsynth/vsynth2-mpeg2-422 > @@ -1,4 +1,4 @@ > -b2fa9b73c3547191ecc01b8163abd4e5 *tests/data/fate/vsynth2-mpeg2- > 422.mpeg2video > -379164 tests/data/fate/vsynth2-mpeg2-422.mpeg2video > -704f6a96f93c2409219bd48b74169041 *tests/data/fate/vsynth2-mpeg2- > 422.out.rawvideo > -stddev: 4.17 PSNR: 35.73 MAXDIFF: 70 bytes: 7603200/ 7603200 > +fcaf6242ca4b706d392e40d9631e3465 *tests/data/fate/vsynth2-mpeg2- > 422.mpeg2video > +383946 tests/data/fate/vsynth2-mpeg2-422.mpeg2video > +474bb259f041bfb971691551f678fd09 *tests/data/fate/vsynth2-mpeg2- > 422.out.rawvideo > +stddev: 3.93 PSNR: 36.23 MAXDIFF: 69 bytes: 7603200/ 7603200 > diff --git a/tests/ref/vsynth/vsynth3-mpeg2-422 b/tests/ref/vsynth/vsynth3- > mpeg2-422 > index 2247f286e6..e83c23635c 100644 > --- a/tests/ref/vsynth/vsynth3-mpeg2-422 > +++ b/tests/ref/vsynth/vsynth3-mpeg2-422 > @@ -1,4 +1,4 @@ > -4d108b861715f1fa010fd70baea91793 *tests/data/fate/vsynth3-mpeg2- > 422.mpeg2video > -68612 tests/data/fate/vsynth3-mpeg2-422.mpeg2video > -73b16e906d07b6bbccf4b00d4a25302c *tests/data/fate/vsynth3-mpeg2- > 422.out.rawvideo > -stddev: 4.02 PSNR: 36.05 MAXDIFF: 46 bytes: 86700/ 86700 > +96dc854fc40a6410d4edc387b63ded1a *tests/data/fate/vsynth3-mpeg2- > 422.mpeg2video > +75445 tests/data/fate/vsynth3-mpeg2-422.mpeg2video > +5337fc0bfb789919cb3325a02d48eb82 *tests/data/fate/vsynth3-mpeg2- > 422.out.rawvideo > +stddev: 3.24 PSNR: 37.90 MAXDIFF: 27 bytes: 86700/ 86700 > diff --git a/tests/ref/vsynth/vsynth_lena-mpeg2-422 > b/tests/ref/vsynth/vsynth_lena-mpeg2-422 > index 5f11d4e7cd..85d598782c 100644 > --- a/tests/ref/vsynth/vsynth_lena-mpeg2-422 > +++ b/tests/ref/vsynth/vsynth_lena-mpeg2-422 > @@ -1,4 +1,4 @@ > -521ec92c0b8672011a43dd13db98c400 *tests/data/fate/vsynth_lena-mpeg2- > 422.mpeg2video > -356431 tests/data/fate/vsynth_lena-mpeg2-422.mpeg2video > -51ca353620f85db8b5b1c56f1a275add *tests/data/fate/vsynth_lena-mpeg2- > 422.out.rawvideo > -stddev: 3.15 PSNR: 38.14 MAXDIFF: 49 bytes: 7603200/ 7603200 > +87e5c69775b363db649c253050536045 *tests/data/fate/vsynth_lena-mpeg2- > 422.mpeg2video > +361341 tests/data/fate/vsynth_lena-mpeg2-422.mpeg2video > +93cefcf101e6d0814acfaa626a02be90 *tests/data/fate/vsynth_lena-mpeg2- > 422.out.rawvideo > +stddev: 2.97 PSNR: 38.67 MAXDIFF: 57 bytes: 7603200/ 7603200 Patch LGTM. `make fate-vsynth1-mpeg2-422` works again on my Ice Lake after applying this patch. It was broken since commit 17a59a6, see https://patchwork.ffmpeg.org/project/ffmpeg/patch/20220221122715.424475-1-onemda@gmail.com/ Thanks Haihao _______________________________________________ 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".