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 CED0D42C7B for ; Tue, 3 May 2022 00:14:51 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 18FFB68B2A5; Tue, 3 May 2022 03:14:49 +0300 (EEST) Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11olkn2056.outbound.protection.outlook.com [40.92.19.56]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 2721268B1B8 for ; Tue, 3 May 2022 03:14:43 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=m9mAOuq2PSvrx4BT5RrPY68iJ1EKi2ynxX5SXkrD4lg0GR9cGHFBJUTgI2qoWtQeBcxG+G9KPLIZZidKnS9pYb/KVLefIOlPBX0Vyl4+3fUwHAzwRe84jkBxm1RH7S014fXFmWLMTaTFYwsvXhD11Z+9mwAcsm3xgjXC17vi7pGvLLhoQa4c6mIm2/G05wjtp/2TTMWRU7ynhYSN1WUkTiEgYU6B7+6bM70HInGZE/FIWOEWp7IrCEAC9AhJnd1DcGhSNh+WFPGvtm0ubXuTj24HoYGNsEcDYTfZRNBNwrikJtQexhZb/bhRupdsDqj8Ms6mBCNRdLVAzMdvm2PgEQ== 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=0bwmgy4t/PV1BIR4pmieanuEKfyopANy1pcvZbwXTEA=; b=dc6pyDjf8+VYogxMypdulJ1gKq5u6/tmz6YR1Jt3GZzD9N/BJEjZp65FNHALGwGeJfmz5QEY7Nxdt/yXoxSzTs3TR3ergSaDVN552P7W7e+wbvukk5taJD+vsS8/5BVny/LWRZz7wMSoQnJjcgfPERwfh6tWCpmSTjE1+ZB9PmK9NNK/vaOwoMXX7L4OLdYsHztKuUp8q/5eHTZwS6tPPsEsoi30naIBw8AhZg6t8SV+3U9pqnz7JWdhjIJ5IE5HpQ6ngkf3+OvOD6DN9YpOtY9hJwM53fHSdWjGjg75IuRplJbaEwFEZbxDV8QXGp7CSPtuKUmt1r17qVrn7FKlZg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hotmail.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=0bwmgy4t/PV1BIR4pmieanuEKfyopANy1pcvZbwXTEA=; b=MFavXTA7ANMgZqKl+4pLg8oS9Zya+/XRd2O5e8PQxe7s7a+F+A2MBZ4s/WCxf7Wq0hXCH6hywOThSrzQPcYt3xkqlSroBGhJwB+nT26468x+nSbjVu+oOcZS8eOCi0y4OxLuF/aSSXqDyiGgPuVj4frz+QHSZgEqmgvmPCgjHsZn7QtiP5OhLQVanV5YgLN4QGa8jSLzMdhS8HZR4TW3sxJIz7Z6IDW379r6/V5zzWuc5Lv97vVXKCXEhTwSCL1vDjccGcafXtFPOdd1AWfnc748tTkcG877BAx3GF8eRK0Q19dfhPSi8LkAbztEo4OpDtMt16/M27nwd2rTNtemXw== Received: from DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM (2603:10b6:8:b::20) by BL3P223MB0164.NAMP223.PROD.OUTLOOK.COM (2603:10b6:208:34c::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5206.24; Tue, 3 May 2022 00:14:40 +0000 Received: from DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM ([fe80::7472:6f83:eeb:45e3]) by DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM ([fe80::7472:6f83:eeb:45e3%9]) with mapi id 15.20.5206.013; Tue, 3 May 2022 00:14:40 +0000 From: Soft Works To: FFmpeg development discussions and patches Thread-Topic: [FFmpeg-devel] [PATCH] hwcontext: Skip derivation checking for an existing device if options are set Thread-Index: AQHYXoILZYGX3frIUE+yOsehMlyWna0MR9Ew Date: Tue, 3 May 2022 00:14:40 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-tmn: [2Zg4EeZZkoDvVIPZtdviDZrxiyFUX7jI] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 7cf93bc5-cc5d-4aca-35cf-08da2c99ea96 x-ms-traffictypediagnostic: BL3P223MB0164:EE_ x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: cGXKvEfhR/+jgHkIBpPMh4AA18khj6E7v5+JGa0xF9AYgcJuEAUOW9y6Lyov/778PJNQHoj7E4iBpLUp1Rg9NDO6UNYxDIItzXASQ+jk3gzAkNhBXT1h2+lKAsYXDj/4ncjw11gKhxFc2CK/LFt1knnBu1hz+95TGX83c8vgLRaiBFg+b5L21h7aS7HXSQIlrUBS6SfiKVMtCGOxVIw5jO0Vc7SFUYvESLdP17XgG5vHaGo6RLy0gkZo72NHH4JpNCv1Pvzd0hAxIqtAwxD/Jk1wcFGk1CH85O4Qqv3uhT6f92yfA1NERJ7WgwjoX5Rpr3WmqMxaFK0X7T7cnxQbWwkJe1nQtkF5GQIpKHpgeVWohTlmEmRHL568yWPBPvcDhiIuytuWteNfN8JQ1x/jOQxN9bhO4iWQ7zdAaX+xJuVvbldswdYB6jM80p+ua4sSu10S+KGYXDaxWm25RPD3rfO5nW3tBJnBDT2A6ebYOOomu3WRtECpgR8hX2f+w5HVx6FB9ZWDiVuzLqJFPsVVOhi0JzTy8Ed+dCs7a9G7u8EfubOXiWoIUnZEwk+Gx8Pm8leOR7dH/R/D0CQpzgwlcQ== x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?VzJVYVhnRitKTmEvNkhnc21FcnZGd2dod1kwaXBqVTQ3bDBVM2tlZGhHN2k0?= =?utf-8?B?bHNrZFJmd1ZYYjdweGE5ZDBLTXdDZXJqVmo4aHhRWlJreGtVZzYxc09WdWU1?= =?utf-8?B?YTRrc0xyUFJyRzVzNnp6cUdRS1ZIaGRIUWRJNVFXVVI2UUs1TXRaaFRlSWZz?= =?utf-8?B?T0pSeUxvRjRsVGEvYktjWXE5aVQwUDVtdGJ5L3FMUlBaN0FteW04a0tQbm9I?= =?utf-8?B?c2gyN01uMExTVDZJSlFWa2FqaG42OVJlOWs5cnZHd2YweWtQTlFvMXpueHdu?= =?utf-8?B?MEEzb0Fqd1ZCd0wyc3JxT1E3emllRXROTHlTM0xuWlh6Y1U3ZWc1S3hkOGhL?= =?utf-8?B?WXpEM2l1R2xodTJjVnZEMnBUdWtCU3VFaW93ZENuL2tLVUsvYXdxbEx0c3Bj?= =?utf-8?B?bjkzOUFCNmNYVFFIakQ4YUpZb1NWaklVZWZQWFFleEtQbXd2a0w3dC90alEr?= =?utf-8?B?bU1YVVB2RDFJcXdVYkNEK0JWMnFNSlJyaXdjMnNvOVE1ZndLUVprUEx1MXMr?= =?utf-8?B?ZXlMZUlsRDJJSU5jb1l1bFNiMnp1SVlQT2JYUG9JME5tbHVUc09EYUZGNlBI?= =?utf-8?B?bWp2dzRGYnFmY21GOHdwMHM1VmI0a1c1cjliNnpxY2VWaXJjK2RncStYZjgy?= =?utf-8?B?b2Vady9zZTRvR01DY1ZMbWltWkUwdHpLMHlhV3g2d2huMHRtWVpBUEZvYy9q?= =?utf-8?B?ZU1iQ1g2WDd3ODRwS0JnMERNaCtET2ZIS3JZblJ0bE9iNndRd3kzV3puWnBU?= =?utf-8?B?SXhjc3BIZVd5SCtTVWRjL2JNeVJYelBxT255eVNQYVc3M1N1TTQ0R29oSlNz?= =?utf-8?B?M0p5T3YzOHpFTHFaM3pMZ3FZM1ZKS1pjZTRkOERxR25xbUtvK043RTJpMUs3?= =?utf-8?B?NGhrVUN1Q2k0R1JUM2VnYjJKaXFKRTU2Y3ovbDdwMndyRTVpVHlmTis0czdM?= =?utf-8?B?YnhyNnVCS0tWRG1sUGUyTnBsbWlaYVYvRXBkWTBCUGFOYjVyeitHcEQ4VExy?= =?utf-8?B?ZXpjOThydVpyWWFXbTlsNGtXL1N3elBwRTJCNXB6WmUvanZ0YzRucEtobGdl?= =?utf-8?B?RXp2WmlYTE1LMFVZc0xRQjBlMUMwQmpPcC9LWGxxZHBaNWhxMVNKQ0dkaDB6?= =?utf-8?B?RlpqYUF2S3JmMUdCdzlQcjJpbVJ2dWZ4SjlGUjRmUjdFMGM0ek9KZDVMbGJS?= =?utf-8?B?MCs3dml6Y3Q3WGNoeFlJbWE1RmlXUU8zL0NHNG95QmVOR3RrMXFrNzhyTi9G?= =?utf-8?B?d3lwd0lmaE44YUMrNFEwUm9uODl2MGR4N1FaanVFVml4N21YdDVpQml5am1y?= =?utf-8?B?ZktPdzlVSWlIbi9qQWw0NHEyWFhPYVV2bzFCM09tbFdmb1VqRUw2a29PdXo2?= =?utf-8?B?b0ZUWG1qQldFeHc3RmlpYUFXTHZmbVBUaGtrd2ZITGN5Z2lPNGlINGwxMVE1?= =?utf-8?B?UjZkbEtCenBnU3duK0VmV1B0WmZSazNkbzVmNEhxdUozY3ZTRHRUV0NpMVU4?= =?utf-8?B?Tm95cy9zUmFPdnY2WVcrdGFuYnRjK1Z4M0NnUitYc3VqVmpFRUd0Qjl4WDFx?= =?utf-8?B?a0NaaDF3TDRlV08rWWF3bzBOZDR6L3h3L3NGZjFpVmNmamdIRVFQWk1BTFpY?= =?utf-8?B?bm83QlZkNHUwT0RMOUllMjJ2VWczSS9NN3lrMWxuMGY0SmZ6aUNBU2U2eEhN?= =?utf-8?B?dHhGZWV1Zm56cENuTThiVHVjdmlLdGYyTGFVWHQ2WXZXbVV3RVc2d2pQbXM2?= =?utf-8?B?QlU0eDk3ejhPT2s1dU5Ra0h3YjFPckk0NHJUSjlsaGFIYXJUV3ljTklKRFk1?= =?utf-8?B?bGdiWmhQRFYvaEl5TXhsaWFXNzdLUDJGejZDSHlCWTFsTGhqN09FNUJ3OTRJ?= =?utf-8?B?SXk1V24rdlN1bEVZTHhGaUxHV3lQS2xiRExTMlJLaFJHNE16STJFM1ZOUDIy?= =?utf-8?Q?/mpVaH0RgrE=3D?= MIME-Version: 1.0 X-OriginatorOrg: sct-15-20-4755-11-msonline-outlook-1ff67.templateTenant X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-CrossTenant-Network-Message-Id: 7cf93bc5-cc5d-4aca-35cf-08da2c99ea96 X-MS-Exchange-CrossTenant-originalarrivaltime: 03 May 2022 00:14:40.3521 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-rms-persistedconsumerorg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL3P223MB0164 Subject: Re: [FFmpeg-devel] [PATCH] hwcontext: Skip derivation checking for an existing device if options are set 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: > -----Original Message----- > From: ffmpeg-devel On Behalf Of Mark > Thompson > Sent: Tuesday, May 3, 2022 2:09 AM > To: FFmpeg development discussions and patches devel@ffmpeg.org> > Subject: [FFmpeg-devel] [PATCH] hwcontext: Skip derivation checking > for an existing device if options are set > > If options are set then the user definitely intends to create a new > device, so we shouldn't attempt to return an existing one. > --- > libavutil/hwcontext.c | 26 ++++++++++++++++---------- > 1 file changed, 16 insertions(+), 10 deletions(-) > > diff --git a/libavutil/hwcontext.c b/libavutil/hwcontext.c > index ab9ad3703e..c4e01e0e78 100644 > --- a/libavutil/hwcontext.c > +++ b/libavutil/hwcontext.c > @@ -653,18 +653,24 @@ int > av_hwdevice_ctx_create_derived_opts(AVBufferRef **dst_ref_ptr, > AVHWDeviceContext *dst_ctx, *tmp_ctx; > int ret = 0; > > - tmp_ref = src_ref; > - while (tmp_ref) { > - tmp_ctx = (AVHWDeviceContext*)tmp_ref->data; > - if (tmp_ctx->type == type) { > - dst_ref = av_buffer_ref(tmp_ref); > - if (!dst_ref) { > - ret = AVERROR(ENOMEM); > - goto fail; > + // If we were derived (possibly transitively) from a device of > the > + // target type then we want to return that original device, > unless > + // options are set in which case we can skip this check because > it > + // is definitely intended to create a new device. > + if (!options) { > + tmp_ref = src_ref; > + while (tmp_ref) { > + tmp_ctx = (AVHWDeviceContext*)tmp_ref->data; > + if (tmp_ctx->type == type) { > + dst_ref = av_buffer_ref(tmp_ref); > + if (!dst_ref) { > + ret = AVERROR(ENOMEM); > + goto fail; > + } > + goto done; > } > - goto done; > + tmp_ref = tmp_ctx->internal->source_device; > } > - tmp_ref = tmp_ctx->internal->source_device; > } > > dst_ref = av_hwdevice_ctx_alloc(type); > -- This doesn't implement the matching of device parameters, which you were talking about: You said that when deriving a device, an existing device should only be returned when the parameters are the same. This patch is doing something quite different. Regards, softworkz _______________________________________________ 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".