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 306F043C35 for ; Tue, 23 Aug 2022 05:12:12 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id D841468B9E7; Tue, 23 Aug 2022 08:12:10 +0300 (EEST) Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id B724268B646 for ; Tue, 23 Aug 2022 08:12:03 +0300 (EEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1661231528; x=1692767528; h=from:to:subject:date:message-id:references:in-reply-to: content-id:content-transfer-encoding:mime-version; bh=05ZMl2aFv+FtnQn7UHLUBwoY6Qh8nVz4CdVkrIfAG2E=; b=I35uUwD17XPNe7mmLDCP8/zRIrZfESN9Ss3rMhkHkaIRtXyrDk/BfhyB x0ooArvCWLJctRytwQsj4sWfurOqmTStiP9XlHgHIIOQdj73rjtzp1lu6 JtxsJMhnOUZqosk80vx0cNWWU5g/cIyJmoCtNWJf/sAtI9hPwPyM3eFAB bNgaCDnMuQpoAabTXvhXmIOJJUc4RF+HMm0mRBb3RXK70o/fEE8+ueCW+ slKwVabaYuUrQ2Y3c/sgOBWXL79SxJ6YoVrdSTRMKe2zB9GmCUEXGJopq KYXq8PoOefGNAHhJblRKBZwOuo9pbtx7Zss5WRdDkVdsEvElMhr8Blj2g w==; X-IronPort-AV: E=McAfee;i="6500,9779,10447"; a="357573948" X-IronPort-AV: E=Sophos;i="5.93,256,1654585200"; d="scan'208";a="357573948" Received: from orsmga005.jf.intel.com ([10.7.209.41]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 22 Aug 2022 22:12:01 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.93,256,1654585200"; d="scan'208";a="785113563" Received: from orsmsx602.amr.corp.intel.com ([10.22.229.15]) by orsmga005.jf.intel.com with ESMTP; 22 Aug 2022 22:12:01 -0700 Received: from orsmsx607.amr.corp.intel.com (10.22.229.20) 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; Mon, 22 Aug 2022 22:12:01 -0700 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX607.amr.corp.intel.com (10.22.229.20) 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:12:01 -0700 Received: from orsedg603.ED.cps.intel.com (10.7.248.4) by orsmsx610.amr.corp.intel.com (10.22.229.23) 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:12:01 -0700 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (104.47.55.109) 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:12:00 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=H+jRpcblRms1CCD2b89XkV6qmjBDdEcaTS5nW/EFPSSmq00J+48F1kkIkCU3WXmOI38RbuDvB+iN/CsHm8wE0StSaxnnHCwN5/eUBQOvBhQoeX3nuc5HBodj2pFW9PAC69jdl3IBBZZBWtwgXWf3a5ADQvP57+2rVrQWsELxchh439c0jCu3pJuBZZu2M2r3cX7QNYvkS8byiVi5R1rJ2TmKVVhsHHAwU+LJXXa6nJheKEW1OrEifKh5lBNi5B1UZFkjrfYndIRxBEEBWXmSoyH5iKOErylgHfgeGOvUrL+nF6TuIPFSLmfXAjn0aSo8vxRXjtNxDh6TUAAMI/4N8A== 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=05ZMl2aFv+FtnQn7UHLUBwoY6Qh8nVz4CdVkrIfAG2E=; b=asynJ64BeIZ1fAtwTF8RqJqgc1mXY2/i3cmRuNU6YtXN8eHWdAxhXcYIfD7AWuN29/H/Lg2FP3TXrvQyP3lowLR0JuUkVBs07obNPrcSOENY1++8k5Mn9CPQAGvD4D4KOBT/+B6qQcV0PUWXJMOBPcLoxnK+WDtudFKerg6yaisagJh3XhTXAcLrZ3+Bdg71Ot1bGtUPgTD6+EweN49zb+1wA+vme3rV669wT/6KBlwONfpxYSj4Hi37s7S6FdeQRXbk3UIm9BGu1lwfksnoHNrdBeTrwEeoVtlW5dwtIbtS9lFAlckVS/Mbbz74iNui37j8zVcYtbYRt87/Lzhfhg== 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:59 +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:59 +0000 From: "Xiang, Haihao" To: "ffmpeg-devel@ffmpeg.org" Thread-Topic: [FFmpeg-devel][PATCH v2] qsvenc_{hevc, h264}: add scenario option Thread-Index: AQHYtfCx5PRbTMGSj0q1TAK8VP62rq278dsA Date: Tue, 23 Aug 2022 05:11:59 +0000 Message-ID: References: <20220822062918.9675-1-haihao.xiang@intel.com> In-Reply-To: <20220822062918.9675-1-haihao.xiang@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: 500ecdd9-883c-432f-a410-08da84c601e2 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: Elt+n3oG2eHxozNHl3IppgqVj03MXATjMgg1Sd+Fk4QDdfz9aMefNadpxhmsZcESKBpwGJbikiI1d9tJER8TEbVloXm8ejkOVLe7RjnlIF+ZYA3ScayJ19CCFrvzRm5wWTuuncNwehUHTTUzn4KwULnv6GOK9PmOJkulPC4LCVy0NlQRq8SUCk2vWf7RMG1izSCg3XzyeqIPKp7hWfu3hFUNpHThy/OaihnMhEnlv15/lM1UNFPgVeb7xRefzi7zuELZwk5hCwtKQ9/V+/UMHNoap8eClBH+mPlB/GFvbozXwrY2UWdEjTkvU7vflxWSAyhQTHSs7gOp46tD2rNnR4wrkhAlwFYiEO1hbvNIBtva+bD/ipHvZjbYPhjSXI0Mv3U3CtdryPP+S85309g/pqIr1b9axvJclvnYEomBcguKuBM5FBuoJCxSdGl0SYsUbuUVlaN5EGAVRLEoo36DJmx6l5drMQ1p/y1AZT2GWz7Nys6tKcEK4/ylQt9h+jX4OsDNJE8qDhYf1D0VIfZ5wV9aezHkAjM4HP6c6kZfguK1nYgHOh1YSA0SlNH6YK3SdWv6ZZF/U3pKKhtBNueZ/Ug+7Lyl0qNgf+KrBV0+NN1/+Delunb+nw4qmbrNfpmbLZWTUlGPR44sOm7XcLWXXltvC2yLqFz8jLlOY0DRW+KDIXf4Vdu05jDsAb2Ndh3ToOG8U2TxcgGnhbthD4If1cxxhxYGg3qEYArAgyWAkCP9VrpgHPo95+xHPBfAjdFmjiSyyXT6wv8BkxA9UE5yZL/ErChOZvSAuUw7bF1xmoaU2UVi0wAGrscPcOX0pSvR 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)(966005)(2906002)(478600001)(41300700001)(71200400001)(38100700002)(36756003)(122000001)(186003)(2616005)(66446008)(66556008)(66476007)(64756008)(6916009)(66946007)(316002)(8676002)(76116006)(91956017)(99106002); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?MHpPQjJJbmtrS1pldllJaWZjcXBLZWh6Y0J5OTRmS0RKUGdjY2hGZzR0V0ds?= =?utf-8?B?b3JMK3hLc3E3SFNsVFFYZ3pSdjE3Wm9iNHdySFUwY1N6cEV6cm9ORXpySVR3?= =?utf-8?B?RkVQRlZkOTR6WUE0MGVuenhFSU5qVW5TbjdQOHVzakJDVkpHRXdyZjZKdGFv?= =?utf-8?B?ZkhyNFdZVkFTand1S0xLai80ZkJJMXpwL2RCblB3VjVHdER6RC9aQTIzYmdM?= =?utf-8?B?amV5Z0k5alZNMFpObi81Uy84YWdEdExvdmpjakp6TVpxbG1nSnMxdHM2eWZw?= =?utf-8?B?bEptbmdNeWl4UU45amdDUzV0Z3V0TWVNYjhobkV1VSt3VHY3VXRSSUhwZ1Nz?= =?utf-8?B?Wk5NZzFoQmh3Nk02RnBkQUNlUFUwUXI0Y08xai9mVzRBcndjdXJPMEVKcmNx?= =?utf-8?B?SkthVFg2V2Y2d3EyQWxyVlRlRGhzRVpEdGFQNVk2TSt4a01rcWN0Vm4vcmUx?= =?utf-8?B?eUNtVzQ3VjZvYU5mYlk2VVhaQ3pZc20waTJndy94cEhBblJBb0VLeTB1Yy9B?= =?utf-8?B?eWRKZDJZMXowSlp6dXRydHpDTXlmcmx4YnMxOEM2dDlXUHlNMDlpSGM3VXZv?= =?utf-8?B?cEZqOWdaL25IeW9oenUySVozd2p5MUNkOGpzY1dxV21UWVc1b1QwZnBjV3I0?= =?utf-8?B?Y1UzS0M2SXVqZ0NydnVhc2FvZDQ3dFZoZHJoc2kwOXFhSmpKaEFDR3lOU3hZ?= =?utf-8?B?STF4TFR6MGxxNGMvOUg2S0RjRWpxTWRDblNZaWVCWnIvbUYrTldiV2VKcGdJ?= =?utf-8?B?dGdSdGJwV1hjWkJFc1dNUk5FWXlsNkx2TUx4ZG50RkdnR3k3QmZpSDRkdml5?= =?utf-8?B?SHJjV1g4WW9pS3ZoTVloOEhXL2JyNUtOWktDQ3NhcVdVb2V6VUp1dHFaWG5I?= =?utf-8?B?enFXeEo2OFRrUWxCZFhYRjkzd1drbjFMYmFBVGVHaGpoclE1eTRzSU5xYWFP?= =?utf-8?B?NUdNK1hsaXphdm1iMHl2eTZYSXJmUCtvcHcyMG5weDc3SjE3QmZ6bWd3T3pI?= =?utf-8?B?ZGpZaTlwRXhWSGVqUG9NMGhCK3d1M1o4bzUyaW8xOVVnTVdMV1kvVCsxWWVu?= =?utf-8?B?eWlIcEpPVkgrTUNQNFJZQlo2cEhEdWlNN0ZhcSs0MCszVW9UNm4xK1h2aERm?= =?utf-8?B?enpWbzc0UCtVNGZYV0JzbkdxdVg5azNjdXFsOVZwTmxrOXVMS1o3WkZ4b2tN?= =?utf-8?B?MWJSZ0RMakljUjZLZWZGZnhzTU9WYTlRSFMzbytieGNvTmdoSkJFTXh3NUUr?= =?utf-8?B?ekZSemlYNllpN1RVSWdHb0JsT25Ydkc1NUtYS0VFQXNnR0paU0ZmZGkvNW9W?= =?utf-8?B?enJWYjRhU1N3djZRZ1hQa1I1M0pmVmlUNXJBTEUzRk5ZcTZjcE1kQ0VKR3RD?= =?utf-8?B?VlkvK3VCMktqUy9jVGN4Rjk0aHNuM2xIMzdUSFo2bm5lSm9oeVZKNWpNOERW?= =?utf-8?B?YithOVVDaWE4UGpHelUvbkVLc1R5SWxpUk56WWRqeDVUTzZXdVZvbUt6ek9F?= =?utf-8?B?QjFBeTgvZVVuZkkzSEVZODhOQ0ZzQ2hJK0VucWhjejFjcDdCbEg4VE1sdWs0?= =?utf-8?B?aXhnN0J1WGtBRlJDOXU4RkxiaXlDNitUR2xmN3h3ZDNkRDlUYmlyamxWdkV4?= =?utf-8?B?eWxjL0N6dWIxQkh2SDRtVnZVRVE0U1BwQzFqbTZrVVBuQTJkbE4zendCTEIx?= =?utf-8?B?dE5ZSjFBeExiUjVFaEZnYmJnOHRxZUJnVmJHOXNZcVRyUmJVMFJWTnlWRExs?= =?utf-8?B?OXR3UVFaazhlRjc5ZjNhdVhxRkVvMUxrN1Q1VGpZQmJIWHd3bEUyTWNBUElJ?= =?utf-8?B?QnV6b2tjcEJQbXQ1WkpQRGxXTWU2bk0yV0IyVzNqWkRmd0M3SFRxRHQ5dUxq?= =?utf-8?B?bkxZVzh6R3NGK3FFdWRqRG1tTHV1N2JIWXl4Sm5iM3Nlb29Memg5MmVhR2FN?= =?utf-8?B?cjZGSndPRnU0cVVJc0RHSXh2ZGgwRFhUaUwzS0dZSU8xZzBBZ2pHSnVVNlVB?= =?utf-8?B?NDBSMUdVdGxyOW81TW9yK2xDUXYzS1piVi9XVXg1Tlc5akk4VkU2Z0pjZnBy?= =?utf-8?B?THhHaWNqNjRkbTVqVXFPYlVSZ01HMlZrU0tZNzV4UWpEc1d5VytuNXQ5UEtv?= =?utf-8?B?N3Z2QXl6S2JHRkR0bGduNTZkREtHOEUwQ2RnaE1ZcThvU1QzYTc3ZnBYVVdU?= =?utf-8?B?VWc9PQ==?= Content-ID: 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: 500ecdd9-883c-432f-a410-08da84c601e2 X-MS-Exchange-CrossTenant-originalarrivaltime: 23 Aug 2022 05:11:59.5899 (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: 2QP47EuchoCxDUqHuROLgyNhFBj7J7mwsUT+JbCbOIp9L1gqZGAlIx3YTr60VldhPp99/nK7HF549L3cluyvWA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR11MB1793 X-OriginatorOrg: intel.com Subject: Re: [FFmpeg-devel] [PATCH v2] qsvenc_{hevc, h264}: add scenario option 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 Mon, 2022-08-22 at 14:29 +0800, Xiang, Haihao wrote: > From: Haihao Xiang > > User may get better experience after providing corresponding senario hint > to encoder for the encoding session. See [1] for scenario support in the > SDK > > [1] > https://github.com/Intel-Media-SDK/MediaSDK/blob/master/doc/mediasdk-man.md#scenarioinfo > --- > doc/encoders.texi | 30 ++++++++++++++++++++++++++++++ > libavcodec/qsvenc.c | 3 +++ > libavcodec/qsvenc.h | 14 ++++++++++++++ > libavcodec/qsvenc_h264.c | 1 + > libavcodec/qsvenc_hevc.c | 1 + > 5 files changed, 49 insertions(+) > > diff --git a/doc/encoders.texi b/doc/encoders.texi > index 6d73f74196..1a7e34a272 100644 > --- a/doc/encoders.texi > +++ b/doc/encoders.texi > @@ -3503,6 +3503,21 @@ Maximum video quantizer scale for B frame. > > @item @var{min_qp_b} > Minimum video quantizer scale for B frame. > + > +@item @var{scenario} > +Provides a hint to encoder about the scenario for the encoding session. > +@table @samp > +@item unknown > +@item displayremoting > +@item videoconference > +@item archive > +@item livestreaming > +@item cameracapture > +@item videosurveillance > +@item gamestreaming > +@item remotegaming > +@end table > + > @end table > > @subsection HEVC Options > @@ -3644,6 +3659,21 @@ Maximum video quantizer scale for B frame. > > @item @var{min_qp_b} > Minimum video quantizer scale for B frame. > + > +@item @var{scenario} > +Provides a hint to encoder about the scenario for the encoding session. > +@table @samp > +@item unknown > +@item displayremoting > +@item videoconference > +@item archive > +@item livestreaming > +@item cameracapture > +@item videosurveillance > +@item gamestreaming > +@item remotegaming > +@end table > + > @end table > > @subsection MPEG2 Options > diff --git a/libavcodec/qsvenc.c b/libavcodec/qsvenc.c > index 4831640868..fc9a59c483 100644 > --- a/libavcodec/qsvenc.c > +++ b/libavcodec/qsvenc.c > @@ -337,6 +337,7 @@ static void dump_video_param(AVCodecContext *avctx, > QSVEncContext *q, > av_log(avctx, AV_LOG_VERBOSE, "LowDelayBRC: %s\n", > print_threestate(co3->LowDelayBRC)); > av_log(avctx, AV_LOG_VERBOSE, "MaxFrameSizeI: %d; ", co3- > >MaxFrameSizeI); > av_log(avctx, AV_LOG_VERBOSE, "MaxFrameSizeP: %d\n", co3- > >MaxFrameSizeP); > + av_log(avctx, AV_LOG_VERBOSE, "ScenarioInfo: %"PRId16"\n", co3- > >ScenarioInfo); > } > > if (exthevctiles) { > @@ -924,6 +925,8 @@ static int init_video_param(AVCodecContext *avctx, > QSVEncContext *q) > q->extco3.MaxFrameSizeI = q->max_frame_size_i; > if (q->max_frame_size_p >= 0) > q->extco3.MaxFrameSizeP = q->max_frame_size_p; > + > + q->extco3.ScenarioInfo = q->scenario; > } > > if (avctx->codec_id == AV_CODEC_ID_HEVC) { > diff --git a/libavcodec/qsvenc.h b/libavcodec/qsvenc.h > index d35a1318f2..a983651dda 100644 > --- a/libavcodec/qsvenc.h > +++ b/libavcodec/qsvenc.h > @@ -111,6 +111,19 @@ > { "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}, > > +#define QSV_OPTION_SCENARIO \ > +{ "scenario", "A hint to encoder about the scenario for the encoding > session", OFFSET(qsv.scenario), AV_OPT_TYPE_INT, { .i64 = MFX_SCENARIO_UNKNOWN > }, \ > + MFX_SCENARIO_UNKNOWN, MFX_SCENARIO_REMOTE_GAMING, VE, "scenario" }, \ > +{ "unknown", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = > MFX_SCENARIO_UNKNOWN }, .flags = VE, "scenario" > }, \ > +{ "displayremoting", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = > MFX_SCENARIO_DISPLAY_REMOTING }, .flags = VE, "scenario" > }, \ > +{ "videoconference", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = > MFX_SCENARIO_VIDEO_CONFERENCE }, .flags = VE, "scenario" > }, \ > +{ "archive", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = > MFX_SCENARIO_ARCHIVE }, .flags = VE, "scenario" > }, \ > +{ "livestreaming", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = > MFX_SCENARIO_LIVE_STREAMING }, .flags = VE, "scenario" > }, \ > +{ "cameracapture", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = > MFX_SCENARIO_CAMERA_CAPTURE }, .flags = VE, "scenario" > }, \ > +{ "videosurveillance", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = > MFX_SCENARIO_VIDEO_SURVEILLANCE }, .flags = VE, "scenario" > }, \ > +{ "gamestreaming", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = > MFX_SCENARIO_GAME_STREAMING }, .flags = VE, "scenario" > }, \ > +{ "remotegaming", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = > MFX_SCENARIO_REMOTE_GAMING }, .flags = VE, "scenario" }, > + > extern const AVCodecHWConfigInternal *const ff_qsv_enc_hw_configs[]; > > typedef int SetEncodeCtrlCB (AVCodecContext *avctx, > @@ -179,6 +192,7 @@ typedef struct QSVEncContext { > int max_frame_size_p; > int max_slice_size; > int dblk_idc; > + int scenario; > > int tile_cols; > int tile_rows; > diff --git a/libavcodec/qsvenc_h264.c b/libavcodec/qsvenc_h264.c > index ad9cf629df..a0dc31e24a 100644 > --- a/libavcodec/qsvenc_h264.c > +++ b/libavcodec/qsvenc_h264.c > @@ -114,6 +114,7 @@ static const AVOption options[] = { > QSV_OPTION_DBLK_IDC > QSV_OPTION_LOW_DELAY_BRC > QSV_OPTION_MAX_MIN_QP > + QSV_OPTION_SCENARIO > > { "cavlc", "Enable > CAVLC", OFFSET(qsv.cavlc), AV_OPT_TYPE_BOOL > , { .i64 = 0 }, 0, 1, VE }, > #if QSV_HAVE_VCM > diff --git a/libavcodec/qsvenc_hevc.c b/libavcodec/qsvenc_hevc.c > index e11f5dec4a..a46df18a09 100644 > --- a/libavcodec/qsvenc_hevc.c > +++ b/libavcodec/qsvenc_hevc.c > @@ -233,6 +233,7 @@ static const AVOption options[] = { > QSV_OPTION_DBLK_IDC > QSV_OPTION_LOW_DELAY_BRC > QSV_OPTION_MAX_MIN_QP > + QSV_OPTION_SCENARIO > > { "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".