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 CFB73436CE for ; Tue, 23 Aug 2022 05:11:41 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id BDAEA68B9A1; Tue, 23 Aug 2022 08:11:40 +0300 (EEST) Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 25EB068B9CD for ; Tue, 23 Aug 2022 08:11:32 +0300 (EEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1661231498; x=1692767498; h=from:to:subject:date:message-id:references:in-reply-to: content-id:content-transfer-encoding:mime-version; bh=pUyiRbIAiabFyut+2wNoKhPXhmzCvG9Dv4EgWUwatBA=; b=H8XgDE9t43AV8H90b1vu69uSoHAEwmBGqRj1VtJJlV9orJsudvt9g71V cyftDM/tOZ4HLv+0RWu4C2hWctx3ykc0dOb8pbVw23XFwrPzYnyYi2s7G ujgUPoOLst7CGTCMZSAt4aFHLLy0nim+1JieT83rSK6v2/Ef24b6RiLXU cGzKzzfGnDOfgn3x1WBCJcu7Ojf10FnYulEeHf7ZUodHSQhVV60fqSL6w OXSKdg/dXbio627jA6AlSxFYHn2gRgSB99rQ9qc4Q9r2+K8o/3RiVKrq/ RdxFAmJQ/Wo5YAUXAVGS2+m3+eRY/1pM6X2rOw5imEAnVj1iEsjWQhiif A==; X-IronPort-AV: E=McAfee;i="6500,9779,10447"; a="273978677" X-IronPort-AV: E=Sophos;i="5.93,256,1654585200"; d="scan'208";a="273978677" Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 22 Aug 2022 22:11:31 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.93,256,1654585200"; d="scan'208";a="698552417" Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16]) by FMSMGA003.fm.intel.com with ESMTP; 22 Aug 2022 22:11:28 -0700 Received: from orsmsx608.amr.corp.intel.com (10.22.229.21) 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.2375.31; Mon, 22 Aug 2022 22:11:27 -0700 Received: from orsmsx602.amr.corp.intel.com (10.22.229.15) 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.2375.31; Mon, 22 Aug 2022 22:11:27 -0700 Received: from orsedg603.ED.cps.intel.com (10.7.248.4) 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.2375.31 via Frontend Transport; Mon, 22 Aug 2022 22:11:27 -0700 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (104.47.55.100) 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.2375.31; Mon, 22 Aug 2022 22:11:26 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=NEOE3ql1IjND8N5I3FDyS0mLwI0LFK+jKVjT13zOwggo2ASDBarPNLYIK9fLYMWozAAHorkbp/IESGbDHzdpCwZb7DMbH16xY0N5TfMFDQ0jgrg1MppKEXn7qCLQHp01gx1qsmd1Qj1Is8PFvXwgJ8Tpc7m32L65NhsBNTmDYS9Why1bCXC5OUnSMubi4OKNjsA4hsqcG0avZmDykYQr42fGghFeT4k0BTTb5whaveFqQJ5/hXk9x3HFLAuyn9fOvk8F8RfR4qSZ/KxL2ArecPDjwlGaGb15LzEpZjkjuC1dsMHfp8dstMh2RhhHlSMzz3OnuUWvco6LSsXjSlkDgA== 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=pUyiRbIAiabFyut+2wNoKhPXhmzCvG9Dv4EgWUwatBA=; b=YZ7xOy46f8IHT2gdJF4x59oSleyDlcHzno1IbDZnkTdXC3s1s0yQckm6y7/8K4xYXf4IwbUAPoS7CNwmQ7+DD0ViCCPq3vHYtw9J+ze+dWW66g36N6q6ioLDtI0Lor0q3oz4K5oI9eRezTkOvyrGFATXEcTXGWboFO+UgrkKV2QACiqofE5qxlZKAjTAzkH6h+MQYGKcvJVqVyrRWW1KixnJqGrnbMqWSokVJqEh7lSUgqJC9ONs8lD4NcxOwEwPfEmiP+MKck0Gfd9hT9T4JrZMVtAeJ2K3pZbbjD1bYEacW5faPqz8+WyIcIRAET1TBYJKnVsGHq0OWTYhsgIMSQ== 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 BN6PR11MB1793.namprd11.prod.outlook.com (2603:10b6:404:102::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.21; Tue, 23 Aug 2022 05:11:25 +0000 Received: from BN9PR11MB5515.namprd11.prod.outlook.com ([fe80::8444:e015:794f:441b]) by BN9PR11MB5515.namprd11.prod.outlook.com ([fe80::8444:e015:794f:441b%2]) with mapi id 15.20.5546.023; Tue, 23 Aug 2022 05:11:24 +0000 From: "Xiang, Haihao" To: "ffmpeg-devel@ffmpeg.org" Thread-Topic: [FFmpeg-devel] [PATCH] libavcodec/qsvenc: Add adaptive_i/b to hevc_qsv Thread-Index: AQHYsghhYLXx2/Yn9kam2fuGljBaG627+YKA Date: Tue, 23 Aug 2022 05:11:24 +0000 Message-ID: References: <20220817070719.96899-1-wenbin.chen@intel.com> In-Reply-To: <20220817070719.96899-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: c893cf09-80c9-4d7a-3a7e-08da84c5ed2a x-ms-traffictypediagnostic: BN6PR11MB1793:EE_ x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: vK0Mnpiveii9Lv50P867jhSy8q4At+E6cMdNKtfsMOUI4n0QqXAam1R3YSe7P/bRfEbGmH+ZFiOT3ea5ZOtCMwi9yhYLYsTmw3Q9uJGBHAGW34IAtjC9KvvZ74xZT00IqwuPhsTnEo13TRKL99S0uyjaVvRnAiGzXpN4giSaw4nbJe0kpb1N98EiVk0O1G08tjBHcYJWC95oQzGupJ1Y2zzr5829rD6DZGnt+wTIt7bPg8K+spEogSz6OVF/O7U7Jm5tRw87NpMyM9iXxTRXPyK0cjt6/5V6lUgZasXtMymNKLklRA+19tzrq0BjW2F8AynIqdQgm810AOf3ZDd0mfbPz4hj7ezHPGpDi2a4oqn2YuBL2ObOkhwQ5/JO2Km70XGzMcLf+G76KRAYmW6XIokS5qwqYyzlb8j98AEEuyfHotVxX56dTK+2KzcPpPOzl/7UxLLNbrf/fcdlh5eCRJnsTuv2Jy4uUQx2mu2SC0CORUhNI7DW+wv2Jxzax2g7EFbeSTDjvVz8KtA5JzRR44r/w9SAyu4S+JHOyaY3kM9kJW0lyNQtddC/bbTYJPgDe0f9PlX8q3xS7nGwFqRgwkdpZWnhKmrbbAGvlNDxX7JClHI2h4IKEmcpCngUh+W/uEbyizps56biSmIkQgDF8UDEp8iOn5t3toeUYNjJq36IPnrCWDZ1ipi9E3uk8Riu+hezmSb9nbrnpbj8hxvQr3wPM9ilHUTB3h/a90T8uNvdtrOAchL11ht8Z++dh5pRStAF3Y6R7VhttN4+8ax1O19D0FZ0EpDRsr0nI+L80fI= 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:(13230016)(136003)(376002)(366004)(346002)(39860400002)(396003)(26005)(86362001)(6506007)(8936002)(6512007)(5660300002)(38070700005)(6486002)(82960400001)(2906002)(478600001)(41300700001)(71200400001)(38100700002)(36756003)(122000001)(186003)(2616005)(66446008)(66556008)(66476007)(64756008)(6916009)(66946007)(316002)(8676002)(83380400001)(76116006)(91956017)(99106002); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?L2l5V0tFVzhmSkxtNk1udGozMElXSm1rdW0zVnZRWHI5WjhwSGFESjQrTkR6?= =?utf-8?B?QlBET0U2SXFiaThmR2dGRlJsNUh4aVlmTDBRZ3E3b0FlOUEwZEVZU3h4TGlN?= =?utf-8?B?RENPL3Q0eDE3aU0xUHdyZS9sUVlWSzI5SEV1OGxDREpna2RUbmZPTjJERlVC?= =?utf-8?B?Qzc1Q0JFUzJEdlk1Wm9iQmwwWU91bEFXU2RnWEMrbUEwbXRqSzg0OEZvZXBq?= =?utf-8?B?MEsyNG5pQXg4bCszUlpqNVBsZzdZUG8zVCtlRk1vbHN6eE1CMzZuMXdLellQ?= =?utf-8?B?Y1MwaGZQNUxZMEJwUWNkUTdrZ0pLUEZEWkhhZHBRWmo2Vk1tL0JNV3o0akVS?= =?utf-8?B?YW9NWHJYR0x3WXBTMC9kNjZpWVBVekNYSXVRa1IwSnFMY1BFS1RBQzk4UkNu?= =?utf-8?B?aTVpQXptZHJTWGlxZXY1VVZQS3V5S3cwWEhnK3RmT3BGY21CWXdlMWp2Q1RB?= =?utf-8?B?OVBtTzBEMVg5QU9HM3N6WXlhNVpSV3JZOEw4Ni90VzBHaDJnR2xIVWE5NDY1?= =?utf-8?B?UDhiY3hnSHR6QzJYb2loc2lPR1ZDbUdPWS9GMWtaeFN6TFc0MVdhSVlYcVhJ?= =?utf-8?B?QXNYUndXcFZqTTJkbjZQZG5ac2tsU0J4SUlvblRpcGxPQWFQYkRJdUZiTkRV?= =?utf-8?B?aEV4NWN5clg0SzBub1R2OWNGT1NTTG42V002bTNySDFFeW03UGVJYTJHQnR4?= =?utf-8?B?azhuVHRRSE9CVDNqMStCQ0R1V0VGZEN5N0NkejlhdDhLU1hpU3ZRRnZ1cE83?= =?utf-8?B?Mk5tb2JOUm1vb1UrMndkRHFQaVZ0VjdBTGpnbks2bTNpM01XL2VyZUloWk9V?= =?utf-8?B?SUl4MGRUcUlQYU1YM1ZBM1Q4eE5pVUhMVXROeWFNc2s3THNZUWtBajhLelpy?= =?utf-8?B?Qzc1Y0xyNG5LUnYrYkowcURVOEdvOGkxUW1SS0VWc3MrOTd0Qk1pODhmb2lR?= =?utf-8?B?SExoZUZzU05weXBxS3JWbytuS29YRGRkVDRMd0tsaXIxSzV4RmJVQ1Y0cVd1?= =?utf-8?B?NFg0NjREUEdkRUxHMldTNFpjZGlLZ0IraDdaMjhJeFduYjhwS1Jaa0t2U0pq?= =?utf-8?B?amE5d0R3eWlxRmVqSEU2cEN6UVlnZzA0Q3NKSXh2MEUzb1RyYmlXdjkyd0pP?= =?utf-8?B?YTJIam1VOE9UWE91aXNDVVV1YkVUSW5PT3pjaUdMK1ZMVnZGSkJFR0NuMEZB?= =?utf-8?B?RTNZVmhXamtxTHE5bEJKZzRQZVVmS2d2cUtPOW8yd3RlRWhRdDZSRkFqelg5?= =?utf-8?B?MjFrY3lydzJjeEFGY1BHbUNZRkhNemF2RktTRlN4RG5kbFJFemxrQWVjcyt5?= =?utf-8?B?ZHJNTHFNLzRhQlNOM2hLSVdBRisxVUNtYW1rM0pLMWZmbjFIZit3UXRTUHYr?= =?utf-8?B?N0hRM09UNjEyMWFmbElzMWgycER5TVU0Ny9YMzdYVXppRDd6N2V4MVc2ci9C?= =?utf-8?B?MmhUVGpmMm1oL0EzZ3VkUlRLYno3T3h0eDVKZHFOVGdGMGVHZ2RmSlFVbDE0?= =?utf-8?B?R0NqUWduV2lqL2JJVXc1Q01RVEhnYVlBODVtb3J5dVVPeHI3N3BtOFpQTHlG?= =?utf-8?B?ajVJbXFONDFWOTdmMGJpWmR0bys1M1FRRFl0K0Vrc1NCWmRNL29aQTRLc2M3?= =?utf-8?B?S1FyMTFyK3l1OTN3VzZKcDFKeVBiZ3VIK0RTQk9Oa1hDR3ZDOEtYOTgzZWlL?= =?utf-8?B?UkJFT282amlVRjdnN25MRXlCQVRwc0VCcUc5ckJ2Z1RNa0V2ZWpIcGFhME56?= =?utf-8?B?d1M3K1ZndGxEY0hpd0FBQUs4aStwbzlaVno4ZXYzemZJczZNZW9Mbk1MQWRL?= =?utf-8?B?M2JrTnVDTGg5OVlZU2piM21KVmp2bEwrUmREczBCZy9uMDZoQXluN01xTnJ3?= =?utf-8?B?ZzlYd2JhaEJqaW43TEpFaU9yajF5Mlh6azRYeGpCcXNWMldMQlFTSXNXREpk?= =?utf-8?B?VEQzWHRBNnc3Z1d5ZWFlUUozK1Q4aDFoRC9xWUptUE9xYytvMUtYcllURHFN?= =?utf-8?B?ZkZ2MHNYQkhGc20rMXpLcHlRbHpDcjhyaEpUWW9JNWgyNjZZeDd5V1ZvejhP?= =?utf-8?B?VTRaMkxkU3pnTlBIMEY5TGk3dktYRDYycVoxZm44aGYwVkpTQ0lRbEpUdWZM?= =?utf-8?B?bHRPVmFYdXBueFp5L2YvVjgycFRiODRGWjFWYVM3TFI1Tm9kVVBtY2lmS1o0?= =?utf-8?B?SUE9PQ==?= Content-ID: <0FB173DB27C22242A6A35C3D131D57A4@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: c893cf09-80c9-4d7a-3a7e-08da84c5ed2a X-MS-Exchange-CrossTenant-originalarrivaltime: 23 Aug 2022 05:11:24.8581 (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: CXWJnaYIYZgFxzHUZE6pfeY/wNttFuYPdmLgJWsM/IMsUrLwOHZod0HXbSsZT3d9kO56a96QFS+LJ1bxEKegig== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR11MB1793 X-OriginatorOrg: intel.com Subject: Re: [FFmpeg-devel] [PATCH] libavcodec/qsvenc: Add adaptive_i/b to hevc_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 Wed, 2022-08-17 at 15:07 +0800, Wenbin Chen wrote: > Add adaptive_i/b feature to hevc_qsv. Adaptive_i allows changing of > frame type from P and B to I. Adaptive_b allows changing of frame type > frome B to P. > > Signed-off-by: Wenbin Chen > --- > doc/encoders.texi | 7 +++++++ > libavcodec/qsvenc.c | 9 ++++----- > libavcodec/qsvenc_hevc.c | 2 ++ > 3 files changed, 13 insertions(+), 5 deletions(-) > > diff --git a/doc/encoders.texi b/doc/encoders.texi > index 6d73f74196..fed798ff42 100644 > --- a/doc/encoders.texi > +++ b/doc/encoders.texi > @@ -3543,6 +3543,13 @@ Setting this flag turns on or off LowDelayBRC feautre > in qsv plugin, which provi > more accurate bitrate control to minimize the variance of bitstream size > frame > by frame. Value: -1-default 0-off 1-on > > +@item @var{adaptive_i} > +This flag controls insertion of I frames by the QSV encoder. Turn ON this > flag > +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). > > diff --git a/libavcodec/qsvenc.c b/libavcodec/qsvenc.c > index 4831640868..ca5e6f0b6e 100644 > --- a/libavcodec/qsvenc.c > +++ b/libavcodec/qsvenc.c > @@ -816,11 +816,6 @@ static int init_video_param(AVCodecContext *avctx, > QSVEncContext *q) > > q->extco2.LookAheadDS = q->look_ahead_downsampling; > q->extco2.RepeatPPS = q->repeat_pps ? MFX_CODINGOPTION_ON : > MFX_CODINGOPTION_OFF; > - > - if (q->adaptive_i >= 0) > - q->extco2.AdaptiveI = q->adaptive_i ? MFX_CODINGOPTION_ON : > MFX_CODINGOPTION_OFF; > - if (q->adaptive_b >= 0) > - q->extco2.AdaptiveB = q->adaptive_b ? MFX_CODINGOPTION_ON : > MFX_CODINGOPTION_OFF; > } > > if (avctx->codec_id == AV_CODEC_ID_H264 || avctx->codec_id == > AV_CODEC_ID_HEVC) { > @@ -840,6 +835,10 @@ static int init_video_param(AVCodecContext *avctx, > QSVEncContext *q) > > if (q->b_strategy >= 0) > q->extco2.BRefType = q->b_strategy ? MFX_B_REF_PYRAMID : > MFX_B_REF_OFF; > + if (q->adaptive_i >= 0) > + q->extco2.AdaptiveI = q->adaptive_i ? MFX_CODINGOPTION_ON : > MFX_CODINGOPTION_OFF; > + if (q->adaptive_b >= 0) > + q->extco2.AdaptiveB = q->adaptive_b ? MFX_CODINGOPTION_ON : > MFX_CODINGOPTION_OFF; > 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) || > diff --git a/libavcodec/qsvenc_hevc.c b/libavcodec/qsvenc_hevc.c > index e11f5dec4a..19f028c078 100644 > --- a/libavcodec/qsvenc_hevc.c > +++ b/libavcodec/qsvenc_hevc.c > @@ -233,6 +233,8 @@ static const AVOption options[] = { > QSV_OPTION_DBLK_IDC > QSV_OPTION_LOW_DELAY_BRC > QSV_OPTION_MAX_MIN_QP > + QSV_OPTION_ADAPTIVE_I > + QSV_OPTION_ADAPTIVE_B > > { "idr_interval", "Distance (in I-frames) between IDR frames", > OFFSET(qsv.idr_interval), AV_OPT_TYPE_INT, { .i64 = 0 }, -1, INT_MAX, VE, > "idr_interval" }, > { "begin_only", "Output an IDR-frame only at the beginning of the > stream", 0, AV_OPT_TYPE_CONST, { .i64 = -1 }, 0, 0, VE, "idr_interval" }, Applied, thx -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".