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 30DF240B91 for ; Mon, 5 Dec 2022 06:11:47 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 32E3F68BCCB; Mon, 5 Dec 2022 08:10:38 +0200 (EET) Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 3D56368B3E1 for ; Mon, 5 Dec 2022 08:10:35 +0200 (EET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1670220636; x=1701756636; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-id:content-transfer-encoding: mime-version; bh=Re3HxcO4I2vD1crllziGj781R05THHV6gUoxXH59Dts=; b=gRQCAa+27rxrWeJys030UIFcqW0vdyEorUFzhpERX7MLJj/3XrOG+MmQ QfwfUdTPUYI6iqVXqBdxZ98VidoZzC6AZ6H1U2FZwFpKigSwf0RYDvqqX TsegmgNOYt5uR4aKYcth9YKR3GzFj9IJ1smHc5LBDiK7e7nEkYv7OvptP 0R4aNQ5uTAFCMJTWQARBvN99ji/14a4in7bt5KQvc1KjygEacDfHcnxqJ QqpBKhiMhtwrVrga11l+mJwSrYgWCFUcvmFTmwHxJ1YRUmfv8KV7MuFkg pfYOEjWzMmKThNn5R6w4f/j8ZmVXBP29Ek8kf9wBDZcBhCDnthNve2fUu Q==; X-IronPort-AV: E=McAfee;i="6500,9779,10551"; a="343259334" X-IronPort-AV: E=Sophos;i="5.96,218,1665471600"; d="scan'208";a="343259334" Received: from orsmga005.jf.intel.com ([10.7.209.41]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Dec 2022 22:10:33 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10551"; a="820073405" X-IronPort-AV: E=Sophos;i="5.96,218,1665471600"; d="scan'208";a="820073405" Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16]) by orsmga005.jf.intel.com with ESMTP; 04 Dec 2022 22:10:33 -0800 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.16; Sun, 4 Dec 2022 22:10:33 -0800 Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) by orsmsx610.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.16 via Frontend Transport; Sun, 4 Dec 2022 22:10:33 -0800 Received: from NAM10-BN7-obe.outbound.protection.outlook.com (104.47.70.108) 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.2507.16; Sun, 4 Dec 2022 22:10:32 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=llgo/IYnoOZxCjNstgCKfYZY38HUdrX2x39fP4q96CC8NnbW3SjA+N6UqMpQHylw5M5DhR3O4YC/NgD3KHH/CjEYf58IthawfYbgTJdowORY/dx2QnIxTmiLIEYKa6zfPVlZD3B+H9+EiFlUjuDpEoOsz3WOFgsImZVhsiS2WdPuPtDOI9F/JzXGdydiPHeR8wiG214c2Q0qncgWE0lH3DPIpyXjsya2/VHAlQCJ0ZEXFVNUvBcmEas1g8xZuntAD1Dt1tUEoGCFsHfCjpC5Dj2Ni6HpcI9LEvPGB3APNW2OvIb9qa8gj7q6CJiHTv7YaBqaMqCQQGJ5Ms2SmtB4ag== 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=Re3HxcO4I2vD1crllziGj781R05THHV6gUoxXH59Dts=; b=h2aGIqK0v2TzBRR8R+rCSeULnvA7CYl9VUEQhrYpDkL8gcJof1BQudiqve8KDMEtBQIyZc+hEbtkxhWUPe0duZWZ5D0FCcUidUx6BMP1DWA+Lm9Mjhc1ga7v+3RIEmS+NGp6lvW39yUe2UkV9sUnreee5VS3K6oF+MM6F2+9aPymLAuvjDNwCXXJwnWKkczXvKAkQrs9soCmLDZJ7Mw6kxEwA7tSolzsb1WmkJnJCEO4RpGwyJojPmqpjpbNHDwnH/AghQUMlzu+WOgJq4Z60R68Lq4yeGwvbjL01RcWfXSOXFn3/eUNVQtEBDWJKP72ZNRtV+4NNNkAgR7IjvU/Ew== 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 CO1PR11MB4899.namprd11.prod.outlook.com (2603:10b6:303:6e::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14; Mon, 5 Dec 2022 06:10:30 +0000 Received: from BN9PR11MB5515.namprd11.prod.outlook.com ([fe80::e3ef:177c:4008:7ee9]) by BN9PR11MB5515.namprd11.prod.outlook.com ([fe80::e3ef:177c:4008:7ee9%5]) with mapi id 15.20.5880.013; Mon, 5 Dec 2022 06:10:30 +0000 From: "Xiang, Haihao" To: "ffmpeg-devel@ffmpeg.org" Thread-Topic: [FFmpeg-devel] [PATCH v2] libavfilter/qsvvpp: Use different alignment for YUV420P format Thread-Index: AQHZBS+KxdgsKfX5CEGjogs52ZD85K5e1eyA Date: Mon, 5 Dec 2022 06:10:30 +0000 Message-ID: <5da8a763862849f9b8e59987bdd0ef018dd0dd01.camel@intel.com> References: <20221201024850.425856-1-wenbin.chen@intel.com> In-Reply-To: <20221201024850.425856-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: user-agent: Evolution 3.36.5-0ubuntu1 authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: BN9PR11MB5515:EE_|CO1PR11MB4899:EE_ x-ms-office365-filtering-correlation-id: 13ebb88b-64f5-4d3c-eff6-08dad6876980 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: Wppfu5/mLEAX072WxooNHrUF0N2kq7NryXP2VnyVgFvy13iXetFVvRDSfF0yx4wyEVViRCWvE/1FjE8D2UV8YsWtZsJCkt35quPR6sGSeYQEspGeqN9yyBVsuCiBIfdbT5x7uNtbZQpevuaByp+rqTBPoGbZ6UcS+rKN9xcN7iON5rIT2GiJuJws0ffuFRBiRSdFYaOH/f1xxevCeSZ9UpDrox1nxAHSWe+RnSNw5JwZx0hnDhKV6hqWzbqDIbz1+lS84qqse909EtGRCUbkEHensCtjlyS0U6pqybi6/+b7g93zbDgZmeqMW285QI5zEo7yN83ljivAQwNtGCkXOfj1f3CVgbazue4KjdDkV4tIF8jYZZjdnGd9O/J4tPBuDbGoxNPKsdnXdmnlP/Iv/oLy6waZGLK+EuEAkttXrbMOt7j43CZA3RQgIFu2mH5cbf8p9rOgfRJTbW9X4kWiDy+xrzighxLli1Yp8MTMVfV3URik0yocpFQcOLgCNgdkr/Kj2aSvqzTfmCWDLYk+ShdBzBILousPCHqKB2oMUNXb74dEIEAaufqhL0bWlcbDLFyNJZzOBgjSSjR1lTPKxZpy9B09rZbZoQrqG9iXj6y0HUfl1P6HTAGJ8qzV57PGGxN+MYJOgmNMukW/Ue67N2pMGmYwoStSKxdnfs42yZ7o6aiS1/Bx+WRvnH0yehoIg0lq56NZtYFDshPLmvmqZQ== 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:(13230022)(366004)(136003)(39860400002)(396003)(376002)(346002)(451199015)(36756003)(82960400001)(38100700002)(86362001)(2906002)(41300700001)(8936002)(4326008)(38070700005)(5660300002)(122000001)(83380400001)(66556008)(91956017)(76116006)(66946007)(66476007)(478600001)(6486002)(66446008)(316002)(2616005)(6916009)(71200400001)(8676002)(107886003)(186003)(64756008)(26005)(6512007)(6506007); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?ekVDTXVkcko5SWpxcENWWis0dTRQbzhvRVNNYndrMWxSWFpndmhaQWhrL2lK?= =?utf-8?B?KzBGdUdjbmxnYVhxTEcxcThkeExUUUlROXFxTy9RaFNDQ0F4L0ZmTXZycW1W?= =?utf-8?B?TnpkbkZ3eVpUSEZwaUpZenRmZitZVGhaQ3B4MnJWa01ScW5TMC9oN2lvSCsy?= =?utf-8?B?WVpaYnFBSTZDc2JDVTdWK0tUS0h1YWpwZVZ2WlFLQ1ZUZ2dhMm1rblpFTVFG?= =?utf-8?B?dDdtdk1iTEY1ODBKTjNac0ViNUR3aGVaTkkwVEZHOXovcCtnUCtUZU9kcTF6?= =?utf-8?B?WVJQM1RWYlVMNkNFUWxvM1Fkc3owSGd6YnJESGJ3c3N1VUVEQVF5ZVpMUWJq?= =?utf-8?B?RUdONklxR3QxVjQrbVpsVExvdlppSHFsQTVvMW9Vd0NtcEtPeGw3bnNvSG5F?= =?utf-8?B?Rmc4RHVJQlN5ZEpYM2hTcldHVlA0UUcyWStaQStyOVVrUE1oUTBUY1Rubjhm?= =?utf-8?B?WlIweXFTRzM5R25YN0ZHaGR3NEJoL1hoUzJ0MXFHSTN3a25pOERyeG9kT05u?= =?utf-8?B?cUNHU0NwOTdOT3NoVlp5WWZWMEpCS0ZYSlNvS2tIdzUvL0E4NU5xazIzRVJt?= =?utf-8?B?M0UvRVZsMmIzU0p0Mk9MVU1SMER3WktMQVUvQ3UrbjFXOHExZUxDR2dBanU4?= =?utf-8?B?akFSM2JmbUNKbi96Y1M0OEduT3hpeEtLZmdxamxNMzZjYmhYdXo2Mjd6RjZi?= =?utf-8?B?MEowWXVZYmg5Zmh3amhmT2NYZ0NMcEpUSURXbHJ3enpNL2tya0VvV3cweEkx?= =?utf-8?B?LzYxdHhEWWtuVXFHZUV5NHhWYWhTVVhHZU43aVlFVG5NY0xhMFBkWWVIZWlN?= =?utf-8?B?NUZwQTF3ZFk5dG9WQllSUnZUT283S254WnN3RU5sYk9KUmtUSXFvQ1Q4N0lL?= =?utf-8?B?VUR3bUpjRGw0NnA3SUQxMG1veFpyS3hzcXJib202czhjcXVWRzlTZmNlblMx?= =?utf-8?B?dU9PYTF5bE00bm55dUxISjc2RFZrMTdZaFRWMVBlb05HM3BhNnd5aWpMcFdI?= =?utf-8?B?TnVlaHlRY1RYMUVobFhiZTRXY3dPOVlWUmowdmt3MVQxdk51QmkvRUVyWmd2?= =?utf-8?B?ZVozVFhtMFJsZlhCdktiSDhSL0FKR20vejBqN1ZTTU04RXZtaDBEZGxZMmZ5?= =?utf-8?B?eW1WU2VwdWFoUkYzbHcxME5rM2RCTm1GbFU5ZitkV2FPWmw0NU1tUzQreGkx?= =?utf-8?B?TDB1ZUxGMzBJN1RUV2RsTlUxVmRwZmJ6aVk2azFxK3RESTVXQmJRNFpnaHdQ?= =?utf-8?B?b2VtS05WcmxxUVJuSnBRUDdZQ3MzNlZ1WHpqNWxKRU9TdmpiWWRIMkx1US9u?= =?utf-8?B?RWtyM3Fra09GVnZFekM4Q1FPV0U5NENlMVFiNFJSNE9QQTZ4L2Y2azlKWTJs?= =?utf-8?B?cEVBWXdjRWV1M3BRUkJDdjJNOFRlbXdaWk9FV3FvZWxCYkJ1emwxdTI3T2pI?= =?utf-8?B?Wkt5M3hVeE50U2dUc0JpaE9mMVFkQ2o0RVc5aEtaUjBVRTU4QXZwMHlNMG83?= =?utf-8?B?SjBJN0N3NG1RdFkvL0oweWdRekNieW5LckFIc0F0RjkvU0tJbDAzOHZYZGx4?= =?utf-8?B?V2RQNUo1YmZWWC9IVkhrUGJQRld6REs1c3MwU09zRjdqREN5YlFuNmtxZTRB?= =?utf-8?B?WU44MURIU1d1U0JINnhRS04vWnVQWlhpcjNlOG0wWXByRmlmcW56TW8yVFVL?= =?utf-8?B?NkVIajJKeExCTlhxajcwZDdxdjhkamxYVGZEN2ZJWWU1cGpZNFl6bGNZcU4r?= =?utf-8?B?QWZjNExOdzRoUVltdEJTb242RjRSM2hLZVc4VE00UVpFV2ZhbGp0NXlJakU4?= =?utf-8?B?MVVtSEV0TGlkaFdSS0hTRFRxWGEvQTJWeS9TUmJ2Z2grL3JLTVRnV0ZLZHhQ?= =?utf-8?B?RWVPeElWTGF0Nm5sd3MweE4vdWRTMXJKM3A3c0VIVi85Q3VKQzNwTE1qcm5C?= =?utf-8?B?MU54Qko5cDBJZ2tlRFNEcVRUNmEwR0dheTlvTXQwYWRUOGF1ZStOYmNyNkU0?= =?utf-8?B?WWt0YVVvZ0tBcXVxZHdTdnM4RHIzMWEvbWxOUUd4MGh2WmpMUWY3T1BHbjFS?= =?utf-8?B?NGJ3d1QvSEhUUHJmNVJRV0FIVGo1L1NZOS84dks0YWRURTNwT2JKOGFXaS82?= =?utf-8?B?NlVVS1cvR1d2aCs2dnlkN1ZyQ0JobklEREVLTTRZdExqSTBJWGdEeWVRK3d4?= =?utf-8?B?WVE9PQ==?= Content-ID: 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: 13ebb88b-64f5-4d3c-eff6-08dad6876980 X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Dec 2022 06:10:30.5176 (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: se3Gwnv+NpS3nw2Q/nfXuNfQqAjXbCW5kjLUVfUG5kbF8jZXuwj8a0gMU6dAZfWXu0UcJNgYnSoNbLuyLmkt7A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO1PR11MB4899 X-OriginatorOrg: intel.com Subject: Re: [FFmpeg-devel] [PATCH v2] libavfilter/qsvvpp: Use different alignment for YUV420P format 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 Cc: "Chen, Wenbin" 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 Do, 2022-12-01 at 10:48 +0800, wenbin.chen-at-intel.com@ffmpeg.org wrote: > From: Wenbin Chen > > When process yuv420 frames, FFmpeg uses same alignment on Y/U/V > planes. VPL and MSDK use Y plane's pitch / 2 as U/V planes's > pitch, which makes U/V planes 16-bytes aligned. We need to set > a separate alignment to meet runtime's behaviour. > > Now alignment is changed to 16 so that the linesizes of U/V planes > meet the requirment of VPL/MSDK. Add get_buffer.video callback to > qsv filters to change the default get_buffer behaviour. > > Now the commandline works fine: > ffmpeg -f rawvideo -pix_fmt yuv420p -s:v 3082x1884 \ > -i ./3082x1884.yuv -vf 'vpp_qsv=w=2466:h=1508' -f rawvideo \ > -pix_fmt yuv420p 2466_1508.yuv > > Signed-off-by: Wenbin Chen > --- > libavfilter/qsvvpp.c | 13 +++++++++++++ > libavfilter/qsvvpp.h | 1 + > libavfilter/vf_deinterlace_qsv.c | 1 + > libavfilter/vf_overlay_qsv.c | 2 ++ > libavfilter/vf_scale_qsv.c | 1 + > libavfilter/vf_vpp_qsv.c | 1 + > 6 files changed, 19 insertions(+) > > diff --git a/libavfilter/qsvvpp.c b/libavfilter/qsvvpp.c > index 8428ee89ab..d5cfeab402 100644 > --- a/libavfilter/qsvvpp.c > +++ b/libavfilter/qsvvpp.c > @@ -1003,3 +1003,16 @@ int ff_qsvvpp_create_mfx_session(void *ctx, > } > > #endif > + > +AVFrame *ff_qsvvpp_get_video_buffer(AVFilterLink *inlink, int w, int h) > +{ > + /* When process YUV420 frames, FFmpeg uses same alignment on Y/U/V > + * planes. VPL and MSDK use Y plane's pitch / 2 as U/V planes's > + * pitch, which makes U/V planes 16-bytes aligned. We need to set a > + * separate alignment to meet runtime's behaviour. > + */ > + return ff_default_get_video_buffer2(inlink, > + FFALIGN(inlink->w, 32), > + FFALIGN(inlink->h, 32), > + 16); It uses the same alignment for all formats, which is conflicted with the title. Thanks Haihao > +} > diff --git a/libavfilter/qsvvpp.h b/libavfilter/qsvvpp.h > index a8cfcc565a..6f7c9bfc15 100644 > --- a/libavfilter/qsvvpp.h > +++ b/libavfilter/qsvvpp.h > @@ -127,4 +127,5 @@ int ff_qsvvpp_print_warning(void *log_ctx, mfxStatus err, > int ff_qsvvpp_create_mfx_session(void *ctx, void *loader, mfxIMPL > implementation, > mfxVersion *pver, mfxSession *psession); > > +AVFrame *ff_qsvvpp_get_video_buffer(AVFilterLink *inlink, int w, int h); > #endif /* AVFILTER_QSVVPP_H */ > diff --git a/libavfilter/vf_deinterlace_qsv.c > b/libavfilter/vf_deinterlace_qsv.c > index 98ed7283ad..6c94923f02 100644 > --- a/libavfilter/vf_deinterlace_qsv.c > +++ b/libavfilter/vf_deinterlace_qsv.c > @@ -581,6 +581,7 @@ static const AVFilterPad qsvdeint_inputs[] = { > .name = "default", > .type = AVMEDIA_TYPE_VIDEO, > .filter_frame = qsvdeint_filter_frame, > + .get_buffer.video = ff_qsvvpp_get_video_buffer, > }, > }; > > diff --git a/libavfilter/vf_overlay_qsv.c b/libavfilter/vf_overlay_qsv.c > index d947a1faa1..1a2c1b1e96 100644 > --- a/libavfilter/vf_overlay_qsv.c > +++ b/libavfilter/vf_overlay_qsv.c > @@ -399,11 +399,13 @@ static const AVFilterPad overlay_qsv_inputs[] = { > .name = "main", > .type = AVMEDIA_TYPE_VIDEO, > .config_props = config_main_input, > + .get_buffer.video = ff_qsvvpp_get_video_buffer, > }, > { > .name = "overlay", > .type = AVMEDIA_TYPE_VIDEO, > .config_props = config_overlay_input, > + .get_buffer.video = ff_qsvvpp_get_video_buffer, > }, > }; > > diff --git a/libavfilter/vf_scale_qsv.c b/libavfilter/vf_scale_qsv.c > index 758e730f78..36d5f3a6ec 100644 > --- a/libavfilter/vf_scale_qsv.c > +++ b/libavfilter/vf_scale_qsv.c > @@ -641,6 +641,7 @@ static const AVFilterPad qsvscale_inputs[] = { > .name = "default", > .type = AVMEDIA_TYPE_VIDEO, > .filter_frame = qsvscale_filter_frame, > + .get_buffer.video = ff_qsvvpp_get_video_buffer, > }, > }; > > diff --git a/libavfilter/vf_vpp_qsv.c b/libavfilter/vf_vpp_qsv.c > index 4a053f9145..b26d19c3bc 100644 > --- a/libavfilter/vf_vpp_qsv.c > +++ b/libavfilter/vf_vpp_qsv.c > @@ -634,6 +634,7 @@ static const AVFilterPad vpp_inputs[] = { > .name = "default", > .type = AVMEDIA_TYPE_VIDEO, > .config_props = config_input, > + .get_buffer.video = ff_qsvvpp_get_video_buffer, > }, > }; > _______________________________________________ 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".