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 06F7043201 for ; Wed, 25 May 2022 07:26:25 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 563B268B52C; Wed, 25 May 2022 10:26:23 +0300 (EEST) Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 5FBEF68B39C for ; Wed, 25 May 2022 10:26:16 +0300 (EEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1653463581; x=1684999581; h=from:to:subject:date:message-id:references:in-reply-to: content-id:content-transfer-encoding:mime-version; bh=zn74gFdG6rm8/O0eHhs6liQHRMvo2p7HibKu9HP7pak=; b=GgmLr8NOlF3uPWXonXhlHp+0KwHrRnpWWeNpw+oeoCh8F1HWAsEmwalK yPF/K7hsFIRZ2B/18yxV0KjnThfhFCdBXB+/LOLQPdNu6ephiqFjjeozF +LobXiC+6Ipu7gEw7xMP6IpIWrf7dVfuh0D9tsnwNFsoCLEIRnQDKi1v3 qIaHGGmj5Htq8tx3n1jWLn3341kbCZP/w5zy6CEt1NSzUOtEiEE3EZGq/ ze/kOH5QWk1JT5AOsTYRgLgxVOUrx+aCkyl984Mcm+Vnl025h2frwXBFR V+VQz+nhAon8Z4pxdC8oLULJMIcMvHsLwWvkrK6QBi8QIefA/tZJNpqWe g==; X-IronPort-AV: E=McAfee;i="6400,9594,10357"; a="360132758" X-IronPort-AV: E=Sophos;i="5.91,250,1647327600"; d="scan'208";a="360132758" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 25 May 2022 00:26:12 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.91,250,1647327600"; d="scan'208";a="676753818" Received: from fmsmsx604.amr.corp.intel.com ([10.18.126.84]) by fmsmga002.fm.intel.com with ESMTP; 25 May 2022 00:26:12 -0700 Received: from fmsmsx608.amr.corp.intel.com (10.18.126.88) by fmsmsx604.amr.corp.intel.com (10.18.126.84) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27; Wed, 25 May 2022 00:26:11 -0700 Received: from fmsedg602.ED.cps.intel.com (10.1.192.136) by fmsmsx608.amr.corp.intel.com (10.18.126.88) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27 via Frontend Transport; Wed, 25 May 2022 00:26:11 -0700 Received: from NAM02-DM3-obe.outbound.protection.outlook.com (104.47.56.44) by edgegateway.intel.com (192.55.55.71) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2308.27; Wed, 25 May 2022 00:26:11 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=QT37cVxhBzmY36qI+CrU+MCkizjnZhCIHh49gtiaxVIBHQXmXPeHRsOl45JeD+u9eJTsepfq34AgmazI/gg2haI8RZ71UDn2uFpfjhGY8I40cKFIuLQ3euhu3UdTR0lBXWWG7J6qRMHhM/OW2Q4xy01m3UtVTuy1IcEiehdkSaFwHD7JSn0olUiaJB/Yu5wX09j9j714ZQlRHPrrmI8SoEbwvy1zHBxGPhOjn+3PVY+XBqQhJrjbuJlPiVCDk+iaaEGuq/yPP2l2Cm4OQTpL2qSi7vnYcNRH2jJd93cJi/RUjEbpIbaHbyirb8W5IUSqu1jDaqCgMK4Idg816mD5VA== 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=zn74gFdG6rm8/O0eHhs6liQHRMvo2p7HibKu9HP7pak=; b=MqrOJnClsz75kaMEhPDi06tVgH+X32oq7XRDMuvgm43Z/ISSlnPacRMoJKeEWB494LsOV+wnj6ixf4v0+WBc5yGEixb6hHBXfd9yS39g9mJq8bRTnL7bH5mVWXX0sO2vrEspZxS9YfWUKyX1NRuSuJ1Ul0hAbzBpBilN7bnEGWFmVSRMJVVs1DqquWV5G/E/MLJd6L+RX23g7U/PRbrBsU2Y/cCmniNUviRkbzhGSNjB4Qbacwx1hu34vvr/y7J6OFa/VTROfAlNp/bWp2uvPUcuAopPGyWcnPbL/q+1s+yCOGzrtkjiH0DOUxqdR5lueeKsWCAJ0a9NTOxg8W5epA== 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 BN6PR11MB1443.namprd11.prod.outlook.com (2603:10b6:405:8::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5273.15; Wed, 25 May 2022 07:26:10 +0000 Received: from BN9PR11MB5515.namprd11.prod.outlook.com ([fe80::2d06:ec38:937a:da73]) by BN9PR11MB5515.namprd11.prod.outlook.com ([fe80::2d06:ec38:937a:da73%8]) with mapi id 15.20.5273.023; Wed, 25 May 2022 07:26:10 +0000 From: "Xiang, Haihao" To: "ffmpeg-devel@ffmpeg.org" Thread-Topic: [FFmpeg-devel] [PATCH] libavcodec/qsvenc: Add min/max QP control options for I/P/B frame Thread-Index: AQHYYO/kLsIvCya9hk2glgZN0Is3ja0vT4WA Date: Wed, 25 May 2022 07:26:09 +0000 Message-ID: <5ae262aece22b9a0e0972b70ceea967eb6d7e9d0.camel@intel.com> References: <20220506021956.2277740-1-wenbin.chen@intel.com> In-Reply-To: <20220506021956.2277740-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: 17380717-2c8b-4dbb-619b-08da3e1fd736 x-ms-traffictypediagnostic: BN6PR11MB1443: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: HymbD7hDiR+ifY7Ofjtj3Dom0ilyFY6+4C/l8M1UTWAwDGjz1o9ordYrrK33R0e3aCNHTVrYBoMp06WNsxfWZTlPAfRyyG4gwcIhvjnID5Zt4dWuiG6CDFHHZrPmDHWaANQzkE4abSgYtW/NcSG69mDzo9TbeyPijmoiPP4dIy+mTR78QBhzl1IU8XONCIZD/20trTYD0AAjwc8lB0lV5aplHA5Wf+50CSvnipVtSYeLYOuzphtvsSdyzksYCqxKyfioZn0nsbXq8Lcd+P73QOn12AMbO/kBgyr+WnL0m8B4bC0fRcxSsHV2FFdCsd0JDsuRR11856c/rvLganFFQX8kJrf3fkvqr41pHHz5NFw0TONd1JZ1Dc+HKI5RqjKg+VNPKWrGEkTlhAbqkpQ91TqCMN0uHx6iUSeNzJ0STGE+HAd8kZrPVEDDfLHAlvUdakrpsYgUGp7z8tpx4attgrmrOt2BGrVinvU4cYD7LGssFA4M6kCsgtbaD0+9CG6Rhe0H7kHD9qcBRHCXP+7Cu8lkZ9uE8dKuEdXfUK2nXnhlAS3I2ErV5k3YIganP1k6JjOqASLj4o4K8EflAe7kiVWGqgYVfnTXNFe76Vi5f/ER7BIhPn7mgOi88liIjRuTimFZzXWxt9XrW2yUEdVZuCNf23PhCRr+f6obhZnfU23ifje+G6BaRmx+MQTAG82caxwTuhFNduhi2PhhhMKxPmSPwyXm7uit47IrtdpNwaI= 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)(8936002)(6916009)(2906002)(36756003)(66446008)(76116006)(66946007)(508600001)(91956017)(316002)(6486002)(71200400001)(66476007)(64756008)(5660300002)(66556008)(6512007)(86362001)(2616005)(8676002)(26005)(82960400001)(83380400001)(186003)(38100700002)(38070700005)(6506007)(122000001)(99106002); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?ZnkydGZmQU9CT0FCNXJDY25JdXVnNDFhYkV6aXFoUU9xREtXUjZ2UzJFUkFu?= =?utf-8?B?SlRaNW16NW5sSjdjNEtLNjdtdlhjTWpQRzYxb0N3M05UTGN2S1ovMG9PRGpM?= =?utf-8?B?eEl3d25YVU5Mb05YQ2RZeHNVYnFnTG9TbkpjakR3NEh0ajBONUE4YkNsNlZR?= =?utf-8?B?UmR5Q3Fnb1Q1ZllYblJtcS95a2N4TFgxTUk1bzd3L21lblU1OWRwZXg0WWkr?= =?utf-8?B?emhhNmZ0Mm0zMXhERnk4RE9vWWUvb1RNMmtWMnBNQWJMWUtEV3dPKzB1Ukhp?= =?utf-8?B?L0x5WGxlclB0SDlscTFCVjZuSGRYdElGaHJVYVdGd1p4RHVEeGJpamQwN0Ey?= =?utf-8?B?dGd6QnhTUDg5WXZWTXc0eHhLZUt1NzJLbEttamViV1lOUENyMDhDeFFsQVR3?= =?utf-8?B?MHlseVYrQkRVMVlPeHEycExYbVAxZWMvUTVVODJtWWNDQ2E4cnBLRDlSZThp?= =?utf-8?B?akVrWldNekhaS1FDVnVDNzY3LytPV3d2K3lOS0pCUGJZZjBrbURlSFlrcHVz?= =?utf-8?B?bjJjZ3FtVzVLTGdNVlJYQlUvUTh4RVZlM3F2Mm8yMUVOVjhHMHJFWE9DVXFx?= =?utf-8?B?NkQ3QXFjQ0ZhR0lBYW9aL3NOcnZnVVJnQ3BMek5vYnAzVDg5OUZwVjd6d3hY?= =?utf-8?B?eU9Ba1M5Q1JSa0hSd1czWVlwd09jUzkyTEZmT1VmeFM5eWhPdEg5bkxlU0VK?= =?utf-8?B?V24yU2x6MjV2QXhPaW4xdzk3SDNUMU96a2Y4VEJGRm55Wi9XTThFQjdRY1Fy?= =?utf-8?B?T0EzNE5TK1lNTjI1OXdzOC82U1N2MlhYTEJwZ01UTnRqNGNENksrc0ZoajN0?= =?utf-8?B?Sk82VEw2UXd5dFJLU2FCbDdOVWNJM0Q5MWZEWE5WVlhDNGdXelNTbDU4VHUr?= =?utf-8?B?Q2VzQS9hdk1XaTh2a0h6S0MrcEhXRlBjWEw0ODJTZGZtS1dkNkRFdFJPRkZG?= =?utf-8?B?T0RMU3RGK2daVTVrWmlXdDFvRW9KVW5UOEJ6K1VrdnFoM0tsRThMcXZVRUZS?= =?utf-8?B?UHBKVDVPZDdscXp3VHJZSzRENWdqWGNIbFVYOE9NZ1Uxc3lzZFZQZUVJVHRO?= =?utf-8?B?YVhDUTVGRHU3eEVaUnRiVjdxRVNMTFNickJyU081NFpiSnBueEgvdGFJS3Fv?= =?utf-8?B?REk3Mmx2YXovQkVEVmVWRUVIVTQ2THB2QnRkaVR4a0U1VFJvUDlOUlJtWjRQ?= =?utf-8?B?OFY3ZkZnSjdKMWkxTUdvZ1JDMzJjbHdnOStWWDRPaHFKMHd3Ynk3TXV1bmU4?= =?utf-8?B?MWJDOW1xM2Z6R1F1SmtZdWE3Mk40cThjU2JhY09XVkc2NTR0NE5CTitCSEwx?= =?utf-8?B?MFAyWjRWZjRnSXB4Yi9BQjM0Qk5xanNGeVJOdGQ1OGdnUkFCSXd1MUlYQ1FH?= =?utf-8?B?b0hpbmt2bXJXTWlMOEF6Vk96cFpyNk16S0pCaWl5US9TdkNUcDQ4UVNBNXcw?= =?utf-8?B?WE5WUkFvdUtJMzZDRFpxUVVLZzVtQWRwVGZyY253QTc3bFR2ZDFDUXFvWldY?= =?utf-8?B?L3hjblk0V1dFMHNEaGs5TVlqUEdRcm5VVmpIdkFhd25EYlljeDFjMHFBT3VV?= =?utf-8?B?amMvNHczUFNOYzJJSVNFeG5sRkZtRXUvQ2piNzB2YXd0OXZnVEZSVzIzTTVE?= =?utf-8?B?aFdOWkx4blhxd2V5VTNjSVNVWmZCMXYwY3Z3MlVpdnZmbVRqVmtkc1dnNlpi?= =?utf-8?B?SzRQQXVFMVp6U0lIYU1NZU5kTDZMSHJHU0JoOFQ2VzVTS1dwV0I4UHhNZzZ6?= =?utf-8?B?NktHNlRsMUg5TERyL1BGbDlBVmx5MkxnYUlmMTRTblpYL0t6dmN1bHdOWGdz?= =?utf-8?B?ZXAza1R6OXc5TFBnVGxWZjF3TGZrVUJKQW1aNWVSU0Q0OUZkWEtzSzcxRHNi?= =?utf-8?B?US9sV3o3UHpxNUN2SnNnbW9NR0ZCTXA1YWhuS3J6cEc5SWMvdGo0aklKd2JN?= =?utf-8?B?UkpCWUI4NnhFSUJyTFA2SGpzNWoreVBNcFVEWk4vYWMzWElncWhTa0UyaHM0?= =?utf-8?B?NXRMQ3U3Y0ZhZ1B4UVFkRjhNZUNxUWJiMFcrbTZsR2NHT3NURG9ZUXJBdU5C?= =?utf-8?B?MGNWdTB0emlzek9kRFhmZjhDcDAzN3gzM0VubHhUQkJBdTIrb0VYZjFPRVhv?= =?utf-8?B?VUxMSmJqa0xsL2lUcVMybHZ6UHJnZUlFaHpsbzljZVdDNFd3bm9CSmYwVkw5?= =?utf-8?B?SHVEVFdWY0ROK055SDY4VUZINmhXOEpPbFFIc1A5SlYrQnNHOFZXM0xadGZk?= =?utf-8?B?WStVbXZXckFHVVFvWnhTdXppdFRnVUxXNUdyQlhrWC9wUjVZQUZMTHFQVVVD?= =?utf-8?B?MS9UUTZTcHhuSWtmSldIVVlsQmJNQ1R0dFU5YVRDRkZnTEhNUmIyczd2Vlda?= =?utf-8?Q?ta/vZbxKK53zmAzA=3D?= Content-ID: <236B0CBEC790C24D8C2AF3D00D3D9E9D@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: 17380717-2c8b-4dbb-619b-08da3e1fd736 X-MS-Exchange-CrossTenant-originalarrivaltime: 25 May 2022 07:26:10.1295 (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: Js+JdQ844OX5ijKwhp+OIf5hny2Cq3D99jaoMuyRRM4kFXAjg+LqFbgn505aam7jWhEpn+hVoDw5mL+NAuMZ6w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR11MB1443 X-OriginatorOrg: intel.com Subject: Re: [FFmpeg-devel] [PATCH] libavcodec/qsvenc: Add min/max QP control options for I/P/B frame 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-05-06 at 10:19 +0800, Wenbin Chen wrote: > From: Yue Heng > > To do more accurate QP control, add min/max QP control on I/P/B frame > separately to qsv encoder. qmax and qmin still work but newly-added > options have higher priority. > > Signed-off-by: Yue Heng > Signed-off-by: Wenbin Chen > --- > doc/encoders.texi | 18 ++++++++++++++++++ > libavcodec/qsvenc.c | 21 +++++++++++++++++++-- > libavcodec/qsvenc.h | 12 ++++++++++++ > 3 files changed, 49 insertions(+), 2 deletions(-) > > diff --git a/doc/encoders.texi b/doc/encoders.texi > index 966032a720..86bcdbc04b 100644 > --- a/doc/encoders.texi > +++ b/doc/encoders.texi > @@ -3282,6 +3282,24 @@ Forcing I frames as IDR frames. > > @item @var{low_power} > For encoders set this flag to ON to reduce power consumption and GPU usage. > + > +@item @var{max_qp_i} > +Maximum video quantizer scale for I frame. > + > +@item @var{min_qp_i} > +Minimum video quantizer scale for I frame. > + > +@item @var{max_qp_p} > +Maximum video quantizer scale for P frame. > + > +@item @var{min_qp_p} > +Minimum video quantizer scale for P frame. > + > +@item @var{max_qp_b} > +Maximum video quantizer scale for B frame. > + > +@item @var{min_qp_b} > +Minimum video quantizer scale for B frame. > @end table > Are these common options for all codecs ? If not, could you please update your patch ? Thanks Haihao > @subsection H264 options > diff --git a/libavcodec/qsvenc.c b/libavcodec/qsvenc.c > index fbb22ca436..a3e9bb4583 100644 > --- a/libavcodec/qsvenc.c > +++ b/libavcodec/qsvenc.c > @@ -930,8 +930,13 @@ static int init_video_param(AVCodecContext *avctx, > QSVEncContext *q) > q->extco2.BRefType = q->b_strategy ? MFX_B_REF_PYRAMID : > MFX_B_REF_OFF; > #endif > #if QSV_VERSION_ATLEAST(1, 9) > - if (avctx->qmin >= 0 && avctx->qmax >= 0 && avctx->qmin > avctx- > >qmax) { > - av_log(avctx, AV_LOG_ERROR, "qmin and or qmax are set but > invalid, please make sure min <= max\n"); > + if ((avctx->qmin >= 0 && avctx->qmax >= 0 && avctx->qmin > avctx- > >qmax) || > + (q->max_qp_i >= 0 && q->min_qp_i >= 0 && q->min_qp_i > q- > >max_qp_i) || > + (q->max_qp_p >= 0 && q->min_qp_p >= 0 && q->min_qp_p > q- > >max_qp_p) || > + (q->max_qp_b >= 0 && q->min_qp_b >= 0 && q->min_qp_b > q- > >max_qp_b)) { > + av_log(avctx, AV_LOG_ERROR, > + "qmin and or qmax are set but invalid," > + " please make sure min <= max\n"); > return AVERROR(EINVAL); > } > if (avctx->qmin >= 0) { > @@ -942,6 +947,18 @@ static int init_video_param(AVCodecContext *avctx, > QSVEncContext *q) > q->extco2.MaxQPI = avctx->qmax > 51 ? 51 : avctx->qmax; > q->extco2.MaxQPP = q->extco2.MaxQPB = q->extco2.MaxQPI; > } > + if (q->min_qp_i >= 0) > + q->extco2.MinQPI = q->min_qp_i > 51 ? 51 : q->min_qp_i; > + if (q->max_qp_i >= 0) > + q->extco2.MaxQPI = q->max_qp_i > 51 ? 51 : q->max_qp_i; > + if (q->min_qp_p >= 0) > + q->extco2.MinQPP = q->min_qp_p > 51 ? 51 : q->min_qp_p; > + if (q->max_qp_p >= 0) > + q->extco2.MaxQPP = q->max_qp_p > 51 ? 51 : q->max_qp_p; > + if (q->min_qp_b >= 0) > + q->extco2.MinQPB = q->min_qp_b > 51 ? 51 : q->min_qp_b; > + if (q->max_qp_b >= 0) > + q->extco2.MaxQPB = q->max_qp_b > 51 ? 51 : q->max_qp_b; > #endif > if (q->mbbrc >= 0) > q->extco2.MBBRC = q->mbbrc ? MFX_CODINGOPTION_ON : > MFX_CODINGOPTION_OFF; > diff --git a/libavcodec/qsvenc.h b/libavcodec/qsvenc.h > index cb84723dfa..ea05967db5 100644 > --- a/libavcodec/qsvenc.h > +++ b/libavcodec/qsvenc.h > @@ -105,6 +105,12 @@ > { "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},\ > { "dblk_idc", "This option disable deblocking. It has value in range > 0~2.", OFFSET(qsv.dblk_idc), AV_OPT_TYPE_INT, { .i64 = 0 > }, 0, 2, VE}, \ > { "low_delay_brc", "Allow to strictly obey avg frame size", > OFFSET(qsv.low_delay_brc), AV_OPT_TYPE_BOOL,{ .i64 = -1 }, -1, 1, VE > }, \ > +{ "max_qp_i", "Maximum video quantizer scale for I > frame", OFFSET(qsv.max_qp_i), AV_OPT_TYPE_INT, { .i64 = -1 }, - > 1, 51, VE}, \ > +{ "min_qp_i", "Minimum video quantizer scale for I > frame", OFFSET(qsv.min_qp_i), AV_OPT_TYPE_INT, { .i64 = -1 }, - > 1, 51, VE}, \ > +{ "max_qp_p", "Maximum video quantizer scale for P > frame", OFFSET(qsv.max_qp_p), AV_OPT_TYPE_INT, { .i64 = -1 }, - > 1, 51, VE}, \ > +{ "min_qp_p", "Minimum video quantizer scale for P > frame", OFFSET(qsv.min_qp_p), AV_OPT_TYPE_INT, { .i64 = -1 }, - > 1, 51, VE}, \ > +{ "max_qp_b", "Maximum video quantizer scale for B > frame", OFFSET(qsv.max_qp_b), AV_OPT_TYPE_INT, { .i64 = -1 }, - > 1, 51, VE}, \ > +{ "min_qp_b", "Minimum video quantizer scale for B > frame", OFFSET(qsv.min_qp_b), AV_OPT_TYPE_INT, { .i64 = -1 }, - > 1, 51, VE}, \ > > extern const AVCodecHWConfigInternal *const ff_qsv_enc_hw_configs[]; > > @@ -218,6 +224,12 @@ typedef struct QSVEncContext { > SetEncodeCtrlCB *set_encode_ctrl_cb; > int forced_idr; > int low_delay_brc; > + int max_qp_i; > + int min_qp_i; > + int max_qp_p; > + int min_qp_p; > + int max_qp_b; > + int min_qp_b; > } QSVEncContext; > > int ff_qsv_enc_init(AVCodecContext *avctx, QSVEncContext *q); _______________________________________________ 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".