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 32AE64400F for ; Wed, 23 Nov 2022 11:40:00 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id E3F7F68BA7C; Wed, 23 Nov 2022 13:39:57 +0200 (EET) Received: from mga06.intel.com (mga06b.intel.com [134.134.136.31]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 3646868A5F0 for ; Wed, 23 Nov 2022 13:39:50 +0200 (EET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1669203596; x=1700739596; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-id:content-transfer-encoding: mime-version; bh=+pfeLRsLCI9BfOUkPYeMHJtQtQZDkW954Syh4wWBjhs=; b=fjbNMZG3mQGl0Kg/P1ZavaLkzRvbLN4fCOkpfFQYVEZeQm/AeXwPeQoT LPip8G7u+9bvnWyY3jTiZo44aGyNnwcC8mV3nd+eLM8E8J5Kt7X79lnVx /J2gtKN0nEFyi1khjBwNg1mlARA38f8hiwtH1087H2HTUqolC4uO27JKC pkNa8TiOEeQdTf6OUxcVwH+VQMy7iR/GwRuWqtAmeSZzy/Jrm0bUCBOTJ 3N32l1TVpGZBY3nrCxnJFBRC+8b9Dq4DqCCEMDZoexe5UnGJ/iz/mz+dN vqnaFIl64EbKcgqpbQx0KgkXjlUNUkKVjhqr6FO0ByO1zKwagmThSi1Y6 A==; X-IronPort-AV: E=McAfee;i="6500,9779,10539"; a="376191832" X-IronPort-AV: E=Sophos;i="5.96,187,1665471600"; d="scan'208";a="376191832" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 23 Nov 2022 03:39:49 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10539"; a="784220017" X-IronPort-AV: E=Sophos;i="5.96,187,1665471600"; d="scan'208";a="784220017" Received: from orsmsx601.amr.corp.intel.com ([10.22.229.14]) by fmsmga001.fm.intel.com with ESMTP; 23 Nov 2022 03:39:48 -0800 Received: from orsmsx612.amr.corp.intel.com (10.22.229.25) 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.2375.31; Wed, 23 Nov 2022 03:39:48 -0800 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX612.amr.corp.intel.com (10.22.229.25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31; Wed, 23 Nov 2022 03:39:47 -0800 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) 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.2375.31 via Frontend Transport; Wed, 23 Nov 2022 03:39:47 -0800 Received: from NAM10-BN7-obe.outbound.protection.outlook.com (104.47.70.105) by edgegateway.intel.com (134.134.137.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2375.31; Wed, 23 Nov 2022 03:39:47 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ZLqoYIpnxKSpfAk3lK2LSYI6aU9F8bu7oQvp0nTA2tphCmyRqIe65jacDT1xsHjCWye5YeAltepUV+fIYU1quUOYPYJ2f+l3DQnGmV11KN/UqW+vS0y93h05WeUNxJIXNg1wo9zYLS2oNSEPx7FhCld2xs8wKdnsn2X/FPDcDr/qG8epmnCUVi/EXeaqPSld8Nv6c9rVI3MtDFyFfnjsREXQRwDvcCuk5qzPOYqBh3tTR0iU7U79R/SUzwHlDRbHK2YYwXYoEUj5WQnL+Os9cp1bE71OW3VUBMb/56mHeaeeKfs8KpDdzcf7alS97ghoB/Qg6ibq4lcXL4xqFJhEug== 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=+pfeLRsLCI9BfOUkPYeMHJtQtQZDkW954Syh4wWBjhs=; b=PlNGpCwEINO2BNeL8edrSB47rTINK4KcXNCtgibd7hPPSNzVsmz5eAsMI5PuAMn//2CoNnKRGOtDL/jkRFa5UJk5bwmaZtCif1JIg3LwF/3bbXJaHpUu/4Mo/tLasCwRFj3Dg/Ffn1F9N38aLvrGO5kTG9u1mysglB7zBYTq60naz1QjJbNWDG4pPY7+2kGCRpa+dH3jyBAFF6s3xcIGvnPgS6Cd1/yJsq3ixsNIYE+aQ/11T6GopmlfQUr0Zi/F4A0v06cDrQi7Lo3YErgDuXkjMLmKQYwzxYg+B1ND3vu48iZ4Jbt1VsP9KLDuu77A/BAabqYl4Tc2jaXRb5pxaw== 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 IA1PR11MB6540.namprd11.prod.outlook.com (2603:10b6:208:3a0::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5834.15; Wed, 23 Nov 2022 11:39:45 +0000 Received: from BN9PR11MB5515.namprd11.prod.outlook.com ([fe80::e3ef:177c:4008:7ee9]) by BN9PR11MB5515.namprd11.prod.outlook.com ([fe80::e3ef:177c:4008:7ee9%4]) with mapi id 15.20.5857.017; Wed, 23 Nov 2022 11:39:45 +0000 From: "Xiang, Haihao" To: "ffmpeg-devel@ffmpeg.org" Thread-Topic: [FFmpeg-devel] [PATCH v5 1/2] lavc: add HWACCEL_CAP_RESET_WITHOUT_UNINIT capacity for hwaccel Thread-Index: AQHY98a+2wtyu1O77kKvcpBKwSsaq65MbkUAgAACvQA= Date: Wed, 23 Nov 2022 11:39:45 +0000 Message-ID: References: <20221114011605.1157707-1-fei.w.wang@intel.com> In-Reply-To: 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_|IA1PR11MB6540:EE_ x-ms-office365-filtering-correlation-id: 67da9d91-3581-44fd-55d7-08dacd476b71 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: DMecVMiBw2sBXrGzZcTLCReZbP5T1U65ELCsRD/h920xgf54pZi18ej9NhKQziEooV49Qn5gl118beD6H7JWeZBTZzvjUpV2STgbUJVbE4RS5suJSvfHmW3g5p5c1kneWyp6i6MYBGaIM6jOY+MXfPDC9k81BGTv680J/04HeXnNziMhytPGdFg/e3Hpp/P0K/Qi/f/6CzHvU8gSdt9Omwvf4FDNAkmfvxcMUvvg81C65RZtwEp29heBw4oW9syjRM4+pdvZSljNKsulWLRbXG6zjTOlOPGYXSyqDD9VyfMHj3PY8RJL+w97KTL5eC2f+WNAt7t3g3vzAvoBMymBipJEKMfOFFYAgbhTdisAJYaBK1ql+PN+ZYAKCC4V1Qf82doTL1eUkvqB2MANqz/qS2PSXiVhmfGLl3A2bw8p9uxLVuWlHua5R7vDsMi07EAe28t9UVXuDBH5VadGkUhRrfMjHbp3jayFAduZnuh8RXsbR6eMkWMJICag3n2P1dJ+bahLCkJPPRAUX9MMDy8nj41apoH4RTwMZMCTEggUBy8TJjXkM2ZF91NGJC0aeK/Xlb7eiHHsbBI7vkY2lHtHzHOefLshSZQI0AYMOZ+v0p4aWpjY2VbuRnic5rGyuzBV12mdzQ3nNYSWMScLPQJ/suwDvcY4SJvsqKw9Q2681AtCNrL7razAcfx2tkz2mPp1NQOvOIToWwWjs7RvPdb7ewdALKD09BsRdmgFeNVy/2k= 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)(396003)(366004)(136003)(346002)(451199015)(66899015)(83380400001)(966005)(26005)(478600001)(2906002)(4001150100001)(6486002)(38070700005)(86362001)(36756003)(82960400001)(122000001)(186003)(2616005)(38100700002)(66946007)(66476007)(66556008)(64756008)(76116006)(41300700001)(316002)(4326008)(91956017)(107886003)(6506007)(6512007)(6916009)(8676002)(66446008)(5660300002)(71200400001)(8936002); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?SmhzR0JLWGRnbVRNZnRTQXliVkRvZGVtNjVLbHNYSmVZZHQ4emlhVlY2V2h5?= =?utf-8?B?NUdQS0JVaVAvS2dRbGdHZDlKNThZQ3BPdUFUQlZRRlRvQ2ZsdGRSQWRJVGpG?= =?utf-8?B?QXJFclpiRk8wa3JJdjRBdFhvbXZuekhRT1FiblhYZG9LNmVSOUZibnM0SkdW?= =?utf-8?B?ZERkTDBKSGRIWW1DWkdvTVBiZGF6aXdLc2wxdEJzZ1NWa1JIOTlETVZNZXRK?= =?utf-8?B?MWpsS3UzdzhRV2hONFNZMkJ0TUY0QzZyeUZqSEs1OHQxRlEyZUIwZ2k5NmZ5?= =?utf-8?B?NERqbzFqSy85elBBQzdzdWJRRU0vU0I3OElTTklWaVFUR0V6S0M4TDkza2hz?= =?utf-8?B?MFQvT0VCcExFZVpFbEE2dDZVRlRNRnVYY1FHM1dWSmQ4R0htaDdUNm9MWTVw?= =?utf-8?B?dFRrcDhPOW03aWJxL3l3b0JsRytiQytiTWZxVEU5Vm9vTDVqeFF4L0E0Lzky?= =?utf-8?B?NGZxOUhMcGpmaVZyRjh2a01lU2NSbGZmMXVQSWxHdml2cUVxT29ranR6a2hR?= =?utf-8?B?RWJKRTRYaU5GQXNNUEtVako0dlVVUGp0VWd5V0o5ajEvSmF2RTJwYU5NV3pK?= =?utf-8?B?eDVRTVl1aTdpM0VuUEhZMEwxV01TMWRMMCtDTkZjQXZCRlptK1BuMnJWT0lU?= =?utf-8?B?eGo0dnhCTFMwK2FlOFBWcjlRUEZzcXpWbEN1dUt6OVZnT2R5dlJKb0dtRHVG?= =?utf-8?B?UExBR3ZMNzVFSTBlTlo5RHY2NXRoa0dWcVJKd1ROUnFKVmFLajFYMmpIQVAr?= =?utf-8?B?c0oxVDBRQWhkUjhpMXFPL3B6VEJiTHRXK1ZDazZnbzUrUmdzRUJiMGZNNGdE?= =?utf-8?B?K0kvKzVHc2pLZW9IUGsyUXhCVUJmQ3FTaC9ZM29UNmtvQUNNbkRadFMwMHI4?= =?utf-8?B?SkYxWExzemw5SlgxVWZ2SkdrQlREUE5rQitYU3hITnNZMWhPRjA0Umc3QUZQ?= =?utf-8?B?ZVdpcjRHMXYzUTRRTVA2S3NxVnNmTFdORFFmUVFweXJWRVNtMDk4UmE5ZzB0?= =?utf-8?B?UXpjazZrUDhDbUpSalczQ3NpeXFsamN6cmdNZnlacGZkVHhta1BKQitKWlNH?= =?utf-8?B?Q3U1RExZbGFhaVdVajlVQWtMRDVmbWQ1bkdFSTJacTF1REZKeElibnRrcVM1?= =?utf-8?B?TEJoNzJMcWhUQmxZN1lrdmw2cTRTdHZLTWl6VzJWZDhUemV0UytobGFQZkVB?= =?utf-8?B?QUMya0NUU3BCV1Jtc3hxYklXak5EcjJSTEdsbjhVRUY3QTNDSWZReW9Tbm5D?= =?utf-8?B?UDNZWXZNNlRDY2JTbUVsYXpwVVA0K2lWaHZrbUhmZWczSEVPNG9GQ2ZwZkRT?= =?utf-8?B?aVRxQmxsb3Y1UlZScCs2NDFVMG52Z1Axam1aWkIxZGJYTmxlSXJGRHEyM3dW?= =?utf-8?B?dkJkc21ZNEdRTmIwK3R4Vy9TQzFNVmNiYU5RTFpnQVJaNVRJc3AxTmJvUzlk?= =?utf-8?B?OEttMS81ZlVMV3A5ZWJCNTBQQVY4b1pCRFpnMnFOeXFTcnpWbmtncHZKM0k4?= =?utf-8?B?ZEY0VEpqWVZYUzdKWGNjQlFSWVczTFVObmpkQkZ4NEN5NlhIZXlNb3Vhbmda?= =?utf-8?B?VjJvU282SWNIR20rdHFFWEd5MDdOYzBSeWJqbmt6N2N6dXJaM2sremkwQXdq?= =?utf-8?B?TkRKQk5jQVl0YXVBU1U0RE1CTWhZSHBDTlkrZmZLVGtKNWNaaTdMc2Rpalpq?= =?utf-8?B?alhHcjBSR29UODFxOC9xaC9IZG9ldHo0V3V0eWdWc1lnb0VtenlEbHFWU3ky?= =?utf-8?B?V0lrNDhiQnRXTGdsMXhqdjNyRzhrNDh4TDJtS1U2eUdKbnMzUlp5Zm53cnRv?= =?utf-8?B?aWdLM3QyaWs5Q1NlcStnWUJJMlUrcEZhMzU4TEMwdlRnNTZ6S1RQbHIxeVMv?= =?utf-8?B?Wm8rb3FIRXM5blFmQlZlSWl5NHM4anRUUGNqTkp2OG9WdHRGcjVjS0JzaTFT?= =?utf-8?B?amUzbVFvQTB6T3loczZnRjBNTXM4bUFPcnRML1ozd29hblYzb25LWElNUzJU?= =?utf-8?B?eithcnE3ZEVuS1ZzWjJIaTNOc2FyZGNuOW9sa045TW1WbDVnZDBWYzlzNFAv?= =?utf-8?B?b0hxVWRKVjl1d0JML0xCMkVZdUpRNnB4VzlyZTlGaXZKNTAvL3pHWUxVSkNp?= =?utf-8?B?OC9Hc3pQS253K2NLS0dQb1gyMDF3UWlEOFYxek9KeEUxSjBhbmZOSlRqK2FL?= =?utf-8?B?N3c9PQ==?= Content-ID: <759BA1C00CBF01498379AE8B8F9823C8@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: 67da9d91-3581-44fd-55d7-08dacd476b71 X-MS-Exchange-CrossTenant-originalarrivaltime: 23 Nov 2022 11:39:45.4838 (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: CexUPAm34XARXpX9SaZSY6LFI0EKFvGZV1EvwwPNL4Huv+8a6uXrPu1cbX7hyg++XMJW8mcihq9txCeblsY7iA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR11MB6540 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: "Wang, Fei W" 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 Wed, 2022-11-23 at 11:29 +0000, Xiang, Haihao wrote: > 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. > > > > 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 { > > /** > > Patchset LGTM and works well for me. After applying this patchset, I can get > the > same md5 values when running the commands below for vp9 clips with resolution > change. > > $ ffmpeg -c:v libvpx-vp9 -i input.webm -autoscale 0 -f md5 - > $ ffmpeg -hwaccel vaapi -i input.webm -pix_fmt yuv420p -f md5 - The command using vaapi is below: $ ffmpeg -hwaccel vaapi -i input.webm -pix_fmt yuv420p -autoscale 0 -f md5 - > > Thanks > 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". _______________________________________________ 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".