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 1A23644A5F for ; Wed, 7 Dec 2022 01:52:52 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 16A8268BDC0; Wed, 7 Dec 2022 03:52:51 +0200 (EET) Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id E9A7268BDB8 for ; Wed, 7 Dec 2022 03:52:43 +0200 (EET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1670377969; x=1701913969; h=from:to:subject:date:message-id:references:in-reply-to: content-id:content-transfer-encoding:mime-version; bh=oMdDUzM2Nluu9CQo2XIAUvzbYAl/WJIbyrhKctkefsk=; b=PeYK1JQudkLpIhf34VtQLRRWaXVhTTLQw9bZrvuE5OUikqfbO60gYXEj 4VroJvKieYgHTPn8+Rk/upaxypn/BIDYt27gBYXsfzTXjKKpcB1wjtco0 S3CoJk4j2l0c3amRpB987Bk8TSAAhE3DTdSA2Z80gjPcC47qVKOlwaCKd /BSZNZQttQ/4n1KtSEHQtaR3jfVN3jrDjAUl5Twh8Zjg4BJwqI+8+7ewv p5PAaapaL0evJPgEOWaXT2MPcNISKQUqAw33PQ8xjzAayN4q6EXmS9kFd xI3F/O3tjma4n+GvtZ+sFBmwn3uInWtryNtN9hfxRREfJx4trXiJrahID g==; X-IronPort-AV: E=McAfee;i="6500,9779,10553"; a="315495171" X-IronPort-AV: E=Sophos;i="5.96,223,1665471600"; d="scan'208";a="315495171" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 06 Dec 2022 17:52:41 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10553"; a="788709963" X-IronPort-AV: E=Sophos;i="5.96,223,1665471600"; d="scan'208";a="788709963" Received: from orsmsx601.amr.corp.intel.com ([10.22.229.14]) by fmsmga001.fm.intel.com with ESMTP; 06 Dec 2022 17:52:40 -0800 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) 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.2507.16; Tue, 6 Dec 2022 17:52:40 -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; Tue, 6 Dec 2022 17:52:40 -0800 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (104.47.58.106) 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; Tue, 6 Dec 2022 17:52:39 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=HzJ5Ztl77v5/1Wjbe9B0FoRm5CRlkWha1YvM37wuUu++kD++XYrrarJmTsHFVv2rdn7B2rAO0pRABk30vGAPFXJEKEGgIl4+y5a0WhlTIZbdVURutZDYLk+FL7eChM2hhiihpf+BGJW2t0ZuFqoBCAoTPAVrspVZxY3Fvg+Az6gkN9Wtdyo5xh9ipnJo1CrhJujkQCVQSuPE/RxwH31EbCYKPNlEDHNpGEcpv2NL0EKrMDio6hk6LF/x+W+gDeHg6yxKm/4A3Kni182VQF0HpSesVLBJJZA9xTHgVsMqMI4k7oZHVEnINjWdWTRiP8VjkCK7q+TwSc4wVJsiquXLyQ== 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=oMdDUzM2Nluu9CQo2XIAUvzbYAl/WJIbyrhKctkefsk=; b=ZPv+Q2U98405zZLAzsJO17kx1GlBmnFXrL604SpcYfHuEpy1o3sBQefb0ST+dehDtyAojdlvqawEnKimu0hE19MWMIWtVtXzzgS1N3HgsqXx57sXtjbBhldr5lGs8OxFSJl238FlPGgEtS0OH8gIdJeuN9WzEcpaCEZRIw1LmksYs+m7VLRR95Ratzj/PyUOwKNIcZ4wUE6uhwSRKe0it6e9BMX5SEod0aH5dGNxuwKg6zaf53Pm2y6tqEuRN/cqzWly0aYSmV7PFVrEIcNuCaRJe3Odc9yBjbt8J/OM27sKsDmLrfOMTT3cgA+7K47A6tSOLauXuQtDTomOfw+6Qw== 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 SA1PR11MB6823.namprd11.prod.outlook.com (2603:10b6:806:2b0::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14; Wed, 7 Dec 2022 01:52:37 +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.014; Wed, 7 Dec 2022 01:52:37 +0000 From: "Xiang, Haihao" To: "ffmpeg-devel@ffmpeg.org" Thread-Topic: [FFmpeg-devel][PATCH] lavfi/vf_vpp_qsv: use macros for extra mfx parameter Thread-Index: AQHZCHJm9+fobA5gOEirGd2GFpuAk65hrEEA Date: Wed, 7 Dec 2022 01:52:37 +0000 Message-ID: <703631df0ea03559e4efc0f2708e53cf20889dec.camel@intel.com> References: <20221205062508.2922-1-haihao.xiang@intel.com> In-Reply-To: <20221205062508.2922-1-haihao.xiang@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_|SA1PR11MB6823:EE_ x-ms-office365-filtering-correlation-id: 27a306fc-4062-4669-451a-08dad7f5b7db x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: DNVX4uQpR2TTpZ9VY5ZlndVeJE/QuT8KA9O98MB+wJ7wuhcmht8Aw4wYovclgp0HIJ5Rvj6nj2EN3Iqx0kshSyYBkAjy7T5TxVJlF13x+4Ff8PC4W9cmNanLnVFdk7d3GFngq8aocmULK07aJt3CZyd/EpvM5JBvJXCCA+HSwSOHwxvn/fg52P4x+2+PyxFdntfHKWt3L8zzl54VsrfigDGHUGf8X2KSfLKM3G1EO9ELMfUa26C2GfU4rrPYg4E8Yv3fRXDshGzktUlecMXM+y7t6j7t1k5YfJh3FzZq0cRXRiQmB3R4J6PriDvZGd0wc0WsoG1duVHSp1ZpIbjkQklJsRJx2iriV1+qKZ5+Rb79jwW3kyln/T3e483BZ9pBno8b7nTJwM5Ecw5SMeZi3+1FnOUqFig9sHy1Tf1V0gH68oxmodhEbUHOTphZ1b0zXREe0vpf3wuNyWRCV4ZvLm5hhVc+KhzJEFxRc0duBqhcPm1Ek7o1X1oMLyjZAFcMGlOdPYLaG/TBsBjEAXVoqopNqwKOhELax+1+yu7RkSuEDj/cFFtuFhdYVG9WwNyOMP327MhMOT/RiLrmM3NrovcxA8hNqsRX5cStk3C1qGDK3nDW+zgSTz1nX7HXmaezjERyQPMmC/83wDxiHs+dzewcDRRyO1eDReH3bODlo0Quj6eazCVScJHCqHDWYU/47d9S2mQAZczvREs7YuPD8A== 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)(376002)(39860400002)(366004)(136003)(346002)(396003)(451199015)(36756003)(38070700005)(2906002)(5660300002)(82960400001)(2616005)(86362001)(83380400001)(38100700002)(122000001)(8676002)(316002)(478600001)(6486002)(41300700001)(186003)(26005)(6512007)(6506007)(8936002)(71200400001)(6916009)(91956017)(66556008)(76116006)(64756008)(66476007)(66946007)(66446008); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?UmdJbHo0SGpxQ09ma1IyeVZOMUQvdC9wVlR0NDR5a1drUlppSkY1bmUzdHln?= =?utf-8?B?NDU0R05NalFkU2dVTHQ4eXNnbnZ2OVBqQ0pzcmJZWmowdmZpYVA2RFoycXls?= =?utf-8?B?MXUyZEZraTlSTGNIcWprdWdHeXhYY0VuNXBlQStsbWZDS3ZIUkJiQnkwY3Rj?= =?utf-8?B?dkIxSVVuNFBiZW5kMGdMM1ZQbkpnWFZSRjdTbTcwUEI2QjhXbjZpeHR2R3ly?= =?utf-8?B?Y2lzb2Yvakc4bTNCSmUyTFRWOU5GVkhxYk9xWEtiS1dOckdGd2xvdHMzT1Zs?= =?utf-8?B?ZFM1UEJvZDU3ZnJsY0JuS29jbTBVN2hRWm4rOEJ5S3gwRForUGhoM3l1cmJy?= =?utf-8?B?RXlMK3NwMEVhbzJaYmFUaUN6YU1CNjRxNURpNWVmcGhMTkQzRnJSbS9tN3pB?= =?utf-8?B?QjFucHNYaGRpdnpDNVNVRVY0VngvTVFVNkVRVDdjWGdxbGYxeDhOVTBxY2ZE?= =?utf-8?B?Qkg2WnIyOS8zNVlNWS81UHdiQ2hmWkFVQ0h6Rm5Xam5Qa2lRQVA2a1YwQXhu?= =?utf-8?B?TmtVUzk1dkVKQTE0QUJRWU10L1lsaU1xY0RGVlRUbGFsdEV3WnNhODhWcXNm?= =?utf-8?B?dUx2UXhMU0g4WlBMNWpPSmNNNnFsOHdteGVYaGhLcXRXY3VVcU5UOFVrT1B6?= =?utf-8?B?SlJTdDFuT1BCa2xaRWR0SjdVeXZrTys2Q29nSGtnNitldGJzVHU2MWcwbVFF?= =?utf-8?B?WFlMYzlHSEhORnA4SXJETHdSOFVIZ28rai9OZkJWSDg3TnJrWnhGWVZFVGRY?= =?utf-8?B?V0FteXlPYzJFeXgrQWJLamtXZkpsa0NSbVIvTVY2a3BlR0FsbDYrMERicGhz?= =?utf-8?B?RWxlSTBsMk5QM1JIQlVMSVN5ekZneCtlUlE0cXoxVkpTNHRhMXEwZUppaDNC?= =?utf-8?B?UUxCMWk5NFgrRVJTY1BXcWZFQlYyWTVHRS9HYnIyck9PamZmRVpKSFF5K0x4?= =?utf-8?B?ZXJ2Sk5iZVMwMk9CWVY1QStqcGpjT1oyN0M5d1RvSHRqQUNiS2JLczdZWGQw?= =?utf-8?B?b2QxcTkrVUJORnhFZDdyTzltQkcwSjdwdk1OWk45SitYNkh1SUVxN1ZBcGVG?= =?utf-8?B?d3J1WU1oWElNbzc2Y1VHbjB4bXNrN2dIOUJPQ2tER0sxY0VrWUtPRlZRRHhM?= =?utf-8?B?RGVHcUZNN29EcWVJMTRKSHFiV29ibEFnZmNkck1QZXNPZkVtb0piY3dleGda?= =?utf-8?B?bFg2ZXgwaUI1dG9PbGVHNXFrWXM4TVRNWExtVHNZdkIvZUY5TlU1SHlNWHB3?= =?utf-8?B?MjBFc3Q5bENZZ3Q1a0c3L3paSmlENTc1aFJCNFpPM29ZNVp0YVZtblVlQnZj?= =?utf-8?B?UFVKOHNTZTQ2MU5VZkQ4eXZNTU11clNkbjJKYW5LWExaRS9WM0t4VWpkalA3?= =?utf-8?B?ZE45ZzFVRm8vWWo1Z2pVYzRGMW5pZm9MZGFjTm9NOXRSZHQ5WTJYRzYzcmpv?= =?utf-8?B?NFByN0hpSzN4UDBNQUNvWjhJUFBjZmtxY1o5ZkNzSFJHR1NIUGNUdkRoejZL?= =?utf-8?B?b3V6dGQ4NnZMZ2FTakNpSFNOY0t0V2t4bVozelc5SnBlRVA5SDJPbU5YcXgv?= =?utf-8?B?TGJhUGJBSm5LUEJiUVVUbUphWnpTQnVmd2IwS0Y5eGNOSUp6NnMraEpFa25y?= =?utf-8?B?aEY3d2xhbkFrUFNQM3d5Tnh2NVVRZUhRS3l6N0lLVXlJUjIzTWdOR0pNNk02?= =?utf-8?B?TDVmUVJJWTllUk1MWHV6OXRFUjJmT1hGR3U0VUM1aGZwMTlYcGh2djlBRjVO?= =?utf-8?B?MmhBdkVIUDFqSGh0NWozclkxNjh6eFViRURCN2Vpei9jSnJ2VUgyRGxsT1pP?= =?utf-8?B?dkU3S2NoeUM4Y1ZXSTZDK2FYTTZ4L0s5M3dvaGk1QzhROHJBK1h1R2lGbEpP?= =?utf-8?B?ZWVOcXlTZjlTTnJvTSswdm1idEdjc3FNTmZrR3IyektRK0d4UW1mbzY3MWJR?= =?utf-8?B?K1ZhdzNsNXorNXgyd3dkOTlaMGtzT3h0ZExCZUtwajQrNnZVRHJqdGFDL0F6?= =?utf-8?B?VnEvRU9IRnZJc2FYWFFzM0NzQXkzaFhPd0NsMGc2dEk4N1NNS29VRDJNS3h4?= =?utf-8?B?MlVrT2FGcXlvUDJoTTNTOHR0NWtKYzIrS0dwUFlYOGhMdFl6bVFFZ2dmNVBM?= =?utf-8?B?blBkVnFHTFJ4bnB4L3hvS1dXcWNqR0hvT1QzZ1NiTVRkaTRZWVh1ZDhOMTNL?= =?utf-8?B?Z3c9PQ==?= Content-ID: <1BD0A8ABC1CB664F92BE5A694BC7B7F0@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: 27a306fc-4062-4669-451a-08dad7f5b7db X-MS-Exchange-CrossTenant-originalarrivaltime: 07 Dec 2022 01:52:37.7281 (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: HYL5fGZG+fMtGFXuB5YiODm/OBog7yRp2uwoJDapuqjgDGBjxA2LqFHwoPD0UTAxPyeagSVuLFK0XYtFKCNEDg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR11MB6823 X-OriginatorOrg: intel.com Subject: Re: [FFmpeg-devel] [PATCH] lavfi/vf_vpp_qsv: use macros for extra mfx parameter 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 Ma, 2022-12-05 at 14:25 +0800, Xiang, Haihao wrote: > From: Haihao Xiang > > Make it easy to add new extra mfx parameter buffer. No functional > change. > > Signed-off-by: Haihao Xiang > --- > libavfilter/vf_vpp_qsv.c | 86 ++++++++++++++++------------------------ > 1 file changed, 34 insertions(+), 52 deletions(-) > > diff --git a/libavfilter/vf_vpp_qsv.c b/libavfilter/vf_vpp_qsv.c > index a14b3de7b5..61ea0c4256 100644 > --- a/libavfilter/vf_vpp_qsv.c > +++ b/libavfilter/vf_vpp_qsv.c > @@ -365,53 +365,44 @@ static int config_output(AVFilterLink *outlink) > param.crop = &crop; > } > > - if (vpp->deinterlace) { > - memset(&vpp->deinterlace_conf, 0, sizeof(mfxExtVPPDeinterlacing)); > - vpp->deinterlace_conf.Header.BufferId = > MFX_EXTBUFF_VPP_DEINTERLACING; > - vpp->deinterlace_conf.Header.BufferSz = > sizeof(mfxExtVPPDeinterlacing); > - vpp->deinterlace_conf.Mode = vpp->deinterlace == 1 ? > - MFX_DEINTERLACING_BOB : > MFX_DEINTERLACING_ADVANCED; > +#define INIT_MFX_EXTBUF(extbuf, id) do { \ > + memset(&vpp->extbuf, 0, sizeof(vpp->extbuf)); \ > + vpp->extbuf.Header.BufferId = id; \ > + vpp->extbuf.Header.BufferSz = sizeof(vpp->extbuf); \ > + param.ext_buf[param.num_ext_buf++] = (mfxExtBuffer*)&vpp->extbuf; \ > + } while (0) > + > +#define SET_MFX_PARAM_FIELD(extbuf, field, value) do { \ > + vpp->extbuf.field = value; \ > + } while (0) > > - param.ext_buf[param.num_ext_buf++] = (mfxExtBuffer*)&vpp- > >deinterlace_conf; > + if (vpp->deinterlace) { > + INIT_MFX_EXTBUF(deinterlace_conf, MFX_EXTBUFF_VPP_DEINTERLACING); > + SET_MFX_PARAM_FIELD(deinterlace_conf, Mode, (vpp->deinterlace == 1 ? > + MFX_DEINTERLACING_BOB : > MFX_DEINTERLACING_ADVANCED)); > } > > if (vpp->use_frc) { > - memset(&vpp->frc_conf, 0, sizeof(mfxExtVPPFrameRateConversion)); > - vpp->frc_conf.Header.BufferId = > MFX_EXTBUFF_VPP_FRAME_RATE_CONVERSION; > - vpp->frc_conf.Header.BufferSz = sizeof(mfxExtVPPFrameRateConversion); > - vpp->frc_conf.Algorithm = MFX_FRCALGM_DISTRIBUTED_TIMESTAMP; > - > - param.ext_buf[param.num_ext_buf++] = (mfxExtBuffer*)&vpp->frc_conf; > + INIT_MFX_EXTBUF(frc_conf, MFX_EXTBUFF_VPP_FRAME_RATE_CONVERSION); > + SET_MFX_PARAM_FIELD(frc_conf, Algorithm, > MFX_FRCALGM_DISTRIBUTED_TIMESTAMP); > } > > if (vpp->denoise) { > - memset(&vpp->denoise_conf, 0, sizeof(mfxExtVPPDenoise)); > - vpp->denoise_conf.Header.BufferId = MFX_EXTBUFF_VPP_DENOISE; > - vpp->denoise_conf.Header.BufferSz = sizeof(mfxExtVPPDenoise); > - vpp->denoise_conf.DenoiseFactor = vpp->denoise; > - > - param.ext_buf[param.num_ext_buf++] = (mfxExtBuffer*)&vpp- > >denoise_conf; > + INIT_MFX_EXTBUF(denoise_conf, MFX_EXTBUFF_VPP_DENOISE); > + SET_MFX_PARAM_FIELD(denoise_conf, DenoiseFactor, vpp->denoise); > } > > if (vpp->detail) { > - memset(&vpp->detail_conf, 0, sizeof(mfxExtVPPDetail)); > - vpp->detail_conf.Header.BufferId = MFX_EXTBUFF_VPP_DETAIL; > - vpp->detail_conf.Header.BufferSz = sizeof(mfxExtVPPDetail); > - vpp->detail_conf.DetailFactor = vpp->detail; > - > - param.ext_buf[param.num_ext_buf++] = (mfxExtBuffer*)&vpp- > >detail_conf; > + INIT_MFX_EXTBUF(detail_conf, MFX_EXTBUFF_VPP_DETAIL); > + SET_MFX_PARAM_FIELD(detail_conf, DetailFactor, vpp->detail); > } > > if (vpp->procamp) { > - memset(&vpp->procamp_conf, 0, sizeof(mfxExtVPPProcAmp)); > - vpp->procamp_conf.Header.BufferId = MFX_EXTBUFF_VPP_PROCAMP; > - vpp->procamp_conf.Header.BufferSz = sizeof(mfxExtVPPProcAmp); > - vpp->procamp_conf.Hue = vpp->hue; > - vpp->procamp_conf.Saturation = vpp->saturation; > - vpp->procamp_conf.Contrast = vpp->contrast; > - vpp->procamp_conf.Brightness = vpp->brightness; > - > - param.ext_buf[param.num_ext_buf++] = (mfxExtBuffer*)&vpp- > >procamp_conf; > + INIT_MFX_EXTBUF(procamp_conf, MFX_EXTBUFF_VPP_PROCAMP); > + SET_MFX_PARAM_FIELD(procamp_conf, Hue, vpp->hue); > + SET_MFX_PARAM_FIELD(procamp_conf, Saturation, vpp->saturation); > + SET_MFX_PARAM_FIELD(procamp_conf, Contrast, vpp->contrast); > + SET_MFX_PARAM_FIELD(procamp_conf, Brightness, vpp->brightness); > } > > if (vpp->transpose >= 0) { > @@ -458,18 +449,14 @@ static int config_output(AVFilterLink *outlink) > > if (vpp->rotate) { > if (QSV_RUNTIME_VERSION_ATLEAST(mfx_version, 1, 17)) { > - memset(&vpp->rotation_conf, 0, sizeof(mfxExtVPPRotation)); > - vpp->rotation_conf.Header.BufferId = MFX_EXTBUFF_VPP_ROTATION; > - vpp->rotation_conf.Header.BufferSz = sizeof(mfxExtVPPRotation); > - vpp->rotation_conf.Angle = vpp->rotate; > + INIT_MFX_EXTBUF(rotation_conf, MFX_EXTBUFF_VPP_ROTATION); > + SET_MFX_PARAM_FIELD(rotation_conf, Angle, vpp->rotate); > > if (MFX_ANGLE_90 == vpp->rotate || MFX_ANGLE_270 == vpp->rotate) > { > FFSWAP(int, vpp->out_width, vpp->out_height); > FFSWAP(int, outlink->w, outlink->h); > av_log(ctx, AV_LOG_DEBUG, "Swap width and height for > clock/cclock rotation.\n"); > } > - > - param.ext_buf[param.num_ext_buf++] = (mfxExtBuffer*)&vpp- > >rotation_conf; > } else { > av_log(ctx, AV_LOG_WARNING, "The QSV VPP rotate option is " > "not supported with this MSDK version.\n"); > @@ -479,12 +466,8 @@ static int config_output(AVFilterLink *outlink) > > if (vpp->hflip) { > if (QSV_RUNTIME_VERSION_ATLEAST(mfx_version, 1, 19)) { > - memset(&vpp->mirroring_conf, 0, sizeof(mfxExtVPPMirroring)); > - vpp->mirroring_conf.Header.BufferId = MFX_EXTBUFF_VPP_MIRRORING; > - vpp->mirroring_conf.Header.BufferSz = sizeof(mfxExtVPPMirroring); > - vpp->mirroring_conf.Type = vpp->hflip; > - > - param.ext_buf[param.num_ext_buf++] = (mfxExtBuffer*)&vpp- > >mirroring_conf; > + INIT_MFX_EXTBUF(mirroring_conf, MFX_EXTBUFF_VPP_MIRRORING); > + SET_MFX_PARAM_FIELD(mirroring_conf, Type, vpp->hflip); > } else { > av_log(ctx, AV_LOG_WARNING, "The QSV VPP hflip option is " > "not supported with this MSDK version.\n"); > @@ -494,17 +477,16 @@ static int config_output(AVFilterLink *outlink) > > if (inlink->w != outlink->w || inlink->h != outlink->h || in_format != > vpp->out_format) { > if (QSV_RUNTIME_VERSION_ATLEAST(mfx_version, 1, 19)) { > - memset(&vpp->scale_conf, 0, sizeof(mfxExtVPPScaling)); > - vpp->scale_conf.Header.BufferId = MFX_EXTBUFF_VPP_SCALING; > - vpp->scale_conf.Header.BufferSz = sizeof(mfxExtVPPScaling); > - vpp->scale_conf.ScalingMode = vpp->scale_mode; > - > - param.ext_buf[param.num_ext_buf++] = (mfxExtBuffer*)&vpp- > >scale_conf; > + INIT_MFX_EXTBUF(scale_conf, MFX_EXTBUFF_VPP_SCALING); > + SET_MFX_PARAM_FIELD(scale_conf, ScalingMode, vpp->scale_mode); > } else > av_log(ctx, AV_LOG_WARNING, "The QSV VPP Scale & format > conversion " > "option is not supported with this MSDK version.\n"); > } > > +#undef INIT_MFX_EXTBUF > +#undef SET_MFX_PARAM_FIELD > + > if (vpp->use_frc || vpp->use_crop || vpp->deinterlace || vpp->denoise || > vpp->detail || vpp->procamp || vpp->rotate || vpp->hflip || > inlink->w != outlink->w || inlink->h != outlink->h || in_format != > vpp->out_format) Will apply, -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".