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 9D697478EF for ; Wed, 27 Sep 2023 10:21:51 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id EB9BC68CACE; Wed, 27 Sep 2023 13:21:48 +0300 (EEST) Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05olkn2014.outbound.protection.outlook.com [40.92.89.14]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 5895B68CA2F for ; Wed, 27 Sep 2023 13:21:43 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=WtcD40ce72+yPwIBZ94DM9Qy1Y90V7FvMWOd+Fh2u7PTfcAD3xsMdaLgWwRmT4mv976pCHBxtb+5/KCGDJuo4+zpvB4X11t7Jgd13jPSEcRzZQ1jhkSKI093Vq4SvPNLVM506f8i2QznVsEmBV2OWX/HZH1bTT4v5PNhSgIc6Vrf+TL4jzUHujze4E7Wze6XlsdyZSVCL7e2lFuAsFN6/ReIPo92FNad8nf1OMUQbyo7AttgF1iuXOd2nlU+Ui96t4d111gCwmCkvCa+G3SKWiFF14eOix1Zyq8jz8qPi3eQOAz8sAjTuIyd3OV4YDU76ndY9W0BXqAULz7ZDJ5dLA== 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=6nF1tE++cEZRT0lW4Fn/1QA28TMQtnnPGJQmzryx578=; b=aCeq2k35D6yitpMzbzaDwOCFBQFVYS0cugVwkOCmPbMubjZOMrJ0bdF1QhvpCBe0HqUgJTT2ndKyj54hD6GQiWhP+GNACJkmDoQ4RRjqRr5V9KFjHdzNK94U4D0AKsrIS1nmUgE7Yg8WTO+De5mXP9knISEOII7zDnb1KgGLy0gWy0aiXsNcnrEJsL8IMNtDggYV10Ga8amPEQeSnNpvb3EBPd1P+sVC+B22QXgdtWawNCuG/ZL31uoAL2xoSPamEGvZZWiAfrHkYjqO6bWBSI6NUOt7biXV2F8qrQQXaXehnhbrdJ7Qz7KkuuljkKZmcpU2e5KGT+eha21R93xJbQ== 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=6nF1tE++cEZRT0lW4Fn/1QA28TMQtnnPGJQmzryx578=; b=hEwUah2MK3kDkJJ8GX5krL2Ht8oHl5IyOF7jfpzcK5OihbMQkctmSXKrVMFgkSQGhwHsqjei8KnSXA08vFHLKTNqf6V7QwJ7F7zm+8/cSJYHVgcwB23+p4paYKi6UCADNv/LXxL8h/JgXSY6xlsn6szMKM27aukofq3bVSK2INXrBCjOdH/9z8qtggpwFMvJu0Ij6kRgUqTpISvhcsUjgDndmSxbbv2dFwGSxc3eQMl6vSDuoYu9lDeFmPZA19XZ0BAIjFhaOw09yxPuotpSwANrdqItTkcY0JPZPRZJOlt44gsKf3nviFCzGUcnCKfwLVHOmfkg/AWtz8f4wWvIRw== Received: from GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17) by AS8P250MB0007.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:35a::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6838.21; Wed, 27 Sep 2023 10:21:41 +0000 Received: from GV1P250MB0737.EURP250.PROD.OUTLOOK.COM ([fe80::9d42:7b4f:71ef:c76a]) by GV1P250MB0737.EURP250.PROD.OUTLOOK.COM ([fe80::9d42:7b4f:71ef:c76a%3]) with mapi id 15.20.6813.027; Wed, 27 Sep 2023 10:21:41 +0000 Message-ID: Date: Wed, 27 Sep 2023 12:22:56 +0200 Content-Language: en-US To: ffmpeg-devel@ffmpeg.org References: <20230927100630.50510-1-ffmpeg@haasn.xyz> <20230927100630.50510-2-ffmpeg@haasn.xyz> From: Andreas Rheinhardt In-Reply-To: <20230927100630.50510-2-ffmpeg@haasn.xyz> X-TMN: [MTFcpQr09VNSb69bQjvnopBYKj5hdZzl] X-ClientProxiedBy: FR3P281CA0022.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:1c::10) 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_|AS8P250MB0007:EE_ X-MS-Office365-Filtering-Correlation-Id: a6f5b98c-b870-4b48-495f-08dbbf438ab5 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: d3o7Rb8+FM2lFjGeJBRl0nIIr/rp53jYT/1dIKuvdlXkuY/eAleXsJ/hM/6oWr44cE1Mhvc7/QLdZYVy3NXN1g7j2msR1X4eyXJinS7t56LzeLo08MR40Rp2Wu8Pi3RnTnHEHGXQQ9A2WgDbgqHT3/bt6wfpe0fwVrAX1vLWQBElSaDUIMu0lYxwT9k3OGjTVN/AQMtEx8Cb0RPiYdFRPs4OHX9biVc3dH1QFuYsg4KXAwx27WU9VqCsquqrdelfKN2aFbbydVHH/eBVMeDtWGquSKvduWmJhYk/OJl/gKjiNOPHxZJ2772p9dLIrFxQyarVrqrd6uuLAKi+/zxXtHCIg32MtMYfvkqHqnCCbaDCnzW+qpEmsNTjY3QgKn3JtGykUZExBxvcOm8nhkUJrmD9as8n0DneoP1hejnrnSr11n4MtDk9wlaZDSmYU2VA6HECyiJ3NI2bFlM6MZfnuAJk/7FUbtLOBGzVnav24oVUDvtD3UUK+0V70CUF12Ay6Z84Yz1O1s3tTK3+fi6GRKDVYUOibC9//hqW9qYelSRC+1PB64bdxlEYi3rbXmNl X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?Z29TcG1iek0vYW54aEdDOTdkWElhTU9PeXJQbHkzL1M2TEZxSUF5c3IwVkpD?= =?utf-8?B?c3RsRHNvVkJJODRPaTNtNTkrSi9tenI3eStPRkZEQXhJRjNXMkVMcDNibk5N?= =?utf-8?B?OHB2Wk40Ylp4SmJSUjBIMWVYcE12QlU0YTJEMEZkQ09oVXlOekhRL0VVRkJO?= =?utf-8?B?RFk1c1hZZlhoUzFoK0Y5R085ZE1pWmxmL1MyMUFUQ0l2UXptdVl3aHJDT24y?= =?utf-8?B?dHBYQU5nbnFFL1ptS2d4UExSbUNEd0RJa0RoNGxmY0xQTmpwZjY0SUFSaGdN?= =?utf-8?B?M3JFcGthYnRqTTh4anpCQkdlVldQSk92aHQwMG5DYkNMeEhCeG12azc4Ymdp?= =?utf-8?B?ejJ5ZTBpMGpPS2VMTWJ4b0dSWlk0UTdFSzJhSk5ySURMRk4yelcwT1VCdlRD?= =?utf-8?B?RUJXVkpmRXRUbkRHMHRiVTJKb3pTRWxLTnFsZlc4bm1FSFZ6TVZVOUpVS1hl?= =?utf-8?B?RlEzT0JnN0VnLzBTQ1hUWmFJcWJmbitwejZmaGhqKzlFdDFKSG9ER0w2cHRV?= =?utf-8?B?OU1LblNlYXdxV2VWeDlkTldqK0xUUlRreDdzQVhKTGZyMkR6TDR2WG9rbnQ4?= =?utf-8?B?YS9pRHdUd3hqMjdiMW9zU2ZuYTFrT2dwY04vNUUwYm1MZ0ZyMUdvUThnYUdh?= =?utf-8?B?YUtmM1FSVHUvOFN6d2llTmhGNE1TSmpqZXd4NWRZL01zcGIzV29kNVIyYyta?= =?utf-8?B?MlJES0VuVmNRUnpzVEQ2blMwdG5iaVVnbHdhTXFuaWl6TStnSHRoOGxZdk9X?= =?utf-8?B?bVlaYWorWVpINUdkdUZLMFBQZEdLanF2SGlCcS9NT2RiK1VwSTVISTh3VEFq?= =?utf-8?B?SXI2b1V3ZVNQcjNZVFpFUW9nZ3lRdll5OTJMQTFPay9lN0s5a2Fia1YwMHVJ?= =?utf-8?B?alRhWitERnoxZ0srQ2M5YStLOGc2Z1lBeWpXQTVpaGlqM1Q4WUdiU3ZSS3Mw?= =?utf-8?B?NTFSMitSRnc0TFVGSEdyV1h6QVIvS2o5Vmd6ckQrSHp2dTZ3RVhXd0crbVNE?= =?utf-8?B?SzNTK3cwVmFId2w2UU13UVpUSEFRbDdaMTdtV25IbzVvL0VVYWtoYUlFRExo?= =?utf-8?B?RG5hS2xTOFRVNFZIZWg4VmEzMnQvMGdWWHYzRERQSlFJWW9pRkEwY00wZUE2?= =?utf-8?B?allTZzVJTHMvc2tvTUUzMU1qdWdxSHFEY1FxcGN1WnVnY1h1Ykd1Qy9MSTRC?= =?utf-8?B?dDJqTW5RYm1Xd2tuYkptZjNNOW5DZmxaZVhCeGZPVTloajJaTHh4WUd2WVR4?= =?utf-8?B?dXZFSUFXVHFLUkFncFR5ZmlBL0wzRkFma0pGVHFhai9udnpGY1B0REtRTGNw?= =?utf-8?B?TGVqTnl0OHI1M1JpRGIwSE12S0xJYzJrNU84UEdmUFRicHhEWWR1S0o1MTkz?= =?utf-8?B?Q0dlRG5yWkhaUnZkQ29laVg0Ry93Y0pSL1pmOWkzWEV4OVJHVlhtQ2ZTRzha?= =?utf-8?B?V2dqTVFGUE05TXpPdDdWcW5mSFpCSkZINWZpTnVkVGtDZiswTEE1OFZOZGgr?= =?utf-8?B?dkYrUXlGbnAyTEVGRTNuMDQ0RDE4cnNjTWgxbEVKcWZNNEJvaTJLMkhDenJu?= =?utf-8?B?Q0RTdnc3WHAvRm1ueUdBTmFWbWl2eEJieXlqL0oyMjRRSWl3WXdQeitRZ2FB?= =?utf-8?B?MG90cUwreWdPM1RHWWZ1Z3Z2ZEwzMG1KZzNnUEhpb0hxSUxoNW5yWDNVcStL?= =?utf-8?Q?BQHYlLfNkffqwDYsxZPL?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: a6f5b98c-b870-4b48-495f-08dbbf438ab5 X-MS-Exchange-CrossTenant-AuthSource: GV1P250MB0737.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Sep 2023 10:21:41.6607 (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: AS8P250MB0007 Subject: Re: [FFmpeg-devel] [PATCH 1/5] avutil/rational: add av_abs_q 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: Niklas Haas: > From: Niklas Haas > > Seems like an obvious utility function to be missing, and useful in at > least several places in the code. > --- > doc/APIchanges | 3 +++ > libavutil/rational.h | 12 ++++++++++++ > libavutil/version.h | 2 +- > 3 files changed, 16 insertions(+), 1 deletion(-) > > diff --git a/doc/APIchanges b/doc/APIchanges > index f333ff5b24f..2219e32ddc1 100644 > --- a/doc/APIchanges > +++ b/doc/APIchanges > @@ -2,6 +2,9 @@ The last version increases of all libraries were on 2023-02-09 > > API changes, most recent first: > > +2023-09-27 - xxxxxxxxxx - lavu 58.26.100 - rational.h > + Add av_abs_q() > + > 2023-09-19 - xxxxxxxxxx - lavu 58.25.100 - avutil.h > Make AV_TIME_BASE_Q compatible with C++. > > diff --git a/libavutil/rational.h b/libavutil/rational.h > index 8cbfc8e0669..7b559ce515d 100644 > --- a/libavutil/rational.h > +++ b/libavutil/rational.h > @@ -162,6 +162,18 @@ static av_always_inline AVRational av_inv_q(AVRational q) > return r; > } > > +/** > + * Take the absolute value of a rational. > + * @param q value > + * @return abs(q) > + */ > +static av_always_inline AVRational av_abs_q(AVRational q) > +{ > + if (q.num < 0) > + q.num = -q.num; > + return q; > +} I agree with Anton: We can't generally assume that the denominator is > 0 and so a generic and safe av_abs_q() will add unnecessary checks in the cases where it is known that the denominator is positive. In other words, I don't think this is a good addition to the API. - 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".