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 73EAF40F3E for ; Fri, 11 Feb 2022 04:43:34 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 93B5F68B0A8; Fri, 11 Feb 2022 06:43:32 +0200 (EET) Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 14DFE68AFCC for ; Fri, 11 Feb 2022 06:43:24 +0200 (EET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1644554610; x=1676090610; h=from:to:subject:date:message-id:references:in-reply-to: content-id:content-transfer-encoding:mime-version; bh=dRJgUqHnViZHJZjZZ3bgt7QjiQ8yWiSuwGms3X6rQz8=; b=mCfApr8sxJRVKOEmTAU41YAw9DQf7JTFcl6qhfcv+Ivz7KaF2Lah5+Rr XUG7rk+1Wyx9bDAybMaj9KrQAn4yTQZ/YsvTpZHud8cgYhyfb8bP/Qt0E obyxG8sWl9GKbPm5nYVqL2bH8XHlDEvVrx4VC+MXeH+hCjfABVj7DyWFB bim2aX7mg7MsAkp1q/woabXkc0FvFfCGG8xB2JKrhDQasKF7EwGK38vo7 gd7K+VPlPS2e2KFrVWe1GZScZxI/xVBbLxpJlVO2KMw7KxasQpde4arw3 pWD3fjidzJl+Ck4cD6+sJ5LQiyPUjaqlg9re746Zt18nI00AdDMd2r3qn Q==; X-IronPort-AV: E=McAfee;i="6200,9189,10254"; a="336082259" X-IronPort-AV: E=Sophos;i="5.88,359,1635231600"; d="scan'208";a="336082259" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 10 Feb 2022 20:43:22 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.88,359,1635231600"; d="scan'208";a="541939706" Received: from orsmsx602.amr.corp.intel.com ([10.22.229.15]) by orsmga008.jf.intel.com with ESMTP; 10 Feb 2022 20:43:22 -0800 Received: from orsmsx611.amr.corp.intel.com (10.22.229.24) 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; Thu, 10 Feb 2022 20:43:22 -0800 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by orsmsx611.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.20 via Frontend Transport; Thu, 10 Feb 2022 20:43:22 -0800 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (104.47.55.175) 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.2308.20; Thu, 10 Feb 2022 20:43:21 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=St57hUaMaHkIfBLcyyMSrujTtiA0gxzZznNKdlD7kUWe7EFcjs2A7t9K3PjFiSbwLw98MqANnePEV3qOprxOSI8uh4aLtUAUjrQkDz4WF5+4OIRsALFUq4FkFwObeU5P4YFg0CNq26tSdo6JwpfNo6vbHtYJfZZ6kUHh3j4T+pNfR20JLRp1jbmxRklZ6OzFRPAJSehAM22hJhoHQGbMNKAUKDVZEIRzxA0ZdceqlaVuZf8XU1B6uMxHvlXO1dUFyIfoPM6akZU1UL0qS1IBkVnl/0Ym1RO1SbBlp8lEr4WEEHvRlxmJrXpbVlHpf5YmsSiCJ1bWOusV7BZXE8w6ag== 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=dRJgUqHnViZHJZjZZ3bgt7QjiQ8yWiSuwGms3X6rQz8=; b=jpSVEPhYvEKx0KGBD1A89JsFO3b020P1AWYwipDsqqdZvW2tu3EOTkHvObY+UiDq+zcEj5YhveAbrmMp3n1/UTdG7AQnmUqW7owM4F6c0KTgbP525Qaa+QjgStADmTBmx3E4/pVwHkOvTQLDpsK/+MOtqtXxhyrpFifUMMi92z9FzLex8JBSM7tAMbOcwtej8C/43PQ9P1XrDe8fYX3xc+RGCSW5b31XUYhnztShtrOjsJDzUlUVz5axf3WCgfkgfzIpxBq61wd1/3hdiCVOiPEiM/CX7OEoB6cNDwbQTuISuegJovlxkiGhHttbLi2X6XIXuOA9cVVha4IF/ukmjg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none Received: from BN9PR11MB5515.namprd11.prod.outlook.com (2603:10b6:408:104::8) by BN6PR11MB1330.namprd11.prod.outlook.com (2603:10b6:404:4a::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4975.11; Fri, 11 Feb 2022 04:43:20 +0000 Received: from BN9PR11MB5515.namprd11.prod.outlook.com ([fe80::d436:c6ab:6e71:8843]) by BN9PR11MB5515.namprd11.prod.outlook.com ([fe80::d436:c6ab:6e71:8843%5]) with mapi id 15.20.4975.015; Fri, 11 Feb 2022 04:43:19 +0000 From: "Xiang, Haihao" To: "ffmpeg-devel@ffmpeg.org" Thread-Topic: [FFmpeg-devel] [PATCH V3 3/3] libavcodec/vaapi_encode: Add async_depth to vaapi_encoder to increase performance Thread-Index: AQHYHJjlrKuDGFojoUac+oqxg+5iH6yNypUA Date: Fri, 11 Feb 2022 04:43:19 +0000 Message-ID: <102dc3ff6c9218b7b64d53e114500589ba7aa649.camel@intel.com> References: <20220208030549.340748-1-wenbin.chen@intel.com> <20220208030549.340748-3-wenbin.chen@intel.com> In-Reply-To: <20220208030549.340748-3-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: 0167076d-3318-45ad-b667-08d9ed190703 x-ms-traffictypediagnostic: BN6PR11MB1330:EE_ x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: XHKby7+VtiFZo5ZD5gZyXOSeg8Ntcnlc6L2BdjUYOqcaK8H5cAipqXKqsKDQRhAarNN7q2m74p9oBjLuzL3s4RJZJgl92qr9ND3AN9tAp7qkP0UYmePJjIXbDzD0HrGewsfIqqiHL6Rtb6anNlDfeR48dLQuLkWAoTWCHrbEaM6b4yBM0MNK79hg+p0OlbCQ1q15UA3bPUluhE8uMQEiYqFk2Y5GEX5j/+6i5YruNcTctmw+mAIZxuqlnxKIAsrQkMoVCiLjs1Yt7HZpxKrvpysFJ4HnGCUyUd81iOqvApiVFsmJSxl8htS2vMKKbYIn7DvNdpC8+dZMo7Cn0UHIslG6VMbLn9ntn+NyqKWYF1PKIsl2i/OYeWTTdM8tKmOSfo6oLqTUqFhNUlbxq+IBENs0ENeWljTHAr6EwEDCR24eA0BvYg1iD60zZrTelgX742yU3mb4Ew+NJR9vewVAnCd8eVxIsYEDQO+ssm4PZ7R5B5siCMYUtUnjY3XlHbRx9dZbrp6TJnDEhAoaCWQGhkrEcpxVSpNzjg0DiKvIeTujaSaUcuvv4BrwgogzneLXCCCaDVvltArit7BzJXA4m6qZFx8ZxiK95k5iarY7TbRvXvuJbIe/iNellVBXMfU9DUlMe8T0a1+nm20l/Q9XnAHLkkUJ6MMZ0bWD+Zu8l/xZWWFMGDnImqQkVEHwlKwL9E0vYs9kaDZBsg8qVlv1WKOgEHzr7C0StWWPLQ8PMY4= 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)(122000001)(6512007)(86362001)(2616005)(26005)(38100700002)(6506007)(83380400001)(186003)(82960400001)(5660300002)(8936002)(8676002)(66446008)(66476007)(66556008)(64756008)(76116006)(91956017)(66946007)(508600001)(2906002)(316002)(36756003)(6486002)(6916009)(71200400001)(38070700005)(99106002); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?V1hxa2tEaUVsNHdENkVkVkdldTJCWEc0cDYyOGxTeWV3dGw0NlcyVVFRbk8v?= =?utf-8?B?Ty9WdnVpWkhNNmdwOFZjSVpidU1BdlViMTRDREF1RGdJWDE4eXVvdjVXZC9T?= =?utf-8?B?K0l6SmhEY1ZYTlFCN2NwdjIvemNWMHI0aFA2ak9HM0M1NjZkcnNxV1A4ZGVV?= =?utf-8?B?WHgyWXBMaG1JOHlUWVo2eWFtakY0MC9wTVVmK0loVkFuYzBzZmNyMnBsRXRr?= =?utf-8?B?eVo0UEhOMWFWRFRyd3ZWL05FM1d0WHBERVc1bExzUUg1TUJIcmJudHVNbWcx?= =?utf-8?B?TUtBK1k4UDZLeHlUVWZmTjJPaWxZNGFnTlZrcjdUVC9yKzcvbkVFMmwrVkw1?= =?utf-8?B?VEV2bFpXYjR4eCtHTEZDSE9EeS93MWZ3TC9aUmdqVndENHczUVJRSkI2NURr?= =?utf-8?B?Ym5ZWXFnMklLQ0hHQUhrZFZTOHV5YzYrN0k0b3Z0SllvbDBDTzRtbW40K2xl?= =?utf-8?B?ZktJM0p0VTFuZlVWRWlscHRQbmVIZVYvMkNDT25JeDgzelU4Sng3YUZ1Z0hI?= =?utf-8?B?eGJNRFhmMUtnUUdFUzQwL3UxdHdWN05HZEJBc0J5NnFOS29NcGhQTGVNTS9B?= =?utf-8?B?WU01TzFycklBclZ6cWZGc2Z5Z0Z5WHV3Q2lGcG9BaVFxT0poK0cyRDIxWUR5?= =?utf-8?B?eXFGK0RKdWdOWk1EcjFEQ085cndCWXp2VEplNnZ1NFFxQkhjUXRETjgzSVNh?= =?utf-8?B?dDRIcTFEOEIya0ZuS3dBaVdzM3lNMjJLeTBSaFlBTmJ4cTZCb1NOSVhlbGgr?= =?utf-8?B?NXd4Z3VqSnQvKzFncUQrbkJlak0yVjhUSGVHS1BINU5Pa0Z0ZEhjSDlXbDc5?= =?utf-8?B?ZEJQV29RdWdvSTE1K3hQNHFKVVhxV0xkeThBREVBMTlxanRFOVhKdTRjeUxv?= =?utf-8?B?WHpQWE90dDZ2c1BHa0JHVGwxcUQvVVJ5b1Q4YmpNYUsxVU56RzdiMEZLSnRT?= =?utf-8?B?dXpBMmdQTzlTQ3BHVFh0SGFHREo5VklIWVdZRkpyNlFlZENvSDkzeG1XS1Vh?= =?utf-8?B?MzdqaWZpYy92Vnd4Smh5K1luRFRZSGtjdUtkelR0T3JNR01tWDJuMU8rQ0I5?= =?utf-8?B?Ykc0bXJYTlpWWmZ0Y1FVSDlCaUZPdlVGT0tIeEFLNUtTUlR4Z0tYRGp4cFRv?= =?utf-8?B?bUdFV1R1U3Fjd2RDV0RtT2JqRXgwRUpoRHJuL0pxVFZCQzJKdyt0S0d3VVBR?= =?utf-8?B?OUFycGU1MjZZZnkxOEZnUXJ2QmNkU2NlYUVRYzd5b2VBVCttRVBzMFpySDBT?= =?utf-8?B?UGNwaVhncExuU01PaWlWdENsTlRDeERrNzV0V0tQTkM0QzdKT2VNYWsxYUpF?= =?utf-8?B?T2JtZU5PK21ibUNpMXZzVlp3SHhwQ2phLzNQdGNDUkEwV3pKbzBUeXk0ejdL?= =?utf-8?B?b2lZMHo5NEdZekZycCtGT0VjSzh0S044WWRXS3hDb3RtNjRudmgvYjBIRWll?= =?utf-8?B?d0t1Tm0xWFRkZUxrUzBCZEZBUHBaSzhGdFFWem1UM29uZ2VzZy9KNW5EdVVV?= =?utf-8?B?Z010QUpHYjdnRStuKzdrVWkyRnNtR0hYeUJMemdlMlRvY1ljYUNrMFpKTjBx?= =?utf-8?B?Wm5EU2w0bmRLOHNyVkk1NWplc2FyakoyWDNkYXdVQW4zNHhZeXpYeEFlREgz?= =?utf-8?B?bEtySDVIMktEODRzdFVJL2RqbU1JY2dXblpyVXJPbXlka0ZoRzVsZm1FbVRN?= =?utf-8?B?KzZ5MFlPekZLSDNTUm1WSEpnQTQyT1VCaG4wUzNTRExGajRqUTlPNTh4eGNs?= =?utf-8?B?M0lCZnBWb080TlhCVXF6WStYN1BiWU9pZktCdzZ5WGh5MjVKNWEydGRZU1ZV?= =?utf-8?B?M1VlUktLZjQ4b2htdWJzc3UxTGxjYVU1OXV0T0l2TDN4NUpQRktpU0w0cGU3?= =?utf-8?B?QnFFQjJtV25zcDJiNUFhTWtudU9kVU1aa2ZzUFhpSmtZKzZVdXlaZzBDR0pN?= =?utf-8?B?YTJDc1J4TE1DSmZhcG1RRVczREhYVytETngyZUNKY2N3TGlyRTJFbWNsanFk?= =?utf-8?B?S0NYTU1YNXpqUjVsdUMzZEZrNFczdEFOVmJ0clhFSWVvM3U5UUdMQ1lmaG9C?= =?utf-8?B?NUVjRU4vQjBhMm00bElSWnV2ejF0eFZTTEo3QnBOLytod1lBRUhrZmt2cnJm?= =?utf-8?B?VkJHa3EzckNXM2g0S09iN1RDbHhLT0twSlhRSjMyZDFVYVo0cGVQekxJc3ZG?= =?utf-8?Q?dtA8WpyZlEig+tZL44P1VNw=3D?= Content-ID: <2DAD12280CC9374193902F70B80BC480@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: 0167076d-3318-45ad-b667-08d9ed190703 X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Feb 2022 04:43:19.6035 (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: fEQHadMFFiVoLaxw5oVHeWoA6To+FFuXjE29RZFAcIroMQZR7oOjG/ybWUi/xQoEQbI+YQkCj2NaGNfsoMZEHg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR11MB1330 X-OriginatorOrg: intel.com Subject: Re: [FFmpeg-devel] [PATCH V3 3/3] libavcodec/vaapi_encode: Add async_depth to vaapi_encoder to increase performance 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: > Add async_depth to increase encoder's performance. Reuse encode_fifo as > async buffer. Encoder puts all reordered frame to HW and then check > fifo size. If fifo < async_depth and the top frame is not ready, it will > return AVERROR(EAGAIN) to require more frames. > > 1080p transcoding (no B frames) with -async_depth=4 can increase 20% > performance on my environment. > The async increases performance but also introduces frame delay. > > Signed-off-by: Wenbin Chen > --- > libavcodec/vaapi_encode.c | 16 ++++++++++++---- > libavcodec/vaapi_encode.h | 12 ++++++++++-- > 2 files changed, 22 insertions(+), 6 deletions(-) > > diff --git a/libavcodec/vaapi_encode.c b/libavcodec/vaapi_encode.c > index 15ddbbaa4a..432abf31f7 100644 > --- a/libavcodec/vaapi_encode.c > +++ b/libavcodec/vaapi_encode.c > @@ -1158,7 +1158,8 @@ static int vaapi_encode_send_frame(AVCodecContext > *avctx, AVFrame *frame) > if (ctx->input_order == ctx->decode_delay) > ctx->dts_pts_diff = pic->pts - ctx->first_pts; > if (ctx->output_delay > 0) > - ctx->ts_ring[ctx->input_order % (3 * ctx->output_delay)] = pic- > >pts; > + ctx->ts_ring[ctx->input_order % > + (3 * ctx->output_delay + ctx->async_depth)] = pic- > >pts; > > pic->display_order = ctx->input_order; > ++ctx->input_order; > @@ -1214,7 +1215,7 @@ int ff_vaapi_encode_receive_packet(AVCodecContext > *avctx, AVPacket *pkt) > > #if VA_CHECK_VERSION(1, 9, 0) > if (ctx->has_sync_buffer_func) { > - while (av_fifo_can_read(ctx->encode_fifo) <= MAX_PICTURE_REFERENCES) > { > + while (av_fifo_can_read(ctx->encode_fifo) <= MAX_ASYNC_DEPTH) { > pic = NULL; > err = vaapi_encode_pick_next(avctx, &pic); > if (err < 0) > @@ -1232,6 +1233,13 @@ int ff_vaapi_encode_receive_packet(AVCodecContext > *avctx, AVPacket *pkt) > } > if (!av_fifo_can_read(ctx->encode_fifo)) > return err; > + if (av_fifo_can_read(ctx->encode_fifo) < ctx->async_depth && > + !ctx->end_of_stream) { > + av_fifo_peek(ctx->encode_fifo, &pic, 1, 0); > + err = vaapi_encode_wait(avctx, pic, 0); > + if (err < 0) > + return err; > + } > av_fifo_read(ctx->encode_fifo, &pic, 1); > ctx->encode_order = pic->encode_order + 1; > } else > @@ -1267,7 +1275,7 @@ int ff_vaapi_encode_receive_packet(AVCodecContext > *avctx, AVPacket *pkt) > pkt->dts = ctx->ts_ring[pic->encode_order] - ctx->dts_pts_diff; > } else { > pkt->dts = ctx->ts_ring[(pic->encode_order - ctx->decode_delay) % > - (3 * ctx->output_delay)]; > + (3 * ctx->output_delay + ctx->async_depth)]; > } > av_log(avctx, AV_LOG_DEBUG, "Output packet: pts %"PRId64" dts > %"PRId64".\n", > pkt->pts, pkt->dts); > @@ -2588,7 +2596,7 @@ av_cold int ff_vaapi_encode_init(AVCodecContext *avctx) > vas = vaSyncBuffer(ctx->hwctx->display, 0, 0); > if (vas != VA_STATUS_ERROR_UNIMPLEMENTED) { > ctx->has_sync_buffer_func = 1; > - ctx->encode_fifo = av_fifo_alloc2(MAX_PICTURE_REFERENCES + 1, > + ctx->encode_fifo = av_fifo_alloc2(MAX_ASYNC_DEPTH, > sizeof(VAAPIEncodePicture *), > 0); > if (!ctx->encode_fifo) > diff --git a/libavcodec/vaapi_encode.h b/libavcodec/vaapi_encode.h > index d33a486cb8..691521387d 100644 > --- a/libavcodec/vaapi_encode.h > +++ b/libavcodec/vaapi_encode.h > @@ -48,6 +48,7 @@ enum { > MAX_TILE_ROWS = 22, > // A.4.1: table A.6 allows at most 20 tile columns for any level. > MAX_TILE_COLS = 20, > + MAX_ASYNC_DEPTH = 64, > }; > > extern const AVCodecHWConfigInternal *const ff_vaapi_encode_hw_configs[]; > @@ -298,7 +299,8 @@ typedef struct VAAPIEncodeContext { > // Timestamp handling. > int64_t first_pts; > int64_t dts_pts_diff; > - int64_t ts_ring[MAX_REORDER_DELAY * 3]; > + int64_t ts_ring[MAX_REORDER_DELAY * 3 + > + MAX_ASYNC_DEPTH]; > > // Slice structure. > int slice_block_rows; > @@ -350,6 +352,8 @@ typedef struct VAAPIEncodeContext { > AVFifo *encode_fifo; > //Whether the driver support vaSyncBuffer > int has_sync_buffer_func; > + //Max number of frame buffered in encoder. > + int async_depth; > } VAAPIEncodeContext; > > enum { > @@ -460,7 +464,11 @@ int ff_vaapi_encode_close(AVCodecContext *avctx); > { "b_depth", \ > "Maximum B-frame reference depth", \ > OFFSET(common.desired_b_depth), AV_OPT_TYPE_INT, \ > - { .i64 = 1 }, 1, INT_MAX, FLAGS } > + { .i64 = 1 }, 1, INT_MAX, FLAGS }, \ > + { "async_depth", "Maximum processing parallelism. " \ > + "Increase this to improve single channel performance", \ async_depth is not available if vaSyncBuffer is not implemented, it would be better to add some comments in the help string. Thanks Haihao > + OFFSET(common.async_depth), AV_OPT_TYPE_INT, \ > + { .i64 = 4 }, 0, MAX_ASYNC_DEPTH, FLAGS } > > #define VAAPI_ENCODE_RC_MODE(name, desc) \ > { #name, desc, 0, AV_OPT_TYPE_CONST, { .i64 = RC_MODE_ ## name }, \ _______________________________________________ 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".