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 BB74E430ED for ; Fri, 20 May 2022 17:09:56 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 8A16068B462; Fri, 20 May 2022 20:09:53 +0300 (EEST) Received: from EUR04-DB3-obe.outbound.protection.outlook.com (mail-oln040092074108.outbound.protection.outlook.com [40.92.74.108]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id B22ED68B235 for ; Fri, 20 May 2022 20:09:46 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=DauSTJtA9GKuG1OcXyDBq2Hm32gCMZjLa116xG8PYx7nps4FRpJGcC5PH39/gwXojh4PRb1ypQAP0K2FLoCcLpIghLuvFYa6EN0LEQpz8av0T3ROWZFQKOKQvYWTFr50/sNHLm5eBJMZM2AIYYetha6TJh7TntSc5oGROmIYwB1MeIXSrdVUgHwLKtNHI8j7SjRss/1sY4Ljgzp0ypvGsEFpZ5Zco7zm2MndkLJNCGKJv2EDnzvgGWYJMdhCgzba9ftZiXhQ/1x0lwLs87B3+jSLyyhzPdlPh5ytStU66GAvLaX/fPk/MUhKtBUbDqLhASHcuevI4MxEDOTffSK4zQ== 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=lgpwtOVektjxk4oIROU1AB93EmP/NhNhkf2JX7HdjNY=; b=JTrXMf8tKr9bhz31sAFb8YJ3JT/UoemCCVrn22HAky3GoIGzLULua5KXpVT1AKWpuRCdyfhpYbCBiHgYAU4wshIfPWcapKjUf1lg3iRoh/lXKb4JLeMNjYyjpH5bqtq82R4I4ouQG8Je9/yHxxaVGPHHJ2wYnfuqfIdDeqRsTx9cXJ0iUEu8kARv44Ze5i+CHNIOdWsnFe+qvBmygMdZVZqW/DPBo0xF4DhZ/hM0v6sro48d50gqVH5saIycPQnI0f725xJoKd3McUKoMlDkg7GhvB+i5rTWtqJzKdkS8QteXc1mdL6E/DqG4JSmngexZN6PkXc10cBPEBompnd7PQ== 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=lgpwtOVektjxk4oIROU1AB93EmP/NhNhkf2JX7HdjNY=; b=DSY1Q7LlW6A4HbirOwQGKUpqpmYJHCED0eEEjIdiJIF9kgCa4WQQcZHFDdzgaw3e4tjT3bV3yYFw0Yk8Eh2+rE+I/7w1q/5SMxXoUoxxU5cqkmNTOpe4JqDs0+XnDNwnwSR7a080gtRYn5QX4FkgMOGkaqXpo79fQ+IeLhTg5+v1Of+NTy46rnuSjduaVZxy8WhthS2tV7vKhFEzLZhFoiUpBhyKEBRcHxdrBwqKXBbCbViuot39U3YbuLLto5NoxTk30Eq3/5ANOjzYRMgicK6AsVtMPczwv/j7iRCm0qbNhL3uXM7TfuAlmeozPbFgiPmHFbiE0NUuFgoFSmkxZA== Received: from DB6PR0101MB2214.eurprd01.prod.exchangelabs.com (2603:10a6:4:42::27) by AM9PR01MB7298.eurprd01.prod.exchangelabs.com (2603:10a6:20b:2cb::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5273.13; Fri, 20 May 2022 17:09:44 +0000 Received: from DB6PR0101MB2214.eurprd01.prod.exchangelabs.com ([fe80::60b9:9f29:40cc:f01c]) by DB6PR0101MB2214.eurprd01.prod.exchangelabs.com ([fe80::60b9:9f29:40cc:f01c%10]) with mapi id 15.20.5250.020; Fri, 20 May 2022 17:09:44 +0000 Message-ID: Date: Fri, 20 May 2022 19:09:42 +0200 Content-Language: en-US To: ffmpeg-devel@ffmpeg.org References: <20220520155313.171100-1-leo.izen@gmail.com> <20220520155313.171100-2-leo.izen@gmail.com> <9f9b07f4-9ea6-2bbb-ea90-0c3cb6c1eda8@gmail.com> From: Andreas Rheinhardt In-Reply-To: <9f9b07f4-9ea6-2bbb-ea90-0c3cb6c1eda8@gmail.com> X-TMN: [NSdcldsF7LMWTNcioF1+SqSbW0GYj+Sc] X-ClientProxiedBy: ZR0P278CA0171.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:45::9) To DB6PR0101MB2214.eurprd01.prod.exchangelabs.com (2603:10a6:4:42::27) X-Microsoft-Original-Message-ID: MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: b8f998f3-b64d-48db-d96c-08da3a838938 X-MS-TrafficTypeDiagnostic: AM9PR01MB7298:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: exmsH/Tv7PlgFoTrprCwxfcj4uGVP0ZOed6z5FvE6a6F94bgEU7cle+jn4a+Cd+cgBl5Hk0vOBdtTRuVfx1p0cgbUtfJ/tuGiX2/kRCCBO3OlAiBdITvKNTQJTPQbM0x2M2XRGyREthU4QJJ1pWXaOcQynyLX1q3uYJYvObJAUaZje0I64w93TmutEGL/X5xIYVpc0kAZGz/Y+Bty3tkeAJ9hiqFQgQseHtIUp3ibGyE11gcW1kyuxMzF5ZURK2ao6sQnipzYOB+FMq+FWVO4dknP1RXUyrsSJGHXcIgox9tAvjShr7ulTLJgF/UlRtFzPJ6Lg0iJy/1CpA0HX1QeYQWWEFKebcZ9hqGkaCp0sYAN7a578y4u8y/HFpEhs0JKmOPf3GHbGAcwE8l28Ni2jEuFImTSCni762/PcYE+GuedBW/CJGwUO6MU/8ng9zUA217GW3Py/nTvEDO9rZwO/hJcUKOKy1br0SNbtdUrjGQjf/aqdyMlgshOMjohxaZde9xCtnpXXoxdst54XxrSlAfk+e+BWKaC64XNR7LnTVC2YJMCmf8Yj3jB9XNw2jEbF99UubGx2bA2Z54PBjijw== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?eVg4a3pycnEvNG1yKzhaUE9keHRRckhhalIwMzBpdEMzaVhTeXpvaWUwWitM?= =?utf-8?B?VE4rS1JQMEt4M2p3OUpDRSs1eXdwRE1nT1hTZUdyL3VOOUpBaXZzMmF1ZytS?= =?utf-8?B?MWY5TXZqMkZVT0ZneVV0LzYyZ2UzTm9TeGdwRGhTMEVLdlhVY2hBT2twMVZG?= =?utf-8?B?NXhiVEZFSzJ5bVA3Q3NvbnY3YzVmbUJjN0Y2N2Z2RHdCTElKL0k5dzF0NkJU?= =?utf-8?B?VTNIbFV4TVpTdWltQXNMdlc0UDd5NEdBZDBqWGNWUDlYcmZKMy8xTzNBdmhN?= =?utf-8?B?T1FYdlFlM2xKTGFEWHVwNGpQYjQrUUVqdzM0aE92K084dW45YmdVWnZLY2ln?= =?utf-8?B?LzBaYkpDRmZLN0M5bHFja1NaU2JWcS9VYVJ3dzR1Q3FoNzV6a3BuMDZxb2J6?= =?utf-8?B?M2JRc2NkcXljNmV4blA1U2c1WEs5VTFOeEJsejE0VUdKYVJ0M1YvSWdaL0Y1?= =?utf-8?B?ZWx0RUxGNlhGY0tvMDlxSWg1dHc5dk9wVnJCNUdNM1E1bWV5dFNHZHRRYmpD?= =?utf-8?B?V3pGM2ZNTVhmZzJ0b3BtNWFka0JrQ25zcWljVm0wQWRPQlFySWphMkx4aXc2?= =?utf-8?B?WFQ3UzQ0d2JpT2RkV1FHQzVXVXhseU14d3dLQ0R3cGhPb3ZsZmZHWTdaVUNi?= =?utf-8?B?cU03OE9hMEtzZzUyTGV3Zm1TNHF1d3lOQzdISDNNVDlWQ0dBSmVLdWFaUkZI?= =?utf-8?B?SHFVZjJVcC9wejAwVTZqQXRYZVN4VWhDSE5sdm9nR29aUXBGa2pnYUlPclp5?= =?utf-8?B?bTdVbVRtSHduQk9BZU5EWW01d1NoL1VHcE1vS2xXT0dGcWY5eEFtUjJCbUNR?= =?utf-8?B?dmM0eTRCMEY2bmkyak1oZjBqRGZPMHZpZ2ZPUFE3R0hpMFBnU2pBUURWMVFI?= =?utf-8?B?YWpVN216UVdFTEVpa3JHcDlVbkZ6dFBIeWUrRm1CN0hsWlJyQXlJVWJxVWRU?= =?utf-8?B?VkVkTTRKT0s3ZUNBdDZpLzVMcDZON0p4QWZGaThrWXdqbnF6YXB6R2xoSUMr?= =?utf-8?B?K0tJaHIyMUpGU1doT240UlZrUTRGSkg1SlQ4cllzMTRUL3FSTDNpU3paZ01Y?= =?utf-8?B?SFZCY3haa2Y4SXBsRGl5N3ZWMlFEZEJnd1pyVlUxOTdZR3d2YUFmRlNleGVH?= =?utf-8?B?blJVc0dQZ2ZLZllhalh5T1lVcTY1di9KeWhpNk1QeHVkVHMyZWpKeDBFam00?= =?utf-8?B?Y24wNWk0eks3cXBYSEM3UjRBcHlocDA4OGxtVko2a0FqM3BSZGlMakNCaU5j?= =?utf-8?B?RnNXQ01hOCtJZzl6ZjNtUFFWNS9BTC9GeTBBWGVuNk9mTWhLcTczU0tOSnUz?= =?utf-8?B?b3M1c3NvWldEUWFnUU1Rb1F6S2NJMUllWDBaNGpEeVl1TVBGRXRVdzVjMG9Z?= =?utf-8?B?MVZnVWVsWXozV0duT2IwUHVXTVoySVVVU3hscElCNkw2dHN5Z0J6M0k5OEc2?= =?utf-8?B?ZzNpSzdBb0I5TDBXcFV5bWYxZ3JyMmEweGk5UHpZRFc5SkJLeFJNZXYxcGZs?= =?utf-8?B?djd6TkhXcWVvdlArNWJDVXQvZlpPWDY0SWMxSUZ5VlFNeHBWaUQ3WFVnaEk4?= =?utf-8?B?VWF4VEhETktYTXhPblVWeE5HRTlFY2lvVnNOMFFYN1FCSHZDaHdqYXlFNEpW?= =?utf-8?B?Q1JOSTVBYkpLWGdrSlI2UXJXOVRFYVAvNWRjUGVPODBXbWZLTnNrWmVScXJn?= =?utf-8?B?ZUo5TkJFU0JTbVJaU1pZOG9hbzc0RHpVSFpyQ3oreXRYQm1FNkNjaXl6NndP?= =?utf-8?B?TXpLbWZaeVZjeWVBeUNteGhwSlRFeUxGSEwxalNBQUhBL0l0cTZNWUxKTWJn?= =?utf-8?B?RnpPTkhJc0xNc3Y3MGQxODJ1bXBLSVVyZkg2RkZIaU9Ka3YrdDlnZWhML0hi?= =?utf-8?B?UVJMUFZQbTZhT1VESkF2M0lsVXg2a2N0a1VaUlUweDB0YUlOa0M0dVIvaFVv?= =?utf-8?B?L2owencxNmkwSjVQOTFsUTJIV1V3M293WnZKZWJoeWdEcVhMVWp1c2MwUkY2?= =?utf-8?B?UW5TdzdQbTJ3PT0=?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: b8f998f3-b64d-48db-d96c-08da3a838938 X-MS-Exchange-CrossTenant-AuthSource: DB6PR0101MB2214.eurprd01.prod.exchangelabs.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 May 2022 17:09:44.6958 (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: AM9PR01MB7298 Subject: Re: [FFmpeg-devel] [PATCH 1/1] avutil/csp: create public API for colorspace structs 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: Leo Izen: > On 5/20/22 12:01, Andreas Rheinhardt wrote: >> Leo Izen: >>> This commit moves some of the functionality from avfilter/colorspace >>> into avutil/csp and exposes it as a public API so it can be used by >>> libavcodec and/or libavformat. It also converts those structs from >>> double values to AVRational to make regression testing easier and >>> more consistent. >>> --- >>> + >>> +#include >>> + >>> +#include "attributes.h" >>> +#include "csp.h" >>> +#include "pixfmt.h" >>> +#include "rational.h" >>> + >>> +#define AVR(d) { (int)(d * 30000), 30000 } >> >> Does this really lead to the intended values? After all, the cast does >> not round to nearest, instead it just discards the fractional part (i.e. >> rounds towards zero). You should probably use (int)(d * 30000 + 0.5) to >> compensate for that. >> > > I could change it to do that. That said, I modeled this after the FIX > macro in libavcodec/mpegaudio.h on line 60, which doesn't do that. Is > that macro also incorrect, or is there a caveat here that makes these > scenarios different? > The values for mpegaudio.h are surely not rounded to nearest. I don't know whether this is intended or not, but AFAIK the codecs using this are not intended to be bitexact (as in: the concept of bitexactness does not apply to these codecs because the output of a decoder is not exactly defined anyway). While some values are indeed rounded down when converting to double, multiplying by 30000 seems to produce the intended values somehow. I would nevertheless add 0.5. - 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".