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 B387543241 for ; Wed, 25 May 2022 12:44:53 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id CE30468B4EB; Wed, 25 May 2022 15:44:50 +0300 (EEST) Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id E5C6068B477 for ; Wed, 25 May 2022 15:44:43 +0300 (EEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1653482689; x=1685018689; h=from:to:subject:date:message-id:references:in-reply-to: content-transfer-encoding:mime-version; bh=ddqWJvN3YDrSqMtakzQqH5o4W6OZ069q0Xo/sLjMCdU=; b=A0o+gtG+TATDZibVuw21ooPnfK9jChyRfmZG6ZXO8WBTe3DfkLp4tS8A H3W2QoAaQa7V15ocuXfQQhFLvZcWk99Ii5ELMCq5J+7f0zWDwV3HtFNF+ v4NJQ4DvXS3htJshzd92mQVsnyYs01/Zh2ZkKhfYaMrBBkJ9j1FAg0ebe cVJY6rcmSLhUySlqgh4dZiuy3OmLLTcEzHQcVXag+9bONurpcclEQn8aK 8F9LigJ+9IP/ldfkXTt+0FGfcxN+T+wqueou813mrVgjjnDWqNxHpUA+M Vl0jBhes2ofxcJXOckXfNBy9PKhdrDiR0a+2P/xMm/Lk3fMjB1QsdmU+Q Q==; X-IronPort-AV: E=McAfee;i="6400,9594,10357"; a="261413479" X-IronPort-AV: E=Sophos;i="5.91,250,1647327600"; d="scan'208";a="261413479" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 25 May 2022 05:44:40 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.91,250,1647327600"; d="scan'208";a="601889092" Received: from fmsmsx601.amr.corp.intel.com ([10.18.126.81]) by orsmga008.jf.intel.com with ESMTP; 25 May 2022 05:44:40 -0700 Received: from fmsmsx606.amr.corp.intel.com (10.18.126.86) by fmsmsx601.amr.corp.intel.com (10.18.126.81) 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 05:44:40 -0700 Received: from fmsedg602.ED.cps.intel.com (10.1.192.136) by fmsmsx606.amr.corp.intel.com (10.18.126.86) 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 05:44:40 -0700 Received: from NAM12-MW2-obe.outbound.protection.outlook.com (104.47.66.43) 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 05:44:39 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Q7Kq+W4URskYgcb431h+YLSncNesoxkmISqXvgpFgA2UHzJcy5jJbmzOgdlMHfy1bILRDlEHZUyand+09nkHd+x9N6dH+kAWDPk1FoHEMTriyWroteeMY9TuqWHxO0iMErEkNvBU7lEhnJp6tE+wTLlyNf2cxpLjhYLAO12R88xZZ++Mu7H7YBFFWnUVoXcIhFpVJo/9urygZFfxvyUVq2oR/cfHSRtU42Sje5hBNsutKG0qiH0BF/BJuVUOMlWeU7s/opFOL25xn4dDVUrkFR/ITovsksBFk9lTLgFzMxRYi48mUdNLgCS86D0/sQ3pI/mFxTxG5Ywc4OS1d7oGWw== 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=q/EioVq85YmbO0qyX3K+17oAiefYjt6jEYzzgpP3fAA=; b=EyCIWCMQaBD6k+uAfq7XFQm1hO2x1lzzc3AHdG8OhmbDNU9kzjCZgm78/a+R/lmqbMIE+VDCwbCNnx/o7qwTUHmH5DimCsb3v/UfMBaFuEhcni+02is8GNKbPAi56VX6yF+WLEKnbQN6s/FRSmUxcBvfdoX7diA3vShY9KBUYA5G5qNay6TV1whjs1grlNUl+IMn3oxu8QmpsWCzwlcN8PPQl8v1NsX6GBM1Ilv/qFhCwhEQCkCBuwz/QY6gUzHGZELRJZpFRgWcFweQtooTiJM7NmnHiJlGy6fOnurYB0ihejUKeGCWlYT368mN1K9LlVIiLoKIuEXRAt9LRbYIAA== 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 BY5PR11MB3879.namprd11.prod.outlook.com (2603:10b6:a03:18f::17) by MN0PR11MB6279.namprd11.prod.outlook.com (2603:10b6:208:3c1::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5273.22; Wed, 25 May 2022 12:44:33 +0000 Received: from BY5PR11MB3879.namprd11.prod.outlook.com ([fe80::d4e5:8778:5e7f:69ba]) by BY5PR11MB3879.namprd11.prod.outlook.com ([fe80::d4e5:8778:5e7f:69ba%7]) with mapi id 15.20.5273.022; Wed, 25 May 2022 12:44:33 +0000 From: "Chen, Wenbin" To: FFmpeg development discussions and patches Thread-Topic: [FFmpeg-devel] [PATCH] libavcodec/qsvenc: Add min/max QP control options for I/P/B frame Thread-Index: AQHYYO/lPk8c163wtUCfu+vS9rIUd60vT4iAgABYxvA= Date: Wed, 25 May 2022 12:44:33 +0000 Message-ID: References: <20220506021956.2277740-1-wenbin.chen@intel.com> <5ae262aece22b9a0e0972b70ceea967eb6d7e9d0.camel@intel.com> In-Reply-To: <5ae262aece22b9a0e0972b70ceea967eb6d7e9d0.camel@intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-version: 11.6.500.17 dlp-reaction: no-action 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: 1fd9f7c1-389d-4bdd-4d3d-08da3e4c5182 x-ms-traffictypediagnostic: MN0PR11MB6279: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: coYtUQ55ztEKA2yruFKYKuE361XL6+2p+8ETOIBiMHINSjJrwXk3P2COLLSO5DIdDkspHoJg8GcJKNU6CLHJPxv7NQ90yr9aG74RCUlgMbE7c1k+FcQ5cAN/sdiNtQjQCxi7/nm+as9PTii2iapjrWTbSLiC/2x7S+ayU3B3r5whC+idSB3oMetAQ+30/n2XK8l+L3BFg/car8GXDJqU3knpq+05pzGLFCJlsW7Z2160QHgQViDjUiWa4lRPQ6LoTiGzdX0V5A6MLSnulGBBvhAQ6hnVScVRldpTqSLVK9fWDjRjB4rgBWEQrt4ykcDJfRDEa0fX5FAkwRReovlg4fWas7dNSqlyKgKxaeKrXunRxgZqmPXD74AoopiQhgme+/xIUomg1ZwPlvS2YvZVgsWDyx+t3icrpy5mRUSGffAaJM76uQHwj3HObKvvuezdN6kMVbncUhRLvPRP4bS5eKcJSE7ewt+JtbZq/9sxW/Pfw695oM/aBDX5Aj3rP+UzfnJN8NRGxXfV9NA3KgNI2834OXFXuO80rTI31Z5euTSOjf6O/5Z7J6l/LOC1RZM4bTXMPrOCxN87YIcrH8aD9FrF6ugGSQ8N0tJ0LiFqYH2ZP4zIpUsjePc0/sfyiSxDT7S1jX++FJ1sFfAU343lflHOQXdroJuNo1iFKBQwcymDEFawlFFwP79ADfG5+msI8CyY0BUfYecVgBs2FTZ4OCTqr1ChbKm/IwW1Et/0+TOTJhFP7d1Ytj5dxevW6BQEeeUba9jhrjxhV/XDdD4CtjeW8tcV4WTs3/7OtUR6VMM= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BY5PR11MB3879.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(366004)(71200400001)(2906002)(8676002)(38070700005)(7696005)(6506007)(122000001)(966005)(33656002)(8936002)(82960400001)(52536014)(66556008)(86362001)(55016003)(6916009)(9686003)(66476007)(66946007)(508600001)(316002)(186003)(38100700002)(5660300002)(26005)(76116006)(64756008)(83380400001)(66446008); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?mwmhShFGEjPYvw1irOVoTlNYm1J4y6JF7utKD70aaIUqtSWZWNACBo6n2WDB?= =?us-ascii?Q?uPbQA5tShSzrWj3q9vhxX+RJuFh7bNdOBT2TO91VlUJBamsxzyTSJnBhPGOO?= =?us-ascii?Q?3JiFqfZm0jQxgJe4iH+irFHy7Oys6GUHfL1Moz/QYMdeytQDYO1bHk+OsXjF?= =?us-ascii?Q?E9gf8PzBRD2CBaNPJt/HuDTeqSqpIIXXnbK0Ethd+AEA5izh7IeCL6AlsacR?= =?us-ascii?Q?JjhSAsqc89XdAvvN+gh1NkJ6JaUWX8wSqG4J73zFFznsyV8vOzf3VozlWcJQ?= =?us-ascii?Q?8kvhtl+EqNDM+JhQn6XIgR4iKhdcOVNNVSijl2KZQt9nOktzvBNnbJrfUYXt?= =?us-ascii?Q?WKAwfRDwNRkqL1oXtRiN/C3fiBHgh2nALGeNYoCjnhVhoREbVKsNz4j35ljX?= =?us-ascii?Q?9fOlyHvCjHCjunaLct60RyBc+xlEJNtBhW24fyimvjbh6EbGRLmziV6k5ft1?= =?us-ascii?Q?FA2PyomAliPv5y72+XJVv7VV3Xb8iMkrw+a35YxKDF7Kb67YSilAY2gafqva?= =?us-ascii?Q?8uP4wCwtSxXCbRKV4s4coyuQd4pZbhJiEB96m+b9kKcRBAEhtNobhRlQyxXL?= =?us-ascii?Q?Hc7F5/dWtYNpl0EG75REx+sx6izaAk6KaesaZ2CljnB0IMnrG7Fvg4DlcF25?= =?us-ascii?Q?Og34uqVM04TJSGdLk8RERc2Hwa/K3O9a4SpwRJAgC6PaQBxwQFlBMMuoHiQm?= =?us-ascii?Q?DmSjiM933U8viGyJtYb8PtXrJA4Z8GLQbxl7tJPoWxp9yNOmYZlXURYMYykj?= =?us-ascii?Q?Cd/r/CWH9VBgxu1lPIi/gS25ZZcY5tylHTm1J/fEsATVAIjlt6oEceSdOX+6?= =?us-ascii?Q?kfCVZ4CdltGZZVeBauE/e5LtrIyPGeSqAwBSRt1uic3bnF4fPLIRhKQaKctD?= =?us-ascii?Q?S+vK0opFPiuJKfhBeTtYZIY4DiKkxa7CY/KgXYekvHOPpWFG2iCVRtmIMXyj?= =?us-ascii?Q?WS+MJZogNl3RQnQE7V33pcsNr29LDwsWQxb4xAIiPv+v5QJ5qObNhkiROBi3?= =?us-ascii?Q?CkFrIAKXchdcE1SQO5wE6oKjx69EaNKAKJePodVtzliq1lWSp7nAOUEVk9nH?= =?us-ascii?Q?LZTspQPgWw7hUOhgBNtxlhtF1/nNbU7wYIG1OKI2EaCxJ7ANtn537rdRdVve?= =?us-ascii?Q?pKLBJUQYtYc4a+vUK4h+Hj90T3Wur1Ny26NSW1cH8y8I7DLM03Pno9zm/Gsn?= =?us-ascii?Q?eddyFqIztDiXyOw5xdPjHzDJTDtzB0G6VsZ14kkZFHCM9o8K++JJ56OTjF+y?= =?us-ascii?Q?rUyo8GJ+RXzyke7UbkXaUU5O23MOXaSN4LRblEEna74Y3UoZ/szCAbDk6S9x?= =?us-ascii?Q?kZAmJzrD4cOZ2qQkOempsWuEJBJWc0Zr7GRJHgM4+/AT+tyRc4ThaaRpcI06?= =?us-ascii?Q?Xptc9sAJy0rV/AOfSLFUGI4FmO5LLVhVNE+d1ChWthumd8K4BdonplJvqfiO?= =?us-ascii?Q?hk2n+c1/xNHTxMnHTqaDtUC/RPUmn4+5/rdYfd3Jppb4uP12+0iXKHcfsn5d?= =?us-ascii?Q?0HEJ+ODSN5UCsnJhsMrs+OB+8uTFEqsE5DPqs6q+gIV7y7B3ePxcYlYmienb?= =?us-ascii?Q?KpvwWoFpv0rWltGzPRLG3wDJ+1zrN6qznPB4iM6gLd2jhJ9gOTll23F2FzoD?= =?us-ascii?Q?B1s+3sCDJCLLBLnU/TkeOAz+G2kjooF3NOW0WufVwEYZXDNvSjT5fEU3DrNY?= =?us-ascii?Q?8bzz6CfQAzjWkVLLkeexvbqPhz9wr25o0EWSyqWUMBvT0HdwGFqaHR2qg84N?= =?us-ascii?Q?4+qi3qoeHQ=3D=3D?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BY5PR11MB3879.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1fd9f7c1-389d-4bdd-4d3d-08da3e4c5182 X-MS-Exchange-CrossTenant-originalarrivaltime: 25 May 2022 12:44:33.1808 (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: IvdGcsPucGJ5dkC8dPtaJWnS/P5KOXEgPK3IVxai+HPpuV1+cXn3q8wBzo4fG2y5S/WRQ2Z9yhywhZio0hyTpA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN0PR11MB6279 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 Ok, I will update this patch and submit again. Thanks Wenbin > > > @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". _______________________________________________ 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".