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 DCA1A43FED for ; Wed, 23 Nov 2022 11:30:15 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id AC53E68BA7C; Wed, 23 Nov 2022 13:30:12 +0200 (EET) Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id E1AEB68B9E8 for ; Wed, 23 Nov 2022 13:30:05 +0200 (EET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1669203011; x=1700739011; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-id:content-transfer-encoding: mime-version; bh=YD57/lRjYqdwS6NzGuSO+mTdJPHiAgW4ITvxxleWi94=; b=mwrQr3JsHfyTronC7N7BCEnveJAKutNsGedxDceHxZryjLSAprvzA5TK vAFkyQyIXNA6CiLwAOMvopMD7qR9hYvV9+IeCJ/hu1jaI0/koPjAPvEGs ++L4+b7IsCklp0nR2YSE86PwYLth5hOL6pDIlqv9EbfKb9q1CpyOcdx6y 3V4rPJ7Yz99MQ9v7F9Nob5HPzvQZ3Tqb8nP9pmy6Qp2RMeYNLMdvZWSnU e5cWl/fiP6Q0QUVQppbjTKYT7kM5fC2lBNcN9+pUES8WGHg3gInStn12f 6jojCmDJfIzRGTjBITL0fMSdWJvKQZjtNFdFAoVO9apLfgN5b6MAZ0TyS Q==; X-IronPort-AV: E=McAfee;i="6500,9779,10539"; a="314080179" X-IronPort-AV: E=Sophos;i="5.96,187,1665471600"; d="scan'208";a="314080179" Received: from orsmga001.jf.intel.com ([10.7.209.18]) by fmsmga103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 23 Nov 2022 03:30:01 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10539"; a="674696087" X-IronPort-AV: E=Sophos;i="5.96,187,1665471600"; d="scan'208";a="674696087" Received: from orsmsx602.amr.corp.intel.com ([10.22.229.15]) by orsmga001.jf.intel.com with ESMTP; 23 Nov 2022 03:30:01 -0800 Received: from orsmsx603.amr.corp.intel.com (10.22.229.16) by ORSMSX602.amr.corp.intel.com (10.22.229.15) 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:30:01 -0800 Received: from orsedg603.ED.cps.intel.com (10.7.248.4) by orsmsx603.amr.corp.intel.com (10.22.229.16) 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:30:01 -0800 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (104.47.58.169) by edgegateway.intel.com (134.134.137.100) 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:30:00 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=FX5pAE9G1CghScuKz5mX0tww5h5SAL1Ebd9x6YHRJ1F+vjPUh3+gdAva127Pkhv2O1yEa9YXbxTKPXd4HJtWTW6UKDnXaEGVCcjhT/rdHNA0Yq6VhllkTnopesegx8s+DLrB0VDCQ4mefgsKOE1Me0f13dyOyOHlgc34h23um+pWmBrpZxV5Rm0CVLyTlUOG2Gc20+NIgSkzlNf9ESJcye4PNDQy2wWs1zPuOFCOWQ+SC+Y6uSUIiZ8Y3UM78tR3griUtCGEw3p+K9AVPX8ePguvk8mFzWnCUcUkB+m+ZqDek0qJQSBD3I8pP7s3ZERRQkvKzXut1nyw7PAUElV3aQ== 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=YD57/lRjYqdwS6NzGuSO+mTdJPHiAgW4ITvxxleWi94=; b=ji3ZbQSv+AQ7Jg0Cxygl4Khmx6yzzs0gfOV8aRR64/knvQshSpKOfx2vNil0Oq5u/UXJFvxxHzVxtEFl4+5t+7ERBSOZfVlK8dNFJMraPdFzvJcK2hy96wDPVDI5B9iiFMcbnwC6DWDekxVGv//XeXJAkd+SUgyr7jmPHah+2E6PLaBfmzXcf5m7Yvi/wYu8V1FXXBgD/5Ex/O/QzyjHSlCoKZlUas4RldbxfeKQJqP8hFqqxe2bHs7qaBPuotQFD0VqCxFOV0bDOI1l4DBo/Xh5GAbVSuacT8hhENZQBkrrFEYJtcqV02d5cuJBTs28jLPB1n+mX26ii2GS/OUYTw== 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 SJ0PR11MB4848.namprd11.prod.outlook.com (2603:10b6:a03:2af::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5857.18; Wed, 23 Nov 2022 11:29:58 +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:29:58 +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+2wtyu1O77kKvcpBKwSsaq65MbkUA Date: Wed, 23 Nov 2022 11:29:58 +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-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_|SJ0PR11MB4848:EE_ x-ms-office365-filtering-correlation-id: 94ced76c-8f4a-4494-1d56-08dacd460d55 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 1qQ5K9Kh+OXDiOGRbLIVSI72r4zvk+zsKouJawIF0wdsW3EglPrKTKkEhfTB37uQn44ECb/G0U3aZiqcm7l7zbLlxZYSgYWgeLe9umF23XGrzlF8WFXgKutAFT7bflbNjc32rtUDlNP4sS1aXgJJyeTzz9XltfB69zHpk31QSWCA3PYLdKlsEo6pFAsd9dAOU/Ufs/HcmKgL8Sz4mV3KYHAuriZz4FLtFE3kfzGVG9NSDytScU8UZTyAoxxAywQgdrrxeEwt11L2GMq9oCU8d6rKxB0awIy0/N5aWk6qKmjEaL/trqw11qM0+pMi6PsUY2qM74WmxMYdBjph2v8hMeSPVY2BcAtt+2NzZ/WTBkMIaozTZDvBQAkbSuCk9xtheSQN2aM8r1RpGiLzikt1l2lJE9RHJcqEFHDvYStHowy1BEATe4i0bxBnh/LWmlXjCJ8egdHG2oWJZMk0/xKgyH49DcUkU8FVH/IKnPJaahsNa2491ZUzHiZAnpPo5h8JNh2jskseEpgaCABMmAi/uvCaeWHP05u8QPWOFb1lkZHSvS9ztVjqtbMeuTrlEWwlCJTCbQLj8l+3SB5zKoLnYbOh16OBE5jkouppLmbSl9z2XRPxH/217U9+9NgI6OAOz0W7HabtcW5IV7VPKvwLA431OpNph3ytdRtKNsxj1BympjSZYn3RHWoYXlWtzj2/bk7xmKIv+1r5ijJT0eFytA== 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)(39860400002)(396003)(366004)(346002)(136003)(376002)(451199015)(26005)(83380400001)(6512007)(186003)(2616005)(82960400001)(38100700002)(122000001)(38070700005)(4001150100001)(5660300002)(2906002)(71200400001)(8936002)(6486002)(478600001)(107886003)(6506007)(4326008)(66446008)(66946007)(66556008)(66476007)(64756008)(8676002)(76116006)(41300700001)(316002)(6916009)(91956017)(66899015)(86362001)(36756003); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?bGtJS21tVkVwTHJGL1g0aUpIVEJRdFF6NWp3dDM0TldQSmduTWh6QkRjbUNn?= =?utf-8?B?RmxJRGdPNjVSN1VKNXpDYytTZjJTY0pMYzBGSFZtTVFXaEErK2VTR2V0MklW?= =?utf-8?B?VmhYTkZsRXk2R3IxTmMyaEJxR0RQMTJKYWFib0JobnJGRldLVHl0TUdmQktt?= =?utf-8?B?QzVyenVIejlIL0U0eVdETWhYL2s5aWYyejM5VUFLdE55TVhmMmRERTM2dU92?= =?utf-8?B?ei9FV2g1YTkzNnF2WFRYTEdJQzYxbmJCTi9OdjFxaFl2Tmg0NVJCZFIrVnVB?= =?utf-8?B?d0xFdDZhL3l4V2liQ2tLdTg4OHRJTERaSS9jNHFCcGN3cjUwM21OYzF1Njd1?= =?utf-8?B?bzVNQmYrMzZQTytzNEpyVStqZ21PTC8wd1p1T2xvcHh5NU51K0pOdXdmSnpY?= =?utf-8?B?U3pSYU1uSFVmOEdCSGliWTJVWW5XMk9OWVIvS0IzcjJQUzY2d21kaU14aytP?= =?utf-8?B?dnQ1dGVOMFYzeUM3NG1kVTZkWFVWUk1KN2RrVkgvaURBRlNTMnUzSEwxRExl?= =?utf-8?B?V3VoZm0zODh2MGRmc3UvcTlGNWhESFY5V05IbERGZ0N1UzZxSitxYkVBMk9a?= =?utf-8?B?RVowbHVjK3UzVWx1VXhhaGtCbmh1dmYwbmJ5cEwzZ0dURDdCbmxZNEZ2UVR5?= =?utf-8?B?bTdBZHl3YlMxQkUrWHovN3pqT3l2Y3J5Ry9sMk9wWGxXR2lJSy9sVlFwT0dP?= =?utf-8?B?NFJucWd5RFcwaWZPdm40OWd1SlVEVDVidjh0TFBGRTYwY2ZxSHQrdXREdHds?= =?utf-8?B?MHJNQ3dleWQzZndJNUJ3VjZvNDFzaXh1aXcwYmlBSFJ5R3BkaS9tbWFIakV0?= =?utf-8?B?bEcrR29xUDF2UGFtMFBDV1FxcHRURmkvNGdxenhvUUN6azczMnJ2aHpsTjRK?= =?utf-8?B?bFNzSG5yNTAxSENYbW5yckt2NDdkM3E3M2NLR2FJYWU3OFp6TWhBeStVQ1pK?= =?utf-8?B?dWw5N1FDMC9RR1p3bGJ6MFhueU8yWVl4aXJEK0dORlUwcW1mZXhnb3JhaUhX?= =?utf-8?B?V1o0UUY0UnFVZU91eTliamRBU0l3YWIrTHc5NTFPL2NkdVFTclNnWFNpNDRr?= =?utf-8?B?N0VBdjdtNHRQeEtreUxqTWRlMUx1SDBhQldndUpaWXloL05JS1NGSENpanRy?= =?utf-8?B?VmhMZ3M1REJvU0IxVC8yVHlST0U4dlNKMUpoWVh3akczV2kveEdpTjJKd2N3?= =?utf-8?B?T0k1c20wajduWkErb0R6VkxUQ3dkTEYwWGhwMlAwTisxcXlkdzhDa3RkNVNl?= =?utf-8?B?SElMbWw2NTBrc1hEd011cDBJanhOczJmbi9mdENtR3Bxek5uSUt6ODFvSHVB?= =?utf-8?B?OUpUVmJtaDRGNXBpRWU2ejd5ZVp6RWZtNUdQUys3OXpYR2s2Y21Qamp2SWJ4?= =?utf-8?B?bnNnWWlFSWFXYVVCZlBrcGtXNVJNdmE3czZBVXBEeWdWcWtnSm1uSVV6RFZh?= =?utf-8?B?NkJwdGFrdFI0S0hxaVVwWmd0N2t5V0xLZUlwSVBhNTlnS3dHSmNmcURzWldQ?= =?utf-8?B?dnVCSmZvc21reWJGNkg5QlU2aFJSaFNmaW41dXNPSksxL3g3MmcvdXpBbVlE?= =?utf-8?B?TFZiMTIwTFNoaVc2SkhPeU1nenRSTk44VkNiOG5XUkFXWk1CRXRQNkZkK0po?= =?utf-8?B?WmU2RjJPSEg1bUhPMTg0bFRIaGxnR2VnTm4yNmN4Y2NIQnFraUxJZ3ZKaERx?= =?utf-8?B?R3BxSGxHSWlDTVlWT3dTNk90b3JYWFJrbFIydFJlVjFUK09VVEdNQ0pPZnNR?= =?utf-8?B?ck9iWEZrU0srZ3hCbkkydFVyU1dlamUvOXpkdGQwbzBHeHhNTnRva05jVlhz?= =?utf-8?B?RUNENXFOeGQ1blZJMmZTa01wOUNjQkNtMkZoaHc2cmpYcTRqMEV1cmg3U0Rw?= =?utf-8?B?dkNrNVRuMDVZMWYvRGRtMGhsTDdlNUYxWnN2dXI0dG5kS2FkRU54dnFsV0ZM?= =?utf-8?B?VTAvV2xiVUJSKzdRcGhiZHNiclBkOEJVT09PQ2VoMU5JMmFtTG1rdFhnclBo?= =?utf-8?B?MGFya3pQV2wvRk1CZXJEc3NWSW9reG16VUQ2UGptMG1iZ1l3ckFyVUxQdVRp?= =?utf-8?B?bytUNGl0RTV4SDNtTGVxUzJSd2EzRkJ0UXhjTXpGNURlVWVyN2lieG5XK1hE?= =?utf-8?B?aUM3aUNXTG9vb1hkbUZoODNMQk92TFhGck9JeU9odHpBbmtXVnhBTi9TV0tu?= =?utf-8?B?Nnc9PQ==?= Content-ID: 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: 94ced76c-8f4a-4494-1d56-08dacd460d55 X-MS-Exchange-CrossTenant-originalarrivaltime: 23 Nov 2022 11:29:58.1120 (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: j8rwhPqcjCoKsGNaYknbhqp0aCsTAEC2cZ/vJxqALyTIeoyE/iiC5CtIm9SM5hZcbvYq3njZysgtbbTWOYNu3w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR11MB4848 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 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 - 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".