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 DFFC24762D for ; Fri, 15 Sep 2023 01:00:51 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 89A6268C879; Fri, 15 Sep 2023 04:00:48 +0300 (EEST) Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05olkn2109.outbound.protection.outlook.com [40.92.91.109]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id EC1DD68C709 for ; Fri, 15 Sep 2023 04:00:41 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=QMMi3fb5H6uYrZ+RmFYVTOUs9hllkj/XysTnYlTipimi1whcXrzjkoIUsICfyVI0yFjncYooxy8FIGjWrlNotPy1nErICDiEzN7qWD8qjGS758DxvJEKWzMq3GgbVzf3qmYltVUz1ZC/e0+fTS6p4aZFk1fDCrQGq6R6vX2EVW+1jr6a84yRpoh+EXcctbSz9QwtcAtPhNomQE21jFujuunhN8VELQvOPqykAAFkzmHMIAy8cYHMBqR6CVVisvzkgHAa8XQ4KSxksstxep+gqc6FsnJVS2fDO77D1jGWC7l3idiaNZQLV3ygKqAFeXkMlInTGWQdtIt46EAK9pX+Hg== 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=SDdvG+k4fc3/vaFl94X77drUC1JtHUak650ZxdQ3HI0=; b=FxOVL12rb18UlyvYxrawf8PG1p/RLgEuhYr6nDOY+nc7hFzxtMk0CCv7yS8LRrodj+VdQwYQVbSNibGxmGFBeTJQqmk4KG18OjR67k1QQp1ipCA7t6YUAgZJJy8O7Te0hwMwrQ3Lxg4QjHQPhzCqOImck0G9wKQ6dcSw01lFh1N+apwqABdaGBnOHISfaKxWuioxZc29cZG8HvnJOGRnCJ2NZaOtkfZ9zEj31IATwoGNAFL6dvnGk4TC2lwbuBVEgL6y4/CoWMsO17T/PHgSNZeb8S7/MWBj6yRARQUdAyuEpNmG4QhrW3tRQjQ3q2UFW+bZR90W8zVw6g3M+ImxwA== 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=SDdvG+k4fc3/vaFl94X77drUC1JtHUak650ZxdQ3HI0=; b=SpkWwhkZee2wMjh5Gs1mHhsVPnsfMi193dRDiwT3Yd76L4AyrAwW2mQkClSiSUwLxurdV5rj8M/+PoRfPH433ux6PGg73TZladHr/eDh+VDcw04LgdpFgJKCxETe+TOaFEGKGWM0CUztPv0UxITfWlxNb86qAyS9QdjK5wIXwJvRxIz6w3b3wu5PLgdpqAvQEDi+e3ntYee2P2AbZcTc38ccIzKtzOM3qB3WAHCPg/nqrUidcK8P76H3d62A0q3Ek8UWLj7DQ4cFlgN+RoLN+vNe0ZMyCnpdjFUHhIn+dl42ntpEjw8aH+UY95YKo6IH284xaM89YVmme2Hgn6i+Ow== Received: from GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17) by AS4P250MB0413.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:4c0::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6768.31; Fri, 15 Sep 2023 01:00:40 +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 01:00:40 +0000 Message-ID: Date: Fri, 15 Sep 2023 03:01:55 +0200 To: ffmpeg-devel@ffmpeg.org References: Content-Language: en-US From: Andreas Rheinhardt In-Reply-To: X-TMN: [bnLJT7KFOvAbl9g1o1KmMafXi9u5MP7Y] X-ClientProxiedBy: FR3P281CA0045.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:4a::16) To GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17) X-Microsoft-Original-Message-ID: <72d974e8-5f30-19cb-7cf3-3cbb02a41601@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: GV1P250MB0737:EE_|AS4P250MB0413:EE_ X-MS-Office365-Filtering-Correlation-Id: 1d56f075-9d56-4e7a-93a1-08dbb5872e1f X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: wmzF43czgfTp3sIONTQXBI9O0NsYbPvsw763k5XvhrEGicPY67E2+GegeMksTQzMq18JCwZV4FIsuPJ5C0nHYJCprzdZTutcdFDIkbcaVgumROWyKe1QFwqHBt4T0ILVPXsiLQcfJdTx5jQ/GMgTrh5joypr8IJFhXuQLCuxQEccIMKaDKHpAW3HIEJPvdfcb6V4QUZRmIsIzSjxBo3yVYz14MlI1gnzNKtzGvb3AjLoma6KCjCVLJzi8hXlM2tVJoWbpNROuLRlRAF+q53xKCKKF9UkE4kOog/XSwjDlLfIuHPz4fVl9WI/L6wkAAZ1zsQ8WNoT41vhbaE5oxg0+fu/Yx+CYkynSUDA1NF4RYszaRCnav34gH5y9dFxv/+p/7X/QNJlUjzqCXe/69r+gdQ1HwXSUClo/YAAlwvdw278l7aQIZviVtijGn50cj8BoLHY85woIKYLcd00ZgTUomP5n+LzqMOxKEtOvM3yDplgtBLfuRLvtm4Bkpd6wtYqy0Wz5nRfYAaYFOMj3jACz14kjjiLjuNp05HVjrVF9qkFKCF77V+dbGJRBew2Liok X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?emJYaWFWbzg3YzloYVhFRjhpbUsrUDg1NnJGSW9RclNaODl2UEFQOURQNVU2?= =?utf-8?B?UXg5N0QwaTlBMDVtbE41eTdWUjA5OXdWNUxJTzFEV0YzeFREUEhTNzMvL3BP?= =?utf-8?B?OEx3VS9hZkhrVmcydlR6UzBid2Z3TE9ydlEzVFcySWpBbndFTnMzdy8ySXN3?= =?utf-8?B?QmwrNFF3K3FvOTZFTTZhSVd3YWhEU2YrR2YwVXJHQ2VoYy83eTdSSUdlYklm?= =?utf-8?B?MU1wYk5nSEdzNm5LMjdlSlROeERHMDNKNjlXUHlrU0NuNHdUUkpMN1RjL3lY?= =?utf-8?B?WWVNRHJ2ZFBGVVJjLzBkamM5REk4Tk5maXBHekNYbUprSzc1dFYvZEE3b05y?= =?utf-8?B?OFRpM3RWQWNFbW9lLzlKS1M5aXZoTkEwYVU3MzQ3aVpoM3pENkxKTDZteHlv?= =?utf-8?B?SER5SHVFUEdpYTlYQzN1L0ZKNlEzRlBIM1BJWjlvQXFlSGNjd2tQbGZwUXQz?= =?utf-8?B?akJncFBrTWJrc28yOUR6QjM2aTlYS1Jid282SHplT2JsVUdGSTVjbmZIaTc5?= =?utf-8?B?M1plNzhYSkQ2dTQxdVlvbDEwTWxvZ05vTzQzZFg5aFIvVzdpd2hYY0krK1Jn?= =?utf-8?B?S2dqWldTZEhoOGN6NXBXQnMrQXNsQlFwRVVUMi8wR0pHVHJBSTRuY1FSazNS?= =?utf-8?B?Q1NscS9lcHRxNDBGSDJTWUF5cVhEeUVBbXZXNWdsVlp2SmdhOTcvdHdpRXJ1?= =?utf-8?B?MkR5SzdRMXR2OWFqQ0hZN3p2L1JvendWRTFwcDdhV1dKQnpGZDRZSlhjdHVy?= =?utf-8?B?Z2tMTW5CQVNubWo0SFlqbjFDNVFvRXJ6VlB2Uy93OVlvUjYyLzhUY2wzeVBY?= =?utf-8?B?S1lLNDREQUk5ZlBsN0d3MHBQSXB1cGhrOW9jS1BBR2VXN1lmWU15MlpVSkVr?= =?utf-8?B?V2J1Z3dLeW9JYmxPUnhWT0V5cDhSL3JISEZPWTB1ZTVvZU1HbjZSdTNJMkV0?= =?utf-8?B?bEVOVy9kdDBoUWpuRUFOS3c5cm11UVhXNXIxdnVEV3ZTU3RpVXc4ZmlmeUdM?= =?utf-8?B?QW51VDlib2I1TUowUjhzNnloL1RhZ1pPUGdzcU1HczJoTEs5TjQrMzN3RjhU?= =?utf-8?B?U052RCt5WTM4T1Q3cGVGVG9FMTRQaWRuL01jY2xubzN4NmdxdnE0ckhDM0Vw?= =?utf-8?B?K3FQNURMeVFKdmZCQUlkUmxqdTMwWUNucUZBUU1UNncvUVZUKzJBaGZTQ0JG?= =?utf-8?B?ZnJCS2dDRmdXWCsySXg4cHlVVzQwOFQ2WFFhd2Y1NmQxT05Va25wQUxnZ2dq?= =?utf-8?B?Z1VTbStEZ2o3NU0zOGNLRUlGbUNBMnRPMDRra0tQdVNLV2VhMXhKazJUU3V2?= =?utf-8?B?MVRwbzR6TjlPZjgzc2daVGRSL0hmdVdxazFGZ3hDRHBoVDRrR1Q2S1liMEpr?= =?utf-8?B?L1cyZlpVclcxcmd4L1NlNHZMVC9MSG1JSU16OXI0QnNPdGpCYWlhTzZoQWtq?= =?utf-8?B?U0svNi84citOVUVBRld3djA5eEdnOUFVQ1F3cjhaUGlZMkl4a1RxTEZMN2ZF?= =?utf-8?B?SFBET3VVd1IySGxEMUhvUUg5Z09kQVFRZER0Y0JNRDJicXd6cEc0Ny92clNw?= =?utf-8?B?ZzBlMHV3VXVRTm1tM0VubW1HVmVLNGduMHhQWlltdkZKcUhzNjk5aVM0TFFh?= =?utf-8?B?QWlUNFBuN0tiUjZleUZSclU0bWsxUUFmVUIvK2pmVWdTampsSFkrK2xVK1Jh?= =?utf-8?Q?xfqVU23F6Z651SM3CN74?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1d56f075-9d56-4e7a-93a1-08dbb5872e1f X-MS-Exchange-CrossTenant-AuthSource: GV1P250MB0737.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Sep 2023 01:00:40.5284 (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: AS4P250MB0413 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: > -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. > + 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.) > data_ptr += base_size + vps_size*nb_vps; > for (int i = 0; i < nb_vps; i++) { LGTM apart from these nits. - 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".