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 9D38244417 for ; Fri, 11 Nov 2022 03:45:54 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 5EC5F68BC43; Fri, 11 Nov 2022 05:45:51 +0200 (EET) Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 980AC68B7DA for ; Fri, 11 Nov 2022 05:45:39 +0200 (EET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1668138349; x=1699674349; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-id:content-transfer-encoding: mime-version; bh=LooHHhIcY5eoHrIw6A6T8uYoWW9ixx3PhonG66WR1vw=; b=ayrYjWks+rX0+XpJ9xo211PLFgob3ehO6l4/AAAH1ZyqD1BacLL/Ep5c jiAKp2Y6VE6/PhPSbJN9tzSHVYWiKot4aKOZxsPQ3wZte2wzsKosRNbxd IcN//CGiGnHCbLW16YZ0ixn22RGvRUciR9wIx3UYhgzIWYqD0KKMkTNv0 7dbQ+7GHdy/8cjWI5+yKx+PSTVzAgAO6FoaZof4ud+eo7hpr7EMVrxsm6 gg85gilovMfHicqFC4LA1c7B8B71BMHqf9DPyTftvRIjtWAJzwOqPe1Qv hcykg7VgOF+4M3+TS3jYBgDk1FfKBFnstZ6eRNYDV4zsVSMALosEHqAJU g==; X-IronPort-AV: E=McAfee;i="6500,9779,10527"; a="309139925" X-IronPort-AV: E=Sophos;i="5.96,155,1665471600"; d="scan'208";a="309139925" Received: from orsmga006.jf.intel.com ([10.7.209.51]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 10 Nov 2022 19:45:37 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10527"; a="615357472" X-IronPort-AV: E=Sophos;i="5.96,155,1665471600"; d="scan'208";a="615357472" Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16]) by orsmga006.jf.intel.com with ESMTP; 10 Nov 2022 19:45:37 -0800 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) 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; Thu, 10 Nov 2022 19:45:37 -0800 Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) 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; Thu, 10 Nov 2022 19:45:37 -0800 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (104.47.55.104) by edgegateway.intel.com (134.134.137.103) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2375.31; Thu, 10 Nov 2022 19:45:37 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=iKJ6n6mqzVIC0b5kUp6Nd2k0yB3IQAX07c7Ui6yMGKOL3m7bEnNVTzgwWPI3MaCUb15Pmg66CeUMHo+62b7hd8k/6WAmbQIPdg57efD6MIXLyOvBgvAppXqefGnMr8oaKEubbBxkAK3k6MC5E19igB8ZyonO7jbK7mAcicJ1BDwG8XDDCFNYsLZyTDOckfdTzkJM7663xEM0HsloXFPX+mgAADU2OAWhXpGXqbgW9RT3TlEDkyRuAeEE8YoBA41sx8/3cafcA+3e1jrTvs5lw5yeqxWPYjfuBfYvXvgm4OQn1aPXcrOKePEFRksQDUj8c5kWusKwtRDa1dcQYeTjpQ== 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=LooHHhIcY5eoHrIw6A6T8uYoWW9ixx3PhonG66WR1vw=; b=P3WCLxD6XQ0S5k9MU35F8CZo5VA1PwackeHWKr3io6xBHpvn1ucWLj0RLmO569bqOtfJHeR5AD1/e25l68TLC9Mj+c1rzWO/7RIcd6SvaesAGsATnsNbOhbJQrCG6pu6NLjZM0uzFROvFi1RWBMehxq4hCJk2EHoxfAQX5bRl999PG2YBrEjOD9mroa6Zs3P+L59gOvb+n4hfQjnhvGNMIdxaaZC1V+MlzUn07Fto4imqA+VYl8U5FGk2hUW738xeFvJQe7/7kAKH5Bh0pDAYsxZ4i3zi9kM33j1bU3W0+F/cXHQT9NpzzZrHbU/bM2r8sDhEjjM+Invz34yPRQ8eQ== 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 PH7PR11MB6355.namprd11.prod.outlook.com (2603:10b6:510:1fd::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5813.13; Fri, 11 Nov 2022 03:45:35 +0000 Received: from BN9PR11MB5515.namprd11.prod.outlook.com ([fe80::ca2a:c3a1:b0cb:c003]) by BN9PR11MB5515.namprd11.prod.outlook.com ([fe80::ca2a:c3a1:b0cb:c003%9]) with mapi id 15.20.5813.012; Fri, 11 Nov 2022 03:45:35 +0000 From: "Xiang, Haihao" To: "ffmpeg-devel@ffmpeg.org" Thread-Topic: [FFmpeg-devel] [PATCH v4 2/2] lavc/vaapi_decode: add support for HWACCEL_CAP_RESET_WITHOUT_UNINIT Thread-Index: AQHY82eWmaW/UKyunUeDWKUf3BKvr645GUQA Date: Fri, 11 Nov 2022 03:45:33 +0000 Message-ID: References: <20221108114501.570349-1-fei.w.wang@intel.com> <20221108114501.570349-2-fei.w.wang@intel.com> In-Reply-To: <20221108114501.570349-2-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_|PH7PR11MB6355:EE_ x-ms-office365-filtering-correlation-id: b6c882bf-23c1-4567-f25e-08dac3972fa4 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: OAXgvibhEMfD21FITM6nc5ohrZZ0w2k0gCaF3UUGFWrxGJH2/zNgXnKZg4QjfRmeRwxzaOa9yNbSy4f5+98uC22sicRwmWYw/NuTdnXWnhV9Hy6CvamMVgbEmPs0MOxXdLF601vLnBwcz/QPZ5YDu4EufBFLNbDiNDYTQBKQiSgLtkNJhAhaKZ35KZjc0n1fdZ/t35BkULQAZ8m4e+4lw2j+gA7v06Isre6ccnWJNAMDSGWlSgFS3Gs3xI7VgEFrEnZZan1XCuZBars/WKDY7OzV0Yni8Wq88S7r0nYGJ9zTRhERnGEdvo7DpccAJvoBkEV92IQExCeqHDWWW0IR6P6/KwDu8VzgaKaJvGgywUrcsyw8yjaHLV9GGloAi06rqGwWQUnCcD1WqBBQxhzsVl+A6PxB+qbTa5Advfr9GQUPmK6Ij/Cvy3xXX46vuXHRTKeU5Krvcv3j/zhJELOHZjKTjbm63TrNmC9LA6+qcUHUoUn8pqMxV6n1a3EHBjxzsj5EgcYoDbd7iJWc/vpSTlht2D2ceQ5YfMscTjvdpEWcAVFKWjK0g5Bz/SQsGmZtM78f3qazoqogH63JT4XxplQbtZyjTTNVaoJjf6rTtV42NjTTceiTHRZNJhbNvNlshrunArRPspmkvgTxS1p2eBh9WpT53sxSVLnrMS59clCVCnwNn9sUIJD4CfQHseM6PBRk/y/E2GzF7hK2massqw2uvOxwvc59F0mYASfPhfnqREagDSLn6KdlXl4DRAbAcAcfYRt+zI2g1FetTa5ZZ/HhRbqB5ucipeK29mU6hsA= 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)(346002)(366004)(376002)(136003)(39860400002)(396003)(451199015)(966005)(107886003)(6486002)(71200400001)(316002)(6916009)(478600001)(82960400001)(2616005)(41300700001)(8936002)(186003)(2906002)(4326008)(66476007)(66946007)(66446008)(8676002)(66556008)(64756008)(6512007)(26005)(91956017)(5660300002)(6506007)(76116006)(83380400001)(38100700002)(36756003)(122000001)(86362001)(38070700005); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?OGNXUisvQmxNV2FKd0QrTHgwTS9xVmRVNUc5dm5ITjloRDRiWWxrR0FQN2FQ?= =?utf-8?B?S1dBek42cFplWUtaVUQ1YU5jcUE3KzllazBmYmJsaUFhZ1lLSjBTZHJjcUhR?= =?utf-8?B?aDUrOWpRcUNld04vUTEvenRiUjhFWmVIc0Ftaks2VDNzUnRWYnRLUDJmVG92?= =?utf-8?B?MzZSWEs1NmxrSHlxUmh6OS9zc0s5dWJYNmVMZWl5eU9TMmxCS1F2M2EwVGRI?= =?utf-8?B?SGtvUXJlZ1lSRzRKdTRrS0pzdnlEOUFQOFY0eTVZYmVoYjVuVkZIU2Vwbm1R?= =?utf-8?B?VU03SVZpaWpyQUEzWU93cWx1K0FNKzJDb3FrV1VnYmFPQWszTHNSQWFaM29W?= =?utf-8?B?aUlIamJZL1RveHlWSGhtWUxsVDNKb3FHeUkwT2tacjh5RWY4VTUwbzA1RWUy?= =?utf-8?B?R3N1NUlaRWw2S3FQVFg0WTFRQkwwUFBLcVRHRjFTL3FNNzJycXpsVTRZcmcx?= =?utf-8?B?byszWWRhNnJUUUJIR1JLaEhmZlFtV1BMeWp2eUVMaEVmaTErMmFhekxKUkxB?= =?utf-8?B?U0htNEtROElEQjJrd082ZlFpUG9jYmFEQlp5RDJTeHBETkpOQkFZV2NXeHhJ?= =?utf-8?B?SWlrZUlIZ1lha014N09PMmgzb2hhWnM0QUJNb3g2bXdETXN1YUROWFhQOUhv?= =?utf-8?B?OHVrWFpSb2RvbDBIc3VSRUYzR2dLeXYzZGE1Q1Z3OGVBSmY5eXVyUTZ2RThi?= =?utf-8?B?NGx6d3RJZWpSRnNZM1JMMUpGZ1c3N0EzOUZHc2pXa1BxK1ZzUkoyNEhvQ1Bi?= =?utf-8?B?VW9Ea2c2b013KzBlNEFINW1sNmwwYmduUXhXbERvSTNCU0lqMm0ralIweWhm?= =?utf-8?B?Vng1bnRlZURmNFFJc2hHaCtwczRRRWpnOXM3eDNTekVXSWsrWVZlZkRWRmJN?= =?utf-8?B?UW9oMG1vTDA5MEVUSjZaUVpJQWdidGYvdzNPY0FQcnRhdE5EZHQwU1YxL2JR?= =?utf-8?B?SXBHNFpHTENzU3I5TVZnN0hOcWlBTFViQkVJeWhpa2N3OWtqYm8wRzFQN1lG?= =?utf-8?B?dDcwLzZRTlZEcmFEUW82TUZhaGsrL3ZQdHl1RWloTDkzNmhyekNQbFZPU2cz?= =?utf-8?B?QVlvWmFqSnRBczZNYnVNSnloSDhGaU9HZlZkT2pQc3BRUkU4aFI3ZUxjZjdF?= =?utf-8?B?ZW16RWtHbTJZckpZM0dSN3Y4NUtPdkpEMFlKT2FFQm1BY0RscmovUTVwSUhk?= =?utf-8?B?bUE3ZTdXNGJSczRWS2ljNWVRWGZ5T05KRDZhdHY3ek1BMTZrL1UxZ1N0TGMz?= =?utf-8?B?TWlnODRwbU9CK2FvYXRXN2RqSXVIL0lRZ0U3OUJJQWVnWXlVT3U5RUd0dGYr?= =?utf-8?B?T0F3eCtQOEh3Zjl0S2FsUHJ5YnM3bk5QMlJvWStSMk5KcGNTbWVRck4vWDlx?= =?utf-8?B?MEpzRk55NWw0NTVGZ2E4SFRvVEs0U3R1KzVEVDNldlpuL0FBV1o4cFVmQVdF?= =?utf-8?B?VEEyYUVLeUFwbDcvVjhZSmtDWVgwaC9nS3ZNK0lKcitBN1Z4UnpPYlVmMEFw?= =?utf-8?B?WXBHdjQzTzBueXJlMEU2OTNDTHJFazBWa0tzMGFsaWlSTjY4aXRUdzhzY1ZQ?= =?utf-8?B?SVU3SXdvWEptdGl4TlhSOW0rVEJ5NFFIc2NTU2V2Mlh1b0ZJWlBqdHhad0NM?= =?utf-8?B?R1VNNVRXSENQd3hVUzZ2M1NNRXZIVUQ3cWRaQkFyaUdMQWNha2g3ZGJPVVV5?= =?utf-8?B?NUxLbUYxa2xiWm1tdVRsbUFTSlpjVXNoWWNkZWtaa3lzejVUQ1BaUGlrUGcw?= =?utf-8?B?SEF1QzN0Nnh1dUJhUWQ0SlA3ak5NWGF3ekdBUklHWk9iZ1JrNHY1eHE2T0xE?= =?utf-8?B?cWZ6bUVpT21iaUt0dzhxaTJCUzRENXUrVFBOa0xVMU9IQkNEdGQwVmQySWN6?= =?utf-8?B?WlNZbVVYbW04NklVTVlkeC9hb0F6RzhBK290dFFucy92SmdwbVJONW9qeTZI?= =?utf-8?B?bFVSRExmU3lUMVJWSGlUY3pESUErMUh2QlBOc2psQTlNaE9sM1JLQytNVEE5?= =?utf-8?B?TlhwSzluTUt3bzhKdXBONTNaaEtQMjRHNUlaSjBHb0dUbm1uR3RUL25rS1Zy?= =?utf-8?B?L2xyK2cvcUJPNXhNOTVzZkhZZzVPOWYwaGNKamFBdTg3MEFyR3lNbXhERnV6?= =?utf-8?B?SHJaZldkUVN4Y05ra2NYdW04TnJBQlBZNDRhY0NtU1l5RXcrZmFIbXFNQ3VM?= =?utf-8?B?MUE9PQ==?= 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: b6c882bf-23c1-4567-f25e-08dac3972fa4 X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Nov 2022 03:45:33.2851 (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: WLUUY5s4IGkWF6VLH8mxra2zVgKSAol0QUv/ZYFwqwdXJF/jIB0ijqU0Fp8ESPi6rXRObO/MU2Iw6o+Tw4vNCA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR11MB6355 X-OriginatorOrg: intel.com Subject: Re: [FFmpeg-devel] [PATCH v4 2/2] lavc/vaapi_decode: add support for HWACCEL_CAP_RESET_WITHOUT_UNINIT 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 Tue, 2022-11-08 at 19:45 +0800, Fei Wang wrote: > This can fix vp9 decode image corruption when the frame size is change, > but the pervious frames still be referenced. > > Surfaces don't need to be bound to vaContext only after VAAPI 1.0.0: > https://github.com/intel/libva/commit/492b692005ccd0d8da190209d5b3ae7b7825f4b8 > > Signed-off-by: Fei Wang > --- > libavcodec/vaapi_decode.c | 41 ++++++++++++++++++++++----------------- > libavcodec/vaapi_vp9.c | 4 ++++ > 2 files changed, 27 insertions(+), 18 deletions(-) > > diff --git a/libavcodec/vaapi_decode.c b/libavcodec/vaapi_decode.c > index 134f10eca5..618f3c3e0a 100644 > --- a/libavcodec/vaapi_decode.c > +++ b/libavcodec/vaapi_decode.c > @@ -658,8 +658,10 @@ int ff_vaapi_decode_init(AVCodecContext *avctx) > VAStatus vas; > int err; > > - ctx->va_config = VA_INVALID_ID; > - ctx->va_context = VA_INVALID_ID; > + if (!ctx->va_config && !ctx->va_context) { > + ctx->va_config = VA_INVALID_ID; > + ctx->va_context = VA_INVALID_ID; > + } 0 is valid for VA config and context, it is possible the underlying driver creates VA config and context with id 0. Thanks Haihao > > err = ff_decode_get_hw_frames_ctx(avctx, AV_HWDEVICE_TYPE_VAAPI); > if (err < 0) > @@ -670,24 +672,27 @@ int ff_vaapi_decode_init(AVCodecContext *avctx) > ctx->device = ctx->frames->device_ctx; > ctx->hwctx = ctx->device->hwctx; > > - err = vaapi_decode_make_config(avctx, ctx->frames->device_ref, > - &ctx->va_config, NULL); > - if (err) > - goto fail; > - > - vas = vaCreateContext(ctx->hwctx->display, ctx->va_config, > - avctx->coded_width, avctx->coded_height, > - VA_PROGRESSIVE, > - ctx->hwfc->surface_ids, > - ctx->hwfc->nb_surfaces, > - &ctx->va_context); > - if (vas != VA_STATUS_SUCCESS) { > - av_log(avctx, AV_LOG_ERROR, "Failed to create decode " > - "context: %d (%s).\n", vas, vaErrorStr(vas)); > - err = AVERROR(EIO); > - goto fail; > + if (ctx->va_config == VA_INVALID_ID) { > + err = vaapi_decode_make_config(avctx, ctx->frames->device_ref, > + &ctx->va_config, NULL); > + if (err) > + goto fail; > } > > + if (ctx->va_context == VA_INVALID_ID) { > + vas = vaCreateContext(ctx->hwctx->display, ctx->va_config, > + avctx->coded_width, avctx->coded_height, > + VA_PROGRESSIVE, > + ctx->hwfc->surface_ids, > + ctx->hwfc->nb_surfaces, > + &ctx->va_context); > + if (vas != VA_STATUS_SUCCESS) { > + av_log(avctx, AV_LOG_ERROR, "Failed to create decode " > + "context: %d (%s).\n", vas, vaErrorStr(vas)); > + err = AVERROR(EIO); > + goto fail; > + } > + } > av_log(avctx, AV_LOG_DEBUG, "Decode context initialised: " > "%#x/%#x.\n", ctx->va_config, ctx->va_context); > > diff --git a/libavcodec/vaapi_vp9.c b/libavcodec/vaapi_vp9.c > index 776382f683..245b7a1b3a 100644 > --- a/libavcodec/vaapi_vp9.c > +++ b/libavcodec/vaapi_vp9.c > @@ -181,5 +181,9 @@ const AVHWAccel ff_vp9_vaapi_hwaccel = { > .uninit = ff_vaapi_decode_uninit, > .frame_params = ff_vaapi_common_frame_params, > .priv_data_size = sizeof(VAAPIDecodeContext), > +#if VA_CHECK_VERSION(1, 0, 0) > + .caps_internal = HWACCEL_CAP_ASYNC_SAFE | > HWACCEL_CAP_RESET_WITHOUT_UNINIT, > +#else > .caps_internal = HWACCEL_CAP_ASYNC_SAFE, > +#endif > }; _______________________________________________ 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".