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 142CD402D9 for ; Mon, 21 Feb 2022 02:21:43 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id E46DC68B10D; Mon, 21 Feb 2022 04:21:41 +0200 (EET) Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id B6818688154 for ; Mon, 21 Feb 2022 04:21:34 +0200 (EET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1645410099; x=1676946099; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-id:content-transfer-encoding: mime-version; bh=gWaH+ydlfrMgqIKuX3PhsFNo9s0opzJqF2FDJgKLHNA=; b=RDXkg3DnZDBxTUByepCH7k2JtRUgTtXpSB/+BhsllCMxoEwVKjTApOaD R2gXtN8nAZqZ0ko6XeVAtUwYSr/tF/CWl9CUWPkZQYUgmHBHJ2mjhEP7D AmFsATasNMGuq7qOzs5/1kxgF1FgpUYOZCwvUCFnvc7oM9cbEq4ldEau2 sZLQbo5MthPaGHZ5n7yFOgQFGYy+4/4pbAPixfz/wXoXtsXBYhbl0aTbE RSVczmVkAE5+n/bPc2WfgZ7GO4+zcc6siyC6QHEnQL4eQa2eklGeULtOn M3APUQ9vc0fyssHUH725NNJTv6kIH1F9m0otA3OcuLv8T6VwlAwnELEEg Q==; X-IronPort-AV: E=McAfee;i="6200,9189,10264"; a="337853362" X-IronPort-AV: E=Sophos;i="5.88,384,1635231600"; d="scan'208";a="337853362" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 20 Feb 2022 18:21:32 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.88,384,1635231600"; d="scan'208";a="636502622" Received: from orsmsx605.amr.corp.intel.com ([10.22.229.18]) by fmsmga002.fm.intel.com with ESMTP; 20 Feb 2022 18:21:32 -0800 Received: from orsmsx607.amr.corp.intel.com (10.22.229.20) by ORSMSX605.amr.corp.intel.com (10.22.229.18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.20; Sun, 20 Feb 2022 18:21:32 -0800 Received: from orsmsx602.amr.corp.intel.com (10.22.229.15) 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.2308.20; Sun, 20 Feb 2022 18:21:31 -0800 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.2308.20 via Frontend Transport; Sun, 20 Feb 2022 18:21:31 -0800 Received: from NAM02-BN1-obe.outbound.protection.outlook.com (104.47.51.42) 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.2308.20; Sun, 20 Feb 2022 18:21:30 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=YFeGUnWgJ/sir01P8Jtn/gWQrKaUIvVqqizXr/qBPGoiUQJpZAdsiJZ4BraqjrBz/cG1KoG2BCYZ1IVcTnDUrae9VV0XH5FdQFgmArAGGirSlP4gOPhwsvTaKPeKX8FtLsG4CWxWxNYezli6ceZuF0Xb8YMRFZ3vb/QstEcSb4IGbAD0krevHMeBLjSr1aWDsVv1IZAp5zLpDVj1xoY+FQbBsvqgXfw1zAwPNtULhyuG6tziJ2w4/jQYLRZfoJR9Wu6filxIe8d65PYVdZj2q1mJ188FRufSqjR42Wt/5NEE9FY39YdqGC5ritgt+0pLXuL/+2u53AbGbqJexoP/rw== 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=gWaH+ydlfrMgqIKuX3PhsFNo9s0opzJqF2FDJgKLHNA=; b=i8fFjWkLZ65kKirRRVei2PP1uX34/OmK/FPWwmmb0dlmnu0CE6IdLZqc3ewac20q8Gyics/uvHc9L9XROzS964eAIYRcP/YfcMNX4Y6HXujaOAkn2o2R+Bg67HAftW2wXTqVzoXq7IxZRkI6Tnz8Uf+P0++15Pybvs7iiYgCP8ydRwXYd+CC8KW9OW/h+xMQZSMYSgJU2POQYXOivR5OlEj3ldCpUdX8lV+Zp6HGvffVXv931HN2jrmlrXckafFJwqFtTALjcekwr+kck4AtaGaveqSUjDsvp6McfF91Md9w193QsSRNcSD8/GzogfqLd4fu1itENiDGo/OzGdloAg== 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 PH0PR11MB5030.namprd11.prod.outlook.com (2603:10b6:510:41::5) by CH0PR11MB5475.namprd11.prod.outlook.com (2603:10b6:610:d6::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4995.14; Mon, 21 Feb 2022 02:21:21 +0000 Received: from PH0PR11MB5030.namprd11.prod.outlook.com ([fe80::600d:3095:b0:f8c1]) by PH0PR11MB5030.namprd11.prod.outlook.com ([fe80::600d:3095:b0:f8c1%5]) with mapi id 15.20.4995.027; Mon, 21 Feb 2022 02:21:21 +0000 From: "Wang, Fei W" To: "ffmpeg-devel@ffmpeg.org" , "Xiang, Haihao" Thread-Topic: [FFmpeg-devel] [PATCH v1 4/4] vaapi_encode_h265: Query encoding block sizes and features Thread-Index: AQHYJGmhSdDnMa3GOkiKo3lUsxJc1ayYue+AgASPOwA= Date: Mon, 21 Feb 2022 02:21:21 +0000 Message-ID: <1bcc3ab6d430f5b3831beb9748fdb791c0117bde.camel@intel.com> References: <20220218014301.1830754-1-fei.w.wang@intel.com> <20220218014301.1830754-4-fei.w.wang@intel.com> <4da316fe210ae6561a1a5036cc3a2fccb385253b.camel@intel.com> In-Reply-To: <4da316fe210ae6561a1a5036cc3a2fccb385253b.camel@intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Evolution 3.36.5-0ubuntu1 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: e83c9d28-9dd5-4de2-f971-08d9f4e0d9b9 x-ms-traffictypediagnostic: CH0PR11MB5475: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: XxM+oFLYwgygdMddd31s1nFkxLSNkwwQufYFBJG8y6KLQGCBRAr9KmN7vzAKtmkJ37+2NNR1176hsSLx5UZSqhQV8CJQzAShrqpL6w89+71nJF6Unp5f5iXeN3WKRnbOqdIBN4G7PY4gUK8X7aCaVzb4lzv84ZwVJgr37fHwDa+UwM7RJohwSPmUXWQwsz6OyGqZge9U0cDaRklgbNvPUdtvj9xWm6x0VbkDRvaXL28DPECBaFdHhIqb0t3yOK1C/U9wFpXGkTR5GaLhQaUa+FzsmvHP8GXP11DG6EIpJZJ5i4eTE9CmKmtFXWw5oK0zpXfbM44R1eGng71kN2HOoVs/F3/rw4RrpCPBVs3Jk9snEVGw+upIIxlInB+JzF17rQvIAoabgH9aQzt7rsmFbPmEiwc3lel0T7vsREJeM25lBXYEZ/3ngRTtgSi+PX3cwu/tCUgvJSipiFOq3ze1+gLcz92VRlEM63y1DJiANJbavnlQmOqtNCRz5V8XS9XNsT7cTGHtg1fE2JS+wWFCdCtNW/G94lpxPHmx7Q411YTijViJxWlwlJNVrKmcM2O0XAG4pTL6oYC4OTy90AJwLERgb4QKYUa/+p1IUZy47QD9LzbWOnKNGCQoLxtHiNtKg/Tx402dOt7dYIy8mbOIueWX3CmYYVGsgu+jo5VNF/KS5tbI8I4lycRCvddBOlFaRVQO6v2+5poxYkFtEz6WPrRn83ygOpa+2yHijx9ht+Q= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PH0PR11MB5030.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(366004)(6512007)(508600001)(110136005)(6506007)(5660300002)(4326008)(76116006)(66946007)(66556008)(66476007)(66446008)(64756008)(2616005)(6636002)(71200400001)(26005)(186003)(316002)(6486002)(91956017)(83380400001)(36756003)(8676002)(8936002)(38100700002)(82960400001)(2906002)(122000001)(38070700005)(86362001)(309714004); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?cWh5cVFCUmNMV3lkeXY0VVI1UjNtRzNUQ2Q4YjdXZTQyV3hFc1VpMEZFemtn?= =?utf-8?B?WDJZdFRIYVF3UlFaZ256WFo4bGNWRlJUS0dqdTJKT2QxMVp5R1NuN3VLK2ZD?= =?utf-8?B?RU0yYTFjNG1GcjFndm9zVElGQ0lZN1FSYmVlUWtzQmh0NDdvK2N6MzNTaGls?= =?utf-8?B?N1UwUXlsYVpobklueDZXYTA1b0M1WFBhTFR2eUF1ZGEzU2xOMmtWakIyR2ZH?= =?utf-8?B?QTBOYzNDUmlZb0NpUmNwa1krVU1GUmdVSFRUZ2ZUbitXOTlYWmJCT3lGaFcx?= =?utf-8?B?TFdBd0NGVUFXeDZ4amMrRDRqc0UrQjZCcTREYlFyNW5Gb3RHZ2ZFUmJ2MUVD?= =?utf-8?B?OGVkQi9GcE51bzRlTDhDdVFVR25QbE1kbGtCZXdGaEpBYUI3TzJ0Z0NoSFA5?= =?utf-8?B?N24xa2ZtVG9LUmV4Rm5CcVNYWm9qTUFPVm12R1FrRDB5bnpzSTBvaWl6eE1s?= =?utf-8?B?dDcwVlNzUXZXL3hHRElkSEFzU0xtVlE2MFVGL1VKWHdkZFpnQktROEg1Zlk5?= =?utf-8?B?aUR0Nk5hN1dSYUdOUHdMM1NaN0dGS2VFWkhYeDJudWRQSW56T0RtU1hzaVVJ?= =?utf-8?B?RVArYlZuTFhmYVBUSDJYR0VYWW5VOVpNTXNoYnJNTnhRMUJmTGkxUU1VT1lM?= =?utf-8?B?L09NQXpzQnY0QzVLVU4zTVZMdER5UnM0U1ZYS1J5bHBMUFd4K0JwQng2V3BX?= =?utf-8?B?cUExdUg2VUdUSjRpQnQ0M2VOT2U4eER5NnZBTUpvczV4WTJXdi9rL000SURS?= =?utf-8?B?L1FkNUU5dVZlTFZQZThIaTVWYzdSemxqeENwSEVrbmRtTWtvUG9pYnpGNlRh?= =?utf-8?B?SHhxZHYxRVp4eDllTWpzeGwrcUJVN0RCM1RtU1g0N05KbHY3cGhVclovd1dK?= =?utf-8?B?cW5UR1hhaEkyWGY1SW5DaHltQmdYaGVYZTZoOFJheW1ZWVQzd3V4eW0yd3Yr?= =?utf-8?B?dkw5a2VEZk96N0JtZ3ZiS3ArZjlNYVhKcUdVRnZZWVNEdldKdWMydU1UQjRL?= =?utf-8?B?ZUp5MXZMc2lES2JGK09ieHJOcWp6RHBjWm0xUmRFQ1VWVW5EZnNlNUVwQ2o3?= =?utf-8?B?UE1RYkRUUkFubW91QlVUSVI5QmFyM3FmRnVTSmE4MjhxL3F4VUVTa0RlYm15?= =?utf-8?B?cDVEcENlOXdxbG1XbmZUZlZzRFNvck9xWC84YWVHbHZVYXZOWFBDZGUrOWVa?= =?utf-8?B?eU1VUVFmM0krVldJY25lbTMrS25WYmtnNnRTbXFxSWhxWXlEMHdrWTBLSFlM?= =?utf-8?B?alpBTldKcDRBalJpc2VkSXVhUmFnL3Rwc0dPVFNIVGkxTDV4bHRIUmd0MHVx?= =?utf-8?B?clpUUTROa2N3OVkraFFUamlqSTVad3NQOGExVGdBcGsxeDhqZVQ4WHNjWE9h?= =?utf-8?B?QlpRUXQvNFA3VS9xNXBPSUNjaGg3R1ViWEk3RzZSSFBNMm1PYnUwV2NHYkla?= =?utf-8?B?d3F3eHdCSisvYUo5RURPTDFlODB2UzViWUI1dHo0bUlUZHJSWlNKRzNqWnRG?= =?utf-8?B?aU9kZ1lRcWNMbTh0dWZpTkV2eS9sbWU1T284WjBvc2h5dEVCemlXUTZtYnJa?= =?utf-8?B?aHVvQUNpTlVtM25BdHpWSVRTeFFMajh2Y3BrK0poalNZM0IvSDFsYkQyMXhl?= =?utf-8?B?ZmM3SEF6NWlUdHZLQUdIOWRFNnQ5Y0NKNXBoWXJ3c1l5ZEdwWTRnWHBFWVE3?= =?utf-8?B?UTJXd1RreDUySkFiaFZrcXNBck5wYTQ5UjRUelhocGhxL09NT2ZJWTZiRDBz?= =?utf-8?B?M0tLOVRQQTkwYlh3dU1rNWFnOUJ5RFhhY1lGUE5UQUZvdmtrNFo1bmNiTGRH?= =?utf-8?B?YjhhL1VEd1k1MCt2RDdMSVRMbEN3WkNFUkRSbVFBSml3WnBNV3UzQUgxR1V2?= =?utf-8?B?SEMreGZ4NkJlb1pobWNDakI0cnVFWjA3ME5BdE1vdUk1WVY1SGlBNmx6eEYw?= =?utf-8?B?NTN6RUtXRktVWHRJQ2J2TElvVmoveGx0RWhtNi9xOGQ4QjN1MlBtVVhtNXZ1?= =?utf-8?B?L09jd3NQUXViUWd6dTM4MU1oYjg2RTR1U2hDaFNwRWhJK1NSQURrNmxJWEp2?= =?utf-8?B?eStZTlQ4UVpLdjVsRkRaMTdPdWM3d0V3UGE1RXFmbzdLQ3FNZmhhNFl4TnFG?= =?utf-8?B?ejA1V0NaRnBwdVZuUHloaHdIYjhpY1E3ZmJKbkwySUp1bnRvUTd2NHNaNjlQ?= =?utf-8?Q?6QPfg67eybjVD2uIB3oX1AY=3D?= Content-ID: <27FA5C6B581CD646B81F26EE5D2FBD32@namprd11.prod.outlook.com> MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PH0PR11MB5030.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: e83c9d28-9dd5-4de2-f971-08d9f4e0d9b9 X-MS-Exchange-CrossTenant-originalarrivaltime: 21 Feb 2022 02:21:21.1394 (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: 6CbANZ6+ad4e1An1jDcb5Vu27LaDmQm87SP9loyOK3V6U8urZo2TX3DM0T2swY7R/8A1CaCCZ6t4RypiEZY/6g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR11MB5475 X-OriginatorOrg: intel.com Subject: Re: [FFmpeg-devel] [PATCH v1 4/4] vaapi_encode_h265: Query encoding block sizes and features 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 Cc: "sw@jkqxz.net" 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-02-18 at 04:38 +0000, Xiang, Haihao wrote: > On Fri, 2022-02-18 at 09:43 +0800, Fei Wang wrote: > > From: Mark Thompson > > > > Signed-off-by: Fei Wang > > --- > > libavcodec/vaapi_encode_h265.c | 107 > > +++++++++++++++++++++++++++++++-- > > 1 file changed, 102 insertions(+), 5 deletions(-) > > > > diff --git a/libavcodec/vaapi_encode_h265.c > > b/libavcodec/vaapi_encode_h265.c > > index 8319848e4a..e98502503d 100644 > > --- a/libavcodec/vaapi_encode_h265.c > > +++ b/libavcodec/vaapi_encode_h265.c > > @@ -56,6 +56,9 @@ typedef struct VAAPIEncodeH265Context { > > VAAPIEncodeContext common; > > > > // Encoder features. > > + uint32_t va_features; > > + // Block size info. > > + uint32_t va_bs; > > uint32_t ctu_size; > > uint32_t min_cb_size; > > > > @@ -427,9 +430,9 @@ static int > > vaapi_encode_h265_init_sequence_params(AVCodecContext *avctx) > > vps->vps_max_latency_increase_plus1[i]; > > } > > > > - // These have to come from the capabilities of the > > encoder. We have no > > - // way to query them, so just hardcode parameters which work > > on the Intel > > - // driver. > > + // These values come from the capabilities of the first > > encoder > > + // implementation in the i965 driver on Intel Skylake. They > > may > > + // fail badly with other platforms or drivers. > > // CTB size from 8x8 to 32x32. > > sps->log2_min_luma_coding_block_size_minus3 = 0; > > sps->log2_diff_max_min_luma_coding_block_size = 2; > > @@ -447,6 +450,42 @@ static int > > vaapi_encode_h265_init_sequence_params(AVCodecContext *avctx) > > > > sps->pcm_enabled_flag = 0; > > > > +// update sps setting according to queried result > > +#if VA_CHECK_VERSION(1, 13, 0) > > + if (priv->va_features) { > > + VAConfigAttribValEncHEVCFeatures features = { .value = > > priv- > > > va_features }; > > + > > + // Enable feature if get queried result is > > VA_FEATURE_SUPPORTED | > > VA_FEATURE_REQUIRED > > + sps->amp_enabled_flag = > > + !!features.bits.amp; > > + sps->sample_adaptive_offset_enabled_flag = > > + !!features.bits.sao; > > + sps->sps_temporal_mvp_enabled_flag = > > + !!features.bits.temporal_mvp; > > + sps->pcm_enabled_flag = > > + !!features.bits.pcm; > > + } > > + > > + if (priv->va_bs) { > > + VAConfigAttribValEncHEVCBlockSizes bs = { .value = priv- > > >va_bs }; > > + sps->log2_min_luma_coding_block_size_minus3 = > > + ff_ctz(priv->min_cb_size) - 3; > > + sps->log2_diff_max_min_luma_coding_block_size = > > + ff_ctz(priv->ctu_size) - ff_ctz(priv->min_cb_size); > > + > > + sps->log2_min_luma_transform_block_size_minus2 = > > + bs.bits.log2_min_luma_transform_block_size_minus2; > > + sps->log2_diff_max_min_luma_transform_block_size = > > + bs.bits.log2_max_luma_transform_block_size_minus2 - > > + bs.bits.log2_min_luma_transform_block_size_minus2; > > + > > + sps->max_transform_hierarchy_depth_inter = > > + bs.bits.max_max_transform_hierarchy_depth_inter; > > + sps->max_transform_hierarchy_depth_intra = > > + bs.bits.max_max_transform_hierarchy_depth_intra; > > + } > > +#endif > > + > > // STRPSs should ideally be here rather than defined > > individually in > > // each slice, but the structure isn't completely fixed so for > > now > > // don't bother. > > @@ -539,6 +578,23 @@ static int > > vaapi_encode_h265_init_sequence_params(AVCodecContext *avctx) > > pps->cu_qp_delta_enabled_flag = (ctx->va_rc_mode != > > VA_RC_CQP); > > pps->diff_cu_qp_delta_depth = 0; > > > > +// update pps setting according to queried result > > +#if VA_CHECK_VERSION(1, 13, 0) > > + if (priv->va_features) { > > + VAConfigAttribValEncHEVCFeatures features = { .value = > > priv- > > > va_features }; > > + if (ctx->va_rc_mode != VA_RC_CQP) > > + pps->cu_qp_delta_enabled_flag = > > + !!features.bits.cu_qp_delta; > > Please fix the indentation Thanks Haihao to help review. Fixed in V2. Thanks Fei > > > + > > + pps->transform_skip_enabled_flag = > > + !!features.bits.transform_skip; > > + // set diff_cu_qp_delta_depth as its max value if > > cu_qp_delta > > enabled. Otherwise > > + // 0 will make cu_qp_delta invalid. > > + if (pps->cu_qp_delta_enabled_flag) > > + pps->diff_cu_qp_delta_depth = sps- > > > log2_diff_max_min_luma_coding_block_size; > > + } > > +#endif > > + > > if (ctx->tile_rows && ctx->tile_cols) { > > int uniform_spacing; > > > > @@ -640,8 +696,8 @@ static int > > vaapi_encode_h265_init_sequence_params(AVCodecContext *avctx) > > > > .coded_buf = VA_INVALID_ID, > > > > - .collocated_ref_pic_index = 0xff, > > - > > + .collocated_ref_pic_index = sps- > > >sps_temporal_mvp_enabled_flag ? > > + 0 : 0xff, > > .last_picture = 0, > > > > .pic_init_qp = pps->init_qp_minus26 + 26, > > @@ -674,6 +730,8 @@ static int > > vaapi_encode_h265_init_sequence_params(AVCodecContext *avctx) > > .entropy_coding_sync_enabled_flag = pps- > > > entropy_coding_sync_enabled_flag, > > .loop_filter_across_tiles_enabled_flag = > > pps->loop_filter_across_tiles_enabled_flag, > > + .pps_loop_filter_across_slices_enabled_flag = > > + pps->pps_loop_filter_across_slices_enabled_flag, > > .scaling_list_data_present_flag = (sps- > > > sps_scaling_list_data_present_flag | > > pps- > > > pps_scaling_list_data_present_flag), > > .screen_content_flag = 0, > > @@ -1105,6 +1163,45 @@ static av_cold void > > vaapi_encode_h265_get_encoder_caps(AVCodecContext *avctx) > > VAAPIEncodeContext *ctx = avctx->priv_data; > > VAAPIEncodeH265Context *priv = avctx->priv_data; > > > > +#if VA_CHECK_VERSION(1, 13, 0) > > + { > > + VAConfigAttribValEncHEVCBlockSizes block_size; > > + VAConfigAttrib attr; > > + VAStatus vas; > > + > > + attr.type = VAConfigAttribEncHEVCFeatures; > > + vas = vaGetConfigAttributes(ctx->hwctx->display, ctx- > > >va_profile, > > + ctx->va_entrypoint, &attr, 1); > > + if (vas != VA_STATUS_SUCCESS) { > > + av_log(avctx, AV_LOG_WARNING, "Failed to query encoder > > " > > + "features, using guessed defaults.\n"); > > + } else if (attr.value == VA_ATTRIB_NOT_SUPPORTED) { > > + av_log(avctx, AV_LOG_WARNING, "Driver does not > > advertise " > > + "encoder features, using guessed defaults.\n"); > > + } else { > > + priv->va_features = attr.value; > > + } > > + > > + attr.type = VAConfigAttribEncHEVCBlockSizes; > > + vas = vaGetConfigAttributes(ctx->hwctx->display, ctx- > > >va_profile, > > + ctx->va_entrypoint, &attr, 1); > > + if (vas != VA_STATUS_SUCCESS) { > > + av_log(avctx, AV_LOG_WARNING, "Failed to query encoder > > " > > + "block size, using guessed defaults.\n"); > > + } else if (attr.value == VA_ATTRIB_NOT_SUPPORTED) { > > + av_log(avctx, AV_LOG_WARNING, "Driver does not > > advertise " > > + "encoder block size, using guessed > > defaults.\n"); > > + } else { > > + priv->va_bs = block_size.value = attr.value; > > + > > + priv->ctu_size = > > + 1 << > > block_size.bits.log2_max_coding_tree_block_size_minus3 + > > 3; > > + priv->min_cb_size = > > + 1 << > > block_size.bits.log2_min_luma_coding_block_size_minus3 + > > 3; > > + } > > + } > > +#endif > > + > > if (!priv->ctu_size) { > > priv->ctu_size = 32; > > priv->min_cb_size = 16; > > Tested with i965 and iHD drivers and it works well for me > > Thanks > 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".