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 C04DC4A100 for ; Thu, 21 Mar 2024 11:16:13 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 1FD6368D50D; Thu, 21 Mar 2024 13:16:10 +0200 (EET) Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-db5eur01olkn2062.outbound.protection.outlook.com [40.92.64.62]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 1069F68D4E7 for ; Thu, 21 Mar 2024 13:16:03 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=gq8bJyJ6+WePzsQnwcJMPg8SGzqfkTphAwbjysfQQYQNttI8UqgBPB8cQo21wRypQ1dRe4msv4x7jig3pcFk4fqD5AbrsoqH9hqAnAJqfbQpPzNNnB0T+eDXm6Q0nYen0LuAFgmUfCh8ouGBVfTVI5crPsTAqQL9ruosDvn13HuBq+81KcRPTg81RlZd1WnLtO3ynFd+63+jIkqpn4ndBBHH/Xmu3+oJ6aLvB8UC3IbGMDloZJQWcLhu+zldb6BYRvqOwKg/JniGA9v153LBd8PO8+T81yf0O62fNxy5WEJ2MEJ2+W48wN1EwO/PMWv7xpZqzVP8mMTGCyiyAZk+Iw== 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=BIAYb06nm0FoWozBSzXyBZxenZY5jMaQbd3yv8bk9kI=; b=D1e0ygnWHLCRTytvqcFzYEwvokGcLFO96l6Jf11sxHjEisqPbSWPTjv1ESpEqqkOS0ISGc8vKDC5yazP0fKMdXg+7KXz07kxlCvq84hvwJWBxvh+DlQROSikK7vEaSmg7FzHF1a/qlV/SCIpCXsVRflP8BtZFkXyyKQ0kywbssEv5VJY2mZ1m7yvZMo3HaUHcJ/83F97jZsfCG6pRI8fiq4j5v5m8jCgw03ekA/df1EWg/gL/SNSJtXaL8qrvwmlPAJgl9lYCVfa2RbVhgnQngVoBPOL2pyhOd3qyf+u2Y2xqkxTmVhPRaEl/p6pVwMVyr2ZqLacEG/3ZBk9hxBLeQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=BIAYb06nm0FoWozBSzXyBZxenZY5jMaQbd3yv8bk9kI=; b=s4Dvz6t4N6BLApXRn4BHuOzxmvcCleHmEbmCA9gjJcbeEuK9oOoLXfyn+kjzZp1D5MebWIcoQ3HMte5fFzKZhToELWtNi7Qm6BdVTt7uPF386lQEreRkpSv48Pj4G3w9qmpTKqTw1N8Onxc2f5BMLNcArFcCN4l6qb1ko4or8dDocLgKtdegR9U3EUJ2l4yyZjSgAcccaDTv9a/AHHPXsCOeotuIbSCij3JyHEkBGIqMfjcl4WHkk0RAXiN+Xt3H8qSxRNwszwbj1RShN7XWugO+Sajj8I0YK4VxzWvzFd6DtukoNzHuyNUqLpo2YxZqn82JUJNV5EdrDIK96CwKkw== Received: from DU0P250MB0747.EURP250.PROD.OUTLOOK.COM (2603:10a6:10:3cb::16) by AS8P250MB0156.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:372::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7386.30; Thu, 21 Mar 2024 11:16:01 +0000 Received: from DU0P250MB0747.EURP250.PROD.OUTLOOK.COM ([fe80::8230:ffad:27e5:20bf]) by DU0P250MB0747.EURP250.PROD.OUTLOOK.COM ([fe80::8230:ffad:27e5:20bf%3]) with mapi id 15.20.7362.035; Thu, 21 Mar 2024 11:16:01 +0000 Message-ID: Date: Thu, 21 Mar 2024 12:15:58 +0100 User-Agent: Mozilla Thunderbird To: ffmpeg-devel@ffmpeg.org References: <20240320233525.29361-1-jamrial@gmail.com> Content-Language: en-US From: Andreas Rheinhardt In-Reply-To: <20240320233525.29361-1-jamrial@gmail.com> X-TMN: [rUJ6S50xPljRGRZrO4/FjQHT6bqZZ9e9o9wq+mxinwI=] X-ClientProxiedBy: ZR2P278CA0055.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:53::9) To DU0P250MB0747.EURP250.PROD.OUTLOOK.COM (2603:10a6:10:3cb::16) X-Microsoft-Original-Message-ID: MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DU0P250MB0747:EE_|AS8P250MB0156:EE_ X-MS-Office365-Filtering-Correlation-Id: c0e09fc9-e528-48ef-b4c2-08dc49984a11 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: l3JYoPHUyam5jFIOWHLQxKjUVkpMNBWHfzJ8Q06sLetUIEbc1v3CmA8veBAsVux4bbW+fjNvto7+EPxcVF1pG7D77vuz/4hQJneA6hL83GGQwKEJnFrzQK9BzX/OIuHRcKfokLbsFtTVzciBJAt18I9qgBQrqEGYOWNwWpM124ukUoRN44wwSsGpUhEb2qWsQUId8YThsbBJPvMdCrGPEJc65P/vHqCMT4+maFdnWfZ7SPpKXO8PN+MA3MDJUvMt48VUVkz7jv7QTYfS8z3tVKpImW+KA+x6q9QfT3dF44wWMwzepfJgep45whsEcmtWzMO1v5CCRacWMD+M6de5JXkcalFKM3u473q3syJ1ROZ5DsPZ5EwgDc6wd5H2pesngdsp5GZJb6phK6IIRGEAZBYe0lGtct+RiEnLRI7QaUsZkdCftdvXQnbfgKuWFcKJ/Vy0U/tlRxZMEkwPUYgRfJC1jxzSVTFKOMJcfUSvThYnAyr7tyZALNW8upDIGqkTiyhDdFvmTNn2VjibFrFl+q0xVKrbjwLY7LNcV+p4dg8zG3dCAi6KcXR0DL8Y52uW X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?N0E3YVdkZXpORUhOYmdHOGI2eUJ6cTdaaWdudjBITmxYV0grSlp1NXpSUkgv?= =?utf-8?B?NlplZGFFKzRBRzhNVXFYajdYa1lqK3k1bmEzdlpXQll1c3BTVHJtQ3d3NG1S?= =?utf-8?B?Y0EvV3BaTTZvNTJwQWJvbmRaMUphWDVhU1ZtRW40VkNPTi9HdE13QXpQa0RX?= =?utf-8?B?MUVFVjFVTG1JT1Q4Z2dVNEhsVlFmMEJwT1JuSUVDeFkvMjJZdXFPL1VIS1dV?= =?utf-8?B?WGg0SU9xREpNUHZQallVb092SjZaaDZZeU5NY3lBaVBiU1UrMTVOTGV6UE5S?= =?utf-8?B?cldJV2Y1VTFUaS9RVTY0V09IUGVpTHVLa2QwWFFYYmh2YzB3eGR0elJDQ0d5?= =?utf-8?B?WnlSME9GcFBrb3RMbE11OVlIMEpFQzFYMjhzZmJTeHcxTk1nenlseENlaXlO?= =?utf-8?B?YjV2V045bktNMEtLcTRFbkU2MDBaVHJ6MmNlenUwaDExTW9hSmJUazZiaGZu?= =?utf-8?B?K3FuTWszcXlaQ3M5b2pEekJZT1BhcUptcHk2M2tvOVhrYmgya1Qyekx0MzBI?= =?utf-8?B?N2VwOTcxUlZIam51Q2ZOOTF3TnQzd3dMOW96dnVLdE1aM0JkbzRuV0dYVWx4?= =?utf-8?B?WURrbDh0aURWTTZ0b0hZTzg0YkFIOUlLZ3JEUzBCWS9ZVS8rTUVWSW9MU0pk?= =?utf-8?B?K3V0OWVWZmoweVhmb3Z1R2xJRzlmRy9LTFVjY0dPYTdDNnJ2TjZ4RjRiS1J3?= =?utf-8?B?SitTYkVIL3d3ZmFwaHpUNXVjNGZlSkd0dkZ0UzZGMXluZS9ZcVIvdFNBbXdQ?= =?utf-8?B?S0IwMUQ5cnJsb0YzWHVvekVVQU9STm5XcW03bmhtNG0zVG44RytEOW55WkJy?= =?utf-8?B?a05JYUgrSmtsNGlDWGFLWHUyOEhjc01DVnIxWU1nN08vbmttNFZTU3JyVks1?= =?utf-8?B?OHU3SEYrUUhhWEMwWHpSTVVYUlA0M0VNeVJzQUVrenkrNTJsaGErWm16WjNm?= =?utf-8?B?bkNqZ3BuYlEvQVZMWG9qMmxKRnJMSU1nakI2cERTSGo1MXBLVHpzZ213Qzdi?= =?utf-8?B?V3Q2c0RGV1B6VTkyUHBVSkJsZXRrQ1JUSmwzbTBZNmVoWEM0T0x6YXIwcXZO?= =?utf-8?B?OGpQc21vQzBDYlAxSGNNVFVqQlRGWVl3MzFBOE1xVjVITTNGTUVPa2dIZWpu?= =?utf-8?B?bTE4OU5ZbEQrMCt1eTNLSytOdXRkdmNVSXVSS1l0dWJPVTBMVzFHQmp6elBE?= =?utf-8?B?N2VJUndVaGJXc3Q3R1cwamozeStwV1FFQm9sZ2hMaE5pdFEzV3B6MzFEaXRM?= =?utf-8?B?Qy9SWjExYThlR0ZkRGV4SG5WS3hYOTVUMHBZTmtxNXl0cTA5SGpKOExFUGt6?= =?utf-8?B?M2JqZkVTaHZESXI5WHZ3NVMzSWozeGYwYWxCRExyMitjVXhlakFYT1RlUEk1?= =?utf-8?B?d0w0VHNTOFdWSVhVSFBYQUNGcDJzU0toTWR5QlZvNWJTRWk2V2ZPZFRObk83?= =?utf-8?B?Smw5eVZNTmxBWFhvTTNFNGpmMnNMaWNMMk4rRTU0K1BKR20wdFM5Q3hYQW1S?= =?utf-8?B?cVRabU5LMGJJU1dRZkxNN3hSUEV6ODRUZHFWQ3l1TWYyK0M2YnZ3S3ZjcFlo?= =?utf-8?B?OVB4bmlvZEppdHhGR2o1Mk9sb2NMRzJRc1hxamZEeDVLR09obTkwUWVOaUVj?= =?utf-8?B?WVUzZVlVK0tKOGszL2ZlZ1lhakZPcy8vdmQzZzV5YTdEWlJQRE9sS2JzSGM3?= =?utf-8?B?aHpKN29qV2JRUW80bzBvNDFVODRBM1Zjdm1neXo5NW5WaHRCNWxhQ2RBPT0=?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: c0e09fc9-e528-48ef-b4c2-08dc49984a11 X-MS-Exchange-CrossTenant-AuthSource: DU0P250MB0747.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Mar 2024 11:16:00.8837 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8P250MB0156 Subject: Re: [FFmpeg-devel] [PATCH] avcodec/hevc_ps: allocate only the required HEVCHdrParams within a VPS 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: James Almer: > Signed-off-by: James Almer > --- > libavcodec/hevc_ps.c | 17 +++++++++++++++-- > libavcodec/hevc_ps.h | 2 +- > libavcodec/vulkan_hevc.c | 2 +- > 3 files changed, 17 insertions(+), 4 deletions(-) > > diff --git a/libavcodec/hevc_ps.c b/libavcodec/hevc_ps.c > index 20ceb09829..d3edc0810d 100644 > --- a/libavcodec/hevc_ps.c > +++ b/libavcodec/hevc_ps.c > @@ -442,13 +442,21 @@ static int decode_hrd(GetBitContext *gb, int common_inf_present, > return 0; > } > > +static void uninit_vps(FFRefStructOpaque opaque, void *obj) > +{ > + HEVCVPS *vps = obj; > + > + for (int i = 0; i < vps->vps_num_hrd_parameters; i++) > + ff_refstruct_unref(&vps->hdr[i]); > +} > + > int ff_hevc_decode_nal_vps(GetBitContext *gb, AVCodecContext *avctx, > HEVCParamSets *ps) > { > int i,j; > int vps_id = 0; > ptrdiff_t nal_size; > - HEVCVPS *vps = ff_refstruct_allocz(sizeof(*vps)); > + HEVCVPS *vps = ff_refstruct_alloc_ext(sizeof(*vps), 0, NULL, uninit_vps); > > if (!vps) > return AVERROR(ENOMEM); > @@ -538,12 +546,17 @@ int ff_hevc_decode_nal_vps(GetBitContext *gb, AVCodecContext *avctx, > goto err; > } > for (i = 0; i < vps->vps_num_hrd_parameters; i++) { > + HEVCHdrParams *hdr = ff_refstruct_allocz(sizeof(*hdr)); > int common_inf_present = 1; > > + if (!hdr) > + return AVERROR(ENOMEM); > + > get_ue_golomb_long(gb); // hrd_layer_set_idx > if (i) > common_inf_present = get_bits1(gb); > - decode_hrd(gb, common_inf_present, &vps->hdr[i], > + > + decode_hrd(gb, common_inf_present, hdr, > vps->vps_max_sub_layers); > } Why do you allocate the HEVCHdrParams separately when you know vps_num_hrd_parameters before allocating the first one? > } > diff --git a/libavcodec/hevc_ps.h b/libavcodec/hevc_ps.h > index 9cdec9b6c1..ff94f90a5e 100644 > --- a/libavcodec/hevc_ps.h > +++ b/libavcodec/hevc_ps.h > @@ -150,7 +150,7 @@ typedef struct PTL { > > typedef struct HEVCVPS { > unsigned int vps_id; > - HEVCHdrParams hdr[HEVC_MAX_LAYER_SETS]; > + HEVCHdrParams *hdr[HEVC_MAX_LAYER_SETS]; > > uint8_t vps_temporal_id_nesting_flag : 1; > uint8_t vps_sub_layer_ordering_info_present_flag : 1; > diff --git a/libavcodec/vulkan_hevc.c b/libavcodec/vulkan_hevc.c > index 239bff75e5..a89d09a372 100644 > --- a/libavcodec/vulkan_hevc.c > +++ b/libavcodec/vulkan_hevc.c > @@ -563,7 +563,7 @@ static void set_vps(const HEVCVPS *vps, > HEVCHeaderVPSSet sls[]) > { > for (int i = 0; i < vps->vps_num_hrd_parameters; i++) { > - const HEVCHdrParams *src = &vps->hdr[i]; > + const HEVCHdrParams *src = vps->hdr[i]; > > sls_hdr[i] = (StdVideoH265HrdParameters) { > .flags = (StdVideoH265HrdFlags) { _______________________________________________ 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".