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 ESMTPS id 40C234C2AD for ; Wed, 22 Jan 2025 21:14:45 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id B5FA568B87F; Wed, 22 Jan 2025 23:14:42 +0200 (EET) Received: from nef.ens.fr (nef2.ens.fr [129.199.96.40]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 3BC2868AFE2 for ; Wed, 22 Jan 2025 23:14:36 +0200 (EET) X-ENS-nef-client: 129.199.129.80 ( name = phare.normalesup.org ) Received: from phare.normalesup.org (phare.normalesup.org [129.199.129.80]) by nef.ens.fr (8.14.4/1.01.28121999) with ESMTP id 50MLEZY4022676 for ; Wed, 22 Jan 2025 22:14:35 +0100 Received: by phare.normalesup.org (Postfix, from userid 1001) id 7B7252EFE0; Wed, 22 Jan 2025 22:14:35 +0100 (CET) Date: Wed, 22 Jan 2025 22:14:35 +0100 From: Nicolas George To: FFmpeg development discussions and patches Message-ID: References: <20250122025403.14457-1-jamrial@gmail.com> <20250122025403.14457-3-jamrial@gmail.com> <698b2dc2-3d2d-4a8d-860e-1a3ff8b355bc@gmail.com> <2eae031e-0087-4a43-bd4b-8a3cf05ce3cd@gmail.com> <63bbb803-a1f2-49e0-8860-92e7104e98c4@gmail.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <63bbb803-a1f2-49e0-8860-92e7104e98c4@gmail.com> X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.4.3 (nef.ens.fr [129.199.96.32]); Wed, 22 Jan 2025 22:14:35 +0100 (CET) Subject: Re: [FFmpeg-devel] [PATCH 3/7] avutil/frame: add a param change side data type 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 (12025-01-22): > Actually, i just realized i can't store an AVDictionary or a string in a > struct like this that's meant to be stored as side data. It has a to be a > flat array with no pointers to separate arrays. Hum, good point. That limitation of side data is very annoying. We should get rid of it, especially since it is not that hard. The issue is that side data has to be flat because its refcounting is built on top of AVBufferRef when AVBufferRef if only good for flat data (if it is even good for that). So, plan: - Add to AVSideDataDescriptor function pointer for free() and clone() and ref(). - For existing side data types, these three fields are set to an implementation working with AVBufferRef. - For new side data types and side data types we want to de-flatten, we populate these fields with an adequate function. That would be a tremendous enhancement to the side data system. (Having a structure for every type in FFmpeg that contains function pointers to free, ref, clone, display, parse, hash, compare, etc., elements of that type was a project of mine. It went nowhere for the obvious reason it requires an efficient strings API.) Regards, -- Nicolas George _______________________________________________ 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".