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 BE08247630 for ; Fri, 15 Sep 2023 08:33:54 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id EB4C268C765; Fri, 15 Sep 2023 11:33:51 +0300 (EEST) Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05olkn2023.outbound.protection.outlook.com [40.92.91.23]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 9905168C186 for ; Fri, 15 Sep 2023 11:33:45 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=hxZbs9FqURVsVOzec8gwjXUwTvkEIfCPPMqq4hbcGvR2zlAmDkbUd1REuzasKVtpsKY2Cgd+WIMuxhH6hLgUrbhltUnuYgNrRkdosXsh9swzvbQX+ZDTCFzfttCWNOW5qMaAHRdwl4N5rvzx2vqfdWms3Gxj9umyymWU3o/IhgU89G/lnGle1e3t5LzxD1raP6cljopBySjmMeqoeNINtTKvJE8EsNHcWTknkPjs0sjdvCvaaOZOC3Sp+Geeq7BlhYqoA247rSlsWooOtfq2Np6FjneH59SwAVr0e49/ogqSNsSeQIFQdkNOjRJIeXtF610Yj6k37N0dDzj5JyFD1A== 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=Y7/9VqQU94AoFn9b22BSTt6Tmg1Sqg9iWvfPMqjA4WM=; b=Egdpgosc7k8S5Xxwq84tqzOUeYwZvrqrPYV11CCeVd5DyrCHnrzfpKv2RrYi5UKU96L7Pcn6FVdQlsIytLr+LM4e7tm6ESaxQD0vkLkaHRb6IPfn4T0UdewjTQH/v7I+Bv5ti4trCzylV9XEc2Vw8Yw1FVZ0G3X1TxRpDM5GyUSg1XKgpBgFhaoQqQRny8T5LduB/ya06dW2yuhUrV8bh74edZdj5cvD1bYme9F8/UFWjajT3VA0ibmMRmPjwgN4pGOKWgvU8D7zK9T6nyiC30jEATkhQ02cFX+9S+0M7W/KE0XzN6qK3BcMGU1w534yeOVLog07Jb2dK7q03yU6rQ== 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=Y7/9VqQU94AoFn9b22BSTt6Tmg1Sqg9iWvfPMqjA4WM=; b=BvX3DzbwI2FzKwzmD7i+PpJVWc83/ZSSHfwS4VDSK4gCRj/+MJpa3GoqVuQTy8b1e6bs1jigxdAxav3pJUDSZ6C4OjTLLyJ7j5Lsn6NBAhD7J9gcMC1WjfRim4T0Kt1hbzHi3+/sB++zYqb8Ih1vbaidiDSYhtB+bwFIOyIk5Hd5YfT5ApODQVd83jU0DOjdTLHw+TSUeWWG4wcirOPnLfrs8H/D6ANd1mVWcyLWMwrP8b2V0xHszy7LLFpbx0BlMNNM8haCfj6ru1FfcJ5fegEWw/SN1h849PbQa+GWVGqIx/j+QGs3Y5tgFlP8l4y6T6HptgFv5VzSqUvdp61IJw== Received: from GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17) by AM8P250MB0107.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:36e::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6792.21; Fri, 15 Sep 2023 08:33:42 +0000 Received: from GV1P250MB0737.EURP250.PROD.OUTLOOK.COM ([fe80::3fff:eb7b:b8e2:4dba]) by GV1P250MB0737.EURP250.PROD.OUTLOOK.COM ([fe80::3fff:eb7b:b8e2:4dba%4]) with mapi id 15.20.6768.036; Fri, 15 Sep 2023 08:33:42 +0000 Message-ID: Date: Fri, 15 Sep 2023 10:34:56 +0200 Content-Language: en-US To: ffmpeg-devel@ffmpeg.org References: From: Andreas Rheinhardt In-Reply-To: X-TMN: [szmWO9r7zk+z4o0Msk6zy/b6jT5vJ1fp] X-ClientProxiedBy: ZRAP278CA0013.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:10::23) To GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17) X-Microsoft-Original-Message-ID: MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: GV1P250MB0737:EE_|AM8P250MB0107:EE_ X-MS-Office365-Filtering-Correlation-Id: ea7e63d7-d6f6-4ad5-29e5-08dbb5c677c0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: z8NMP53toC6a29FN+Vioo5K517XJdmQlgB9jwf6yamUdi3u7eR2ejrZAKLz03Nulj6nl3MA5DwLHlenjgkCAh4gk9koyoW76H9JUfcfvK5Iz2gXlKEGdVF+q2fQrt48PszeiFRg/HwvL7gU2LtyWd7r2Hv7vhQCKAcOPN1Q+2o4Qho9zfPlj2JkIVNzSVCKTFnsn4GvYK9luYgtl2/BqlStRSl7HWv+XMraTJK4D/bYUprykKvrqVEPsUNyPgaf4W7tRW+fU+ai11Yqh4KlCfyWKDPcAwJTjYX6WKdx44Zo28vK0tOMeKrcuTuSQxlucouH9SDuYFZnlehnKyy9tlMniUrrNnH2U+sh5F2C13Vn0KDW6B0gJRtBTSX1j78e07MPH/T6N9yKgsDa+YwZy1OwNVwuesofVlzV0OuuMMAWdKvEFdsTvldluSH+wfLYrRLucJjeJouWNZK4zu0GxgsSgDE0QxN/ih993xZzJPZHYR9gxUZVonbnf0w1BMYCJCFLNPB5RZY478bpV8L11JopF8Jgw4wAVWcI/nQ24Ws8ZmlmcCLST0hw/WdqQ9b6u X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?alhhVE9WK2FtV3NtcnJWOWkyQzJjS1hQZzN0OElHcVdiRktEeU1sZlUwclVT?= =?utf-8?B?WW1ZQ3phQWQ5MDJYWXB6NlQ0d0ZhVE5wRmdKL1FwSFg3aFhqRUI5MlJ1TWlE?= =?utf-8?B?blR2ckxVYjIzbCszbysxNWxVanVwc1NaR2JDKzBiTSt6Wnp1WWIrYWZnNW1Y?= =?utf-8?B?RnFvRFo2b2htNjNPV1hwRXJOdEpLc25RZGxSNTlVQUFSVlJxQ2trOEVWMnFn?= =?utf-8?B?WkNsUFUrZWdkYnZ6NlJqSE9yQ2lsY2RvdURic05COUkyak5IQjhiYmZtQldM?= =?utf-8?B?UXBwd054dEhZQUJNU0V4R3k1SElySzI0TnhuLzRYNGhRQ0dXZldYZGs4WHIv?= =?utf-8?B?TEVHUlZMUVFHWUFFVWxZRDNTcXVxelA2bUVQalNMTytodEkrcVZGdjA5V1FO?= =?utf-8?B?bFFBQVNZbGczM1NVcHJZQ0x5R1NEUUZxcW9ESkM4OHFSRk5xbUo0NHk4L3Br?= =?utf-8?B?d3pCbHltTmtUaUZSaGoxM1hpZXVuemJndXVrbC8xTVZ6SXhSU0loQ25TVjZK?= =?utf-8?B?b1VrZWNadFJWa2dneEV2TkVJdjh0WGFsWDkrRlBjZjZRQUwvdTRWSCtIK212?= =?utf-8?B?dlJrUXg0QXhRT1lqaHlkYytKc3lDc1E1QWFGYk5HM29acmlsSFV5aVNWYk80?= =?utf-8?B?SlRPdXhkNFB4RXVYMUJkZUlzYk1mU3U0ZzVpd3JSaGxQZDg2NzhhTUorS054?= =?utf-8?B?VVJCZkdMN290dk9BLzB1WmNOSTZYZjk4a08rdDNzSHQ1NmhGcEl5NTRvWGpG?= =?utf-8?B?cnFHaGVUekV3eFpOSFNCQjNrTG42YXhFQkNyWkRqeUxMTDBueUZrTTRvQ2s4?= =?utf-8?B?QW9lcDl0UTl3REZ6d0NtdHVtdDdhbkVjYUpURlNMYndzREVPbVpyNENYM2J3?= =?utf-8?B?SURBTnlkaktSVUdwVmpxOUcyKzVTcjNOdFJBcHcyZ3lKOUs0R0R6dTFpNitn?= =?utf-8?B?aTkxa1ljSHh4dzBlWG9DNGpYdVpZdlRkendQNTZUbjhpU09zT2NiWEhZcitO?= =?utf-8?B?d05hVWxqNkRLQWFtemRMMG5oOVhqcFFiY3F1dERUTTUvelhJYUF3UGNiNGJI?= =?utf-8?B?Ym5iYVVxOUdKUEgxcFYzdS9VZ3hXQ0JyMlZLVUIxSHorSHhpZ0xoVVVRR2tZ?= =?utf-8?B?bW9VVnFmTnc5OWE3ejZwTE9KbjlLOFcxck5rL1liNE9KQ3FnZmk5SWNQQ2pJ?= =?utf-8?B?VkhyT1U0dlM0YkZJZThtOWNWd1kxUXFyUzFKcVpkdjBXQUlmTS9MQmcvVTNF?= =?utf-8?B?L3ByMzI1NlZPOHFZK0V5M29zYm5URzBIRElUejlObCtQQUtvVUprb1N2Z3cx?= =?utf-8?B?V3ZDejJ1WTFFWDJNMGI4RStMaVVObFR1OFNpMmswRkJUQW9mZ3NFbzJ6NVQ0?= =?utf-8?B?NllXOUFyaTJ4OFoxNTZoeWVvek90Y2tiaHRvdHRZQmppRHB4VHh2cVU5NmFs?= =?utf-8?B?VmlSbjJvLzFNVUliazk4UkJOM2ZsL3ZIeTNGYlhrdlV0VnZlQ0FaVERZRkhO?= =?utf-8?B?Ri9nTXFyeWJna09Eb05hWnIxUWU5ZjZucEI3RmMrZUJnNGQwakRWWEt2YTB2?= =?utf-8?B?YjlvWnNWNHBIMzVSbUpWS0VKZDl3S0NiYUtxTGFxNzdMVk5uekdjR01GSE00?= =?utf-8?B?TTF5TkdYTVNYaWo1MkdXdVRYNm5kbXA2cDN1VVBFdnhqQlc0b3p6KzVWNS9o?= =?utf-8?Q?nZWXkS7bbvHEEpy0jX6z?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: ea7e63d7-d6f6-4ad5-29e5-08dbb5c677c0 X-MS-Exchange-CrossTenant-AuthSource: GV1P250MB0737.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Sep 2023 08:33:42.3986 (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: AM8P250MB0107 Subject: Re: [FFmpeg-devel] [PATCH] vulkan_hevc: switch from a buffer pool to a simple malloc 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: Lynne: > Sep 15, 2023, 03:00 by andreas.rheinhardt@outlook.com: > >> Lynne: >> >>> -static int get_data_set_buf(FFVulkanDecodeContext *s, AVBufferRef **data_buf, >>> - int nb_vps, AVBufferRef * const vps_list[HEVC_MAX_VPS_COUNT]) >>> +static int alloc_hevc_header_structs(FFVulkanDecodeContext *s, >>> + int nb_vps, >>> + AVBufferRef * const vps_list[HEVC_MAX_VPS_COUNT]) >>> { >>> - uint8_t *data_ptr; >>> + uintptr_t data_ptr; >>> HEVCHeaderSet *hdr; >>> >>> size_t base_size = sizeof(StdVideoH265SequenceParameterSet)*HEVC_MAX_SPS_COUNT + >>> @@ -93,22 +94,18 @@ static int get_data_set_buf(FFVulkanDecodeContext *s, AVBufferRef **data_buf, >>> buf_size += sizeof(HEVCHeaderVPSSet)*vps->vps_num_hrd_parameters; >>> } >>> >>> - if (buf_size > s->tmp_pool_ele_size) { >>> - av_buffer_pool_uninit(&s->tmp_pool); >>> - s->tmp_pool_ele_size = 0; >>> - s->tmp_pool = av_buffer_pool_init(buf_size, NULL); >>> - if (!s->tmp_pool) >>> + if (buf_size > s->hevc_headers_size) { >>> + av_freep(&s->hevc_headers); >>> + s->hevc_headers_size = 0; >>> + s->hevc_headers = av_mallocz(buf_size); >>> >> >> The earlier code did not zero-initialize the buffer. I thought the >> set_[vsp]ps functions were enough to initialize them. >> > > Better to be on the safe side, in case I've forgotten to set a reserved > field (or better yet, I should remove references to them in case they're > renamed. > > >>> + if (!s->hevc_headers) >>> return AVERROR(ENOMEM); >>> - s->tmp_pool_ele_size = buf_size; >>> + s->hevc_headers_size = buf_size; >>> } >>> >>> - *data_buf = av_buffer_pool_get(s->tmp_pool); >>> - if (!(*data_buf)) >>> - return AVERROR(ENOMEM); >>> - >>> /* Setup pointers */ >>> - data_ptr = (*data_buf)->data; >>> - hdr = (HEVCHeaderSet *)data_ptr; >>> + hdr = s->hevc_headers; >>> + data_ptr = (uintptr_t)hdr; >>> hdr->hvps = (HEVCHeaderVPS *)(data_ptr + base_size); >>> >> >> The standard way to get pointer that is at a certain byte offset from a >> given pointer is by casting said pointer to char* and applying the >> offset; casting to uintptr_t and back will work, but is actually not >> guaranteed. In fact, the whole data_ptr variable seems unnecessary. >> You may use FF_FIELD_AT from lavu/internal.h if you think that it is >> helpful for this. (I don't think so.) >> > > Couldn't really think of a way to remove the data_ptr field. > Do you have any ideas? If not, I'll push this later today. Ok, I now see that data_ptr is used for more than one line and in a way which makes it hard to avoid. So keep it, but make it char*. - 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".