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 2500C49FEE for ; Mon, 18 Mar 2024 04:21:57 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 88DE168D238; Mon, 18 Mar 2024 06:21:56 +0200 (EET) Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.11]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 7FC8D68D224 for ; Mon, 18 Mar 2024 06:21:48 +0200 (EET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1710735713; x=1742271713; h=from:to:subject:date:message-id:references:in-reply-to: content-id:content-transfer-encoding:mime-version; bh=1fF2FZEinH+ai49sA2pXSBVkyw9KwalaawKS3nYoIAI=; b=MNCHIP1QIFzTDlG9Mo76NU3LBpzCGoiKqNUNwZyyhvQQ+8Yi1lD7nMS4 HLf1J/DAIEptK2REMrVXJKa8Hmz45kvU85J9nyxxgn/KgvG9T80VjkFLp ymkSiTOv8o/4SfhMAfWTgqG13xPma052zxiZaHk3WktmdI81pXuH2StQb 6nLU7izXjiVyFiXq3aRA7mf68CfJGmLXN6jF0JrWz6jV3Dj8mkTPuLVP8 VkFZSs+VdU2cuvJHb16Ws4mgGwx0cdhRIkgOvsGQfQw5cwiFWh1QRD2L9 Pq2JSItfJKY+iKlF3d5KTlCIdazGfQWtfbuexgdR0eOyL7RFs9D9FWWC+ g==; X-IronPort-AV: E=McAfee;i="6600,9927,11016"; a="16080222" X-IronPort-AV: E=Sophos;i="6.07,134,1708416000"; d="scan'208";a="16080222" Received: from fmviesa005.fm.intel.com ([10.60.135.145]) by orvoesa103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Mar 2024 21:21:46 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.07,134,1708416000"; d="scan'208";a="17826783" Received: from orsmsx602.amr.corp.intel.com ([10.22.229.15]) by fmviesa005.fm.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 17 Mar 2024 21:21:47 -0700 Received: from orsmsx611.amr.corp.intel.com (10.22.229.24) 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.2507.35; Sun, 17 Mar 2024 21:21:45 -0700 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX611.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Sun, 17 Mar 2024 21:21:45 -0700 Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) 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.2507.35 via Frontend Transport; Sun, 17 Mar 2024 21:21:45 -0700 Received: from NAM02-BN1-obe.outbound.protection.outlook.com (104.47.51.40) by edgegateway.intel.com (134.134.137.103) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.35; Sun, 17 Mar 2024 21:21:45 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=U0w8lvd4ngSt+KESOO+fMSnQLg55AwucHANHGwNfIm10OFA0r57jQSJdlNjW9sfaH9YQRYXV+EgW68NinFiLSzw5QTwmpm5QrOpgvdtD89c0YW2fEB580oULsiORXkFni+6N/Bbq14pSwG2adbkFVoOWYf6U7ofLOQpnhjJMHtNDPnf65VApiA2NEhJ61Krm2EvMsNRyXaXMfa/7+kqlIxM6JvivUo0IEQ6V0o30FY4686IQQ6tJeFgv1kIVKB/njZdzwT3l2Y0psDTcsugeYrMfiK4ZiiBQIeHxDQhRWTfaUsE02yAyq3uaTz+Jfyk2ABfCZMIy5/bnRMv0T+EDOA== 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=1fF2FZEinH+ai49sA2pXSBVkyw9KwalaawKS3nYoIAI=; b=ddg4GDGFQFhmZpwy9B467E/uK7FfqYRMb9s/KgpNLIuzaPvOwzzR82zmi7UTsY7RE5KAvJs6o9wGqjmZtfWirK6TbwrVDLsvvZkED0b/bwdjw+D2u4/rtDri1UwP28F4bzwa8iBIEBy8mvJ7YsnyHc6YZcvswdAaiJ1IKC2jkXMOjW+Yq+IxhzNrzrenFPGBxZZJtN92D6QFYdxCkz9LN88fRfCMQeEeNv+UDZTleafYXUAPsSfgMWpuXi6m4/wTVKgr23mE7hUI3ELtD3P8cyzwoK86nA64vrAjZt15S47gSkVYnTeHiWxhTQDTwQEwj5b8cUHtBiVmAMkk23XSeg== 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 SJ0PR11MB6624.namprd11.prod.outlook.com (2603:10b6:a03:47a::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.10; Mon, 18 Mar 2024 04:21:43 +0000 Received: from PH0PR11MB5030.namprd11.prod.outlook.com ([fe80::566d:2e2d:1fa3:d511]) by PH0PR11MB5030.namprd11.prod.outlook.com ([fe80::566d:2e2d:1fa3:d511%5]) with mapi id 15.20.7409.010; Mon, 18 Mar 2024 04:21:43 +0000 From: "Wang, Fei W" To: "ffmpeg-devel@ffmpeg.org" , "Xiang, Haihao" Thread-Topic: [FFmpeg-devel] [PATCH v2 2/2] lavc/vaapi_encode_h265: Set general_*_constriaint flags with profile Thread-Index: AQHadn+s1TPWlJi7DU+CZNjJENm/w7E86p+A Date: Mon, 18 Mar 2024 04:21:42 +0000 Message-ID: <8624c0e9edcc6aae9e1dec84be0de21aa9036237.camel@intel.com> References: <20240308084723.70916-1-fei.w.wang@intel.com> <20240308084723.70916-2-fei.w.wang@intel.com> In-Reply-To: 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-traffictypediagnostic: PH0PR11MB5030:EE_|SJ0PR11MB6624:EE_ x-ms-office365-filtering-correlation-id: 0dd027c8-df46-4246-1370-08dc4702ea81 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: YWk0+Vpl1Jj15kDVI9sgjaubqMuYSZ0FMcpNmUd/fgUfrPIsaStC+vZy+9zbMGNp/MDcfnz+6mYpv6X+/DQt6Mm5+otbyUUU9mGlfzkeQiQ9OV3d/PrSn64Yeu0pM/mFlHxHDCIZT3n/otEesjHYsgK2Zqoy7ojnosOdpRRwSDZ/m31WHTrIEewbSMAlbnIRNJyKE73Xs3TvbwRY6SMG33/j2Ce5Ct6YbEYFYNEpwxEO2W3HDDV166nxZJ3m5mqt04V0bHVoHFb2Tw2tA7K3XQmSuGnugtKIbPkw1Ig063bieEsXqSwmiP0k/hID6TfQaDIGTCc6gJ1U7y7EUZQNUl4og1BwLFCItRpyFXRyckfsGTQVjfghu+3/OdlSNXTLWcTjgBdboFgIEaD9aMPG1QeCTodAxEy/8kb5BrySZHVs/eswAZkqCQZAmMZweb9nwnedMFTAxqtbf0lEYxCNr8NMN5XFuGzzF1Cfk1yd5OO/hRh5bM7EIqtAAaAzkFkjmfRmFlVakDyYfH4EWr5l7czbNe/+Q4gPoyKdWoXMnByENHMEZr6FH/7faDsdGjvZBG2/iUmEsKsaArU/DO4yxsXvwfKq9cBQGCuDOPYADt9+cfnY8Ojjlw6vA2VgwI4pKwFeMPk8lAZLn2aryUfsD+X1u4vyWi4+q0mEf/E/WriH7/zlx7K0R8blStfsRjRlZ9qBlBXc93pAKRYuE0mcSA== 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:(13230031)(366007)(1800799015)(376005)(38070700009); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?TFQxdFJaSTJJcUdYUzhnNTJzVnQyZTB6NlBCaG9LaTRER1BTSk12clE2NTdl?= =?utf-8?B?SExuVTYxekJPSC84QWlsWUJIU1VsVnZ0RWgxcitNem1HYnliUEhjVDIycU5G?= =?utf-8?B?RUFtUTJnbTlOQlFVWitTT2U4OUdVcllSSUtuc3k5alpHemJaUEFIMXNQNENw?= =?utf-8?B?RWJWOEk0Tk5iZ2tWWlZFU1ZYdWZsa1ZJZ3JQMHZGZ1p2Wkx3WWRnZDV1Znc4?= =?utf-8?B?elpvdHRDcDB2Z2xHSDhpSGp1bE40T3ROTXR1YW53aHMvSzEyZG04d0VNaU9B?= =?utf-8?B?UE82MmFSQ05jY2d0OXJqdmhHMkRTb2s1TDhKYktmU2VFWE5VbWl6NDJ3eEJD?= =?utf-8?B?cGVVQVRYOTBkV2JUa3ZKVUV6R3VSR05wQkV6b2F2QlVoTWorbkRFa2xyTkFV?= =?utf-8?B?WTEwVkRtTGgwckhMSUl5NWh4R1hkK0VFdHpYYytxMmJscmpVamhuNW9RTjE2?= =?utf-8?B?Z0V2dzd4NXV4bnZrUElpdnFEOFdQbG9TZitaZXIzV0xLR3RzaDJnQlpoZ3NI?= =?utf-8?B?QWtkR2F4TFltT21VRnZrTzd0M2VQbk5ETGxxUVg0eDhQa2xmNW5seFhmbkh1?= =?utf-8?B?b3UxcElZRFMrT0hEdkJ4d3VKekVpSUg5Q1VFOU0zbml4Njg4SUJHa2hoRXZn?= =?utf-8?B?dDNMbGhJSHBZZExLSmE4RGlMS241S05lQXdrV3hMZnBHTUJTSXNQRUdaR01o?= =?utf-8?B?UFJ0MUJJY1NUT1ovRENYTXFSb3FkZ0d1OUovZk1YdG9ZaUIxYXo3WGhiaTMr?= =?utf-8?B?Ukw5VExFZWZjc2I2S3ZFc3RGUWtValBQN3JmMkVjdDRKQmdIL3VEM1dzbXlV?= =?utf-8?B?enRFOFpsS25OQlIwMDBEZytlZlJ3bFUrSWpMRllTUTVPR2M4ZzJHTTBiaUdE?= =?utf-8?B?YUxXTExLMXY3SzZkb3Z2K3J3S3NrUjFHUCtPdHlOWTBBNUhodXNzakxackZQ?= =?utf-8?B?dzQvaWZlaEZKc3pjbGFaQXpyTyswaGhtRnpxNU5XRDVRYWl2VHRkVXlhQUov?= =?utf-8?B?RjRWZEVyMFpzZTdydS84dmNWT1loMWpFc1ppL0RyQXMvVkhmNkFQNTZBazla?= =?utf-8?B?cnhldEJJY0VpNWRSeVFNWjZwd0phMXprY08ybWFKSUpkREo4Wk56aTRHZzQw?= =?utf-8?B?UXBkQlVJYmpYSTYxZ0FUd08rb0NLdThrUytDb29GUVhaMEZqQ3NyVjVsdTA1?= =?utf-8?B?NjMxTllwL2cyd0psVW80Vlk4SVB2N3ZBU1BSamlEd2phdE9vSTErcVpJZFZk?= =?utf-8?B?USszVFYrZTZab2VHZ3lRL3R6VDl1RU5lczhsRFRZNmUrUnZSSXl6V0tCL1Vh?= =?utf-8?B?eUw3Q1dCUzdSYXVHMWE3MjdhamtrSDhsSlNqQ0lJSW9rN2s3VEZ1azBpU0Mx?= =?utf-8?B?RVl1MmViYnVEbWl6WlQ4c2JoUk5JbG95eDBsM3ZLeXYzU040ejYvR0xzUVRn?= =?utf-8?B?L3BJOWtRQWJRVzNnR0htOEl6bTdiSURhNkdDdnF0RVN1SWJ0OWp0dWN1a0o1?= =?utf-8?B?RFpDMlFXd2JMT2RoWG1EZjdxRjFpa1YyRitxWm5iTjhiVE5FaHluWXM2K1ZW?= =?utf-8?B?RkRQeW5yU1BlMFAyY2pOdTViOW9QSmtuTkdMMEdGaEdHQ2REbUVMbzJ2QW9X?= =?utf-8?B?bHJBdDZNRG8vOVlhZWZMSnNtUHI4N05sQVZ6dk9Ob0xZVU5kVFl0M25TM0dK?= =?utf-8?B?NlZYc21Zb003NmVJL1BROVlvNHBaNlNtUDArdkZ0U0RabUhsVnArS0VzcmRt?= =?utf-8?B?ai8wRk9sRGl0UVpmVS9NSGxtNGxuaXZXY3pvZ1I1WEtjN0RpWkZqTGF3Q1px?= =?utf-8?B?ankrMS9YQUI5cVA5YnQrUVhUSFhYZ1oxYnR1U1lNMnF4NUFMcnlHS3JmcWVx?= =?utf-8?B?eHJFSlZjcUE5OG1USnNYdHZkbU5FeUNWcXRCVE5VbVg1ZTRnMjdob3p1Rm53?= =?utf-8?B?ZFVrcUtxMGtSTDByTmdmVFErbmViZmtlUjNhWFdGN3JUTStJcDZySTRXOVY1?= =?utf-8?B?WWJ1N01iTG5XSkVTSEIzdEZXcUZQejVZdkxOelhBNGRyMEVsWjZlQTJmZjgv?= =?utf-8?B?ZVFmb1daNHJjRXVtK01lT0k5aVpQblNreEhaT2l5d0xFRzd5TGE0aGJZb0lh?= =?utf-8?B?RDVFZ0cvMTI0NW40RVBzRFNqVHZJVk41NE94ZE8zRXNKRmpXSXREa055WmhZ?= =?utf-8?B?R0E9PQ==?= Content-ID: 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: 0dd027c8-df46-4246-1370-08dc4702ea81 X-MS-Exchange-CrossTenant-originalarrivaltime: 18 Mar 2024 04:21:42.9102 (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: cJiFbmJwuogK0tGrhrmb+IFy46fIF0FEXfRNTZLMNtdH39J6rvdJ7fP+d1+whpb9yJ4+LWfmBwO+slS7uQCGHg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR11MB6624 X-OriginatorOrg: intel.com Subject: Re: [FFmpeg-devel] [PATCH v2 2/2] lavc/vaapi_encode_h265: Set general_*_constriaint flags with profile 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, 2024-03-15 at 02:22 +0000, Xiang, Haihao wrote: > On Vr, 2024-03-08 at 16:47 +0800, fei.w.wang-at-intel.com@ffmpeg.org > wrote: > > From: Fei Wang > > > > According to Table A.2 in spec. > > > > Signed-off-by: Fei Wang > > --- > > libavcodec/vaapi_encode_h265.c | 181 +++++++++++++++++++++++---- > > ------ > > 1 file changed, 128 insertions(+), 53 deletions(-) > > > > diff --git a/libavcodec/vaapi_encode_h265.c > > b/libavcodec/vaapi_encode_h265.c > > index 43755e2188..7c9916eac8 100644 > > --- a/libavcodec/vaapi_encode_h265.c > > +++ b/libavcodec/vaapi_encode_h265.c > > @@ -258,6 +258,129 @@ fail: > > return err; > > } > > > > +static int vaapi_encode_h265_init_ptl(AVCodecContext *avctx) > > +{ > > + VAAPIEncodeContext *ctx = avctx->priv_data; > > + VAAPIEncodeH265Context *priv = avctx->priv_data; > > + H265RawVPS *vps = &priv->raw_vps; > > + H265RawProfileTierLevel *ptl = &vps->profile_tier_level; > > + > > + ptl->general_profile_space = 0; > > + ptl->general_profile_idc = avctx->profile; > > + ptl->general_tier_flag = priv->tier; > > + > > + ptl->general_profile_compatibility_flag[ptl- > > >general_profile_idc] = 1; > > + > > + if (ptl->general_profile_compatibility_flag[1]) > > + ptl->general_profile_compatibility_flag[2] = 1; > > + if (ptl->general_profile_compatibility_flag[3]) { > > + ptl->general_profile_compatibility_flag[1] = 1; > > + ptl->general_profile_compatibility_flag[2] = 1; > > + } > > + > > + ptl->general_progressive_source_flag = 1; > > + ptl->general_interlaced_source_flag = 0; > > + ptl->general_non_packed_constraint_flag = 1; > > + ptl->general_frame_only_constraint_flag = 1; > > + > > + if (avctx->profile >= 4) { > > + ptl->general_intra_constraint_flag = ctx- > > >gop_size == 1; > > + ptl->general_one_picture_only_constraint_flag = 0; > > + ptl->general_lower_bit_rate_constraint_flag = 1; > > + > > + switch (ctx->va_profile) { > > +#if VA_CHECK_VERSION(1, 2, 0) > > + case VAProfileHEVCMain12: > > + // Main 12 > > + ptl->general_max_14bit_constraint_flag = 0; > > There isn't a requirement about general_max_14bit_constraint_flag in > Table A.2, > it is unnecessary to set this flag here. Fixed in V3. Thanks Fei > > Thanks > Haihao > > > + ptl->general_max_12bit_constraint_flag = 1; > > + ptl->general_max_10bit_constraint_flag = 0; > > + ptl->general_max_8bit_constraint_flag = 0; > > + ptl->general_max_422chroma_constraint_flag = 1; > > + ptl->general_max_420chroma_constraint_flag = 1; > > + ptl->general_max_monochrome_constraint_flag = 0; > > + break; > > + case VAProfileHEVCMain422_10: > > + // Main 4:2:2 10 > > + ptl->general_max_14bit_constraint_flag = 0; > > + ptl->general_max_12bit_constraint_flag = 1; > > + ptl->general_max_10bit_constraint_flag = 1; > > + ptl->general_max_8bit_constraint_flag = 0; > > + ptl->general_max_422chroma_constraint_flag = 1; > > + ptl->general_max_420chroma_constraint_flag = 0; > > + ptl->general_max_monochrome_constraint_flag = 0; > > + break; > > + case VAProfileHEVCMain422_12: > > + // Main 4:2:2 12 > > + ptl->general_max_14bit_constraint_flag = 0; > > + ptl->general_max_12bit_constraint_flag = 1; > > + ptl->general_max_10bit_constraint_flag = 0; > > + ptl->general_max_8bit_constraint_flag = 0; > > + ptl->general_max_422chroma_constraint_flag = 1; > > + ptl->general_max_420chroma_constraint_flag = 0; > > + ptl->general_max_monochrome_constraint_flag = 0; > > + break; > > + case VAProfileHEVCMain444: > > + // Main 4:4:4 > > + ptl->general_max_14bit_constraint_flag = 0; > > + ptl->general_max_12bit_constraint_flag = 1; > > + ptl->general_max_10bit_constraint_flag = 1; > > + ptl->general_max_8bit_constraint_flag = 1; > > + ptl->general_max_422chroma_constraint_flag = 0; > > + ptl->general_max_420chroma_constraint_flag = 0; > > + ptl->general_max_monochrome_constraint_flag = 0; > > + break; > > + case VAProfileHEVCMain444_10: > > + // Main 4:4:4 10 > > + ptl->general_max_14bit_constraint_flag = 0; > > + ptl->general_max_12bit_constraint_flag = 1; > > + ptl->general_max_10bit_constraint_flag = 1; > > + ptl->general_max_8bit_constraint_flag = 0; > > + ptl->general_max_422chroma_constraint_flag = 0; > > + ptl->general_max_420chroma_constraint_flag = 0; > > + ptl->general_max_monochrome_constraint_flag = 0; > > + break; > > + case VAProfileHEVCMain444_12: > > + // Main 4:4:4 12 > > + ptl->general_max_14bit_constraint_flag = 0; > > + ptl->general_max_12bit_constraint_flag = 1; > > + ptl->general_max_10bit_constraint_flag = 0; > > + ptl->general_max_8bit_constraint_flag = 0; > > + ptl->general_max_422chroma_constraint_flag = 0; > > + ptl->general_max_420chroma_constraint_flag = 0; > > + ptl->general_max_monochrome_constraint_flag = 0; > > + break; > > +#endif > > + default: > > + av_log(avctx, AV_LOG_ERROR, "Unknown profile to init > > PTL.\n"); > > + return AVERROR(EINVAL); > > + } > > + } > > + > > + if (avctx->level != AV_LEVEL_UNKNOWN) { > > + ptl->general_level_idc = avctx->level; > > + } else { > > + const H265LevelDescriptor *level; > > + > > + level = ff_h265_guess_level(ptl, avctx->bit_rate, > > + ctx->surface_width, ctx- > > >surface_height, > > + ctx->nb_slices, ctx- > > >tile_rows, ctx- > > > tile_cols, > > + (ctx->b_per_p > 0) + 1); > > + if (level) { > > + av_log(avctx, AV_LOG_VERBOSE, "Using level %s.\n", > > level->name); > > + ptl->general_level_idc = level->level_idc; > > + } else { > > + av_log(avctx, AV_LOG_VERBOSE, "Stream will not conform > > to " > > + "any normal level; using level 8.5.\n"); > > + ptl->general_level_idc = 255; > > + // The tier flag must be set in level 8.5. > > + ptl->general_tier_flag = 1; > > + } > > + } > > + > > + return 0; > > +} > > + > > static int vaapi_encode_h265_init_sequence_params(AVCodecContext > > *avctx) > > { > > VAAPIEncodeContext *ctx = avctx->priv_data; > > @@ -265,13 +388,12 @@ static int > > vaapi_encode_h265_init_sequence_params(AVCodecContext *avctx) > > H265RawVPS *vps = &priv->raw_vps; > > H265RawSPS *sps = &priv->raw_sps; > > H265RawPPS *pps = &priv->raw_pps; > > - H265RawProfileTierLevel *ptl = &vps- > > >profile_tier_level; > > H265RawVUI *vui = &sps->vui; > > VAEncSequenceParameterBufferHEVC *vseq = ctx- > > >codec_sequence_params; > > VAEncPictureParameterBufferHEVC *vpic = ctx- > > >codec_picture_params; > > const AVPixFmtDescriptor *desc; > > int chroma_format, bit_depth; > > - int i; > > + int i, err; > > > > memset(vps, 0, sizeof(*vps)); > > memset(sps, 0, sizeof(*sps)); > > @@ -314,57 +436,10 @@ static int > > vaapi_encode_h265_init_sequence_params(AVCodecContext *avctx) > > vps->vps_max_sub_layers_minus1 = 0; > > vps->vps_temporal_id_nesting_flag = 1; > > > > - ptl->general_profile_space = 0; > > - ptl->general_profile_idc = avctx->profile; > > - ptl->general_tier_flag = priv->tier; > > - > > - ptl->general_profile_compatibility_flag[ptl- > > >general_profile_idc] = 1; > > - > > - if (ptl->general_profile_compatibility_flag[1]) > > - ptl->general_profile_compatibility_flag[2] = 1; > > - if (ptl->general_profile_compatibility_flag[3]) { > > - ptl->general_profile_compatibility_flag[1] = 1; > > - ptl->general_profile_compatibility_flag[2] = 1; > > - } > > - > > - ptl->general_progressive_source_flag = 1; > > - ptl->general_interlaced_source_flag = 0; > > - ptl->general_non_packed_constraint_flag = 1; > > - ptl->general_frame_only_constraint_flag = 1; > > - > > - ptl->general_max_14bit_constraint_flag = bit_depth <= 14; > > - ptl->general_max_12bit_constraint_flag = bit_depth <= 12; > > - ptl->general_max_10bit_constraint_flag = bit_depth <= 10; > > - ptl->general_max_8bit_constraint_flag = bit_depth == 8; > > - > > - ptl->general_max_422chroma_constraint_flag = chroma_format <= > > 2; > > - ptl->general_max_420chroma_constraint_flag = chroma_format <= > > 1; > > - ptl->general_max_monochrome_constraint_flag = chroma_format == > > 0; > > - > > - ptl->general_intra_constraint_flag = ctx->gop_size == 1; > > - ptl->general_one_picture_only_constraint_flag = 0; > > - > > - ptl->general_lower_bit_rate_constraint_flag = 1; > > - > > - if (avctx->level != AV_LEVEL_UNKNOWN) { > > - ptl->general_level_idc = avctx->level; > > - } else { > > - const H265LevelDescriptor *level; > > - > > - level = ff_h265_guess_level(ptl, avctx->bit_rate, > > - ctx->surface_width, ctx- > > >surface_height, > > - ctx->nb_slices, ctx- > > >tile_rows, ctx- > > > tile_cols, > > - (ctx->b_per_p > 0) + 1); > > - if (level) { > > - av_log(avctx, AV_LOG_VERBOSE, "Using level %s.\n", > > level->name); > > - ptl->general_level_idc = level->level_idc; > > - } else { > > - av_log(avctx, AV_LOG_VERBOSE, "Stream will not conform > > to " > > - "any normal level; using level 8.5.\n"); > > - ptl->general_level_idc = 255; > > - // The tier flag must be set in level 8.5. > > - ptl->general_tier_flag = 1; > > - } > > + err = vaapi_encode_h265_init_ptl(avctx); > > + if (err < 0) { > > + av_log(avctx, AV_LOG_ERROR, "Failed to init PTL.\n"); > > + return err; > > } > > > > vps->vps_sub_layer_ordering_info_present_flag = 0; _______________________________________________ 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".