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 8897D42A8A for ; Wed, 10 Aug 2022 21:24:25 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 21FF268B8A0; Thu, 11 Aug 2022 00:24:22 +0300 (EEST) Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05olkn2031.outbound.protection.outlook.com [40.92.91.31]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id E152D689CDD for ; Thu, 11 Aug 2022 00:24:15 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=maPEnyKwLiYxcuBHAXxxVnFZ8FPOX2UdBXUPpEWFCS+RbTXge9296VPEDkdYSDXDtg4OhYrbk/mpVkKL5KdQ9R4uSblajLHV6KsfNf7NwfCy0xhdR8SiOpMFi6cgk+UczmKCLnuXriuDbrSbGxMPjsrCmGmJD4AEuPL99SBjddJyQhyo6wf7kujvx95hlGBKXgwvkbi9fcopgT50WQuG3ORacXjzA91pACxL92qrsMgc3mOGjhuQH1aOrYZl3H+GrH8j9izq1QbhsJOfrNHPKeusL2u0Qrki5Qjydly5Ig4LIKtlndKV9ERBgvVXV8njOhayAGHxSkF4nR4nCzrFCQ== 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=ll/MNuXBEauZfnpYO1FCe3LLF5t4tMDtzvXBe0LS6Ck=; b=RS8JT7QLa59817iTmPFDhdB5KLujq1iGopU8XAvvOkso4w9+f0JZxunFsQ0C/qnD6aNmLtbqtjaWMAMBWjqgoVqgCK0Pt4Ug7I5QZ/XCwF4TFRmJG5Nq2Yj+jzSuosedPeQFkerpqUE4DIeffXPHXSvDC32hOO8E4Rn+c0ercwjrKWJ/wgZoQHR0MHfZYpw+8dn8LjJJdNH76S3MVOy9bBh9bOMSi9R/M8qaapPVN7FXLeFgqR2K1BgvlPkTBySiAW8QZYMF6jM2jLxs0OrJxxEwKn8RXxXRfkCoBST7RGfn38gatxj9B50qhquhPUPag10sWcD/gTR/DEGlDmcTVw== 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=ll/MNuXBEauZfnpYO1FCe3LLF5t4tMDtzvXBe0LS6Ck=; b=s9Bf1dj0Sgcmv9mYFTK++PsQgB3A/6pTyuSE3fbUT3bKlgOEvjEnB3g7Brvw6gZJ1vbCquyXME2qwhvRW7d8yxvGl1MjSgzuLIwR4YhOcc2brqzD1ZvQxa7exd+rHC42ulvizkV5rYfvRHV9+FS+1ClutbNXJRrBB6GuYXjemlIR93wbkHDsWUFPjyl8wxTyI56zQeoGYaihsNrZdmPZdSIyxy0qFVfU2fbmrIf/MDqdcUon3rLzNjtkA3c+JRaKHySHjoumH+gOPNkuzxJeOq6dFDidfnKaw/M7hmLx6wRNn+yiHM3K+hz9gunZdJrl0qPvNVgskgZAQp8HHkgvqA== Received: from DB6PR0101MB2214.eurprd01.prod.exchangelabs.com (2603:10a6:4:42::27) by VI1PR01MB6509.eurprd01.prod.exchangelabs.com (2603:10a6:800:15d::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.14; Wed, 10 Aug 2022 21:24:14 +0000 Received: from DB6PR0101MB2214.eurprd01.prod.exchangelabs.com ([fe80::210e:b627:bcc9:8c46]) by DB6PR0101MB2214.eurprd01.prod.exchangelabs.com ([fe80::210e:b627:bcc9:8c46%11]) with mapi id 15.20.5504.020; Wed, 10 Aug 2022 21:24:14 +0000 Message-ID: Date: Wed, 10 Aug 2022 23:24:11 +0200 Content-Language: en-US To: ffmpeg-devel@ffmpeg.org References: <20220810204712.3123-1-timo@rothenpieler.org> <20220810204712.3123-6-timo@rothenpieler.org> From: Andreas Rheinhardt In-Reply-To: <20220810204712.3123-6-timo@rothenpieler.org> X-TMN: [akByZLQpYa44WqnLcJNH78iOt6fIXyTx] X-ClientProxiedBy: ZR0P278CA0018.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:16::28) To DB6PR0101MB2214.eurprd01.prod.exchangelabs.com (2603:10a6:4:42::27) X-Microsoft-Original-Message-ID: <8f41eb58-3b31-8b87-eadd-99a80842e469@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 82722bc3-4440-4d43-3269-08da7b16ac75 X-MS-TrafficTypeDiagnostic: VI1PR01MB6509:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: zHBv4sM39CyeNxhKg86w+J9pflZZV/LTjgBLl0ZOeDiEtoIpzODKrEe1GUJJl1gRDUcI8oN+D4+qK7I2zPnrEa6bnBgYv2PZDoAHaVnsFMo8VLFjK4t9K6YWw5KzLvML3yqk1dxtQL8gPrw+jTSGBFlTdZDak08RZDaRhfpaDgIpI1ARtPMSg10t2jNAJzOeUW7xl5J1gbZu4sTA206bAwwxDXvmJ7leufpiYCPLOM4WHmjAjZnhVPnGuaw79o7SM1bkQtJhAljWVouLkFr34zzepGSym5utA4uxkrbcQH+Y1CWWfWNVNy5nErAL9L7SVXUGhCnGgJNepu9Bz+f+LALWjMwMYLhx7Stv5y4lup+E0hbeMgpd9kyK6VPdLxhaFPr8kb6pENcCxnUeTBLVj62crFuWOOwmXRTstm4x6A1hCX9dtY5WCWjrygyR+/CYit0z8wY4M3ljYDjNjh2Q9FemSyRJcR7eju3llC/uWu6XNBEUgri0LrHdP7GXDKUiVlQMRJINATqe33BnCFae2g9/A8QEaHAgBcxOseB2kp5tQZ3vmhoprg6mXqRgV2l/HljqGaRIuSegLhQkScPzSe/l2pN4JmW0LJeLaTU4ElsCn1nweyOwIbhz6lcGezQ+lSCZnep7bAMotGQ3+kxKM3tMHq74Q/EDhIhtDBbIA/8Z3DJvtDo5Cw58vgFjGcoU X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?eE9uOHZTQm02YWg2T2VSVjYxZlgrdGtVZW9ERWhOa3VQSEkwUjJDUDhETWFo?= =?utf-8?B?Q1I2dWlrTnJpUWJnR0R0N1VpZ0lTSnVEdGNwVThCeXMvdUo1b3hUbGMzR1dX?= =?utf-8?B?NlpoalZaZEZQR056VWFSWWxETkRvOGJGNFdYTHNLeWhDTktOK1hsYTJ4aXpw?= =?utf-8?B?Ym1xMGpDcDAxQUc4RFFPeG4xeW1xV2ZYdVBDbC9ndE1yeU8rcFFDZnVFWlly?= =?utf-8?B?b202dU9HUHBYbzE5bE1GM3dyUnhiTXE4eFM3TVJFV0o5RFR6ZW1tS2hJS0pR?= =?utf-8?B?SGxWdm9jRkp0TmlFQ2NEYzJxSnNweWM1SFh0SVRSckpGOGowSGV1R2VEaWVu?= =?utf-8?B?S1NKeXgzNldseVlEWkNJdDBFK1pULy8vaTIxNVhQN2hPaW0yS0pPcnJzWXJq?= =?utf-8?B?S1l4M1gxa2Z2MWJHa1c0UUttVTAwcmRYQ1FGdDRtMk1OR1lrR1ZsdXd5N1Rp?= =?utf-8?B?UUE1K2o1Ri9vRXY1REtjb2twdnYwZEdSRWVNL3FHY0pRdU40NmxqZ2ZQNUZH?= =?utf-8?B?d1U3cG1BL1pGUFU1eU8rSFdlYlp5dERueHZoYkE0MUVlWXRsbC9yWkQzeFhQ?= =?utf-8?B?V0hnSlZUc3l6c0d1bmtOdXlPRHB5MlN0c1crVThnSUc1Nm1qV3hiaGZteFhW?= =?utf-8?B?SERYSUxLTTNiOUVkdzJnYzUya3pBOFJzN3Y2Q1BXaFE3K21GUWZUaWEyZEtx?= =?utf-8?B?V1l1ekZhTnZVNUM2TlRjbXQ1NU5RaVVhVEp4T2tRN3REb2VNRDB0ZFNORjdX?= =?utf-8?B?L2o3YkRuZDAvKzJvUGRRTnBneEYvRWJRQU4wVDZIQWxzbW11bG0rN2w4TzM1?= =?utf-8?B?cWJsR2JlZ29UdTJ4cXRYMmtMYWdCQ2VZNFhseitkMVFpQzVhQ0d4MktzUkxC?= =?utf-8?B?VGhwa1ByNG4wUGVFNzJkUVZBa1RDTFU3UTBQOEJHT0s1WThsWTBZbXF0RW9U?= =?utf-8?B?QmVKM0h5TEVaT2ZCbEluSGtyaXF0SHU4QkI2RWhqZVV3emdhdDBLaEhhTUc4?= =?utf-8?B?dlBkTFc0L2RrajBVS3Z0akV1SVY3SU14OForQ2ZNL2MzRkIvOVBySlZtdHFt?= =?utf-8?B?NTlMcTk1MEt3cGhBZEl6Uzh2RU9vd0NJQklBQmlXTVk3dEowL2s2eGEzNCsx?= =?utf-8?B?UGljT21oNmpFU2hrTGUwWTE3NndlbU9LeTM1L1hlWE5tc1VRUEw0a05SdG9k?= =?utf-8?B?T0NtVkJMamE5djYxaWlZZlhJWlovbG41dHJMTUt4cVl6aEtZamxHSHpiZnRL?= =?utf-8?B?ZDhHaUFkUGNFOTBRTjhGTTVNN2JwL2ZwRWJQalJJWDFUcFoycXZqdEhERmhW?= =?utf-8?B?OWZ1S3RMYTFYcnZwMysrUW1UaWRsYlA2OFUyR0xWbnRObFBjTEtTc0VKN29o?= =?utf-8?B?Vm4yeDQ3MU1ib0hMT0laTmVaendRblNOWWNMNzFzZ0VLMWRScVRwU3Urd2ZB?= =?utf-8?B?SFZqQnpqbjhZUzJaMVh3VUhWazBneGZmL0dzTUE3bVlPTVJTNVFnR3R3NW9S?= =?utf-8?B?TU5xV0YzUURyWUhEdWIydWFuM091STQzNGhFdW42UERJMUNvZktuanF4djhK?= =?utf-8?B?UWRETTN1MjhvRVcrN1JLeDJOVlowVjRHM1pPSTBXUnJ6SjFoZnphYVdFSkRT?= =?utf-8?B?T2ZLSE8yUDB4MFQvanJXbUZXNGZDWFpIcXVhUG5xYU1KeFZoSFgwOGtiVnh6?= =?utf-8?B?amc4Q1ZNZnZReTg0ZDJQdCt4ZGRZcmxmQ29aeWdHcCtjcitRUzR3R1d5YzJO?= =?utf-8?Q?LOJhkzHGCN/iLmihNE=3D?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 82722bc3-4440-4d43-3269-08da7b16ac75 X-MS-Exchange-CrossTenant-AuthSource: DB6PR0101MB2214.eurprd01.prod.exchangelabs.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Aug 2022 21:24:14.2017 (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: VI1PR01MB6509 Subject: Re: [FFmpeg-devel] [PATCH 06/11] avutil/half2float: adjust conversion of NaN 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: Timo Rothenpieler: > IEEE-754 differentiates two different kind of NaNs. > Quiet and Signaling ones. They are differentiated by the MSB of the > mantissa. > > For whatever reason, actual hardware conversion of half to single always > sets the signaling bit to 1 if the mantissa is != 0, and to 0 if it's 0. > So our code has to follow suite or fate-testing hardware float16 will be > impossible. What does the exr spec say about quiet and signaling nans? > --- > libavcodec/exr.c | 2 +- > libavcodec/pnm.h | 2 +- > libavutil/half2float.h | 5 +++++ > tests/ref/fate/exr-rgb-scanline-zip-half-0x0-0xFFFF | 2 +- > 4 files changed, 8 insertions(+), 3 deletions(-) > > diff --git a/libavcodec/exr.c b/libavcodec/exr.c > index 5c6ca9adbf..47f4786491 100644 > --- a/libavcodec/exr.c > +++ b/libavcodec/exr.c > @@ -191,7 +191,7 @@ typedef struct EXRContext { > float gamma; > union av_intfloat32 gamma_table[65536]; > > - uint32_t mantissatable[2048]; > + uint32_t mantissatable[3072]; > uint32_t exponenttable[64]; > uint16_t offsettable[64]; > } EXRContext; > diff --git a/libavcodec/pnm.h b/libavcodec/pnm.h > index 5bf2eaa4d9..7e5445f529 100644 > --- a/libavcodec/pnm.h > +++ b/libavcodec/pnm.h > @@ -34,7 +34,7 @@ typedef struct PNMContext { > int half; > float scale; > > - uint32_t mantissatable[2048]; > + uint32_t mantissatable[3072]; > uint32_t exponenttable[64]; > uint16_t offsettable[64]; > } PNMContext; > diff --git a/libavutil/half2float.h b/libavutil/half2float.h > index 1f6deade07..5af4690cfe 100644 > --- a/libavutil/half2float.h > +++ b/libavutil/half2float.h > @@ -45,6 +45,9 @@ static void half2float_table(uint32_t *mantissatable, uint32_t *exponenttable, > mantissatable[i] = convertmantissa(i); > for (int i = 1024; i < 2048; i++) > mantissatable[i] = 0x38000000UL + ((i - 1024) << 13UL); > + for (int i = 2048; i < 3072; i++) > + mantissatable[i] = mantissatable[i - 1024] | 0x400000UL; > + mantissatable[2048] = mantissatable[1024]; > > exponenttable[0] = 0; > for (int i = 1; i < 31; i++) > @@ -58,7 +61,9 @@ static void half2float_table(uint32_t *mantissatable, uint32_t *exponenttable, > offsettable[0] = 0; > for (int i = 1; i < 64; i++) > offsettable[i] = 1024; > + offsettable[31] = 2048; > offsettable[32] = 0; > + offsettable[63] = 2048; > } > > static uint32_t half2float(uint16_t h, const uint32_t *mantissatable, const uint32_t *exponenttable, > diff --git a/tests/ref/fate/exr-rgb-scanline-zip-half-0x0-0xFFFF b/tests/ref/fate/exr-rgb-scanline-zip-half-0x0-0xFFFF > index b6201116fe..e45a40b498 100644 > --- a/tests/ref/fate/exr-rgb-scanline-zip-half-0x0-0xFFFF > +++ b/tests/ref/fate/exr-rgb-scanline-zip-half-0x0-0xFFFF > @@ -3,4 +3,4 @@ > #codec_id 0: rawvideo > #dimensions 0: 256x256 > #sar 0: 1/1 > -0, 0, 0, 1, 786432, 0x1445e411 > +0, 0, 0, 1, 786432, 0xce9be2be _______________________________________________ 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".