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 0567F448E7 for ; Tue, 27 Sep 2022 04:16:09 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 03AD168BA15; Tue, 27 Sep 2022 07:16:06 +0300 (EEST) Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 87A7F68B171 for ; Tue, 27 Sep 2022 07:15:58 +0300 (EEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1664252163; x=1695788163; h=from:to:subject:date:message-id:references:in-reply-to: content-id:content-transfer-encoding:mime-version; bh=9Dz5WzjfL2lRdBBycobe1gL8TukQb9qy4/3asl5GlTo=; b=Ffjm8l54Jx3YD6gfciQCRnTyPmVhjEjn9EYcnSa9se/K7AewtOMri7WD m3NNGENKeqRpcrNuqKDtT6EFfjcbMwyTkuvYcLeDVgw28oJQZQEaaFf6o TNSPLpRJdHAs8cwR6YRwROfAT6QXdlCTGLpfZDDFozWwcwp5SUNI2wyk5 ThMFAtCxg5k5D3jQDMpshxk0CnRitJIkve4sFys+8cSyPvqAPfo9L5+tE O3X2mJn9+eFbgJBqw9Fprc2Rt5E5zslizwxcKVNHROmiJd7m0x56nSwxl O6++LYqyOQo7A7/w6H8qeAmcK4Dq66yE7M636hz85kab4ScCaRac8aLDg Q==; X-IronPort-AV: E=McAfee;i="6500,9779,10482"; a="281583817" X-IronPort-AV: E=Sophos;i="5.93,348,1654585200"; d="scan'208";a="281583817" Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 26 Sep 2022 21:15:56 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10482"; a="710402432" X-IronPort-AV: E=Sophos;i="5.93,348,1654585200"; d="scan'208";a="710402432" Received: from fmsmsx602.amr.corp.intel.com ([10.18.126.82]) by FMSMGA003.fm.intel.com with ESMTP; 26 Sep 2022 21:15:56 -0700 Received: from fmsmsx603.amr.corp.intel.com (10.18.126.83) by fmsmsx602.amr.corp.intel.com (10.18.126.82) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31; Mon, 26 Sep 2022 21:15:55 -0700 Received: from FMSEDG603.ED.cps.intel.com (10.1.192.133) by fmsmsx603.amr.corp.intel.com (10.18.126.83) 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, 26 Sep 2022 21:15:55 -0700 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (104.47.58.169) by edgegateway.intel.com (192.55.55.68) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2375.31; Mon, 26 Sep 2022 21:15:55 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=CQuIeZY9jb6mrjHoOPpk/+mo4ai3g6haPSuCMuPs5fzwAOnw9qEV0TXW09G67OzpjpGCGM2D3eA1ishWkA8cXuL+rcqkgXvT5mGhOIM0XYGnS90Fzn3wjbawCVl5ETaGppK8XHmfV7AjFiftOjZuzWMDCgoCDZHAE+qnMILzT+nKoKCuAylVnpw3SnWWBinETXprJbIxSrLqGaKiEIYGiUiBVArjwgRyabDjY0fOUDJ++FpjrkndNHUgybuYFvnBsXEwUOyhDTvaorzyaxchHxdIfYcG8Fh8HlSXgg+rfTziA2yHoY9zGmPO2HBaUUnpXBYE4+hi19ZWRx6OyAFz4Q== 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=9Dz5WzjfL2lRdBBycobe1gL8TukQb9qy4/3asl5GlTo=; b=fNcFnW9CMfLWkYZiMw8lj3TR59U8+a8wYmJyI33WyshXKoo3D+VsSzXLP86Ehf2iRZISub0wd1cA7VFx16fXQDQ2vdRkkXg0h8QRs4YS5hAo6UxGiVF6wmKfvuAc7I00NRW8brymjeV25iTV+JXsTEmLVLeVEzrBa+BXR9jjkSGqx1KFpnSA9pcwrQu4G8vUhzQFg6E1dfr6qSYuFtLOSdDzo6ZmxM8I81otxW50V/0TFoNNhKBJ8C43b7l3Q+TBO7293SmuwFnuP5mNwyDflg9VzDVWX01xaVT8jowvAdEBVDzQNvEf5Sh2gyVAoZnqZ6T0FaFxj++um94SBf3eXw== 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 MW4PR11MB5824.namprd11.prod.outlook.com (2603:10b6:303:187::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5654.25; Tue, 27 Sep 2022 04:15:53 +0000 Received: from BN9PR11MB5515.namprd11.prod.outlook.com ([fe80::3804:a5ab:68a9:9304]) by BN9PR11MB5515.namprd11.prod.outlook.com ([fe80::3804:a5ab:68a9:9304%6]) with mapi id 15.20.5654.026; Tue, 27 Sep 2022 04:15:53 +0000 From: "Xiang, Haihao" To: "ffmpeg-devel@ffmpeg.org" Thread-Topic: [FFmpeg-devel] [PATCH 1/3] libavcodec/qsvenc: Add framerate reset support to qsv Thread-Index: AQHYzvb4pW2/ASiz1U2LsFTYWT7H2K3ysbqA Date: Tue, 27 Sep 2022 04:15:52 +0000 Message-ID: References: <20220923024412.5671-1-wenbin.chen@intel.com> In-Reply-To: <20220923024412.5671-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-traffictypediagnostic: BN9PR11MB5515:EE_|MW4PR11MB5824:EE_ x-ms-office365-filtering-correlation-id: 84c0fde8-ae1d-40aa-b9ac-08daa03ef7b0 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: hzL0gi/5+xWqRgOD0sm68CbqBw3kdoG1rwNJ2/BdmMT7xxHsLxKj2RMoq8EAUYZO1eIT2+wzuI9fcjNhXCJJYgv4aQFo/4Yuif50qdQIwMrR+ZG4tSaUhhjrocWA3VpA1sgc1gnIp/w/z9fif8/JCBnhTxxWuyTXw9KwvYNSK3oP2tyJHES9LJjoMttALXB2aC7aOl31RqacYP5Ws89oIEtKVp7gDt7iQSfn8lam5pdtOVPjoG08zf9Adlq1uO43nxi9CLuq7ieTq8DRqffH6Y8wbDwrNm2lflaiRV+9Pulc2lzVY+3qC2leqUNhXQ2NvPH01XfGS2VMKx3lmhgXZohul1U49LBvfgrbWIgkufGXBjb4Bl5mh/mW3ygd4RM9HhUjNwoQQo2r763ES6xJARinppLrBxsp01QP+NnGp3/7KqvPkC9LUFuXXxcO1M+T6Afhbd5kMwshakCfZjaFVtOeYthIg//LTRvqLdDPQrbwxoIpur2v/Z6Q5Wbr9bNSP3WoA9nr9+snZCZRZx14BciR4sY7PEZTQZ3OOs6S2FH2AX81lWAuXCQziO88MOxLbEo+EwgkD59S+bjxjNyEgZq1jPHIy2gg/4z3CMjEyEWVaz7ViCRrfqcB7n8geIZB3ZFMmpUsWyebLkhvocBXaxPblXcvBMJ5dzmyitjSEVwTaPM+/tqFUDKgVSmoiahaqcmEBNqrDTymWeAhC8P/FkDPQKAsnKjfZ5dBvdLpfOYodd8cVtu2BQInl1iQ9s5IAZT2ZhKdHo6Nbt8Xwt6arZPPmXPWPF4cUFRN3NFTlYE= 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:(13230022)(39860400002)(136003)(366004)(396003)(376002)(346002)(451199015)(83380400001)(86362001)(38100700002)(76116006)(82960400001)(66476007)(38070700005)(36756003)(66556008)(2906002)(64756008)(66446008)(6512007)(8936002)(122000001)(66946007)(5660300002)(8676002)(91956017)(6506007)(316002)(26005)(2616005)(186003)(6916009)(71200400001)(6486002)(478600001)(41300700001)(99106002); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?YURCMXoxSVVicXp1REdPUnc1Vzh5bmF1K01HM1lYSUpyWHhNeWlnR0ZqTGVE?= =?utf-8?B?aEgvRUFIUnNsWFNTWUs3UlBiTklJSnRaaVBVY0tFb2JOd0JFMGY3OEZEVGd4?= =?utf-8?B?Z3M5T3lhS1VmbzhFV2F1RVNkVVRYb01uSnVxM2lsL1RBYVdxc1dOR2kvYjNX?= =?utf-8?B?ZWw0dVNjSlFJbXVjUG1DVmd5VEhkYnVZK3VGdU4wS3NqaEJIajBQTWhCZGR2?= =?utf-8?B?MnN6MnI1VUdlT1pWdnRZSUY1Y3R3MmFsMnV4c2Q0UVE0WjZlbDRPZ2EvcXNx?= =?utf-8?B?amVUOCtBblVHcDZMMDZqbldsVE40VHhwNnRnTnpCc3R4YlhyMXl4bVc5N1kx?= =?utf-8?B?b1pJZklKNUErVVlUTWNHSjEvS3NjSHBtQThyZGI5R0d0WnB5QlBpd1FKZk96?= =?utf-8?B?MGxRVVFDa0dCakQveDRkRkJhS1oyTFV6dXVvSUxGOEhLY2QwVzFnd1BDVlo4?= =?utf-8?B?WUFaYzY1ZWpBVnpkZUxVZmxTOTRTVFFBY08zQ29JWlFxNkh4Y3ZHbk4xUHcw?= =?utf-8?B?MG1ENlprWVNqR0NBelBhK1dqVHFjcjNqSzFSR1MrOWJ1Vmk1ODVJS1QrMzhR?= =?utf-8?B?akRQWkJFVDFQSGNDc1pXNFU4QnI0RnlsTjJlR3FGVFVRb2s3cExnSU4zOW4y?= =?utf-8?B?ZzJZODhSd3dDUUw2OXZiQjdVUzFPeTZ1VnhyREtsdXVuNVhJTTFFNGs2cVI2?= =?utf-8?B?RFpoaU5xVGpxdnl0T2Rtc2NQK2F4cVRLckFxTW4vZUY2SnovREhoMDlCdGJV?= =?utf-8?B?NGNKb0NLRWtsZlJkekRzZmltUmpBWmdhNjhDUEY1MU5LOVRibEJRRWR6NTh0?= =?utf-8?B?emFyNmJwbys1bUtpQjBULzR1cU9qbFhKM2lhdlhXeU9ZVUZCWHBsWG9aVlVK?= =?utf-8?B?TEtqN3kzN3V3ZGlkYUtJSFA1YUMzQmJ0ZTNVWkY2RS90Vm9mQkhtNDE4THRp?= =?utf-8?B?bitJT0JMRG1icVRXQllBVVJEaVZvS05UNlJ1VnhZSWE3VDRmVTFuanNiWDY1?= =?utf-8?B?Y0RYMHZiU0J4QUc1cmtRSXUvLzU4WTdPZ2puVzdFSlZYSGxGZk1WRzVrVkdw?= =?utf-8?B?eFVnbFFaTnVSdTJoUFpMcHhIb1JCYmQ1N3RYVVZyWGlWRE1YZmZnbXVKeFA1?= =?utf-8?B?bHN3cUkveDl2d2hFTldPMTJuT01KWHNQSTQzOG1PNytYT2xxVGN4QzV6eC9i?= =?utf-8?B?aWV1ZW1GUnNtbXdTamtjVlAwZGFqUGdqSFJRdWlXdG55Z0xYY2NBdnVhaGQ4?= =?utf-8?B?MFRsK1F1K3FKTkp6MGtZc05peU5DN2tTblNLQm4xc1ZETzdkZEFlb3ArTXIz?= =?utf-8?B?Z1E2a3pFRjBJZ2UyUDBqYW9wS1ZHdGZFcmZxSlFiTjdFUWlIUEdjdmFRN1VN?= =?utf-8?B?MkhoSlZwOUNrTE5lSElET0lNOEM2L0lUUWFUb2RhVEM1QVRKUFpEVkZuSnlo?= =?utf-8?B?aHNobmZnRmwwZ1hJU0c2SVJONkVYS3Bvc05xcWo1Y2E5K3YwcGVhYjRJcmtq?= =?utf-8?B?NXlxdDlLOXBqYlMrQWswblZZWGpkOW4vR0FEdklTdHA5MDZyeFlrSjhDYTBU?= =?utf-8?B?NFlyd3NodnJMOC9rNXQ5bXAvTXR0NC9KZDJqQ2pNTENZbTlGdm9aMGdPTVBr?= =?utf-8?B?UkxNQUNieFRKaURWRDlSK3RMUnBybTZUeXVDYkpXMFFpY2dMM3VwM2lJNzBF?= =?utf-8?B?WmVVNXpUNHlpWWNFaEJNNXM4NVJObW9CdUxlQ0xiN0x5OXZGa1Jld3lmbXRC?= =?utf-8?B?UVBsMVFINndpQVhyaWI5RlA2TmtzUVRUeU1xY2Z3TmNhWTFUTEExeTNCZmFO?= =?utf-8?B?R3B6cGZOWktLQUpQOFczcTIxcml1R3hiTlNiU2drQTNDVDlLclNWZnJhaHJl?= =?utf-8?B?WGlTNDhRNWE4dmk3SUl0eGhPM1RUbm9vcEtpK2NYaEEzWmxjS3h2QU1qM25j?= =?utf-8?B?UkxwUG9UYTc2RnVXQlhqTlpENFFiOThxZ1dWTVdWVUxURUxmS3VyU2lzL0pH?= =?utf-8?B?THZOUkFuR0xZWElLWXBoV254YjJvN2RkSE1oS2ZINVhyTzdtbzRDeS92L2dN?= =?utf-8?B?Wno1NXZibWpKVGpiNGd5MDFweERBbjVQMUFqc2lmVXpsWnY2QlBRRGJCSHU5?= =?utf-8?B?Q20vMEVUSk5zNVlJNHdUcEdIUG1GbnNzVHhiVk5NUlJRVTVpdGY0bEJkbUxD?= =?utf-8?B?U2c9PQ==?= Content-ID: <62BFFAE163B9E845A62B44A38A9F1DA3@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: 84c0fde8-ae1d-40aa-b9ac-08daa03ef7b0 X-MS-Exchange-CrossTenant-originalarrivaltime: 27 Sep 2022 04:15:52.9848 (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: mYk1wIGRRrRz1AAbraq/QZz98zG4Su4EXhTZ9spbwlik7NaAI2GvS7c8iqYHS1WI/cY4YgXpdLCIPgQTCkiCqA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR11MB5824 X-OriginatorOrg: intel.com Subject: Re: [FFmpeg-devel] [PATCH 1/3] libavcodec/qsvenc: Add framerate reset 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 Fri, 2022-09-23 at 10:44 +0800, Wenbin Chen wrote: > Signed-off-by: Wenbin Chen > --- > doc/encoders.texi | 3 +++ > libavcodec/qsvenc.c | 26 ++++++++++++++++++++++++++ > libavcodec/qsvenc.h | 2 ++ > 3 files changed, 31 insertions(+) > > diff --git a/doc/encoders.texi b/doc/encoders.texi > index ac71f50ad2..4ed7ce1bb0 100644 > --- a/doc/encoders.texi > +++ b/doc/encoders.texi > @@ -3360,6 +3360,9 @@ Change these value to reset qsv codec's max/min qp > configuration. > @item @var{low_delay_brc} > Supported in h264_qsv and hevc_qsv. > Change this value to reset qsv codec's low_delay_brc configuration. > + > +@item @var{framerate} > +Change this value to reset qsv codec's framerate configuration. > @end table > > @subsection H264 options > diff --git a/libavcodec/qsvenc.c b/libavcodec/qsvenc.c > index 84c6e292aa..ce00cd302b 100644 > --- a/libavcodec/qsvenc.c > +++ b/libavcodec/qsvenc.c > @@ -705,6 +705,7 @@ static int init_video_param(AVCodecContext *avctx, > QSVEncContext *q) > q->param.mfx.FrameInfo.FrameRateExtN = avctx->time_base.den; > q->param.mfx.FrameInfo.FrameRateExtD = avctx->time_base.num; > } > + q->old_framerate = avctx->framerate; > > ret = select_rc_mode(avctx, q); > if (ret < 0) > @@ -1838,6 +1839,30 @@ static int update_low_delay_brc(AVCodecContext *avctx, > QSVEncContext *q) > return updated; > } > > +static int update_frame_rate(AVCodecContext *avctx, QSVEncContext *q) > +{ > + int updated = 0; > + > + UPDATE_PARAM(q->old_framerate.num, avctx->framerate.num); > + UPDATE_PARAM(q->old_framerate.den, avctx->framerate.den); > + if (!updated) > + return 0; > + > + if (avctx->framerate.den > 0 && avctx->framerate.num > 0) { > + q->param.mfx.FrameInfo.FrameRateExtN = avctx->framerate.num; > + q->param.mfx.FrameInfo.FrameRateExtD = avctx->framerate.den; > + } else { > + q->param.mfx.FrameInfo.FrameRateExtN = avctx->time_base.den; > + q->param.mfx.FrameInfo.FrameRateExtD = avctx->time_base.num; > + } > + av_log(avctx, AV_LOG_DEBUG, "Reset framerate: %d/%d (%.2f fps).\n", > + q->param.mfx.FrameInfo.FrameRateExtN, > + q->param.mfx.FrameInfo.FrameRateExtD, > + (double)q->param.mfx.FrameInfo.FrameRateExtN / q- > >param.mfx.FrameInfo.FrameRateExtD); > + > + return updated; > +} > + > static int update_parameters(AVCodecContext *avctx, QSVEncContext *q, > const AVFrame *frame) > { > @@ -1851,6 +1876,7 @@ static int update_parameters(AVCodecContext *avctx, > QSVEncContext *q, > needReset |= update_gop_size(avctx, q); > needReset |= update_rir(avctx, q); > needReset |= update_low_delay_brc(avctx, q); > + needReset |= update_frame_rate(avctx, q); > ret = update_min_max_qp(avctx, q); > if (ret < 0) > return ret; > diff --git a/libavcodec/qsvenc.h b/libavcodec/qsvenc.h > index f2b7ee361f..960197f159 100644 > --- a/libavcodec/qsvenc.h > +++ b/libavcodec/qsvenc.h > @@ -271,6 +271,8 @@ typedef struct QSVEncContext { > int old_min_qp_b; > // This is used for low_delay_brc reset > int old_low_delay_brc; > + // This is used for framerate reset > + AVRational old_framerate; > } QSVEncContext; > > int ff_qsv_enc_init(AVCodecContext *avctx, QSVEncContext *q); Patchset LGTM, will apply. -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".