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 AF10845E94 for ; Mon, 27 Jan 2025 12:43:36 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 7207D68BC65; Mon, 27 Jan 2025 14:43:33 +0200 (EET) Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05olkn2052.outbound.protection.outlook.com [40.92.91.52]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id BAD9B68BA9F for ; Mon, 27 Jan 2025 14:43:26 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=MbGdwUZ/B0qeBegjQtbNyl6Yz8WAO6h3+9sqzS/gGu1mph8NeUwO/uJ+RDd0VH76hJKfLZElE8EFxtvdd9kv4fKI6C5WTr8z2nl2F/01xxm/V+7197kxOFD4AmTUwnglfqCw3tNELBGmAYL3RWI7IVu0yQUO2L2YpFMR+zX4KjMyayBd98HpEt7zcFYsHoeGAeypKCXxUe/Hlyp3ei7mbeb5DMaflknNapILu9QujxOE30phg3Ik0HUrC4yNALhBrikt9V1vRZYA7aJeBjVO1EnlFgbJ9NAgdGmYJQu65AZIy9MGtnSwoINWwb3MKNuvPqzhE8n9CMZl7KJCNVvlkg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=flCwYXBycLzEXcuj3qxjvqWXTkN3ptSBe1NRSK5PYDk=; b=jJhGsnBWi/zzGYeAvUXstPuGpl0a570BmuUr0LwEGade1jerO3ylH3K93wubnRdD7JDsWrERNBgvcSt9APPpUw5IZRsMFDJfTCnBXWyjgWA/ZzmokGclJM6D87WC8FpQIBlhPh9AAb3lzpnTdYXZQ/34Z8GoIhg3e84ZVHGfCbzBOfYWF0rsQ68WFkgmAAo3qZTyKm+kn158zfSuhSlzGaqtXczJup/k85BN2qZjsyxOGUOKFQXOh1h9hUmyjEza0x2xHkiOUN2Gy8DULA7K74piJGgxan0kUHaZCYMM00OuRERBCkuwuBmp0WXiI3PF3vslVnI86MofGKGz1onpnA== 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=flCwYXBycLzEXcuj3qxjvqWXTkN3ptSBe1NRSK5PYDk=; b=MUmeIp40PTxIXopb833W0cZN2ymgdXw835GgreSm4E5Eg2RBxbWKtNrHjSpd6ekE/zuwRWzsBf8RW0BI2b/7axBG9vaQcPcsorUFkA2R309lwYQKOlshde2UaNtXSRHHzazVMtMPDMCPDhMkucUTCG53Lzw6WDBXpuCFDRAIcU2msO+YrBk9etsqJ2Vp17CJAMIeeXj6OBTtdkn+bkpeRj02sbgfr0HF50RBcRzB47RVwZqWCiBDmsIATRbf5ZsDq5hGYQG2PzCZTSa145Mq45fxsNFVoujWHjXVmTSI2RUSR87BDwd3439GTPLlfOLav1DxlX271y4Xdj4rNCo3EQ== Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) by DB4P250MB0880.EURP250.PROD.OUTLOOK.COM (2603:10a6:10:384::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8377.22; Mon, 27 Jan 2025 12:43:25 +0000 Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::384d:40d4:ecb7:1c9]) by AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::384d:40d4:ecb7:1c9%4]) with mapi id 15.20.8377.021; Mon, 27 Jan 2025 12:43:25 +0000 Message-ID: Date: Mon, 27 Jan 2025 13:43:23 +0100 User-Agent: Mozilla Thunderbird To: ffmpeg-devel@ffmpeg.org References: <20250122025403.14457-1-jamrial@gmail.com> Content-Language: en-US From: Andreas Rheinhardt In-Reply-To: <20250122025403.14457-1-jamrial@gmail.com> X-ClientProxiedBy: ZR2P278CA0052.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:53::16) To AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) X-Microsoft-Original-Message-ID: <2f88f2ce-9dc1-44f5-bb7d-38db6dc94170@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8P250MB0744:EE_|DB4P250MB0880:EE_ X-MS-Office365-Filtering-Correlation-Id: 8e8bb070-460a-42a1-c2af-08dd3ed030a7 X-Microsoft-Antispam: BCL:0; ARA:14566002|5072599009|6090799003|8060799006|19110799003|461199028|7092599003|15080799006|440099028|41001999003|12091999003|3412199025; X-Microsoft-Antispam-Message-Info: =?utf-8?B?MkJFWVNmemNtZVJrK3hWTFFicC91ZFduMk5POS9mUEVlM0Y1elYyS2RWNVFw?= =?utf-8?B?QnhHN09nTS9iVStvNzhianQveWZzakpTWTc2UWFOb3p3TUdaYTF1M1RreVIw?= =?utf-8?B?YzB4M2FlaFBVQ1FCclFFZURVS2VycTFERDRiNDJNR2NtNVpieVRNYVFoekxa?= =?utf-8?B?WC9iL2xRTWdRS2pxL3FhZmpQQTJzL3loRkhlblUvVGFMYVV4QUg3ZTNsQ3hJ?= =?utf-8?B?enJFQ3ZVaWFKdVNUN0xsQk5QUzlQN3VtNXhLRFdZOVo5UWpKN1F3RXVHRVBx?= =?utf-8?B?Q2grU1lkWDJnNGg4UlFENGEvR2U3V1dlanJ6TjgxNEF4STU1NU0xRDIxMExq?= =?utf-8?B?VXBRb0trLzVxdjlBbFFTMkpmMEU2Y0hxYzVQNUVzcHJ1WTU1R09SL25VejU0?= =?utf-8?B?aGdKYzhEL01FekJjTVVNMlRJMlMwcXAyUjhDeUhQOGtadmtpMGpCalRPQnVZ?= =?utf-8?B?V0tRbnljMDQ3aHpyZ294THlrWGszVUVYaU1Eem9LOHlyS1Y1VDRmVEpPRDNp?= =?utf-8?B?Nzd1M1ZUaENnUjRnMFl0QWdjSUhJS0R6V2FZdWpXTTRZT0dwaU00TW9qMk9U?= =?utf-8?B?a0lLVU9oREszTnJBNkRidHdlZldJSXZlVUN0M1IySGlIZzBUR2hiOUhTRWZW?= =?utf-8?B?b2lETUpZbXB4bm9xOXhWSC9EZ05xdGhHcDkvS1J3WXAvV25hZTZ5eWcvSG03?= =?utf-8?B?dW5yVzhPaEJVWlBxclhwZmNEcGVCV01rVkl1a2s3WU0zcHZyN1o3aDRIU0FR?= =?utf-8?B?cVRTTlh0OFA5bFNhYkhFR1Q0bWM3QmhlRVhrNHRKTnMrUVVjL1hEUmcyS0NE?= =?utf-8?B?MWFCS1cwVEgyYkRZcmpOUGxRM25zVDlhUE1ncGF4Vk1WY0V3U25UZUh6cktI?= =?utf-8?B?RGc5NUxSTkpaK1Z6ckUySlRFTDM1UXJpK05mZktRNS9TclF4dVRnMXFnOHBR?= =?utf-8?B?Z3J2Vy9xSVNVbzc3MzZ3cjJiVXVmZ3NaMzdVVjRScy9HTTBTL0E0cGpCUlVx?= =?utf-8?B?eFdwR1l6OCtHNytrTmVvdVJkS252WXNNWGNPNDJ5NHZtZHRtSmM1dEJWeUxN?= =?utf-8?B?NXEyS3JVYjhHaCtHQmtWMVNsbENtYjBXUjRLQjl4WUF1RC9id09vdGFJdWps?= =?utf-8?B?ajNZWE9WSG9aYzNQUjhhZ1oweVBQNy84d0NkMHN0aE1teWJqL21XQkFqTGt4?= =?utf-8?B?d3NGQ0lwUHJmSVNKQzZSOWRKYnQyZDBNVzFFYmJOaEFiZUhYUjZma1JGcmNW?= =?utf-8?B?RW9ZMVl5V3JYMEcvMTlJWWZGUW5SdlJMRzRjQTFIaTY1WXhoTW1RNmZUVWFT?= =?utf-8?B?andtNkVrbWJiSE0reStSakg0Mytlcmt4WHlXTnZwNGt0aUVSOHZUd1JYVDZv?= =?utf-8?B?YWI2UVJDTklDTjZCWHFKTXNINVdWSWxjZkhIU0NKSWZBQnRwdjlvUitpWkJO?= =?utf-8?B?R013cnRWdDVkdjhDcVNKYXppaU84VjlLczNlanh5aGU0djh5YVBmSWpnTkp6?= =?utf-8?B?NGl5MXhMcG5mRXRrdllEY1FyMFEwVUIwWnpmZW5ZdGl5Mlc2TWU3eG1SNWJN?= =?utf-8?Q?+kOL90PbtZbjx5EsKNTMmrO7Q=3D?= X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?d29VNWNVdXEyZ3lsYnFGL2tRSW5OZDFLMitpb2FyZyttTnk2VW9zZUU0Nkpt?= =?utf-8?B?c0NjQlRZTGlMZEVIUWhGSlVSU1VuYkZJSlJaaG1ocFJETEtnL1F6OXY5SVBn?= =?utf-8?B?d0psV2M0MUIxeXp3WWZ5TW1QQi9Nd2szSHN1ay92aGwzMkU1MjJqZnBzYzF4?= =?utf-8?B?cFE2YkpaclFDdXhqelZXbjh5OE5HRmlYZzBzZXcreU9SMzJ4QnZmZzNMRmx1?= =?utf-8?B?Ujltb0x0Rlgzc2NaeU9WTXFQTXRTSlFXem0xODZzczJwUm9XZDk4aWFiclVt?= =?utf-8?B?SWErTGFUSmJjbXU5VHZNZS9HVG84amZrRVh5M2p1T2wxT0ZSMGNtL2NWYkVo?= =?utf-8?B?U0FsOXNEUERRSkR3TU0xZ3BrVWxHYTJrL2hNZnVvYVV1VFMvZUVEcnVLMUsx?= =?utf-8?B?L2RPc0o1U0xZUkJsazNuU1p3V3BBbHA1NE9kT0VGUmE0RUdtcFp6UnB3cVNJ?= =?utf-8?B?UWJJY3BjNEY5dlpFRlUyaUh4Y3NiT2ZtWkl4Rk15SU5KbGpkSGhYS05mTjd3?= =?utf-8?B?cU1SY3d6N2RoQitDNk9PaW8weGJjS3JnQ0d6cGU4bVVLa0NVYndyZU5FRzlo?= =?utf-8?B?YnpNY2dzS3FRQWYzNnBwSFFVVDdZR2VvbjV3UytaQ0tjeWFFR3Y3T21JNjda?= =?utf-8?B?d1VZN0ZVK3B6NE0wTW8wdFlkUGFUUEtBeUxvaXlnckw4RG01ZVk1QURMaTZX?= =?utf-8?B?K1FlWWo1cWNnTW85eXppa0NlRVJ3WjBSZ1NMYm9ML3FjVytSWkJXdUxLMXVD?= =?utf-8?B?SWNkb2hkT2ZzLzF2U0ZiVzBmeTFLN2JjcG1RMlJRenl4ZXhranJNQzFQeG1Y?= =?utf-8?B?TmpOc2FSV0ZBWEZ1bksxZFRoS0hSVmZPMnZmenFkSTZya0JwTGN4cnp2aVVW?= =?utf-8?B?cnlDbUQvTE0za1o4N0RuclRLWnFhMWZtWjFQL0JoZUhuV3NGL25naGQza2p3?= =?utf-8?B?bXBQbVR1dW8rcHBvbzdFY0M5RWhlWVZDRFNjWk9ZWXlvajVWSUpNbXRhMlVH?= =?utf-8?B?M3JqUHI3a2pTM0U5eWloc1FGQVFXTWNpZGk3NXZhYmpGSjhGM0lMaDNzb0t5?= =?utf-8?B?d1g0YVYxelVxQmVSb2hmYjR2dEVzOUd0NUFWdjRjR3JEazVOTXM0c2gySm5o?= =?utf-8?B?SzdFWmsrekJRbkpMWDBscS9CZWVXQXNHeXd0dzJ1SEN4Y3NKbWJiNW1lRUV4?= =?utf-8?B?cHlEU1J0b1RMZ1hhUDZOSlowZHRGVmFkRmg0eVRWTjV0dFRCd2NaYkMzUGNp?= =?utf-8?B?d1hibUZrdlA1ZWhPcTg3eWpaS2RwYTNBNk9yaUJVRSsvWTVrcWMyU2NHOEFK?= =?utf-8?B?QkN0SksrZHFYWDVCajRkMmRnK3kwU0JxU0lMakViTHR2eXdxS283QUpIeFJF?= =?utf-8?B?YkxxTlo4YWJXUTdIa0ZKWTJWU3Fyc09uTnJ4YW5KR2R4aFFNR0NhL0NHQ05P?= =?utf-8?B?S2QxNU1NUlJwN0FqUUdKVm9lWnVXVkRkU1J4eDYzQ1NQdGhiMVR4WDNITjVj?= =?utf-8?B?VHdGMlJ6eHNzMGVkQzRhaURKWWc2VkhubDJ6ZFI5TU52RWNWZXZjQTA1R0hj?= =?utf-8?B?RWhOWWNaNXVkakd1VUVyOGZuZHdnRTg3aGsyV3dSbng3empWblIxNHEzVm1h?= =?utf-8?B?Q09abTc0UW93SE12bVNabUsxVWhvSDh5U3lmU1FtbVRzS0lISGdFQnc1QzdB?= =?utf-8?B?QS8vN1pBNm8xVjFNUzlXaiszK3VQRmFKeGVTaFZLSzlWc3Y3TlozalFBPT0=?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8e8bb070-460a-42a1-c2af-08dd3ed030a7 X-MS-Exchange-CrossTenant-AuthSource: AS8P250MB0744.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jan 2025 12:43:25.1216 (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: DB4P250MB0880 Subject: Re: [FFmpeg-devel] [PATCH 1/7] avutil/avutil: move some definitions to a new header 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: > They don't belong anywhere in particular, so move them to a new generic header > called defs.h, following the same idea as the one from lavc. > > Signed-off-by: James Almer > --- > libavutil/avutil.h | 94 +++------------------------- > libavutil/defs.h | 149 +++++++++++++++++++++++++++++++++++++++++++++ > 2 files changed, 159 insertions(+), 84 deletions(-) > create mode 100644 libavutil/defs.h > > diff --git a/libavutil/avutil.h b/libavutil/avutil.h > index ee709fbb2a..1cf562c73f 100644 > --- a/libavutil/avutil.h > +++ b/libavutil/avutil.h > @@ -191,100 +191,36 @@ const char *avutil_license(void); > * @} > */ > > +#include "common.h" > +#include "defs.h" > +#include "rational.h" > +#include "version.h" > +#include "macros.h" > +#include "mathematics.h" > +#include "log.h" > +#include "pixfmt.h" > + > /** > * @addtogroup lavu_media Media Type > * @brief Media Type > + * @{ > */ > > -enum AVMediaType { > - AVMEDIA_TYPE_UNKNOWN = -1, ///< Usually treated as AVMEDIA_TYPE_DATA > - AVMEDIA_TYPE_VIDEO, > - AVMEDIA_TYPE_AUDIO, > - AVMEDIA_TYPE_DATA, ///< Opaque data information usually continuous > - AVMEDIA_TYPE_SUBTITLE, > - AVMEDIA_TYPE_ATTACHMENT, ///< Opaque data information usually sparse > - AVMEDIA_TYPE_NB > -}; > - > /** > * Return a string describing the media_type enum, NULL if media_type > * is unknown. > */ > const char *av_get_media_type_string(enum AVMediaType media_type); > > -/** > - * @defgroup lavu_const Constants > - * @{ > - * > - * @defgroup lavu_enc Encoding specific > - * > - * @note those definition should move to avcodec > - * @{ > - */ > - > -#define FF_LAMBDA_SHIFT 7 > -#define FF_LAMBDA_SCALE (1< -#define FF_QP2LAMBDA 118 ///< factor to convert from H.263 QP to lambda > -#define FF_LAMBDA_MAX (256*128-1) > - > -#define FF_QUALITY_SCALE FF_LAMBDA_SCALE //FIXME maybe remove > - > /** > * @} > - * @defgroup lavu_time Timestamp specific > - * > - * FFmpeg internal timebase and timestamp definitions > - * > - * @{ > - */ > - > -/** > - * @brief Undefined timestamp value > - * > - * Usually reported by demuxer that work on containers that do not provide > - * either pts or dts. > */ > > -#define AV_NOPTS_VALUE ((int64_t)UINT64_C(0x8000000000000000)) > - > /** > - * Internal time base represented as integer > - */ > - > -#define AV_TIME_BASE 1000000 > - > -/** > - * Internal time base represented as fractional value > - */ > - > -#ifdef __cplusplus > -/* ISO C++ forbids compound-literals. */ > -#define AV_TIME_BASE_Q av_make_q(1, AV_TIME_BASE) > -#else > -#define AV_TIME_BASE_Q (AVRational){1, AV_TIME_BASE} > -#endif > - > -/** > - * @} > - * @} > * @defgroup lavu_picture Image related > - * > - * AVPicture types, pixel formats and basic image planes manipulation. > - * > * @{ > */ > > -enum AVPictureType { > - AV_PICTURE_TYPE_NONE = 0, ///< Undefined > - AV_PICTURE_TYPE_I, ///< Intra > - AV_PICTURE_TYPE_P, ///< Predicted > - AV_PICTURE_TYPE_B, ///< Bi-dir predicted > - AV_PICTURE_TYPE_S, ///< S(GMC)-VOP MPEG-4 > - AV_PICTURE_TYPE_SI, ///< Switching Intra > - AV_PICTURE_TYPE_SP, ///< Switching Predicted > - AV_PICTURE_TYPE_BI, ///< BI type > -}; > - > /** > * Return a single letter to describe the given picture type > * pict_type. > @@ -298,14 +234,6 @@ char av_get_picture_type_char(enum AVPictureType pict_type); > * @} > */ > > -#include "common.h" > -#include "rational.h" > -#include "version.h" > -#include "macros.h" > -#include "mathematics.h" > -#include "log.h" > -#include "pixfmt.h" > - > /** > * Return x default pointer in case p is NULL. > */ > @@ -343,8 +271,6 @@ unsigned av_int_list_length_for_size(unsigned elsize, > */ > AVRational av_get_time_base_q(void); > > -#define AV_FOURCC_MAX_STRING_SIZE 32 > - Splitting AV_FOURCC_MAX_STRING_SIZE from av_fourcc2str() makes no sense. > #define av_fourcc2str(fourcc) av_fourcc_make_string((char[AV_FOURCC_MAX_STRING_SIZE]){0}, fourcc) > > /** > diff --git a/libavutil/defs.h b/libavutil/defs.h > new file mode 100644 > index 0000000000..9e9bb8bcc5 > --- /dev/null > +++ b/libavutil/defs.h > @@ -0,0 +1,149 @@ > +/* > + * This file is part of FFmpeg. > + * > + * FFmpeg is free software; you can redistribute it and/or > + * modify it under the terms of the GNU Lesser General Public > + * License as published by the Free Software Foundation; either > + * version 2.1 of the License, or (at your option) any later version. > + * > + * FFmpeg is distributed in the hope that it will be useful, > + * but WITHOUT ANY WARRANTY; without even the implied warranty of > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU > + * Lesser General Public License for more details. > + * > + * You should have received a copy of the GNU Lesser General Public > + * License along with FFmpeg; if not, write to the Free Software > + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA > + */ > + > +#ifndef AVUTIL_DEFS_H > +#define AVUTIL_DEFS_H > + > +/** > + * @file > + * @ingroup lavu > + * Misc types and constants that do not belong anywhere else. > + */ > + > +#include > +#include stdlib for what? > + > +/** > + * @addtogroup lavu_misc Other > + * @{ > + * > + * @defgroup preproc_misc Preprocessor String Macros > + * > + * @{ > + * > + * @} > + * > + * @defgroup version_utils Library Version Macros > + * > + * @{ > + * > + * @} > + */ > + > +/** > + * @addtogroup lavu_media Media Type > + * @{ > + */ > +enum AVMediaType { > + AVMEDIA_TYPE_UNKNOWN = -1, ///< Usually treated as AVMEDIA_TYPE_DATA > + AVMEDIA_TYPE_VIDEO, > + AVMEDIA_TYPE_AUDIO, > + AVMEDIA_TYPE_DATA, ///< Opaque data information usually continuous > + AVMEDIA_TYPE_SUBTITLE, > + AVMEDIA_TYPE_ATTACHMENT, ///< Opaque data information usually sparse > + AVMEDIA_TYPE_NB > +}; > + > +/** > + * @} > + */ > + > +/** > + * @defgroup lavu_const Constants > + * @{ > + * > + * @defgroup lavu_enc Encoding specific > + * > + * @note those definition should move to avcodec > + * @{ > + */ > + > +#define FF_LAMBDA_SHIFT 7 > +#define FF_LAMBDA_SCALE (1< +#define FF_QP2LAMBDA 118 ///< factor to convert from H.263 QP to lambda > +#define FF_LAMBDA_MAX (256*128-1) > + > +#define FF_QUALITY_SCALE FF_LAMBDA_SCALE //FIXME maybe remove > + There is a comment that this stuff should be moved to avcodec (which you move, too). Maybe it should be moved to avcodec instead of to this new header? Do all of these constants even need to be public? > +#define AV_FOURCC_MAX_STRING_SIZE 32 > + > +/** > + * @} > + * @defgroup lavu_time Timestamp specific > + * > + * FFmpeg internal timebase and timestamp definitions > + * > + * @{ > + */ > + > +/** > + * @brief Undefined timestamp value > + * > + * Usually reported by demuxer that work on containers that do not provide > + * either pts or dts. > + */ > + > +#define AV_NOPTS_VALUE ((int64_t)UINT64_C(0x8000000000000000)) > + > +/** > + * Internal time base represented as integer > + */ > + > +#define AV_TIME_BASE 1000000 > + > +/** > + * Internal time base represented as fractional value > + */ > + > +#ifdef __cplusplus > +/* ISO C++ forbids compound-literals. */ > +#define AV_TIME_BASE_Q av_make_q(1, AV_TIME_BASE) > +#else > +#define AV_TIME_BASE_Q (AVRational){1, AV_TIME_BASE} This would need an inclusion of rational.h for the user to use it. Is it intended for public macros to not be immediately usable? > +#endif > + > +/** > + * @} > + * @} > + */ > + > +/** > + * @addtogroup lavu_picture Image related > + * > + * AVPicture types, pixel formats and basic image planes manipulation. It is only AVPicture type. > + * > + * @{ > + */ > + > +enum AVPictureType { > + AV_PICTURE_TYPE_NONE = 0, ///< Undefined > + AV_PICTURE_TYPE_I, ///< Intra > + AV_PICTURE_TYPE_P, ///< Predicted > + AV_PICTURE_TYPE_B, ///< Bi-dir predicted > + AV_PICTURE_TYPE_S, ///< S(GMC)-VOP MPEG-4 > + AV_PICTURE_TYPE_SI, ///< Switching Intra > + AV_PICTURE_TYPE_SP, ///< Switching Predicted > + AV_PICTURE_TYPE_BI, ///< BI type > +}; This splits AVPictureType from av_get_picture_type_char() which makes little sense. > + > +/** > + * @} > + * @} > + */ > + > +#endif // AVUTIL_DEFS_H Apart from that: This patch as-is would also need to add defs.h to the list of installed header in the Makefile. But actually, I don't really see the point of this patch. The problem of avutil.h is not that it contains too much, but that it includes so much. And fixing this runs into the problem that avutil.h is advertised to be a "convenience header that includes libavutil's core" (which means: users are allowed to rely on implicit inclusions). Which IMO should be common.h, with avutil.h being a normal header. - 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".