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 7F2C74A111 for ; Thu, 21 Mar 2024 12:54:58 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id F14C568D51C; Thu, 21 Mar 2024 14:54:54 +0200 (EET) Received: from EUR03-DBA-obe.outbound.protection.outlook.com (mail-dbaeur03olkn2061.outbound.protection.outlook.com [40.92.58.61]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 10AC668D3EA for ; Thu, 21 Mar 2024 14:54:49 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=TASbM8d3s5de82bBFAPKGy5neq4OCkE9B2f3Sohx9fDCKAx/Dh2tC0OnsJcbVUUx7FmU3E5WuugWwHwm2l76RFiQsG45Hag0vIIq+FXVV0bSAFPdK5lv8h0VO0htiLlMKmtCMHXK0LEMrB+ODKgtxcZtHJxw2xtdazT1vCqOKnApiu7GA3Tonaq6mT8u+mAGyQDUen3buBp6QS8HPrkJh+frh2ZibpqAB/smTbHGqWjKBXJhcvtZqYk3RDUdQKWWGSWP31Ax3Cfma7JYmR+i5DY1gcCmmElSi4L6zoruKT3RD4i0Jye8PkE0FdtScvvb9GKzaaRne8EFghbP24KxGg== 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=s51j/lTI11954bwo2kpvvpwQKbZY5J4cBommfTtiQIk=; b=nRxI9ZT5Dhc77GLmGEBROu8zOLLLQEgl50pmtMXPo1PwjLw9HlJBkgMF9+muH/1DqcWxmbk3Hjvh5E750KypsBsWXxnKtVyjJmXO3mfZp/C+a1shD1pP9VKUvoPtrGVikHUwb/089f75/6Qx8zqriqflm87NjttXeD37xqeD7NLoicLZkqfi8apRRt6cYmipHw04UsI28N51jK9kK4xga/MudwsHD67cH+L10sZ9HGwZia7xXTow5fja4ZfRNm9ZNiCrIEXt1grCMiIsIjg19Z3t2MqrFwrsAdE+M3uwFfuVA0JLdvysOx6ia13LHeKwGUIo/cxTG8RkaYk3CHusfA== 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=s51j/lTI11954bwo2kpvvpwQKbZY5J4cBommfTtiQIk=; b=jGbdPizMakInYrRh3oDooUQrA8R9ZCDC0OLIIzqoUaZd2dZFoNZkCMCkF1QXw8rikV7aNqjRKpBazzJ3RDEb1amkSo9uH5iybvaxy4J1YcpVa8yZe+r61S4hwvtRMnE2AbxwdDmRn95tEh31H6ORqKUqc6cT76Ga87jL1aUx2SgOEynEe1EEx7GQmbNuOgeJlyQWXq/8IwNJWkDzYwrQrWaxXUVeE/kf3zx9Q43dYRJ7LPhLMdr5zIFXD5lgkm5iDLETnnGDw0UsgY46jsoM1cEBYg7PJpA+kdSgF0H67x0f0WbfN7fehTVJi3S+tJU9RWVV/5+jJLh5yopzLROliQ== Received: from DU0P250MB0747.EURP250.PROD.OUTLOOK.COM (2603:10a6:10:3cb::16) by DU2P250MB0062.EURP250.PROD.OUTLOOK.COM (2603:10a6:10:2b7::10) 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 12:54:47 +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 12:54:47 +0000 Message-ID: Date: Thu, 21 Mar 2024 13:54:45 +0100 User-Agent: Mozilla Thunderbird To: ffmpeg-devel@ffmpeg.org References: <20240321122922.7643-1-jamrial@gmail.com> Content-Language: en-US From: Andreas Rheinhardt In-Reply-To: <20240321122922.7643-1-jamrial@gmail.com> X-TMN: [TJEj+A4oYwJcdbv5l60IxPaBjQrygTAQ6Z0PAbn4WV4=] X-ClientProxiedBy: ZR0P278CA0039.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:1d::8) To DU0P250MB0747.EURP250.PROD.OUTLOOK.COM (2603:10a6:10:3cb::16) X-Microsoft-Original-Message-ID: <91132e10-56f3-49f3-bebf-01b21e490693@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DU0P250MB0747:EE_|DU2P250MB0062:EE_ X-MS-Office365-Filtering-Correlation-Id: 7dbe9d3e-5c2f-48f0-dd0e-08dc49a61680 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Fca/ulnC9Tswm/oux9ocX+QHLgSuihJcVsEbnVfsEB0SYgJeUTMXKPNRSDMlxVDc+6MXXsLwJ8/n9S/W/0iPtWhFGIGQNib9YfnYyjiGGAwT3kJOGwWMdmQHAwSILeWYvOY9yEqt4x/YY//IE8EDT0la5tH5Lun9XZJiD60G+jyFPtEj2nuCIAy7cChgjQpvSLXYUWdzjt2cA8QZDVaeH6heX+4Ks6oIFvLy2ya5PVQMS/1UdaKMsVKA72wobDR+1sqGWwm2aQ75fQa2TrMcR8xjDx2PZbtoiZGDDkfoDGuiofYqUPyPI2zr9P3UJLxscBj8w5/4T+HATYqbosoOhA1fpggASvNp+2o0l2dLg7tvgfNldF9j+UTmtWrN4TzV0kyK3Y1T3cVt2cMYm5hTo0lFBqk7FfcljHEPQ1kRmyD5W+gtI2AHz5cCzZkymZtmFXaF5YwvnZ+B+lDpQaQFDgFgcNcWaB5LneqGEZ3HgxWIabsS7bpuTS2C3jn5vMREaxBEgfoAx3gv1GDEOifElfA+8JtyL5PeRPIvJi7oKUBxG7HCyW5errAMNRiH6Gb1 X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?a0pkUlI4RVg0N25Bc1F6RGg3RjBFY0pUN0EwYU1VeWVoTE1PUGJBaXB0SCs0?= =?utf-8?B?aWVBYjZzY2E5Z0owQnFSbDlqVDVuSGt3dFYyUWxkYzVyMWE1UGt3K2RpOGM3?= =?utf-8?B?OStzenFkdWVtWm9FUXBEY2xJaFZJS2pXZDlzd1FUSTkwNytrcitnL1JObTh0?= =?utf-8?B?R2xaRVcrVWpNOCtOb2YrYUVzQjQ2K1R4bmg4cjJYSFBaakVyTlhHd2xibWJk?= =?utf-8?B?TXFqSzlYMG05Z1gvMVZkRXFHVklrUk5LUGRqU0FFRmtFbzE3SU4wMUhQRnpY?= =?utf-8?B?b3dNRW4zWnNkQVdKc3JxZytRSGtJUjVVcCt5MGJYZExBM3lVSHF3NUdIK0tO?= =?utf-8?B?VDVrSU1zL0dUc083YlhXbHQwU3VFeHBBbUI4aDZUdVFqNUNJSFE1ZnczT0R5?= =?utf-8?B?MklGYUdNdDc0YTVRUU0vY0dQcmpzbVpadXViV0JmV0UrdXF0UlZmZzYwdnZ5?= =?utf-8?B?MjQxK1pPUUJUMytHRTludlQzaWV3M1NUNndMeVhqd2FYVEFTanphVUxtd1VN?= =?utf-8?B?ZlZDb0RQSDBFUGNSMjZEbnQxR2VWZW5RYkEzbnBaQ090eERHbjU1dUo2bWsw?= =?utf-8?B?U1JTTm41S2t6S3F5clVWRm5jbGMwSG9PM25TSUtZaDU2NGRoRVR5SjdMMGpQ?= =?utf-8?B?RHlmdDN4cEp6aXdwODQ5UlAvK2RyMnhFRWhBL2tZYnNhY2sxdmhObEhrRlJi?= =?utf-8?B?b21VdUZCU1RkT25ZWHNYRGtGcFU5aENwbnMzMk8wMlRiWjRIazYzTFZzOGV1?= =?utf-8?B?NkgraENMbjhhUiswaThZb2VkOEVQenNxS0U0dmdsc01QclgvWlpveitYT2wz?= =?utf-8?B?QVArTXFMWWtFUXBIVUd2V0F5d1d3QmhDclByU25BcW03WVRoZDhOWW1ieVAw?= =?utf-8?B?dU1PSmxhUnRYbVQ2TzFUL0x4ckgxbGJxRHI4VFNnd3JGVjlJSHBibkU2Q2pG?= =?utf-8?B?eHU0bDU5Y3IzZExMOStWU3d4SGtXL01oVGZwdEdrNEdDSnBGbU41TUU2TVBQ?= =?utf-8?B?VWw1UWxNQ0ticmY4UGdVY2NuOWsyYVp4c29lL2RNYUZyM1Q1L2YvMHcwN2U0?= =?utf-8?B?aHYwL0RYMDVJOHZrK045MTQyUE1ZZkJ0a0FkR1VwdUpYdkYvSm9sZXBoWnk3?= =?utf-8?B?T3c3YmpNZ1I2MWpRRTdIM0t4bkVNR20wZVA4UytWSWt4RnhCSFczZmNtMXlS?= =?utf-8?B?UVplM1h6RW1DK21Bc2Y3Y21zNGN6SDNqQWdLT2o0NXlId3RtTGVqa0VRNm82?= =?utf-8?B?S21kRktLcWtoYy9oeFVFSWpGQjU2QUU2ZEdBQjZoTHdPczNCTDY2MjNsSGYy?= =?utf-8?B?ZUppWXN3aTdBWTFxWGhpTzhlTmRtaHRseHV2aU5jMnZxeWxzYytZZ2tyR2dk?= =?utf-8?B?MmFyOGZDRVVEMFEzZTRlN2hCdHRlUjFCeG8yTUh0RUVySnhHcFFNZ0o3LzlZ?= =?utf-8?B?Wjh4eWZUV2lTUTlSWkthYm9YaDdiRnVOOUUxdG1rdCtoajdBaXZEbTVvbEtL?= =?utf-8?B?S2ZQbGkyTnJqSW93NkFWMEJPaFRkOERibDZuNm54SWZYTUZmempCbkdHV1dJ?= =?utf-8?B?ZEJqY1kvZUVEbWFpcHFIZkFqQ2xmSTBWZTlFSGJYZkZBUjFWYmo1VmZGazli?= =?utf-8?B?U1d4ekNaVFpaMVQwdFV3dHFYN1cwVnNrM3VQMVIwa3IxSTZrbkQvbFRCN084?= =?utf-8?B?SHdpQmZ5dXRvQWV6VEdkbit4NXVKZGxBN2pTS2gwV0pyQ0xTc29GeDlBPT0=?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7dbe9d3e-5c2f-48f0-dd0e-08dc49a61680 X-MS-Exchange-CrossTenant-AuthSource: DU0P250MB0747.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Mar 2024 12:54:47.2881 (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: DU2P250MB0062 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 | 14 +++++++++++++- > libavcodec/hevc_ps.h | 2 +- > 2 files changed, 14 insertions(+), 2 deletions(-) > > diff --git a/libavcodec/hevc_ps.c b/libavcodec/hevc_ps.c > index fb997066d9..d29cf9f372 100644 > --- a/libavcodec/hevc_ps.c > +++ b/libavcodec/hevc_ps.c > @@ -438,13 +438,20 @@ static int decode_hrd(GetBitContext *gb, int common_inf_present, > return 0; > } > > +static void uninit_vps(FFRefStructOpaque opaque, void *obj) > +{ > + HEVCVPS *vps = obj; > + > + av_freep(&vps->hdr); > +} > + > 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); > @@ -533,6 +540,11 @@ int ff_hevc_decode_nal_vps(GetBitContext *gb, AVCodecContext *avctx, > "vps_num_hrd_parameters %d is invalid\n", vps->vps_num_hrd_parameters); > goto err; > } > + > + vps->hdr = av_calloc(vps->vps_num_hrd_parameters, sizeof(*vps->hdr)); > + if (!vps->hdr) > + goto err; > + > for (i = 0; i < vps->vps_num_hrd_parameters; i++) { > int common_inf_present = 1; > > diff --git a/libavcodec/hevc_ps.h b/libavcodec/hevc_ps.h > index 786c896709..87cea479e9 100644 > --- a/libavcodec/hevc_ps.h > +++ b/libavcodec/hevc_ps.h > @@ -152,7 +152,7 @@ typedef struct PTL { > > typedef struct HEVCVPS { > unsigned int vps_id; > - HEVCHdrParams hdr[HEVC_MAX_LAYER_SETS]; > + HEVCHdrParams *hdr; > > uint8_t vps_temporal_id_nesting_flag; > int vps_max_layers; That's what I had in mind. - Andreas _______________________________________________ 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".