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 BF73944CD7 for ; Wed, 16 Nov 2022 02:02:24 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 7780168BC6E; Wed, 16 Nov 2022 04:02:21 +0200 (EET) Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id CA4F168B73D for ; Wed, 16 Nov 2022 04:02:14 +0200 (EET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1668564140; x=1700100140; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-id:content-transfer-encoding: mime-version; bh=+cYouS3ywU1UF08Y0NN1PL0iBPyfjxVtg/ZraeFtDPw=; b=IE/3BL5VbbVHQnEpPBqOymv1fmkk0IPiptdc33Ez3TNYm7uY5CtuLPi0 x3nHkOKtAKsu1PGUgEHbfL8Jx2tDPgX26wW/BrcqpSFrCITyM1+J0LnZe PxM+k/11AmJETRNI5A3lWHzjdyjDlO9r4HD8lPQemtqW59wMFV4ZXEWHY mTH8XnHNg966qikNo9hE+XAaZlLI1kqgmhmrPZYq6Go8WiHL8e4oJDRO+ f4Nz3msCBoygkTSqhrNaZsGcTZGQK0V2ZUO5vILFdAa7/8C1gVmv61YO2 FEAZt0B3fuq039nE4n2GfX1bsc8Pp868XTuE6YQN/LP8FlsOfkKYXr9Wl Q==; X-IronPort-AV: E=McAfee;i="6500,9779,10532"; a="376691063" X-IronPort-AV: E=Sophos;i="5.96,167,1665471600"; d="scan'208";a="376691063" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 15 Nov 2022 18:02:11 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10532"; a="670308884" X-IronPort-AV: E=Sophos;i="5.96,167,1665471600"; d="scan'208";a="670308884" Received: from fmsmsx602.amr.corp.intel.com ([10.18.126.82]) by orsmga008.jf.intel.com with ESMTP; 15 Nov 2022 18:02:11 -0800 Received: from fmsmsx611.amr.corp.intel.com (10.18.126.91) 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.2375.31; Tue, 15 Nov 2022 18:02:11 -0800 Received: from FMSEDG603.ED.cps.intel.com (10.1.192.133) by fmsmsx611.amr.corp.intel.com (10.18.126.91) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31 via Frontend Transport; Tue, 15 Nov 2022 18:02:11 -0800 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (104.47.55.100) 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.2375.31; Tue, 15 Nov 2022 18:02:10 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=GWPBo0ZlBqEkUSysH0SE7r8bzDfri2c1lNZCy1FgiLZnTiVQ1oV0tMy5qVn5ZTxEhMMLfASPTzQMvHKlEIUWfXnySVNMW7A+HNFq1STQI+tt2KPK0yT6FRDW1JeXMZN5eCrNY+PSI0KZZ1zK+8C8voTFwpoXMl3KyJge+guJBmAp4wD0tPekEokp9KDC0clpT+NvWNK5KLxDiJ+r3dNuVQ36EPh2McdOOxgMbCvSL6rN9GKSjIxPUPfBy2kQOIAVQFX1GiPByKg5R3nglgT39iDNEbU6qpXI3fDq73sY58+uq8BiKeJGX+viD8wHZDxTyeWUngnInRhipMd7toEEig== 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=+cYouS3ywU1UF08Y0NN1PL0iBPyfjxVtg/ZraeFtDPw=; b=J6eAn2mmFG0dJ4Wqz5S0CTaz9BYiS1O7EqiV6lqO1Etnzaud0w5g1ubGdBY78U9tyHyQ0tUBbPVzEQkRPWzUiUZIA5LB0DCafzly7ilDeb/jegBVH+wHhI4D0ZCu1J9Gqvrf0EY0cjVdvRFmZEJTJkNPn0E3frkQG77SXGL3W0r8EYlNbbH1A1RqbEPMhVCFNZTXOCHPlZdzFso39XOwP/PbbIbxTydoMDULp/z+RCQPGYDkPdzQgf4Lg8gVH9xB1ij6U97BQv0HWPMd7NRZzkfvOUsf3CxFIiusfDN566hzNc4QZB0F/NY7t1Jpe/u9A8s4JbaOu9OHbec36jl4MQ== 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 PH0PR11MB5030.namprd11.prod.outlook.com (2603:10b6:510:41::5) by CH3PR11MB7177.namprd11.prod.outlook.com (2603:10b6:610:153::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5813.18; Wed, 16 Nov 2022 02:02:09 +0000 Received: from PH0PR11MB5030.namprd11.prod.outlook.com ([fe80::2aa4:31ea:cc5e:5176]) by PH0PR11MB5030.namprd11.prod.outlook.com ([fe80::2aa4:31ea:cc5e:5176%4]) with mapi id 15.20.5813.018; Wed, 16 Nov 2022 02:02:09 +0000 From: "Wang, Fei W" To: "ffmpeg-devel@ffmpeg.org" Thread-Topic: [PATCH v5 1/2] lavc: add HWACCEL_CAP_RESET_WITHOUT_UNINIT capacity for hwaccel Thread-Index: AQHY98a1ULle9FXfO0eqvhfEwFGKua5Azt6A Date: Wed, 16 Nov 2022 02:02:09 +0000 Message-ID: References: <20221114011605.1157707-1-fei.w.wang@intel.com> In-Reply-To: <20221114011605.1157707-1-fei.w.wang@intel.com> Accept-Language: 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: PH0PR11MB5030:EE_|CH3PR11MB7177:EE_ x-ms-office365-filtering-correlation-id: 4d5fdcca-c676-4278-05e0-08dac77691bb x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: HKBv/+/Cypc7FrWHTzPF31gYJD4DqZH5EGfUU/e202GkDM8O09vI3eJ1VisqjwqBBqOdosT6B34AfbKmovvgHkGCGMLuY/TvXd5iIW0+DFFhdAek7x3CL4ck6ND4GAtg6WO30+ktgKB2krCfCeNV3j0O2m9xrSRwcLcQUqrfehh3qESXh2+a+tKXNPJI8X4F/eQ7HvLozCEJU/8mS5DRI4s9TXnTuVVjOyy1/GeVl5zm7Wm4n05g8GzEnEHGrN+DwOedXZIs0ATnFq902mgsWVL/OE91NUs9OtQgy43Nyi96RotCqEEy7w3xtlSo9vX4gvXBTGCno3tQvP9croEdyjJGuscJz6P7pdSGCh1IwqjtT94D7rRInZenyCYGFaitN0HKlWK/7MH8gpUD/CFPKBuy7ZcFWYXtlzpmz7PGRcveE0T33yvnOxnB2UohIGvskcraVgRh7ickj//4YDRD2WdWALQt6JRDoAGSbXScMnUDEw9BK9UR3l9cn+8FtvmRe7XLhJF/XEOEYb1u65R/46lHIL3IhSN6XOlU8BfH/bVzA7aFGn+1vdV+km6Mc/FRLchJ1+xSsLW59T0tGrVl40tTrRizQqSqnm3FxlGftlB6dfsPeASdREKs6G5gE0UGd8coIGTEU//rzOyP0q+w2Ke0H7JyRnMXYIPP1HKlKKrak0aLR8DD4F0eDHhVxBEmvwa7oJiBsB3fHUZ/rXsJARCLTOmx4kmJEamyMYlCGje1BDx28blGHNQ3BIoDYHu0b8qbpTB+uWj43cvodXBAWg== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PH0PR11MB5030.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230022)(39860400002)(396003)(376002)(136003)(346002)(366004)(451199015)(478600001)(4001150100001)(2906002)(71200400001)(6486002)(36756003)(82960400001)(107886003)(186003)(83380400001)(54906003)(2616005)(38100700002)(86362001)(38070700005)(6916009)(316002)(66899015)(8936002)(64756008)(66556008)(66946007)(66446008)(66476007)(4326008)(8676002)(91956017)(76116006)(5660300002)(6506007)(6512007)(122000001)(41300700001)(26005); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?NjAyR0F1eGYyT0NodUNzaHBOUWJoaDBHM3B4MkhrT2NFa2gwS2pINkRqSm9Y?= =?utf-8?B?UHFWNGgvbW9RUDZKKzVVR3hXYzJyeVBNOUNmSmZvazhVVGE4STNnRUpPVGxZ?= =?utf-8?B?NzZIVFU1TEhTWHZ3aUFmdG5PZFpsMUNnaUdOanRDaktYOGdsMWU4QmlIdjBI?= =?utf-8?B?dGZUV21qY2RiMDZ3blpxN05NSjFnYW52ZXQ3WW96VCtUZGJrNDdrUkhzRVpP?= =?utf-8?B?TkxVREFmOHlSc2RheWxYZVdjNWNKbjJobnpmQTY3Z3kyOGcvWUw0bVJjUkxY?= =?utf-8?B?SHRqcjE0YWlZN29WVGkwekt5N3BSOStWMlR6NEo1dlpuMmxKQWhUK3ZaZkhB?= =?utf-8?B?TzZoN2xXMkZKZmM1cDBUT2lpTTVra0pjalRWY0FHYWRMY1dUSDdqWklkZGdE?= =?utf-8?B?dGpmajJ3ZnJkYVN3eE9ka1d3ZlVpcFlxZDVRV1lSRHdzenBla1hGYU1nSXdZ?= =?utf-8?B?VmhpSUNCd1A5Rk9rVm5BckFRS1FZNk92MjFacGhLZk9tMmtWZXZIdDZSTEVs?= =?utf-8?B?SVJaQmQ5QUtGNktsL0tMd1ZhaFVuNU92bGNvREV4eW1IQkRXZVpKRGk0VFBW?= =?utf-8?B?YTA4em9ZWEtmSnBhdXFld3ZPaGlDZFQxcm4vQjNZK2I0R0pxcnoyRGMySzN1?= =?utf-8?B?QmFyOVlzdXlOekh2QVhhVGFIVkQxWFdIaHBoeUhEQTBJNjJ5cGVSZHo4bUsy?= =?utf-8?B?VW5GdUtIbVlLOFR2TUM4ZkFCYnNRSTBZMjB1NHczWUNJSkgwNGdRdVVzYkN0?= =?utf-8?B?L3NZenhvdEZ4bmloZDVsNG0xNDRDUk1vVmNuTzl1U2NKdnR1Z2FMQVFsK2pU?= =?utf-8?B?STZzbDI1NEV3cllCM0hjRk9DNm1wdDBOSDU4eHhTckZwaHNaNUtzWGViNHBY?= =?utf-8?B?SVlmcXZMK2N5KzhIc2ZyaGpwK0VqeCtjd3YvdGM3eFArcm0rakNuUnZGajBj?= =?utf-8?B?ZG1VdkpINE5XS1hleW1qOW1EWkcyQy9PNFhkV0l1V09NRlNmQlY0ekVTdmYy?= =?utf-8?B?K3plS1lsNTd6OVdNb3I1aGZLWWo1REdlOE5sQS9hVHhEN1BEMmhXbmY4eHd4?= =?utf-8?B?YmNwd2hhRENJSUZuYndESXIzN05vWWJsQ3hNREdmRWZnQzR2cHRIcWFZQk1Q?= =?utf-8?B?bThmSkoyWTUzVGhVN0JOY3F0ZFNpVFZIMlZWZUJmeForMTVnU1JlL0JBbG9p?= =?utf-8?B?K0ZON3VXNDZSRjMrMTZ0cFJLYVI2Zng5M2lOSllsYUFMckY0akZQbHMzcnE3?= =?utf-8?B?ZGo3QzNLVnpvcmphbjlqRHNXd2FPVWVORUpDc3M3dXZUNlpiWU85Y3ltTCts?= =?utf-8?B?QTJzZkMwckVKTVprUENEUllINHFZZnN6TXlZQ2lhdEo0d3BneENjZDJHcDlr?= =?utf-8?B?YlQ3ajQybVBKMmtpTlBtV0pkL2toL0RrUS9YNFBOTlNsdjZoSUpJR2NkY0lM?= =?utf-8?B?QmR1L1V2YlhFUTUvWDFJZmo3c3Q4cW5RSGFta2hXRllnaU1IY3JmRTl0UWdx?= =?utf-8?B?ekIwc3h3UzU4N3dGMlphK0t6d25qNEZMb3BJWmR3N0c1dmhIUExScmd5M2xm?= =?utf-8?B?TkVaQ2RUTVV3b3pYWC9SNWZ3VUl2YmRLVUJ0NzFxK3hpMDVzcGE3VDU4NFE0?= =?utf-8?B?L0FEU2NqTDFHaEF2S1NVdm5iaW51Y3pIVGZJL3RINjJnUjQvakwrWUZzSVpx?= =?utf-8?B?VWxiZmNHSmZPTTVIUTZFbWw0U0grVHlKTmR1SFUzMGpKRzZhKzNBQnRXQ0JK?= =?utf-8?B?MGdwYmUrQzdpejA1MDhxZHcxVU1IYiswczRJWXQ4dkN2VWxoSi82bUhlamJB?= =?utf-8?B?S3hLNllZc2RTNkFmWUVnOU9rSUx2ZSt0TFlHNkJXK1YrYVZaY1QvalpFZnVC?= =?utf-8?B?eVNkeFpJV3Qza0w2L0hhSERBQVB6bkF1c1BPNDJOUmVZOWh3ZjIyR1R5QlAz?= =?utf-8?B?Y2k5RHhQbjdXd0k5SE54T0x0aituUjBheG00Z2gzUkRyVHNlbGtTNzFWWm5n?= =?utf-8?B?Yyt1bGI4TjZhTllQOUt0SUNIQjNCK0ROb3hiUXQ3U3VqMjd6cHR4UzB2N1dx?= =?utf-8?B?UW5tRWRyUkxJdzVTTnQ2SHB4V0dIcEZLMkYvZWxHNGpCbXpkWHJ3aWpwUTRR?= =?utf-8?B?UU5XM3A2YjRleDRiSUdrREliVk42dlg3eHUrL3drVzdDYUxEaVVqZzlCTmtL?= =?utf-8?B?NWc9PQ==?= Content-ID: MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PH0PR11MB5030.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4d5fdcca-c676-4278-05e0-08dac77691bb X-MS-Exchange-CrossTenant-originalarrivaltime: 16 Nov 2022 02:02:09.1055 (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: JlGnXHalO+zvdGzLjHrbMk/G/mIUCDC4N/hw4+Q7DN0vFqEW3kXvF4zo5FKjN9vvpdx2EvIITH7bhgw4V1B5fg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR11MB7177 X-OriginatorOrg: intel.com Subject: Re: [FFmpeg-devel] [PATCH v5 1/2] lavc: add HWACCEL_CAP_RESET_WITHOUT_UNINIT capacity for hwaccel 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: "Xiang, Haihao" , "sw@jkqxz.net" 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 Mon, 2022-11-14 at 09:16 +0800, Fei Wang wrote: > The capacity can avoid hwaccel being uninited when do the reset. It > provides the method for hwaccel if it still want to use the previous > initialized configuration after reset. And the configuration can be > updated in AVHWAccel.init() if needed. > > For example, when use vaapi vp9 decode dynamic resolution clips, need > to avoid changing vaContext in avctx->internal->hwaccel_priv_data if > current frame resolution change and it reference a pervious frame > with > different resolution. Otherwise reference frame's information bound > in vaContext will be lost, then corrupt current frame. > > Signed-off-by: Fei Wang > --- > update: > 1. consider the case of va_config/va_context equal to 0. Hi Mark,Haihao, Any further comments on this version? Thanks Fei > > libavcodec/decode.c | 10 ++++++---- > libavcodec/hwconfig.h | 7 +++++++ > 2 files changed, 13 insertions(+), 4 deletions(-) > > diff --git a/libavcodec/decode.c b/libavcodec/decode.c > index 6be2d3d6ed..cfada048e8 100644 > --- a/libavcodec/decode.c > +++ b/libavcodec/decode.c > @@ -1109,7 +1109,7 @@ static int hwaccel_init(AVCodecContext *avctx, > return AVERROR_PATCHWELCOME; > } > > - if (hwaccel->priv_data_size) { > + if (hwaccel->priv_data_size && !avctx->internal- > >hwaccel_priv_data) { > avctx->internal->hwaccel_priv_data = > av_mallocz(hwaccel->priv_data_size); > if (!avctx->internal->hwaccel_priv_data) > @@ -1134,10 +1134,12 @@ static int hwaccel_init(AVCodecContext > *avctx, > > static void hwaccel_uninit(AVCodecContext *avctx) > { > - if (avctx->hwaccel && avctx->hwaccel->uninit) > - avctx->hwaccel->uninit(avctx); > + if (avctx->hwaccel && !(avctx->hwaccel->caps_internal & > HWACCEL_CAP_RESET_WITHOUT_UNINIT)) { > + if (avctx->hwaccel->uninit) > + avctx->hwaccel->uninit(avctx); > > - av_freep(&avctx->internal->hwaccel_priv_data); > + av_freep(&avctx->internal->hwaccel_priv_data); > + } > > avctx->hwaccel = NULL; > > diff --git a/libavcodec/hwconfig.h b/libavcodec/hwconfig.h > index 721424912c..5fb4e06d5f 100644 > --- a/libavcodec/hwconfig.h > +++ b/libavcodec/hwconfig.h > @@ -25,6 +25,13 @@ > > #define HWACCEL_CAP_ASYNC_SAFE (1 << 0) > > +/** > + * The hwaccel supports reset without calling back > AVHWAccel.uninit() > + * and realloc avctx->internal->hwaccel_priv_data. > + * > + * New configuration can set up through AVHWAccel.init(). > + */ > +#define HWACCEL_CAP_RESET_WITHOUT_UNINIT (1 << 1) > > typedef struct AVCodecHWConfigInternal { > /** _______________________________________________ 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".