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 DC6AC4433F for ; Tue, 6 Sep 2022 08:44:35 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 6106A68BAA3; Tue, 6 Sep 2022 11:44:32 +0300 (EEST) Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id BCC7668BA35 for ; Tue, 6 Sep 2022 11:44:25 +0300 (EEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1662453871; x=1693989871; h=from:to:subject:date:message-id:references:in-reply-to: content-transfer-encoding:mime-version; bh=lAYTe2HqpS6gimBLQs24ErgVAdHa3nb3GPadh/UVtic=; b=iCfCkF4ejzGQq+HNQ7D9LWuYYAvGOH9AxwbTFzi1ju9ov4BuTKEEzoI8 UwxA9LhBA/DatFkrMdcQRRi6ppEl4yL2xJ/u7tPl40gHTzJdMfgGvuGV0 yzeORKvmXe6PzcAmSBEZPqBCFweoe34B78DOdQnePOr4u51XI/Spc2e2W 3VMS+myrnWJyCRde3RjDahYNiKCBEYLalLwxUSm5bk2LLWcTnIfPzD8jA uL6WGJlSv0NLha+1M8f8LFNF1mqmm4fr+sCp8a/aQMsupEIeAuEsVE4WO z12PkrU4NwUc0TxhpFxEM9pd/uUkDBWCoOyvDeNi2LgZauiII8njbFPLF w==; X-IronPort-AV: E=McAfee;i="6500,9779,10461"; a="297325412" X-IronPort-AV: E=Sophos;i="5.93,293,1654585200"; d="scan'208";a="297325412" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 06 Sep 2022 01:44:22 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.93,293,1654585200"; d="scan'208";a="675601617" Received: from fmsmsx603.amr.corp.intel.com ([10.18.126.83]) by fmsmga008.fm.intel.com with ESMTP; 06 Sep 2022 01:44:22 -0700 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) 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; Tue, 6 Sep 2022 01:44:22 -0700 Received: from fmsmsx612.amr.corp.intel.com (10.18.126.92) by fmsmsx610.amr.corp.intel.com (10.18.126.90) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31; Tue, 6 Sep 2022 01:44:21 -0700 Received: from FMSEDG603.ED.cps.intel.com (10.1.192.133) by fmsmsx612.amr.corp.intel.com (10.18.126.92) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31 via Frontend Transport; Tue, 6 Sep 2022 01:44:21 -0700 Received: from NAM02-BN1-obe.outbound.protection.outlook.com (104.47.51.49) 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; Tue, 6 Sep 2022 01:44:20 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=jZmO4XUu9/UPCVExHx7WMK2ZNz9OICVvUYGPmIHW4W4fvUT1uOGAm0SNg40gXLtl5k0RA8k94KAyQqP+hNk6O7t+vKNGePH/zSVref9NnWL6i0nQ6DlPRxCG0tE6+g0orhyx0dYdBN8EwYURN6SMu3avqsNmCWUFT+smFMB5krEx47MRgrpzD1n4C+acVUjcVvMAPwdQpbw2m+yElX/Nv2F39wKbZgVzF3eN7govZoJRvZuSzYUm0DqxXYagAbU8MCm3FdjN8IXsVpJGxxbI9lDr94GBQ9f183cgJRiFguCObPWOHmeBffDuzvhxlGeIIrt+skfIAUXRcQVkgvWIDA== 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=/GtyFcZIudktnsDMEHpRUfXhmTDcHWu+dhBN1pBhUGk=; b=T6H0fFu+mpGt14mtb3Uzy3Nv/cOgRXIAHC/GiQPw1pbmPhWTap+/TjbFDH5urYuI2t7rjeS4Hv2ZAW3NhzB9YZThpJbEYTZcV9v6iHKtxZIZxKyh0YHYy0l3StbnrAKFq83q4XlmAb5RiXUHMn+nW/sLEUH86NfZurJZKLXhmrNpqgc3zRMsA9xzZS0JYvVJG2JYHYDo9s9MKKcQMVQWDAeLpw8gD21wapLMOofP+bK7GiH8UNs7jhuPxGSYaCRhDZ3lCO2qjdobuY0RicNNFszDosWHjOTlgw9bSPOULu0a6nTtmNyg95IsSqao1KT2ZVNzd/ZRx0btzhbWIi0R7A== 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 IA1PR11MB6396.namprd11.prod.outlook.com (2603:10b6:208:3ab::10) by CY4PR11MB1317.namprd11.prod.outlook.com (2603:10b6:903:2f::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5588.11; Tue, 6 Sep 2022 08:44:18 +0000 Received: from IA1PR11MB6396.namprd11.prod.outlook.com ([fe80::d8a7:8d9f:3586:1d48]) by IA1PR11MB6396.namprd11.prod.outlook.com ([fe80::d8a7:8d9f:3586:1d48%5]) with mapi id 15.20.5588.014; Tue, 6 Sep 2022 08:44:18 +0000 From: "Chen, Wenbin" To: FFmpeg development discussions and patches Thread-Topic: [FFmpeg-devel] [PATCH 2/6] libavcodec/qsvenc: Add gop_size reset support to qsvenc Thread-Index: AQHYstBmbxa/nKctY0qZuVRgWLCxM63RwTqAgAByVuA= Date: Tue, 6 Sep 2022 08:44:18 +0000 Message-ID: References: <20220818065912.158693-1-wenbin.chen@intel.com> <20220818065912.158693-2-wenbin.chen@intel.com> <673108d98279a661fef6743e09f5c476522fd14e.camel@intel.com> In-Reply-To: <673108d98279a661fef6743e09f5c476522fd14e.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: 1f7fff73-64f8-46e4-735b-08da8fe3fc6b x-ms-traffictypediagnostic: CY4PR11MB1317:EE_ x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: EoU4r72errwGoaFLgw+NCtKaC2dTOKw2zYgkcVnEbJXxzXvEsY2M6mWHjcPus+r7pKbu1nVTwsHZh1jNO2Qqj9q39zPUSqYvx9XEpmy1c+fllywfdhsqJQs1mmbACbm7tBIbl0e+cTgHTskiWAlEcYcThblUcQiQc1964h9QJHn/+OSjALsCzHf7WD3mG3oUSmR5kBqogbvN9mqkpetZIFTafEmQ8uxrXu2wsDEriWvSMOWCvWvQc9WwLIctbKNQx7rQgZx1NMJmQHlOYY3+u+rHTGDHvlkSLp91Qa8Xq4Aj7SYihzxV+AuK8hS1RfgmjyN0dj3eR3Z7Y5aBpDRbRtnhKTIbC1Qk6td5dAgzYZBO6ofMtOdvWPRGz3VLsCc9yYRo8Da4ICYxi8gsjlCPdROhGupBM+IGCGY6IxORnGx2fBwc7aaoTPKPyQMKlJdwavp4GMClWlrXff1qmjFSVWHKW+RlX9GmYmT45KlrOESZc6HBwXARznM2BDR7hDWH2ulEEi1ust8GlwfPeQ0fs+sZnYQGSXAWdelp+vBr3M4V82xQG6AVgcpFLfmbfYXa8hMIcrM3/ZphRrWm6fdgWCeZVJ7f+EWWY1LzrUu5C9vEiadc8lcsLSm2qdja1dyjO8dF/gcKk60GGQErdbSuBr/yW/lHoOO0RN6DygUwnqioMyPbO/vtlysXuJeO1n7m/jL8pBEx9EPzftlIw71fCZQyPIkivcjhWmGMHzPXgZTqbh4oI6ginoBeLTAliFP4hMhar+j/XT4G5BGJhEoh7vGdHnIdojpe0bcLeEIImsI= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:IA1PR11MB6396.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230016)(396003)(346002)(366004)(376002)(39860400002)(136003)(38070700005)(86362001)(33656002)(9686003)(83380400001)(7696005)(41300700001)(6506007)(186003)(26005)(316002)(6916009)(66476007)(55016003)(478600001)(66556008)(8676002)(76116006)(966005)(66946007)(38100700002)(5660300002)(2906002)(71200400001)(82960400001)(122000001)(66446008)(64756008)(52536014)(8936002); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?8xXO7jCEPMMPmYJN15ZDZB/riAEqV8ts62aGoYGy1Om7vWpv1lh9sLd3s2uJ?= =?us-ascii?Q?8BsxRMczgQVOOJHodycpr+d64YsCL1FGKQsBX9pUPI3PXrQwXxOWud9Hkp0r?= =?us-ascii?Q?CVUXulj3z5OTC3sqTvvkka8aKt77PhB7D8hAXd5EEnEjah+zSbu6dQtyzwE0?= =?us-ascii?Q?Mjr3fsziByARvGDsoix6fcn277beb9hr5NZIvf0guHli2Z8eqbyE0J0x9PN4?= =?us-ascii?Q?IrZDEyrnGH6HqC6a8L1VcjlTLoh+MY7AZuEEEJRwPYnuVw74xzYbuN6/YIL/?= =?us-ascii?Q?PsZFsoDkiE2JLzVht0r2Urv58lQTpFbRd0c7BQshrl6XuCVGXHxpZMLXP7ss?= =?us-ascii?Q?2HkywzTTvvAWjrCk8E95zWG4x1Wm0/DNeLcp2lzmY+Z5BA1BJwWNQ9Tz46Ms?= =?us-ascii?Q?MbeWJQolJCn2k/tEPm7r9biexAdSsq7uY0RYVnZhUZSSRq8bXI4RpF3XLk44?= =?us-ascii?Q?OeUnCHw4BSs4S85sVIYIx3KSjoQsiencDImNUy2iV6ofpUN9eDHgqG0qZZrG?= =?us-ascii?Q?ao0RUOh3KMW+/B5YkE+DmZK2a82ytgbU/N16/BaMmSLUafTcOxr0Vddyn7pc?= =?us-ascii?Q?0JxxFbNjTt3Hr0KXeetgwHI5E2QtXGo+u932b9EA+Ae1AW8yCkSDBDtgtdaz?= =?us-ascii?Q?aagWk/1awNoiux+kwg73kcJ5+TXHOfTq7e6lGCfCHr29VMwgHESLqwT4MJNi?= =?us-ascii?Q?944eSiBsC1yrXB9lD3j0lOlBZYZMlEEL2NlxE1mJhHNyQGFQRG+pcvxdNp94?= =?us-ascii?Q?BdZwBtBaTiOITcrI5wXfVI/Z5wRpai6WqsAMFyXq7NCeZJFN9GcuoEVZXLJy?= =?us-ascii?Q?gk9h/ZqynRZJg3CjxNfVKdLmIlgpaaCvWe9i0raiQ2h/OpX0D507HbQccRjT?= =?us-ascii?Q?qkb9NN+Aj5HyDkNnfwRSxVn/fTL1kKp8JD1Fydgu5r1FFRLNc2fpNOLh3oZV?= =?us-ascii?Q?o5k4yuecs/DfLesME2vV97tImADNNz9wNFAV3C5E3FdJYExciH2xTE5xsHNm?= =?us-ascii?Q?Ov+F2mvXpmQ76liCtQw++GKsgvnVidfKZ7gwu5ydQbsQfBjf7vv2KrwCGbCk?= =?us-ascii?Q?Y7DMQp1wfi8TIjNcb8HNUPipF1+57+ZK3CsHapXtiUFXKFjAw+4hq8dMyuei?= =?us-ascii?Q?wZHhk2pvEQDK2F6AUz30ZhwBTwSiQPPQTYpWehS+VCw8f/1uSVou1w9x8Ful?= =?us-ascii?Q?naO50k//Kc9uUHMatPnm4nTkaiypDdfdBsHDH5efohpefb5zI9I7R5WEqfkI?= =?us-ascii?Q?dtMCrpGMVc3J1noG/dmdXSPoha/mnEVMrWIrfdc3O/P4AcWr/ROXLFTIag3c?= =?us-ascii?Q?bqmhsRrrmR7CWZGXZWZXgMf7M/G4KEhlvoDazjtTGqZ2W0E2A2XOu/ns90z8?= =?us-ascii?Q?QrBFicuKsAjfmRgMPYcuX7nYQjM6Y1pg1aWsWVwaRk5Za81Mzb7HnD83IoOu?= =?us-ascii?Q?GJGkcucXqg28+GKTnh2+FknTlxA0V9YaxkABsDkNXcGaBxf1tcU+xrZ2wICC?= =?us-ascii?Q?L6ZhS990ixSUw9cBL+Z4S5hUPUCUAe9rteNAiEwqYz9mipDqJDSMsjsmLgm4?= =?us-ascii?Q?yiBbMMjEipkwJia1iFlAc1WdtBq3h3Ix1cbbJAkZ?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: IA1PR11MB6396.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1f7fff73-64f8-46e4-735b-08da8fe3fc6b X-MS-Exchange-CrossTenant-originalarrivaltime: 06 Sep 2022 08:44:18.1438 (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: IZiK67ld1QWjZZP0IQdMzr5wH5ATd//2JilRv4S1oOE+UJGNh2WmAUYFsL49llK5sr022tle5ysnkMALuSkQGw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR11MB1317 X-OriginatorOrg: intel.com Subject: Re: [FFmpeg-devel] [PATCH 2/6] libavcodec/qsvenc: Add gop_size reset support to qsvenc 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-08-18 at 14:59 +0800, Wenbin Chen wrote: > > Signed-off-by: Wenbin Chen > > --- > > doc/encoders.texi | 3 +++ > > libavcodec/qsvenc.c | 18 +++++++++++++++++- > > libavcodec/qsvenc.h | 2 ++ > > 3 files changed, 22 insertions(+), 1 deletion(-) > > > > diff --git a/doc/encoders.texi b/doc/encoders.texi > > index 69fa46f3ea..9fb63856b1 100644 > > --- a/doc/encoders.texi > > +++ b/doc/encoders.texi > > @@ -3348,6 +3348,9 @@ Change these value to reset qsv codec's qp > > configuration. > > @item @var{max_frame_size} > > Supported in h264_qsv and hevc_qsv. > > Change this value to reset qsv codec's MaxFrameSize configuration. > > + > > +@item @var{gop_size} > > +Change this value to reset qsv codec's gop configuration. > > @end table > > > > @subsection H264 options > > diff --git a/libavcodec/qsvenc.c b/libavcodec/qsvenc.c > > index c911b81e7d..b3820e4fe0 100644 > > --- a/libavcodec/qsvenc.c > > +++ b/libavcodec/qsvenc.c > > @@ -635,6 +635,7 @@ static int init_video_param(AVCodecContext *avctx, > > QSVEncContext *q) > > q->param.mfx.CodecProfile = q->profile; > > q->param.mfx.TargetUsage = avctx->compression_level; > > q->param.mfx.GopPicSize = FFMAX(0, avctx->gop_size); > > + q->old_gop_size = avctx->gop_size; > > q->param.mfx.GopRefDist = FFMAX(-1, avctx->max_b_frames) + 1; > > q->param.mfx.GopOptFlag = avctx->flags & > AV_CODEC_FLAG_CLOSED_GOP > > ? > > MFX_GOP_CLOSED : MFX_GOP_STRICT; > > @@ -1692,16 +1693,31 @@ static int > update_max_frame_size(AVCodecContext > > *avctx, QSVEncContext *q) > > return updated; > > } > > > > +static int update_gop_size(AVCodecContext *avctx, QSVEncContext *q) > > +{ > > + int updated = 0; > > + UPDATE_PARAM(q->old_gop_size, avctx->gop_size); > > + if (!updated) > > + return 0; > > + > > + q->param.mfx.GopPicSize = FFMAX(0, avctx->gop_size); > > + av_log(avctx, AV_LOG_DEBUG, "reset GopPicSize to %d\n", > > + q->param.mfx.GopPicSize); > > + > > + return updated; > > +} > > + > > static int update_parameters(AVCodecContext *avctx, QSVEncContext *q, > > const AVFrame *frame) > > { > > int needReset = 0, ret = 0; > > > > - if (!frame) > > + if (!frame || avctx->codec_id == AV_CODEC_ID_MJPEG) > > return 0; > > Better to fix mjpeg_qsv in a separate patch if mjpeg_qsv is not able to > resetany parameter. > > Thanks > Haihao Ok, I will update it in new patchset. > > > > > needReset = update_qp(avctx, q); > > needReset |= update_max_frame_size(avctx, q); > > + needReset |= update_gop_size(avctx, q); > > if (!needReset) > > return 0; > > > > diff --git a/libavcodec/qsvenc.h b/libavcodec/qsvenc.h > > index c452c5b806..fdedae28dd 100644 > > --- a/libavcodec/qsvenc.h > > +++ b/libavcodec/qsvenc.h > > @@ -237,6 +237,8 @@ typedef struct QSVEncContext { > > float old_b_quant_offset; > > // This is used for max_frame_size reset > > int old_max_frame_size; > > + // This is used for gop reset > > + int old_gop_size; > > } 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".