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 43F7C40308 for ; Mon, 21 Feb 2022 06:52:42 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id A1C8F68B0AD; Mon, 21 Feb 2022 08:52:40 +0200 (EET) Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 4DB6368A048 for ; Mon, 21 Feb 2022 08:52:33 +0200 (EET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1645426358; x=1676962358; h=from:to:subject:date:message-id:references:in-reply-to: content-id:content-transfer-encoding:mime-version; bh=o5cxtEImb8qBhzB+jCo0TXzu3HgNgxviWJ/YygvQz9A=; b=fhM/pWa4T0LrqBx2H0f/Rr+vr8TJd0i4RI+ST2AKE5wDJBju8sDGGsuC NpKyfDKAbGTGLnFkWVgvYYE+WK6gulaySDXzFxMeg1fKrEkLlV4Zyv1dc NarGha+QCpBALTLJWB9gmlDm8EUZrKHDby0UWxAgghoJgZoHOnU+VuPkq NWCiwB6Rb29K1sLfDPCjL/2t25wrxmnZ04RoFTnOD3t3EJkYhPMLJEOuY Z2m+hByOdu/324Rkj75EfN/aQWK2DuilhsSyZTgsEnLujVHzgbASQapTi 3dOTv1FpUQjrLKep14SA/9RQXkww77GBmyDdGqksIhNEYXEt3lkVXlj7F w==; X-IronPort-AV: E=McAfee;i="6200,9189,10264"; a="251630428" X-IronPort-AV: E=Sophos;i="5.88,385,1635231600"; d="scan'208";a="251630428" Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 20 Feb 2022 22:52:31 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.88,385,1635231600"; d="scan'208";a="504891373" Received: from orsmsx602.amr.corp.intel.com ([10.22.229.15]) by orsmga002.jf.intel.com with ESMTP; 20 Feb 2022 22:52:31 -0800 Received: from orsmsx608.amr.corp.intel.com (10.22.229.21) 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.2308.20; Sun, 20 Feb 2022 22:52:30 -0800 Received: from orsmsx612.amr.corp.intel.com (10.22.229.25) by ORSMSX608.amr.corp.intel.com (10.22.229.21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.20; Sun, 20 Feb 2022 22:52:30 -0800 Received: from orsedg603.ED.cps.intel.com (10.7.248.4) 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.2308.20 via Frontend Transport; Sun, 20 Feb 2022 22:52:30 -0800 Received: from NAM12-MW2-obe.outbound.protection.outlook.com (104.47.66.47) 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.2308.20; Sun, 20 Feb 2022 22:52:30 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ldf6K4nPUQaHzZsbqsKKrmWtVWFLBq6A7cnCo4DpSbmYOnUx3zBDMpzdYJJck9NiezVoBKw/F7ylk0e1+Rg74V6aD7T+2laEV+Xa3URKWWgMv5d+/ZVP14adV/szYJKWa45FW/Cu+w0Jz8PR08jpYy07mFOTN/gfy7EzHP/RALNG4RZCFizDMDdV1Sa4FLonFgDBlOOtS2Rc7Ut9JJeX6Xi6hrBSc+ArgAy07CfD78sqJIU1b1gWR3qn8Y+VsItsXCSPQciCcIY5Dh6/CsbK8woYowoM+1vP3JMlpVRyqcOuOvnYG55k3wrFQWu2m7/1FAm0Om9+ioU1a2yuZ2gcrQ== 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=o5cxtEImb8qBhzB+jCo0TXzu3HgNgxviWJ/YygvQz9A=; b=eH5W2i+wQ+JjShZCFqBamdqo+F0/3Wn7r0QRkGFpTG6OifAZk50wzwyscu0cjMZuP5HYjN0WZaOq0Slugsz5AndiAQTIeagVKfGTMtItGITuPe8KBpjnsoIZKywpzyY7vMVgU9zCXSdVXfmKm1W0qHIvjB6Qj19dtF12ZXaY0rqNUXxPe0VKgMcIJaVL5WjrV1RDL9yRYl57d2dDfi05sxC7ZL5sZabSTqGbyCt6Kiro5QlMxv3WMVlUfVagMRj/sNOrfCIdkfHz7XJDsVbGlUBj7mjXhBxsbffppdHxURsUT2Hm6ZYLmXB51MQbqgvzIB0ffu+b53KDowiJoaYbiA== 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 SN6PR11MB2798.namprd11.prod.outlook.com (2603:10b6:805:58::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4995.23; Mon, 21 Feb 2022 06:52:29 +0000 Received: from BN9PR11MB5515.namprd11.prod.outlook.com ([fe80::9b4:2af2:de92:517f]) by BN9PR11MB5515.namprd11.prod.outlook.com ([fe80::9b4:2af2:de92:517f%4]) with mapi id 15.20.4995.027; Mon, 21 Feb 2022 06:52:29 +0000 From: "Xiang, Haihao" To: "ffmpeg-devel@ffmpeg.org" Thread-Topic: [FFmpeg-devel] [PATCH v5 1/2] libavcodec/vaapi_encode: Add new API adaption to vaapi_encode Thread-Index: AQHYJHTFPZ5ZGDe4hEiX69vnMJITUKydlkOA Date: Mon, 21 Feb 2022 06:52:28 +0000 Message-ID: <2668f191ac326db869adace7a9e3861781190895.camel@intel.com> References: <20220218030747.894232-1-wenbin.chen@intel.com> In-Reply-To: <20220218030747.894232-1-wenbin.chen@intel.com> Accept-Language: en-AS, zh-CN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: Evolution 3.28.5-0ubuntu0.18.04.2 authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: bcf303bf-d1dd-415e-10e6-08d9f506ba16 x-ms-traffictypediagnostic: SN6PR11MB2798:EE_ x-microsoft-antispam-prvs: x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: sOB6xI79Kzpd5K1JEbeAWBsoRN0uWPNiVrwdi4c+zTPwWZCLibCnNe+b3hIw4VB1SDvH4zp0HzSl9jVCAvzfpCg9KWHceCphfYj+Qeq2ZB4Uu+bytvuCjOdypCWIJhU8UnGCKdUTFURgTVp2FO4nADtXstSYcPwkGeAgCXUF4TGqkwYOdoT/tsY+LLXRot1pOcYirKgFBR59OjSFPXNXE8vKMD6T7NeAo18NOvtMI46RXy8DYZJwN8PdyLIxdatJ0hOQdQc5tiQ1CjYdEWTSGr1RUOdsIsgDPgAVdBZEVHEkn/WuVKRaJO+SiaK5+50SJyAbhthf1/gWp8GBRg9ALlpUoG/WaM4Q7QuyXcFWkhWf3aORntp3j5vBzclkRHn7m5W9jdnn/Za4BCu1LKG4EbpKPzBAYmECM3/mZQJQ3h39GJKSbnRc+5T4QTZbVWTQEbdrVN4Y6qgRGH42NlUGoxHxR/ERraepZ3j1eS8kY137JG/UvnYJkZmRJRgiiRFeOa+BrnH6IE6ORH4D4ebKx9cd+z74r0Ex44gI/9Fdyt4qql2PAcwpeV85EAzmmACEVwsMaA+TJJ/TgISbIu7g8TBSlT3kNB+GzQlgVLpmayyMMZlKuAL9b+GLfIc0NzW4mHTsLDYVsbTgmKjcOuzZ4QZkRMz4j8Kh6qkPENhGacBWeigcVhHNrcxc+uYby2VMX+0M0ugv2fiA0E+W7KJKFoFoDDneHNSO3YSHdvJF72Q= 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:(13230001)(366004)(36756003)(6506007)(71200400001)(508600001)(6486002)(38070700005)(6512007)(2616005)(2906002)(38100700002)(5660300002)(6916009)(186003)(26005)(8936002)(316002)(122000001)(86362001)(82960400001)(83380400001)(76116006)(66476007)(91956017)(66556008)(66446008)(66946007)(8676002)(64756008)(99106002); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?b2hrOFg1ZVZzQXdPNWpZS1B5L1E5NWpoT1JOOGxBalp3UG1xMW5lNlVaUm8r?= =?utf-8?B?bXlkQlVjbXlVa0EvTXNQdGdFUDkxLzN6Nm9KMTNOMUFHalhQbVVybmI1WDhS?= =?utf-8?B?NTZDQW5kMFV5cmVtRTlvVStucXVJb0Nmd2R4RjBKV1pSUERZdTZiZXBZZXhY?= =?utf-8?B?eGtsQ3orMDZPTlRIQ0YrZXhlSEpKaGJMajFCOVI3NFV3Qi8yVG9iRCtBL0Zv?= =?utf-8?B?RS9HVzN0NmpPOHVHTEJWdlFHTkRzU0Y5Ym5Rc2dmSDBPYlUyNCtSOWVrUWls?= =?utf-8?B?SWxHcW02cVI3Umd4OGVOMW9hMHI0RmRCMlJWTjBpK2RISzRSNzlDWXRpVHRx?= =?utf-8?B?UlluM0hXYU91WkYxQWQvb0M5cXpjUG96WEViSXNPOFFpbU1mckcyTTVKZURI?= =?utf-8?B?ODFMbmJWVUxlV1R5eXBNRFZtanovZUxtQjZJYnpSRUk5bW1Gb3NQZmxIV0h1?= =?utf-8?B?MXMya1hQSUdLbk9lbUROTUNxNTNOMGhLRlMrbU9TODR4cDZ0TUFxUVpzS3RD?= =?utf-8?B?dlJzVmd3akE5b2x5aWUzeUNub0h5VE9wS2NMT21Ya0hRUDRkQXROQWU5ajNJ?= =?utf-8?B?cEtTaElRRlM4bGJLajJSODhYd0FWWHI0Q2QxUWJLRW5YNC9WaVB0eDIvYmhn?= =?utf-8?B?WWFIYU83NE9zbTY2eGV5SmJpaVFwb3BqQ0xhMHBxUlpud3dHdlRXRUxTZW5i?= =?utf-8?B?c0txU1poenY0ZitjNndzRHZqd1lqdG5WcG9HcFVWK1l4enNhRlZ6R1lwNUY2?= =?utf-8?B?ZU5WQzZNY2pxOW5QajZCaUQ5ZFYwRVZjRzFSYUhDdlJlamZnbFpBT0l4NHQ3?= =?utf-8?B?RlRiQmJ5UXVKV1o2ak1uZTZ6VEdncE5kSlBDRW5LWjluTzNYUmo1V3VkNmxG?= =?utf-8?B?U293TmVkOVFHTURuVFlLT2xVaTREUzNDdTJWQmltWngyaDYxa2plTDlNVUVK?= =?utf-8?B?Y3FXVlR0NzZWV0QzekxUTkRaNUpENER3N0dXYXJITnF2VnA2SC9TYmNNWWgv?= =?utf-8?B?NnZQQmQzYVJoYUk4Y09XVUV1MGhTL1lrMHYvQnpON0J0MzlvSFc5QU9ya3J4?= =?utf-8?B?RU1mL3NkUlFJWURWMHJBOWFTOTlmSnVJM2cwQnIzUU5zZGRmUmY3aHdoN2pw?= =?utf-8?B?aUtQb29KL05FcmZnRHZXd2tBRVRGa0RtQis4Y1VVdGJvQnZteFVzTUFtZ096?= =?utf-8?B?TE5KbTVtMnNaU20yZTRlMTdQdXBuNEx5U2ZEbU5JcEdyUkxZMFN4SkZEbGFj?= =?utf-8?B?Rzc4dlhtcUZZT3A1aGZsbHczYjNXaDE5RnVRckQ1T3NrWUFDSHgwQTVnN01u?= =?utf-8?B?UVVoR1VKdFNvOXpkeWJvdDJQRmlBRUd1WWhudVgwQmF3NlNwU2lrM29aeUht?= =?utf-8?B?UFBRZlNxOXVvYnoxaFJKMGtBV0JOQ1EybXBJOUNNRjRvRUVXWXoxZTZjNUoy?= =?utf-8?B?c2J1S0NISkhYWnBvYUYzczZPU2VFU0xyVXhzaU8yV0h1QVc3bDVPb0lLQVJZ?= =?utf-8?B?YWJEYkVHWm1HaE40MGhvZTNtTi80aC84NTJ5cjlkcnVObURuVUVtanJ0LzlX?= =?utf-8?B?WC9sZnc4NytFZE1PWUJqb1NNMUdodStMWGtHZHpucnpPcWFQUVNGNEVTdElK?= =?utf-8?B?cEVhd0tZWkRnVjFOejJKVXdWYUEzNFpVSDFIV0VzZHRnQVlDMDk4QURIc0lX?= =?utf-8?B?VVBLZnFGYUFXWWN2OC9IVlJtNEtiSnAzUnZ2eUdVVUl6Y2FmRUF5dEkvelE3?= =?utf-8?B?Rk9YQlViT2pFWW5OL05Lc0Rua3pxZGlPYXVmcndWZFNZdEFsTnZ1K2pvNWRB?= =?utf-8?B?eDVMQ0FaSEs3VkEzaWhMNkJHUkVnNVhEdzV2NVpRSmp5dkJZYTYzcy9OMGNj?= =?utf-8?B?ZTNoM1BQMklxZjI5NjEzRndrQUNrejFXTkhGTVZHOUIvTDZ2bVc0bHNiNHcw?= =?utf-8?B?QmF2TmxvUytYenZsZzRuNksrUVRIOTZvRU1IamJXYjM1NXdOcDhNSTNiSGxo?= =?utf-8?B?ekdhYlMwSnlLVDF4YjFUd3lRRDNmbHk5VEVQZGZTSU15L3BCY2xMR0ZvM1Vz?= =?utf-8?B?emozRmdmbGZLZ1lBcGdQWFdaSkI0REZOREJvYldNeWVYUzJPa2tJd0h2ditO?= =?utf-8?B?WU5TYXEyc2ppS2R5S2JIK3R5Z1hwamRYTHQ2Q3o4Uy9yTzErVXZNRkJFRFpx?= =?utf-8?Q?5SkYE1wklrciaaydOY1ICqU=3D?= Content-ID: <538C14708BCFFF4B9D6094B7834B24F4@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: bcf303bf-d1dd-415e-10e6-08d9f506ba16 X-MS-Exchange-CrossTenant-originalarrivaltime: 21 Feb 2022 06:52:28.9160 (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: URqrUpkIFkUlUuWj7OAkxJVQ3hIcTjo27l0TZMxJJ/FKbyHpnlKzxQFfx0cMsqL16VVHAA+/mGy06yDzHpUr9w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN6PR11MB2798 X-OriginatorOrg: intel.com Subject: Re: [FFmpeg-devel] [PATCH v5 1/2] libavcodec/vaapi_encode: Add new API adaption to vaapi_encode 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: On Fri, 2022-02-18 at 11:07 +0800, Wenbin Chen wrote: > Add vaSyncBuffer to VAAPI encoder. Old version API vaSyncSurface wait > surface to complete. When surface is used for multiple operation, it > waits all operations to finish. vaSyncBuffer only wait one channel to > finish. > > Signed-off-by: Wenbin Chen > Signed-off-by: Haihao Xiang > --- > libavcodec/vaapi_encode.c | 32 +++++++++++++++++++++++++++----- > libavcodec/vaapi_encode.h | 3 +++ > 2 files changed, 30 insertions(+), 5 deletions(-) > > diff --git a/libavcodec/vaapi_encode.c b/libavcodec/vaapi_encode.c > index 3bf379b1a0..3f8c8ace2a 100644 > --- a/libavcodec/vaapi_encode.c > +++ b/libavcodec/vaapi_encode.c > @@ -150,11 +150,25 @@ static int vaapi_encode_wait(AVCodecContext *avctx, > "(input surface %#x).\n", pic->display_order, > pic->encode_order, pic->input_surface); > > - vas = vaSyncSurface(ctx->hwctx->display, pic->input_surface); > - if (vas != VA_STATUS_SUCCESS) { > - av_log(avctx, AV_LOG_ERROR, "Failed to sync to picture completion: " > - "%d (%s).\n", vas, vaErrorStr(vas)); > - return AVERROR(EIO); > +#if VA_CHECK_VERSION(1, 9, 0) > + if (ctx->has_sync_buffer_func) { > + vas = vaSyncBuffer(ctx->hwctx->display, > + pic->output_buffer, > + VA_TIMEOUT_INFINITE); > + if (vas != VA_STATUS_SUCCESS) { > + av_log(avctx, AV_LOG_ERROR, "Failed to sync to output buffer > completion: " > + "%d (%s).\n", vas, vaErrorStr(vas)); > + return AVERROR(EIO); > + } > + } else > +#endif > + { // If vaSyncBuffer is not implemented, try old version API. > + vas = vaSyncSurface(ctx->hwctx->display, pic->input_surface); > + if (vas != VA_STATUS_SUCCESS) { > + av_log(avctx, AV_LOG_ERROR, "Failed to sync to picture > completion: " > + "%d (%s).\n", vas, vaErrorStr(vas)); > + return AVERROR(EIO); > + } > } > > // Input is definitely finished with now. > @@ -2522,6 +2536,14 @@ av_cold int ff_vaapi_encode_init(AVCodecContext *avctx) > } > } > > +#if VA_CHECK_VERSION(1, 9, 0) > + // check vaSyncBuffer function > + vas = vaSyncBuffer(ctx->hwctx->display, VA_INVALID_ID, 0); > + if (vas != VA_STATUS_ERROR_UNIMPLEMENTED) { > + ctx->has_sync_buffer_func = 1; > + } > +#endif > + > return 0; > > fail: > diff --git a/libavcodec/vaapi_encode.h b/libavcodec/vaapi_encode.h > index b41604a883..29d9e9b91c 100644 > --- a/libavcodec/vaapi_encode.h > +++ b/libavcodec/vaapi_encode.h > @@ -345,6 +345,9 @@ typedef struct VAAPIEncodeContext { > int roi_warned; > > AVFrame *frame; > + > + // Whether the driver support vaSyncBuffer > + int has_sync_buffer_func; > } VAAPIEncodeContext; > > enum { Pathset LGTM and I tested it with i965 driver on SkyLake and iHD driver on DG1. Will apply. -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".