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 31E834024A for ; Mon, 17 Apr 2023 11:52:04 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 7547C68B1C4; Mon, 17 Apr 2023 14:52:01 +0300 (EEST) Received: from mail0.khirnov.net (red.khirnov.net [176.97.15.12]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id E9B36688154 for ; Mon, 17 Apr 2023 14:51:54 +0300 (EEST) Received: from localhost (localhost [IPv6:::1]) by mail0.khirnov.net (Postfix) with ESMTP id A25FD2404EE for ; Mon, 17 Apr 2023 13:51:54 +0200 (CEST) Received: from mail0.khirnov.net ([IPv6:::1]) by localhost (mail0.khirnov.net [IPv6:::1]) (amavisd-new, port 10024) with ESMTP id uB6vCPZHkH5t for ; Mon, 17 Apr 2023 13:51:53 +0200 (CEST) Received: from lain.khirnov.net (lain.khirnov.net [IPv6:2001:67c:1138:4306::3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "lain.khirnov.net", Issuer "smtp.khirnov.net SMTP CA" (verified OK)) by mail0.khirnov.net (Postfix) with ESMTPS id AD3F32404EC for ; Mon, 17 Apr 2023 13:51:53 +0200 (CEST) Received: by lain.khirnov.net (Postfix, from userid 1000) id 901831601B2; Mon, 17 Apr 2023 13:51:53 +0200 (CEST) From: Anton Khirnov To: FFmpeg development discussions and patches In-Reply-To: <7dd256a0-7ce5-8609-8ba2-abf79a33d730@gmail.com> References: <20230412194936.48022-1-jamrial@gmail.com> <168172855674.3843.120092233348005833@lain.khirnov.net> <7dd256a0-7ce5-8609-8ba2-abf79a33d730@gmail.com> Mail-Followup-To: FFmpeg development discussions and patches Date: Mon, 17 Apr 2023 13:51:53 +0200 Message-ID: <168173231354.3843.5901794414860824545@lain.khirnov.net> User-Agent: alot/0.8.1 MIME-Version: 1.0 Subject: Re: [FFmpeg-devel] [PATCH 1/5] avutil/frame: add new interlaced and top_field_first flags 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: Quoting James Almer (2023-04-17 13:32:16) > On 4/17/2023 7:49 AM, Anton Khirnov wrote: > > Quoting James Almer (2023-04-12 21:49:32) > >> Signed-off-by: James Almer > >> --- > >> Missing version bump and APIChanges entry. > >> > >> libavutil/frame.h | 9 +++++++++ > >> 1 file changed, 9 insertions(+) > >> > > > > Changing all those into bitfields of size 1 might be better, because no > > code would need to be changed. > > Can you elaborate on this? If i do > > > diff --git a/libavutil/frame.h b/libavutil/frame.h > > index f85d630c5c..3f3deab657 100644 > > --- a/libavutil/frame.h > > +++ b/libavutil/frame.h > > @@ -494,12 +494,12 @@ typedef struct AVFrame { > > /** > > * The content of the picture is interlaced. > > */ > > - int interlaced_frame; > > + int interlaced_frame: 1; > > > > /** > > * If the content is interlaced, is top field displayed first. > > */ > > - int top_field_first; > > + int top_field_first: 1; > > > > /** > > * Tell user application that palette has changed from previous frame. > > It's not only an ABI break, but i assume the compiler will still > pad/align the struct for the next field, so you're not saving many bytes. Yes it's an ABI break, so the savings will only appear at the next major bump. But with a deprecation we'd have to wait even longer. The idea is to put all these fields next to each other so they'd form a single unit. We could also reduce flags to 8 or 16 bits until/unless we need more. Then all of these would fit in the size of a single int. -- Anton Khirnov _______________________________________________ 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".