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 6A31F4AF14 for ; Tue, 28 May 2024 22:53:28 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 13A6168D27F; Wed, 29 May 2024 01:53:26 +0300 (EEST) Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.12]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 2428168CFAB for ; Wed, 29 May 2024 01:53:18 +0300 (EEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1716936804; x=1748472804; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=Y5589yU7LFk0YKFEuIYkOyoNqPUyzh9VYWSjZp8f/VA=; b=S1O/rsWK9cYw3MjFCbAhph+fRlEOcaMpCkyIaxlCirwrE6/WyVvpexNF nAvgRQ2/RkVcfBnjUO7U3q46CN4FpE3ZmZ17VbPlSCpufqZKuk6FAcr9z JzuxexzCQsHZoxDe1UXdVjlDmj9/WKQps5ddkml2JtJkE6IvQ7jQUnWj2 pTLBQbq5Lz1jgsFTEdUvBLH898pAWHrskPNUO8cJkYhr76IGjdIFtbwtE ZdZv0ss2rS5JhEa+UnZ/jJE5wv0RG/NW6spJ5PSTv5NeMTG4u342SqTB3 w0HP8/625exa5OC1ZHBQLRJdBnQk15Ty/iLJDjy/TG7ucLIuyx/JyuTDQ w==; X-CSE-ConnectionGUID: UAlR+GjKRISbgy+redewdA== X-CSE-MsgGUID: bWkFc5ovQJq7zIdw4xhoGA== X-IronPort-AV: E=McAfee;i="6600,9927,11085"; a="17150159" X-IronPort-AV: E=Sophos;i="6.08,196,1712646000"; d="scan'208";a="17150159" Received: from orviesa010.jf.intel.com ([10.64.159.150]) by fmvoesa106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 May 2024 15:53:15 -0700 X-CSE-ConnectionGUID: a9IKAFCBQ0Kzz1OvRDdkEg== X-CSE-MsgGUID: PMZ/62TFRR2v3N7OEtUGhw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.08,196,1712646000"; d="scan'208";a="35147014" Received: from fmsmsx602.amr.corp.intel.com ([10.18.126.82]) by orviesa010.jf.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 28 May 2024 15:53:16 -0700 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) by fmsmsx602.amr.corp.intel.com (10.18.126.82) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Tue, 28 May 2024 15:53:15 -0700 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) by fmsmsx610.amr.corp.intel.com (10.18.126.90) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Tue, 28 May 2024 15:53:14 -0700 Received: from FMSEDG603.ED.cps.intel.com (10.1.192.133) by fmsmsx610.amr.corp.intel.com (10.18.126.90) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39 via Frontend Transport; Tue, 28 May 2024 15:53:14 -0700 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (104.47.55.169) by edgegateway.intel.com (192.55.55.68) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.39; Tue, 28 May 2024 15:53:14 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=lZ+bAMtnZtgO80FxnyuApkhBbfTtk6hQVq+8pjtHVO6raYhVhkO0ryfdthFxPDsfr9t2nkYPYJG7XHDO9m+I6q0rV88hH4sRCFVpBZtcfFbVRw84yQAg+LR48fRJJJ9BSAjF482jaqo72NZUbd4nZwBYbxZbgnOADwPweOy0kGT8uR+CU/nDwwA9saGl6vxf14wIoBOPSVfH1WhguuqfmKFmEzFfJgxIwQOuehSib8rxIJ4tieO3nCDKvUnetuJIY4pwwf9juAUClwD/P7ELr86FBTtvJVJw8a0Tzyjl/MAcJN6dqscF96/i6UCjgBdlrZmBDIuB5Dhdc6Z5jVe2ag== 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=Y5589yU7LFk0YKFEuIYkOyoNqPUyzh9VYWSjZp8f/VA=; b=DPPQSpWiZg0hID+fjvqyY+4yQDIeUPiojZmYUAypP7P/clkt/e/OrCcsyetSJbKROqzYRpXKt7jMLY/vhGOfpuHcQ4fCeKYx5RYvcT1XlDUpOuMQAKnESJZzWbJS2wszjWAcz/rNBmxJOghduPqp/wAJWmnyiv05IqgyTuESONESIPVMgnzmKzu77Xalv3ZwSTjijHi0JTmBmRVMn88ONxKWqDn4TOxGn65p69vzthv4kf6qH0+XoZzG4GRJqbJ3pWxACYjIsuKKwOzA02P/x6qBptiO8ZMmqBDBATYjwar2FfDIVZnKkhOGq1QZLusd9RSR0QQvwITFFfKMJ+Kg7g== 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 CH3PR11MB8659.namprd11.prod.outlook.com (2603:10b6:610:1cf::5) by DM4PR11MB7303.namprd11.prod.outlook.com (2603:10b6:8:108::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7611.30; Tue, 28 May 2024 22:53:09 +0000 Received: from CH3PR11MB8659.namprd11.prod.outlook.com ([fe80::7037:678a:eb45:ac6c]) by CH3PR11MB8659.namprd11.prod.outlook.com ([fe80::7037:678a:eb45:ac6c%3]) with mapi id 15.20.7611.030; Tue, 28 May 2024 22:53:08 +0000 From: "Wu, Tong1" To: FFmpeg development discussions and patches Thread-Topic: [FFmpeg-devel] [PATCH v12 15/15] avcodec/hw_base_encode: add avctx pointer for FFHWBaseEncodeContext Thread-Index: AQHasRk+OBYx+ig4bECsScYb4/KGVbGtP+sQ Date: Tue, 28 May 2024 22:53:08 +0000 Message-ID: References: <20240528154807.1151-1-tong1.wu@intel.com> <20240528154807.1151-15-tong1.wu@intel.com> <3c6857f5-5c29-440c-a13d-8130296f14be@lynne.ee> In-Reply-To: <3c6857f5-5c29-440c-a13d-8130296f14be@lynne.ee> Accept-Language: zh-CN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: 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: CH3PR11MB8659:EE_|DM4PR11MB7303:EE_ x-ms-office365-filtering-correlation-id: 093159d2-cb10-43c6-214c-08dc7f68f1bd x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230031|1800799015|376005|366007|38070700009; x-microsoft-antispam-message-info: =?utf-8?B?UkU3SmJRRFhvei9xSW9NUHZkdnRNSDZEYzQ3OHJkQWJRbHN3NXM3NVN1U2k0?= =?utf-8?B?NTJlbEFZWjUvZHFFd0VCTGxURHhPQWx5TGlqNEdNOHVkNXdrUWFJRGthWHRH?= =?utf-8?B?bDB5MFVKQ3VkODVQWmdjcDF2UGoyN0lkQnpML3VpZEhnTUhsL1pOaENVTUNs?= =?utf-8?B?NVB1WGdJYm0zbnVuRzZSWE1KTTVwSWgyVWkrd0Q2T3o3T1RNVmNOODZnOEgy?= =?utf-8?B?MnhuUk1CZUdhd0JoUmJiTUFDSTE2dE45MXRBYkI4cHZFSklHMlE2RHB6MVdZ?= =?utf-8?B?Mk9WeHY2SkZSeVpiU2EzbkY2NFBmc21lQnlDMFRweXZtbENRYWYrK1ZXajVo?= =?utf-8?B?Y2paWUJDQ2ZmVVQ4b0lVZGlXRlpvK0o5T1FyaVQ0RFg1WlhsZWpid2xuN1o0?= =?utf-8?B?a3g5K0tVbUZGY2N6YUNicGhuNk1XOFN6RnVLUW1GYmJLRjJDV0xWWnRMYkpN?= =?utf-8?B?cTQvWmdrQVVuQVZmdEo0a2NvYnQzdkRvZ25pdk15V2djamVsU0R0aWpESXU4?= =?utf-8?B?MnVRb08yMXdsaG4zOU93bFN3VEtDU3FpdTNITlRjVzBaS0ZNM1cwQmZNR0do?= =?utf-8?B?OTZaNU9sRG5jTndLVzB4bzBqdUhVcnpVRmU3N0Z3NGh3RERkbUR0NWlwYzlx?= =?utf-8?B?U0FYUUVVenE5WFY0ajNKamlxWkZ2V2t6Rnh4SXpBY012T3hOWitqV21qY3JW?= =?utf-8?B?OTBlY2RQYTJwQ0NmbklIWFpXTXdqQXlCSWVJNzRoV2E2bVY2ZzFKaFVlaG0w?= =?utf-8?B?NWpwb0kyc2x4bU9KUU5xMEZQZTdNYlZwRDA1VE52RE5zTklwcjRUUUdNMXNU?= =?utf-8?B?ZDZGMHk5WHdvTWZSS0V5QlBSNVhScDg4V3h6QUVVQXNtZ0pLcFAzU2F3Rmkw?= =?utf-8?B?MWVobzA1emdmWVkyaERuR0RiMG5hWGlSc21ZRW1UQ0Q5dVdMaGpvbjQ0SDRC?= =?utf-8?B?dVNwRTRKYTR6STJmeExzOG1EaHR1T05JQXg1TmFUTTBPZDRGakZ0T0diTnJZ?= =?utf-8?B?cUtNRHNHWDgrQWI5S1ZlZWNWc0g4REM1ZUpNSnI4YTh3QUdaWGQwN1F5MEc2?= =?utf-8?B?U29Da0dXSHZSeDE1NmY5aVFTSFFVSW5EcGczNXdqRnZtdE9zaTI2Wml0NFoz?= =?utf-8?B?cUJNZ2tGVU80aE4zUWxkOEswRW9ubUFCTUtOd1Z2aHZvMFl1bDNqb1JTd2di?= =?utf-8?B?RE9mSDJkaDJLblRvMFZNZGtWRUhNeE9OZmJYRlZQN0lqVkhwK2VZSWVNc1Fk?= =?utf-8?B?aFg3OWpNRFUyUDh6R3lSTkJSVkNER08zZGxKd3RwNWpGM1l2STYzZ1Q5UWdG?= =?utf-8?B?bE0zMjZzMU1SQ3ExYkNncGRUWG9GYVJ3WFk3WXBrWVl1WTd6bjhpNnNKaWFP?= =?utf-8?B?M3U4cUNvN1daMkZGNVdhL09lSTZyRXEwb0pMek5xRTRRTSs0dEg1UEhXUWNI?= =?utf-8?B?aWUzS0FNNjlwcFFJN3VmSVBPc0FKVU5BREl5Z0k4M2cyMEU4RU44ek5PYXlu?= =?utf-8?B?UWlUN1hTTXBHQmhuVHp1eFlDc3pMVXdKRC9hYTNqYnBWNkJFTS9aK3RvK1Az?= =?utf-8?B?Z1U2ekF5dkV5R0R1VGtFVmdaOEk1amZ5ZFJpVm9HbWxWbkVUbHkxRWNESkNE?= =?utf-8?B?eDJpS0ZkRkNqT3VqUG5UWDExRGwvdTkyNVBYUlJyUTBTdU1FaXM4T2cwdExJ?= =?utf-8?B?UEt1WjduVjNWUEYvVktFR3UyT1FaZHo3ZzNtY2d6OEZPbzluMEQvVkFTMk5Z?= =?utf-8?B?a2xZWEpKR1FLejdsNUZHNko5TVBCZHBNSDdHamt3UGFSKzI5SXdhV3hnSUk5?= =?utf-8?B?MGxsNnMzWW9jVVN3djdXUT09?= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CH3PR11MB8659.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(1800799015)(376005)(366007)(38070700009); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?NVNYVmZaVEx3K0dQb2VjcUNkV1RKamVWR2J0RmtqOE9MSi9odGlGWVBtR3ky?= =?utf-8?B?M0VqdVJoTHg0UHdJM0JpeHRpZUZGTmprWkxWYTR1OVFzaFM3d2pFRDV2ZS9O?= =?utf-8?B?dEdPemhhS3h5dlI1OHY4UzBsMlFtVVVkalFScTl1Y1JtUXB3VVREYmFOZDVX?= =?utf-8?B?eStxNnpFZWViVG04R0hVOGt2dHFRZjI0MGdkeXAwVEJNZzJobExBRjQyQnZI?= =?utf-8?B?STJDeDJqWXFrQzFwdzRhdmRyV2hHSm9STXZ3a0pCOWtPaC9RNXB4eXUrVjVx?= =?utf-8?B?SmtTNVN6MnJDdXoybllkb1RMSy9ON21meFZnTEZYdnBHdjIrdnlWa3JRRjRH?= =?utf-8?B?RCtwVW40SWkweEFFM1k5emZOTzRQUW5JYmVEMWw2ZW5haDYrS3lzOVVKT1BT?= =?utf-8?B?aDkyRUl0eE94Nmw2c0VRTnBFRUsvdy81VEx3UngweDZOa0ptWkowRFpDN054?= =?utf-8?B?QlVORDN1SXJGM0pOcGJGazNqaTcyRkthN0ZSbi8vYlB0d29Xd0gzYVNRYnRF?= =?utf-8?B?dTdmbnJjWG1nbjlqRGNRbHdyaE9SdE13WGNIcC8rWEZrNndhdU10bHZqc3ox?= =?utf-8?B?eG5YYVVnL0NmQk9sL1p0SkJPU0VJdzZCeTA2QjJxNnF6N29ZUFdCZnkxbzcv?= =?utf-8?B?VVhxRWFhbUtyTzloZDRjeURibGRwZkRsd1E5c0o2T3llcXZxQzhsR3NTdjJV?= =?utf-8?B?VS8wWU5vTEdRRjZoSmZOOTJxZUcwdkFZNld4eXJYMVJ1UzZFNEJBU1VJVC9F?= =?utf-8?B?ZHYvbEpkQ0pDZlg1UkhHWHJKbmtoUGJDb2pZelIvbnFOY1JuMDlZTWdLcWZY?= =?utf-8?B?S3Z3NDgwcklwRVJ5cEcxN3JjcitzRnhSN2FSaTIvbTFvdm0xYWMzVTR5V1lt?= =?utf-8?B?UFNxQkYwa2l6QzU3c3FlR1Q2MGdYWWx0WjR6NTNFVDkyVnVaMGxscXg0cVRC?= =?utf-8?B?OC9DNGxPNzlpbU5QZ3NLc3EzU0pham0yY1RUZGNCK2xTeG1SMURtRC9LTG9C?= =?utf-8?B?aUlJTFgyRnBBWlkrS0pnSFZlMUF4TmlETnowWmZ1dHRwSnN0RFNWWXptQ2li?= =?utf-8?B?MytTVEo3dlhkSHZLeVIrcTRrM29jNGllbnJUalVjdVZoOFFFYTVyL1dVbkFM?= =?utf-8?B?S0JtRHQ5TjZpUDQxcVhxMHd2TlM0L2hzTzlQdCt3STQ2cVFKMklVRjB2L2tP?= =?utf-8?B?cXdidGIyQjF5dTNGWW9WMmlEZjhvNUxRSlA3Zm45dlUvS1BSZ3cxOTdCTy9W?= =?utf-8?B?U1U0SXBCbGwzTDJUTlhsNk9QTEN0OCtrZi9FN2tmNFcrR3dLTkovdGVoak14?= =?utf-8?B?TTNWSzNFSE5CRE9WaExuNjFVOUJYT2lGMU5LeTRybXdaejExeXN5OU4rb2hK?= =?utf-8?B?aFM5c3JhWW1SZzRFUW5SMkQ3UXZaSHFvZkRpZUl5UWFKcHdlVFdWK3lCN0xv?= =?utf-8?B?UFk4eUNQSWNubENTTmE5TWd3UXRLTzAzKzFWUzhGanIwTzZROENHMzVhMWx6?= =?utf-8?B?bDN5SGpabmUzb2txWjVFeVFTRDh3N0FheGUwV1h1NWRqa3hPU0ovYTlwK1ly?= =?utf-8?B?TE5LY1NZUnNRY3dxd0I1ZTkveFdnV1ptYlloZzhXQXFCbzkvc2d6Zy96THA2?= =?utf-8?B?MWEwUEhoVGlqK2kzajNKazJVaGY3dEhmVXhRMVhKOVVYUG0xTW0xQ3FpckRk?= =?utf-8?B?N2hFeEY4Y2RPTk44c0VUQkFyMFNrdnNCWmFNUWl0M1p1SjBxclA1NkhKUGVY?= =?utf-8?B?eStGTG1NQjZjcFJCeEFaOGQ0UWdLZkdSL0x1SmdsbHAvSDRLMnJmQk9hMmdt?= =?utf-8?B?SzhGTEpFbTJJd25ZdFhnWTA3L01Rd2FEa2x3UTI2dU1DdGl4OUUyZHdhTFI4?= =?utf-8?B?OTV4bWltMDN5eFRoclVtdEdWVTRDZEwwTzU0RVlTOGtLd1hHYXdVWURVLzBR?= =?utf-8?B?eEtiWDdpT3JmVG9RNUsrbkxSTjZQaFIwT3ZhT3dZbUFua3hob2xYelFpOVVu?= =?utf-8?B?Y0lFM3UwSTRPMnhMdURPdEpVeVVlMVJ1VjVtbjVoYnh6RVZESVNMYUQ5cnNt?= =?utf-8?B?bkxjZ0tCUVQ4QUVaNzcxbGc2QmU1QW04NXB5M0U1dGE2MUs0THJlRGlZNmRk?= =?utf-8?Q?HpXY=3D?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CH3PR11MB8659.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 093159d2-cb10-43c6-214c-08dc7f68f1bd X-MS-Exchange-CrossTenant-originalarrivaltime: 28 May 2024 22:53:08.8258 (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: AkvDzDP0W7NEx/8/7y2AQ4osTWd6KcRW3FIKsUAxfXZlMd+sPf3Ocx88epmG6hGlCxnm1Z4gYutXn4i+WnepnQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR11MB7303 X-OriginatorOrg: intel.com Subject: Re: [FFmpeg-devel] [PATCH v12 15/15] avcodec/hw_base_encode: add avctx pointer for FFHWBaseEncodeContext 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: Lynne 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: >From: ffmpeg-devel On Behalf Of Lynne >via ffmpeg-devel >Sent: Wednesday, May 29, 2024 1:08 AM >To: ffmpeg-devel@ffmpeg.org >Cc: Lynne >Subject: Re: [FFmpeg-devel] [PATCH v12 15/15] avcodec/hw_base_encode: add >avctx pointer for FFHWBaseEncodeContext > >On 28/05/2024 17:48, tong1.wu-at-intel.com@ffmpeg.org wrote: >> From: Tong Wu >> >> An avctx pointer is added to FFHWBaseEncodeContext. This is to make >> FFHWBaseEncodeContext a standalone component for ff_hw_base_* >functions. >> This patch also removes some unnecessary AVCodecContext arguments. >> >> Signed-off-by: Tong Wu >> --- >> libavcodec/d3d12va_encode.c | 6 +++--- >> libavcodec/hw_base_encode.c | 31 +++++++++++++------------------ >> libavcodec/hw_base_encode.h | 8 +++++--- >> libavcodec/vaapi_encode.c | 6 +++--- >> 4 files changed, 24 insertions(+), 27 deletions(-) >> >> diff --git a/libavcodec/d3d12va_encode.c b/libavcodec/d3d12va_encode.c >> index 0fbf8eb07c..6d3a53c6ca 100644 >> --- a/libavcodec/d3d12va_encode.c >> +++ b/libavcodec/d3d12va_encode.c >> @@ -1351,7 +1351,7 @@ static int >d3d12va_encode_create_recon_frames(AVCodecContext *avctx) >> enum AVPixelFormat recon_format; >> int err; >> >> - err = ff_hw_base_get_recon_format(avctx, NULL, &recon_format); >> + err = ff_hw_base_get_recon_format(base_ctx, NULL, &recon_format); >> if (err < 0) >> return err; >> >> @@ -1398,7 +1398,7 @@ int ff_d3d12va_encode_init(AVCodecContext >*avctx) >> int err; >> HRESULT hr; >> >> - err = ff_hw_base_encode_init(avctx); >> + err = ff_hw_base_encode_init(avctx, base_ctx); >> if (err < 0) >> goto fail; >> >> @@ -1552,7 +1552,7 @@ int ff_d3d12va_encode_close(AVCodecContext >*avctx) >> D3D12_OBJECT_RELEASE(ctx->video_device3); >> D3D12_OBJECT_RELEASE(ctx->device3); >> >> - ff_hw_base_encode_close(avctx); >> + ff_hw_base_encode_close(base_ctx); >> >> return 0; >> } >> diff --git a/libavcodec/hw_base_encode.c b/libavcodec/hw_base_encode.c >> index 92f69bb78c..88efdf672c 100644 >> --- a/libavcodec/hw_base_encode.c >> +++ b/libavcodec/hw_base_encode.c >> @@ -94,14 +94,13 @@ static void >hw_base_encode_remove_refs(FFHWBaseEncodePicture *pic, int level) >> pic->ref_removed[level] = 1; >> } >> >> -static void hw_base_encode_set_b_pictures(AVCodecContext *avctx, >> +static void hw_base_encode_set_b_pictures(FFHWBaseEncodeContext *ctx, >> FFHWBaseEncodePicture *start, >> FFHWBaseEncodePicture *end, >> FFHWBaseEncodePicture *prev, >> int current_depth, >> FFHWBaseEncodePicture **last) >> { >> - FFHWBaseEncodeContext *ctx = avctx->priv_data; >> FFHWBaseEncodePicture *pic, *next, *ref; >> int i, len; >> >> @@ -148,20 +147,19 @@ static void >hw_base_encode_set_b_pictures(AVCodecContext *avctx, >> hw_base_encode_add_ref(pic, ref, 0, 1, 0); >> >> if (i > 1) >> - hw_base_encode_set_b_pictures(avctx, start, pic, pic, >> + hw_base_encode_set_b_pictures(ctx, start, pic, pic, >> current_depth + 1, &next); >> else >> next = pic; >> >> - hw_base_encode_set_b_pictures(avctx, pic, end, next, >> + hw_base_encode_set_b_pictures(ctx, pic, end, next, >> current_depth + 1, last); >> } >> } >> >> -static void hw_base_encode_add_next_prev(AVCodecContext *avctx, >> +static void hw_base_encode_add_next_prev(FFHWBaseEncodeContext >*ctx, >> FFHWBaseEncodePicture *pic) >> { >> - FFHWBaseEncodeContext *ctx = avctx->priv_data; >> int i; >> >> if (!pic) >> @@ -333,12 +331,12 @@ static int >hw_base_encode_pick_next(AVCodecContext *avctx, >> } >> >> if (b_counter > 0) { >> - hw_base_encode_set_b_pictures(avctx, start, pic, pic, 1, >> + hw_base_encode_set_b_pictures(ctx, start, pic, pic, 1, >> &prev); >> } else { >> prev = pic; >> } >> - hw_base_encode_add_next_prev(avctx, prev); >> + hw_base_encode_add_next_prev(ctx, prev); >> >> return 0; >> } >> @@ -687,9 +685,9 @@ int ff_hw_base_init_gop_structure(AVCodecContext >*avctx, uint32_t ref_l0, uint32 >> return 0; >> } >> >> -int ff_hw_base_get_recon_format(AVCodecContext *avctx, const void >*hwconfig, enum AVPixelFormat *fmt) >> +int ff_hw_base_get_recon_format(FFHWBaseEncodeContext *ctx, const >void *hwconfig, >> + enum AVPixelFormat *fmt) >> { >> - FFHWBaseEncodeContext *ctx = avctx->priv_data; >> AVHWFramesConstraints *constraints = NULL; >> enum AVPixelFormat recon_format; >> int err, i; >> @@ -722,14 +720,14 @@ int >ff_hw_base_get_recon_format(AVCodecContext *avctx, const void *hwconfig, >enu >> // No idea what to use; copy input format. >> recon_format = ctx->input_frames->sw_format; >> } >> - av_log(avctx, AV_LOG_DEBUG, "Using %s as format of " >> + av_log(ctx->avctx, AV_LOG_DEBUG, "Using %s as format of " >> "reconstructed frames.\n", av_get_pix_fmt_name(recon_format)); >> >> if (ctx->surface_width < constraints->min_width || >> ctx->surface_height < constraints->min_height || >> ctx->surface_width > constraints->max_width || >> ctx->surface_height > constraints->max_height) { >> - av_log(avctx, AV_LOG_ERROR, "Hardware does not support encoding at >" >> + av_log(ctx->avctx, AV_LOG_ERROR, "Hardware does not support >encoding at " >> "size %dx%d (constraints: width %d-%d height %d-%d).\n", >> ctx->surface_width, ctx->surface_height, >> constraints->min_width, constraints->max_width, >> @@ -756,10 +754,9 @@ int >ff_hw_base_encode_free(FFHWBaseEncodePicture *pic) >> return 0; >> } >> >> -int ff_hw_base_encode_init(AVCodecContext *avctx) >> +int ff_hw_base_encode_init(AVCodecContext *avctx, >FFHWBaseEncodeContext *ctx) >> { >> - FFHWBaseEncodeContext *ctx = avctx->priv_data; >> - >> + ctx->avctx = avctx; >> ctx->frame = av_frame_alloc(); >> if (!ctx->frame) >> return AVERROR(ENOMEM); >> @@ -789,10 +786,8 @@ int ff_hw_base_encode_init(AVCodecContext >*avctx) >> return 0; >> } >> >> -int ff_hw_base_encode_close(AVCodecContext *avctx) >> +int ff_hw_base_encode_close(FFHWBaseEncodeContext *ctx) >> { >> - FFHWBaseEncodeContext *ctx = avctx->priv_data; >> - >> av_fifo_freep2(&ctx->encode_fifo); >> >> av_frame_free(&ctx->frame); >> diff --git a/libavcodec/hw_base_encode.h b/libavcodec/hw_base_encode.h >> index 15ef3d7ac6..13c1fc0f69 100644 >> --- a/libavcodec/hw_base_encode.h >> +++ b/libavcodec/hw_base_encode.h >> @@ -116,6 +116,7 @@ typedef struct FFHWEncodePictureOperation { >> >> typedef struct FFHWBaseEncodeContext { >> const AVClass *class; >> + AVCodecContext *avctx; >> >> // Hardware-specific hooks. >> const struct FFHWEncodePictureOperation *op; >> @@ -222,13 +223,14 @@ int >ff_hw_base_encode_receive_packet(AVCodecContext *avctx, AVPacket *pkt); >> int ff_hw_base_init_gop_structure(AVCodecContext *avctx, uint32_t ref_l0, >uint32_t ref_l1, >> int flags, int prediction_pre_only); >> >> -int ff_hw_base_get_recon_format(AVCodecContext *avctx, const void >*hwconfig, enum AVPixelFormat *fmt); >> +int ff_hw_base_get_recon_format(FFHWBaseEncodeContext *ctx, const >void *hwconfig, >> + enum AVPixelFormat *fmt); >> >> int ff_hw_base_encode_free(FFHWBaseEncodePicture *pic); >> >> -int ff_hw_base_encode_init(AVCodecContext *avctx); >> +int ff_hw_base_encode_init(AVCodecContext *avctx, >FFHWBaseEncodeContext *ctx); >> >> -int ff_hw_base_encode_close(AVCodecContext *avctx); >> +int ff_hw_base_encode_close(FFHWBaseEncodeContext *ctx); >> >> #define HW_BASE_ENCODE_COMMON_OPTIONS \ >> { "idr_interval", \ >> diff --git a/libavcodec/vaapi_encode.c b/libavcodec/vaapi_encode.c >> index b35a23e852..0693e77548 100644 >> --- a/libavcodec/vaapi_encode.c >> +++ b/libavcodec/vaapi_encode.c >> @@ -2059,7 +2059,7 @@ static av_cold int >vaapi_encode_create_recon_frames(AVCodecContext *avctx) >> } >> hwconfig->config_id = ctx->va_config; >> >> - err = ff_hw_base_get_recon_format(avctx, (const void*)hwconfig, >&recon_format); >> + err = ff_hw_base_get_recon_format(base_ctx, (const void*)hwconfig, >&recon_format); >> if (err < 0) >> goto fail; >> >> @@ -2106,7 +2106,7 @@ av_cold int ff_vaapi_encode_init(AVCodecContext >*avctx) >> VAStatus vas; >> int err; >> >> - err = ff_hw_base_encode_init(avctx); >> + err = ff_hw_base_encode_init(avctx, base_ctx); >> if (err < 0) >> goto fail; >> >> @@ -2313,7 +2313,7 @@ av_cold int >ff_vaapi_encode_close(AVCodecContext *avctx) >> av_freep(&ctx->codec_sequence_params); >> av_freep(&ctx->codec_picture_params); >> >> - ff_hw_base_encode_close(avctx); >> + ff_hw_base_encode_close(base_ctx); >> >> return 0; >> } > >Err, you missed ff_hw_base_encode_set_output_property, >ff_hw_base_encode_receive_packet and ff_hw_base_init_gop_structure? > >Rest looks better. ff_hw_base_encode_receive_packet is directly bind to int (*receive_packet)(struct AVCodecContext *avctx, struct AVPacket *avpkt); I thought maybe this should not be changed? For the other two functions, components in avctx are used. If they need to be changed, I could either take both FFHWBaseEncodeContext and AVCodecContext as arguments or use ctx->avctx->* to get the components which one do you think better. Thank you. -Tong _______________________________________________ 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".