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 1B07343012 for ; Thu, 13 Jan 2022 07:15:20 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id D0EB468B4E6; Thu, 13 Jan 2022 09:15:17 +0200 (EET) Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 59B8068B42B for ; Thu, 13 Jan 2022 09:15:11 +0200 (EET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1642058116; x=1673594116; h=from:to:subject:date:message-id:references:in-reply-to: content-id:content-transfer-encoding:mime-version; bh=NflzsK9grmqeGTGKzX6E64qwJdeaoZbPhv4+lZEQeCM=; b=OenQPEfEGeNY46wW9eEpVrN0UtHFjmZaL8DSoq+mbdF1fCop1/4LMqj+ dxiax1RNvv9zKrWTz3/WzvaB6vMzfQmnVqm4ybgBlDpOE8NTiIE8uhjTC 1TD+Kg+8PhQYYVvRdow/5UMe5+TgT0fj0u3/XkrIaXAwQGfyqZazElrIy 6jLcqNq3DJ6QE48RwY8XwgdTnwD504D+WRXHhzMb1sS/EzVv9wgawt7sF oGs/eMB0BQa8oSCGzeCInZ3/RWZpJ9LHPFicyIYwHxoFq8PwIBy+ZPQEN 8ljP/3ZCP5WagIO7gDm9wr+j1n41a787LcRoTY7/ROnaKzZbYsysrYD++ g==; X-IronPort-AV: E=McAfee;i="6200,9189,10225"; a="268298956" X-IronPort-AV: E=Sophos;i="5.88,284,1635231600"; d="scan'208";a="268298956" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Jan 2022 23:15:09 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.88,284,1635231600"; d="scan'208";a="576843178" Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16]) by fmsmga008.fm.intel.com with ESMTP; 12 Jan 2022 23:15:09 -0800 Received: from orsmsx607.amr.corp.intel.com (10.22.229.20) 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.2308.20; Wed, 12 Jan 2022 23:15:09 -0800 Received: from orsmsx601.amr.corp.intel.com (10.22.229.14) by ORSMSX607.amr.corp.intel.com (10.22.229.20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.20; Wed, 12 Jan 2022 23:15:08 -0800 Received: from orsedg603.ED.cps.intel.com (10.7.248.4) 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.2308.20 via Frontend Transport; Wed, 12 Jan 2022 23:15:08 -0800 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (104.47.57.176) 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; Wed, 12 Jan 2022 23:15:08 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=lRYjOhpt6UBAM5C58L5kku2s5Rp8Y7Vr/kHYx3KwSxHBlVMXJmHBBoHVMUBODDZfk1X9nJJVAWOZX0KkWXkta+2M41ZVFSHykXK9v7AYA7c+x1gVjEUpW9HiX/v94ESykg7KRBoG8s/HOIG1JM+Dg4u2KYM/Sg3xeSmQugULXCfz2S3omBiSEx/qy9GzzJz1kQrolVlNBDa8NEfhfO70rHyu61tkXkA9hGE0JF/LM97GqFW92dg+WyVovvfnPB6VeZ1i5ADw1YK0tzv/VG4nbET32WvICi+IiMyyLqNPNt/pAQTrY32u1y33NrvSuy7i6geVl79KaVPBSKsZ3nomvQ== 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=NflzsK9grmqeGTGKzX6E64qwJdeaoZbPhv4+lZEQeCM=; b=OXmgfoRpP33E3V93IlTBwmOROuyd8Fm1ONaWNkLeQD883e/HPvetxfuaVzLEsI8mSN4AEhSGZIT2R9HZ3Mtb+/cSWxUsjD7mT9qyRLX6v/01QRJxF34cP11D2ljz5rxMGTBQNuG4OC/Gu+51OJXfSMeaZwL2xmdWVyqob38sEkHtHG2ZBVSbPOgcHn0r+LQKcqn3lJ8te4+a75YGyLtrBGtPP1NkDxz47UOfF8LLgfu+RTW775R67TplwiFWcv3ezMvPSZ+pFwmbIc/OvzsuhDhfGyayoufIBWBjsL6dkptBpTATVQ40BnaR4eJCrOoivOghYBaui/UEw7XgbmBcsA== 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 BN6PR11MB1666.namprd11.prod.outlook.com (2603:10b6:405:4::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.11; Thu, 13 Jan 2022 07:15:07 +0000 Received: from BN9PR11MB5515.namprd11.prod.outlook.com ([fe80::d436:c6ab:6e71:8843]) by BN9PR11MB5515.namprd11.prod.outlook.com ([fe80::d436:c6ab:6e71:8843%6]) with mapi id 15.20.4867.012; Thu, 13 Jan 2022 07:15:07 +0000 From: "Xiang, Haihao" To: "ffmpeg-devel@ffmpeg.org" Thread-Topic: [FFmpeg-devel] [PATCH V3 3/4] libavcodec/qsvenc: Add low latency P-pyramid support to qsv Thread-Index: AQHYCDx96P+CtOBkZUu0Cor3UQG3+axgifGA Date: Thu, 13 Jan 2022 07:15:07 +0000 Message-ID: <7e0a277bb8513774ee494cf5526b630707875cc5.camel@intel.com> References: <20220113051221.66453-1-wenbin.chen@intel.com> <20220113051221.66453-3-wenbin.chen@intel.com> In-Reply-To: <20220113051221.66453-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: b50aa744-4799-42fa-c267-08d9d6646d71 x-ms-traffictypediagnostic: BN6PR11MB1666:EE_ x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:3631; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: ljQWiUFm3o1e5FdLg8FPUJ7WYQkjfaASVUQBaEVX/Pc0iCBApnmrAoRJGkyPVom8y4yAYYcWX/gFirVQOwzepptT3UmDeL89MdLDiPvOxZuCLLoHphVn/XgV8jUGZEpOqeYjlMlzIt5T4jhtlnFQiFj13j1GlvbKNaYMNfMuHp9Ax/dxqmiMONdnJPDp/h1zeN5R/SMIj8DvJjt1BIaNXXMh/a8vp9hCwzHETcnoSsTKov0grEt81wSnW/OMcYMv6vXLW1k/QzhmBQfjqohNSAO+SGPmupMfMRv+dcd+L19AtaAfGAT8I9gomY8KIb4O1bgMbw8yXAoR44mJECUPV4rgh694UeoOfJhawseGILZYjQ4tJ9APrPQ12I0yROQ7MfiPa+57AnMFhOkyQJnWaIPS0eTRYIgIMvwYPTcl6UyLr1oBmSOZU/Va7LUcVvynKWJWGksJPXpAVDzqoGRy+YEvHmtrd2jKpYf3SOghLSooeywvIWFEztEzcaJwuasDFx7Uo0181h9gw6RoaazWpWTcQO9v/HupZuCVp00ESMo883paL/OQmdyI5PYdZmxp6SZ4DMDo2IIFfORe6nBq2t9yvZ+yFlv+/6Ao0aoWE01xPcSlJi27ZR4A9yWnXnlSbtnlDYa4CmWTxaN9b5DmwxAJniedsJeUnkV2EOVY0LhDp1qTzm9CsidoMMLKB21/SQKdUpMj6A5uP9WWFTsWHqTgFoa4zKQjAM81MQZp9LWYfjeRjY2Xn5rVL1gCZRfT5IgG12ZNtiVpd/Bo5zxKNtsBNXt01Oe2S9og7lLA7sWR2T+jm7kcDPQt2E3B8pG/ 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:(366004)(83380400001)(6916009)(6506007)(316002)(26005)(5660300002)(186003)(36756003)(8676002)(71200400001)(86362001)(82960400001)(122000001)(38070700005)(91956017)(6512007)(966005)(38100700002)(2616005)(64756008)(66556008)(66446008)(2906002)(8936002)(6486002)(76116006)(66476007)(66946007)(508600001)(99106002); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?SHozRzRwZ2lBTFRiUDB0b0c2OFd1YjhYWHZzZVl5K01lOCtscEVtTHFwVjV2?= =?utf-8?B?VEFuWVowWWxBNlpqU25OMUFFMnpjNWt4dk5lTkUvdjNhU2JTUU44M2FxSC9J?= =?utf-8?B?UUcxZnZDL0wxL1Q5QjJyamcvRk9UK05MRHNGbUNMZDNUQjRrQW5SOVhXZmRn?= =?utf-8?B?R3N1c1MvaDgrQnc4T0xQZW9UYWdVcklYeEM0VmVORWUxRG5IbFVHcmRJb3Uz?= =?utf-8?B?cTRTSXN1UnFDT0F3SzJpK1NIa1hJeVhLQVJldjgxWDJwUks2eHBBck85R2No?= =?utf-8?B?OWQxNU5qQS9URytHVjkvczhoWDZoOXRCOVg2bkJ4RFFsRFkxOTIwRVIrZWlE?= =?utf-8?B?TmIzUVRuWEg1R0pkQjhZZkhjYmxISlBBTE9MeWEwVE13U3pXbUhKVjIxMkwz?= =?utf-8?B?NEF0bWtTc25CVm1FN3RPMngzcjRzSE9NL2xNYXRqOGdwUkcxcWZUOW1zNWlj?= =?utf-8?B?dXFxb1IxRHg2ZytpVnhVQUtkN1dKVGluZjYyL2NpaTZqcXIzYlB6SGtTM1FS?= =?utf-8?B?dmhsQ1R0cGttdXpCc2Mwd1VUODY2cU9hYmdZYlZEWE9OcU01T3hubDN2YU5w?= =?utf-8?B?OUZjOHJtRnhqcE1wQjdDVUdjTlRXK2ZuZms0bDhmVnBxTzhTRGE2anVsMDFh?= =?utf-8?B?bDYyeVU0WkcxR0RUanovM2UyaXlqc0JpNHg3NVpsdVFTQkRFN0xIbVk5a2Q5?= =?utf-8?B?OHppQWFYMC9QSFZ1Q0hFYkpjY2FMSHJpWHVwNHBOcjN2blplQ0xpRnlWRVBo?= =?utf-8?B?SEF4a3NKanRQTlN6dFlZVFN6OTdJeFNWLzJRd3hQZUdVY0dEMnlhUXZjOFlx?= =?utf-8?B?L0p2UTJod01TQ1FRSVYrYmJHQjRaZFhKMnQwMHlHRlY5eWRMdWwzNDFqenFq?= =?utf-8?B?bWFqTCtoKzd0UlpHOXJjUElZRE1zWUhpOVhKWE5FMHJyUzlvVzhrUDBWemxW?= =?utf-8?B?SldqbkRkRmdwVThQT1psTFFnV0hndndYbEkrU3c2NGFpVnlKYkZENHUwTUFY?= =?utf-8?B?TjV0OGZ2N1p5UkpUMG5wQXlTSlVqdHhSd0ZaTCtLWHV4NjFaSEp2Qjh2NGkw?= =?utf-8?B?ei9Xb0h1K1laSG11MTEvZkMrUWkraWNZaVUwZzZKei9Na2hiWHFQY3NqR1l5?= =?utf-8?B?VkM0dGhnTkdZZEc1VTY5NW52Lzk5OXppU2xhUjFWY2VIVTlsbWgvd0lMOC8w?= =?utf-8?B?RWorRTk3dXMyYk0wbis1TEJiMFkzRUIrTGFMWFQ5SlphemVCTDRFYWN0WmR1?= =?utf-8?B?Y0V1T3k2bWdzeHBKV2hBWTRLQzBFbHNTdUplNm5NY2xOb0UwUFptNjFEdmlh?= =?utf-8?B?NWpLUWQraFJNOHgwK3FZNU45MTdYY1R0UXZxMFNQZFJRalZvKzVlZ3dZZ0Zr?= =?utf-8?B?R1lNRm5pT2IrWlN2WjJhSkx2ZXNubFFGZGFINlVqNysvUVFxb1M3SE53MFFn?= =?utf-8?B?WFZuU0JuQnJaUnB0YWs5MGJuQVk2UGpGVUVBRytTNWthMXJQdldlTlcyU3RH?= =?utf-8?B?MVd3TFVEcWkwY013N2hCeEM4TnBVZWVMM0lUM3VjTm5Lc0dQb1NTZStqTndN?= =?utf-8?B?eXhCQllDYk9NRThUcWNOa1VEaVR4MHZsNU5uaUFhNkFjYkh0WFBjUFlzek84?= =?utf-8?B?ZUJkdmVWRDJuNjFKcnJtUGIycitqY2tacUVlU0RBYWJmYVVJYzE0R3MxL0I0?= =?utf-8?B?QnR1UG13UllzcDAycnExYW9kREp5Uk9CMGUydzR4SXp3c2EzMXRyZzA3QnRK?= =?utf-8?B?MXpvRlc4STFXTnBRQWR1dVpHM0NpbnJFeVhoeWsrOXlRYWJ1dW4zMmxPdkJQ?= =?utf-8?B?YUU5ekkvYmdQb1liYU5wNHpEeThTbmdvQStBd09FZWE3K2J3ZEZvRHdtcnFN?= =?utf-8?B?MDdiUE5aMTQ2TU4rQVJMZFNUa1hTK0h1MktORVBwb2Z6TzlMNzRFY2lJcHpl?= =?utf-8?B?VDRGTW1UOWFHUXdRZFFmVXVaWWNTYWhQa3lwZjRkVkNZbDdFc0lYcy9xdTZY?= =?utf-8?B?WXM5L2xRQWtmck1jL2Q3SVppL1JzSS9WWWY2VXBEY1VNRlV1cmhMbGZ3aHJM?= =?utf-8?B?UnJoNmtWMEljR1l6eHM0RkZiQmY5OGZCWGxTdERldDFyTzdZM0xHN2ptcjRU?= =?utf-8?B?WExjVURmS3h0Z0Z5VUxuWjhTdGQ1NURBRnhkcEdDcC8rMjhTT3JOVG1WNVAy?= =?utf-8?Q?dqUrBIUgkiHqBGupvzUuvR380SExMw8YM9W6d6Utvakx?= 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: b50aa744-4799-42fa-c267-08d9d6646d71 X-MS-Exchange-CrossTenant-originalarrivaltime: 13 Jan 2022 07:15:07.0412 (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: dSE+gP3MWta63qQIBeVv0Vx302pzQVW9dunKHC0XwMf2OI6QlZ3OHF1J/1RddgTCtckbKPrPhIeOq2F/TTHaSQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR11MB1666 X-OriginatorOrg: intel.com Subject: Re: [FFmpeg-devel] [PATCH V3 3/4] libavcodec/qsvenc: Add low latency P-pyramid support to qsv 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 Thu, 2022-01-13 at 13:12 +0800, Wenbin Chen wrote: > Add low latency P-pyramid support to qsv. This feature relates to > command line option "-p_strategy". To enable this flag, user also > need to set "-bf" to 0. P-strategy has two modes "1-simple" and > "2-pyramid". The details of the two models refer to > https://github.com/Intel-Media-SDK/MediaSDK/blob/master/doc/mediasdk-man.md#preftype > > Signed-off-by: Wenbin Chen > --- > doc/encoders.texi | 6 ++++++ > libavcodec/qsvenc.c | 36 ++++++++++++++++++++++++++++++++++++ > libavcodec/qsvenc.h | 3 +++ > 3 files changed, 45 insertions(+) > > diff --git a/doc/encoders.texi b/doc/encoders.texi > index 6fc94daa11..3d7c944fba 100644 > --- a/doc/encoders.texi > +++ b/doc/encoders.texi > @@ -3296,6 +3296,9 @@ to allow changing of frame type from P and B to I. > @item @var{adaptive_b} > This flag controls changing of frame type from B to P. > > +@item @var{p_strategy} > +Enable P-pyramid: 0-default 1-simple 2-pyramid(bf need to be set to 0). > + > @item @var{b_strategy} > This option controls usage of B frames as reference. > > @@ -3394,6 +3397,9 @@ Enable rate distortion optimization. > @item @var{max_frame_size} > Maximum encoded frame size in bytes. > > +@item @var{p_strategy} > +Enable P-pyramid: 0-default 1-simple 2-pyramid(bf need to be set to 0). > + > @item @var{dblk_idc} > This option disable deblocking. It has value in range 0~2. > > diff --git a/libavcodec/qsvenc.c b/libavcodec/qsvenc.c > index e87b69369a..f2ba0241c6 100644 > --- a/libavcodec/qsvenc.c > +++ b/libavcodec/qsvenc.c > @@ -315,6 +315,14 @@ static void dump_video_param(AVCodecContext *avctx, > QSVEncContext *q, > case MFX_B_REF_PYRAMID: av_log(avctx, AV_LOG_VERBOSE, > "pyramid"); break; > default: av_log(avctx, AV_LOG_VERBOSE, > "auto"); break; > } > + > + av_log(avctx, AV_LOG_VERBOSE, "; PRefType: "); > + switch (co3->PRefType) { > + case MFX_P_REF_DEFAULT: av_log(avctx, AV_LOG_VERBOSE, > "default"); break; > + case MFX_P_REF_SIMPLE: av_log(avctx, AV_LOG_VERBOSE, > "simple"); break; > + case MFX_P_REF_PYRAMID: av_log(avctx, AV_LOG_VERBOSE, > "pyramid"); break; > + default: av_log(avctx, AV_LOG_VERBOSE, > "unknown"); break; > + } > av_log(avctx, AV_LOG_VERBOSE, "\n"); > #endif > > @@ -934,6 +942,34 @@ static int init_video_param(AVCodecContext *avctx, > QSVEncContext *q) > #if QSV_HAVE_CO3 > q->extco3.Header.BufferId = MFX_EXTBUFF_CODING_OPTION3; > q->extco3.Header.BufferSz = sizeof(q->extco3); > + > + if (avctx->codec_id == AV_CODEC_ID_HEVC || > + avctx->codec_id == AV_CODEC_ID_H264) { > +#if QSV_HAVE_PREF > + switch (q->p_strategy) { > + case 0: > + q->extco3.PRefType = MFX_P_REF_DEFAULT; > + break; > + case 1: > + q->extco3.PRefType = MFX_P_REF_SIMPLE; > + break; > + case 2: > + q->extco3.PRefType = MFX_P_REF_PYRAMID; > + break; > + default: > + q->extco3.PRefType = MFX_P_REF_DEFAULT; > + av_log(avctx, AV_LOG_WARNING, > + "invalid p_strategy, set to default\n"); > + break; > + } > + if (q->extco3.PRefType == MFX_P_REF_PYRAMID && > + avctx->max_b_frames != 0) { > + av_log(avctx, AV_LOG_WARNING, > + "Please set max_b_frames(-bf) to 0 to enable P- > pyramid\n"); > + } > +#endif > + } > + > #if QSV_HAVE_GPB > if (avctx->codec_id == AV_CODEC_ID_HEVC) > q->extco3.GPB = q->gpb ? MFX_CODINGOPTION_ON : > MFX_CODINGOPTION_OFF; > diff --git a/libavcodec/qsvenc.h b/libavcodec/qsvenc.h > index aa49b35f07..960604cb9a 100644 > --- a/libavcodec/qsvenc.h > +++ b/libavcodec/qsvenc.h > @@ -51,6 +51,7 @@ > #define QSV_HAVE_LA_DS QSV_VERSION_ATLEAST(1, 8) > #define QSV_HAVE_LA_HRD QSV_VERSION_ATLEAST(1, 11) > #define QSV_HAVE_VDENC QSV_VERSION_ATLEAST(1, 15) > +#define QSV_HAVE_PREF QSV_VERSION_ATLEAST(1, 16) > > #define QSV_HAVE_GPB QSV_VERSION_ATLEAST(1, 18) > > @@ -95,6 +96,7 @@ > { "extbrc", "Extended bitrate > control", OFFSET(qsv.extbrc), AV_OPT_TYPE_INT, { .i64 = > -1 }, -1, 1, VE }, \ > { "adaptive_i", "Adaptive I-frame > placement", OFFSET(qsv.adaptive_i), AV_OPT_TYPE_INT, { .i64 = > -1 }, -1, 1, VE }, \ > { "adaptive_b", "Adaptive B-frame > placement", OFFSET(qsv.adaptive_b), AV_OPT_TYPE_INT, { .i64 = > -1 }, -1, 1, VE }, \ > +{ "p_strategy", "Enable P-pyramid: 0-default 1-simple 2-pyramid(bf need > to be set to 0).", OFFSET(qsv.p_strategy), AV_OPT_TYPE_INT, { .i64 = 0}, > 0, 2, VE }, \ > { "b_strategy", "Strategy to choose between I/P/B-frames", > OFFSET(qsv.b_strategy), AV_OPT_TYPE_INT, { .i64 = -1 }, -1, 1, VE > }, \ > { "forced_idr", "Forcing I frames as IDR > frames", OFFSET(qsv.forced_idr), AV_OPT_TYPE_BOOL,{ .i64 = > 0 }, 0, 1, VE }, \ > { "low_power", "enable low power mode(experimental: many limitations by mfx > version, BRC modes, etc.)", OFFSET(qsv.low_power), AV_OPT_TYPE_BOOL, { .i64 = > -1}, -1, 1, VE},\ > @@ -187,6 +189,7 @@ typedef struct QSVEncContext { > int adaptive_i; > int adaptive_b; > int b_strategy; > + int p_strategy; > int cavlc; > > int int_ref_type; LGTM -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".