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 A7B7743ADF for ; Thu, 11 Aug 2022 21:31:47 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 3E0B968B8D2; Fri, 12 Aug 2022 00:31:44 +0300 (EEST) Received: from EUR01-VE1-obe.outbound.protection.outlook.com (mail-oln040092066053.outbound.protection.outlook.com [40.92.66.53]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id CCA3D68B682 for ; Fri, 12 Aug 2022 00:31:37 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=XWBDAa86g4l2nCOKID5ETfVnkISlK14IV582OVfrrLKGUSGxVGegnR0/fa9aSalTFkZUIs0cLRKtJaXq3gfSscPvP3RiRQDDh0LpTjVJKnwkIM0vfffT9zvfBdBXn72C5fk4r9LD5wysyf3UmN+/iiRtK/K/nSSR80qnN6fWG3bYHreHNIyHSdj0oF79DyreRCBI561Aa7BDWSPMf8w/jtpXlJIpV+icfujRc7lU2hnCRxrOhyTFq0f1q77lFdePLArjSDMin4b4Yhu0+fM6+mkleq8Bm9HiSpsRydVddbrlrujNvzgJ1800LOyouoAt8kNGTMhSe7hxM/pgprjx+w== 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=QoxpE9PawaebfTOIccQwEewpFWZsT9W4cT+wW4CJX+8=; b=HXROVnTMaZV2QA7GLWIbTrhmg235J6t9Jm13UwSIyiVjrs72u4x2gV7Ba/2VsLElushE9PuYBr3GYm6wvGqI/CArwgTy1pM0HHsSGKCOxDvyjRCTbMPYdSV4xnib6nuRJg3HtbSWjqWWUkXN6wxcmH3kjtlgmb3832TQ7sRFjsRLtGJeae6BncfpuWB2INw4StxLJ6o+mAA4y7sXoJlFfjA5yPVAJ2tZTlQgaohF9G2gofZqKj+juTW5B1AqU9A1mlbwIRFpILVblWGh+pEuvErJ6uPiRD4/i1QPqXcVHpvNyAsIkHdn2mB71aOWwYnAgQ/mhlVJcnRjWCQf+Pf+hA== 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=QoxpE9PawaebfTOIccQwEewpFWZsT9W4cT+wW4CJX+8=; b=LPgSaQyVuyu0vN2Y4T31IiEZP/yVTI7vYZyhxkYucGWPf8wyrjSq6xcQzamoLeS/ve/DcYpbmHvVpPu4vHT1uNI4oI0TlzjG7O10dQgOidvdqrMh3HMoZA44C1uaG5YdE9Wb95Ai2O5gXmdjLP7J0zOKvPbTdPSj43V7IdwEHYEpaOq1HeOY5bCBCWiMCkwJXtkfE8le+eVPkOUR4q6B4bqVHT1uliTBkgXECVwDVrJUV0oS7W8NZe5Qnz4k0f3FnXoLVB/QJtrtp0adwQOybwZ1pSNDjiM16Q60owVO5se6bQEJkXU2rJSOgF+EpS5oKJWoM5U9SPtngWFf6KQ20A== Received: from DB6PR0101MB2214.eurprd01.prod.exchangelabs.com (2603:10a6:4:42::27) by AM6PR01MB5927.eurprd01.prod.exchangelabs.com (2603:10a6:20b:ea::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.16; Thu, 11 Aug 2022 21:31:36 +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; Thu, 11 Aug 2022 21:31:36 +0000 Message-ID: Date: Thu, 11 Aug 2022 23:31:32 +0200 Content-Language: en-US To: ffmpeg-devel@ffmpeg.org References: <20220810204712.3123-1-timo@rothenpieler.org> <20220810204712.3123-8-timo@rothenpieler.org> <20220811204616.GF2088045@pb2> <20220811211659.GH2088045@pb2> From: Andreas Rheinhardt In-Reply-To: <20220811211659.GH2088045@pb2> X-TMN: [3dm6AasIlCHKT+RgkCSNsAE+HRyevClZ] X-ClientProxiedBy: ZR0P278CA0160.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:41::18) To DB6PR0101MB2214.eurprd01.prod.exchangelabs.com (2603:10a6:4:42::27) X-Microsoft-Original-Message-ID: <88de4cc5-fd3e-5e87-a01d-03ee6c876fd8@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: b94c0a82-c529-41db-8db4-08da7be0de6e X-MS-TrafficTypeDiagnostic: AM6PR01MB5927:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: NtvkYZ3ic2UWP7iJlJAHkZnNpib2DSL5sEeK3uve8lyw5tY+eJ2Bi/bqG4bckzNLGG2QC/kjdQV8fJdFLOF6qZzAYRW2dpbXfW00PxxleYOYqV+PLBcGRUCDBeXx72XOERyQW1reclFiecqdd6V9a9De3J4kBAz6WYPzWxkue/6WN/0JZjVt0ePGaJ5IS5j07mgPaub1dIXZlavUGOoToIqakKQm3uHJsL4TgrJ6SHe9ddKTbCCM+SXz29+3i6V2lHm0Cq1TKoXgQSBJ1n9/F2+zFc2JlrwuEhyat8ePaumpupixDFs1mJH5YP8gLtZuIjCIepbGsiPyyg20s8mB1E09J/3RwPBTXbuqN28+IyY8uvae+0F0iTc+h5ooZAVdzjypnqFX4TjVbpofzSkXJZWTj45B3UMOBHuqx/srbCf65CLm/E9GwMCMHJygutO/xFECmm3tYoPMhaaWA+0kqUImkgYHv0hKZ8fyWG065c3fvTOQgXPUwm3UEXAm5GeYVYMsjL8D5+mCZ7stQKAMHMDHwsDXazl2NTzF72eQEcUmG0FgRtL41c+MAUmxg7DlT3ESDIp/qUh5MlGlcMr1F+a+TQovKwxg2PiaKNJRxhTjtvSMc3LvSHZFQ/w4ukGeFCqHpaLMP1e+to06LBUZBGimjnGHRDgjBxXUMos6OKywqWvdN3l0hsmmapKF/BLx X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?NnlWRVZUQS9YTFVXTk02VHZIbllDYnhxczhma0xleTBIRFc1Wks4MVFlUkFu?= =?utf-8?B?Y0dhQysrQVU4ai9sMHYwemt5K3dNdlJUemdDS3VOL2p1eXVzZW00bElVRFlz?= =?utf-8?B?bHJpVHg5VkMxL2lQMDU3cC82K3dxQTAweTBqUloxd2tYV3FrcDNURjIxaVdK?= =?utf-8?B?cktWZUV0NnZBQ2pIa3lzeTZCNTdHaWpFTlNRMURjbDlzZGE4Z0M5ZVNwK0RN?= =?utf-8?B?LzRUYWxZVEhhak01TXAxQkw0eHE4WjZPV1Y5QStuMzlFOEJYaEZQTGllNEdY?= =?utf-8?B?MVVyNUc0dU4zcjFiYzNtNzdJMkNYY2VtWmdDejRhQ0IvQnVwU1UzdkN1eUZa?= =?utf-8?B?anlXZlQwQVFJREEyTm9aclJjU3FjL1lDUXJ2d3NFUVFDb0VodXZaQUE1dkxP?= =?utf-8?B?cy9Gdjc1Rzl2ZlMrVm5hUnp1STl2UWNhOUF5RHdnSng1NW0zbWtRb25objJQ?= =?utf-8?B?RmZ4QnhQNDVsaS8yWGpRVHlSb2VoTTc4NFBFalhZZHE5SEZXQVJPaUdEeXNC?= =?utf-8?B?em8rSEZRYnFhWTE3VkhOTTN4TUJlSWRxZzRXaVo1S21Rc1JkZlVzbmMwMTd1?= =?utf-8?B?QmFDMXRaTXlTaEhhU0k1SWZva1d6dGFBY3NlbE01aStnSmxOdUw2NzF2Zi9j?= =?utf-8?B?amNZRzlUOUd3THhFaFZrNzV5cDliQ3BOWkdhTStXY0ZUcHlrRCt2ckNSY1N5?= =?utf-8?B?MFdvVDJhL05qVGtOSmdpTm1KNUFhUTVXSCtpMkp1Vk5FaC9qZmRubFFPYzlo?= =?utf-8?B?eEpNNEZKWlNJWmR2QWhNeWFZY3B3YXRMMy9SZWtoOTdOV2E3YWJsbk9yNHpJ?= =?utf-8?B?eDZYc09HZTMxL3N0RUFSbmFQejJRQW1HOExkR3ZWM3RmSE13TC9jb0pIQk43?= =?utf-8?B?WXpCSUVFVllRRjZuRndSSWkzbk9qM2J0MTFCWk05R0hVUHh1OURLTjRwS2Jq?= =?utf-8?B?TFpmdFYvV3hDVU5lRG53R1k0NVY5bTc2RVgzN2h1WG5oNUJ6S25nckZac1lV?= =?utf-8?B?VWVKNUNWOGpSck9HRnlVbjVIQ1NnWFM0eVdaU1o4bnJwb2NQeEUxdlpzUzd4?= =?utf-8?B?L0x5aWtsNkp5WVdNT2lVeFFreHllNEsxWjZGVWxTYkNyL0RNSmhjZTkzQk5j?= =?utf-8?B?Vy9nTnRMWkd0aVlPU0JDRDJCdDd0RmhoWm9TN1ptbGpDdXlOdlhFSFUyRjBG?= =?utf-8?B?L2VMNWxCaFc3Vm43cGFRcktxL0FxM1BDVCtsT0VENWhCSmU3UWE3dU82YTN4?= =?utf-8?B?QXJXT2VnYWQwNlhkU0JlMWV3Y2t6QzhucWo5UVh2S3E3RmZNR1QxTVEvVkZm?= =?utf-8?B?ZGt3WnNMMnc2d2pMaHVrRFMyK245SjZVQ0xYUTJxOUVqeHJXdzFMTEFGWUJD?= =?utf-8?B?WjFTRSt0cWtoSEhEbm9QWTE3TlFmQ3cwWDFLS0dIN21ickcvaFBaTHlZMndv?= =?utf-8?B?SmtFMEZTUitvZXYvQzZwczlYbm5SM1hEbk5kQnFLRENzaHhGNlhoajZVS3dl?= =?utf-8?B?U2M1R0djVXZnNDZwOGphOSttalh3OXl0ME9lSUp2cWZTaHEvdXh4RDFZcDhy?= =?utf-8?B?TEJtRGRKYzJKS1Q5WGVWWmVodnNsckxiaCtoSW9BdVpKMGRRbE9RWGNwNmx0?= =?utf-8?B?dmtZOERWbFVNVTJ1dVVaaVJzL0pMMk9ZaEMvZ0NDak1Za2duR3d4Tk5BU3hi?= =?utf-8?B?RmNCa0NHQVc4Z2JOWWZnY09LNWZuQ3hpdlNBQVkyTndQc2FaT2Fab3l6NzhM?= =?utf-8?Q?vzwqpMyR788huJPTIc=3D?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: b94c0a82-c529-41db-8db4-08da7be0de6e X-MS-Exchange-CrossTenant-AuthSource: DB6PR0101MB2214.eurprd01.prod.exchangelabs.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Aug 2022 21:31:36.3680 (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: AM6PR01MB5927 Subject: Re: [FFmpeg-devel] [PATCH 08/11] avutil/half2float: move non-inline init code out of 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: Michael Niedermayer: > On Thu, Aug 11, 2022 at 10:50:10PM +0200, Andreas Rheinhardt wrote: >> Michael Niedermayer: >>> On Wed, Aug 10, 2022 at 10:47:09PM +0200, Timo Rothenpieler wrote: >>>> --- >>>> libavcodec/Makefile | 8 +++--- >>>> libavcodec/exr.c | 2 +- >>>> libavcodec/exrenc.c | 2 +- >>>> libavcodec/float2half.c | 19 +++++++++++++ >>>> libavcodec/half2float.c | 19 +++++++++++++ >>>> libavcodec/pnmdec.c | 2 +- >>>> libavcodec/pnmenc.c | 2 +- >>>> libavutil/float2half.c | 53 ++++++++++++++++++++++++++++++++++ >>>> libavutil/float2half.h | 36 ++--------------------- >>>> libavutil/half2float.c | 63 +++++++++++++++++++++++++++++++++++++++++ >>>> libavutil/half2float.h | 46 ++---------------------------- >>>> 11 files changed, 166 insertions(+), 86 deletions(-) >>>> create mode 100644 libavcodec/float2half.c >>>> create mode 100644 libavcodec/half2float.c >>>> create mode 100644 libavutil/float2half.c >>>> create mode 100644 libavutil/half2float.c >>>> >>>> diff --git a/libavcodec/Makefile b/libavcodec/Makefile >>>> index 029f1bad3d..cb80f73d99 100644 >>>> --- a/libavcodec/Makefile >>>> +++ b/libavcodec/Makefile >>>> @@ -337,8 +337,8 @@ OBJS-$(CONFIG_EIGHTSVX_FIB_DECODER) += 8svx.o >>>> OBJS-$(CONFIG_ESCAPE124_DECODER) += escape124.o >>>> OBJS-$(CONFIG_ESCAPE130_DECODER) += escape130.o >>>> OBJS-$(CONFIG_EVRC_DECODER) += evrcdec.o acelp_vectors.o lsp.o >>>> -OBJS-$(CONFIG_EXR_DECODER) += exr.o exrdsp.o >>>> -OBJS-$(CONFIG_EXR_ENCODER) += exrenc.o >>>> +OBJS-$(CONFIG_EXR_DECODER) += exr.o exrdsp.o half2float.o >>>> +OBJS-$(CONFIG_EXR_ENCODER) += exrenc.o float2half.o >>>> OBJS-$(CONFIG_FASTAUDIO_DECODER) += fastaudio.o >>>> OBJS-$(CONFIG_FFV1_DECODER) += ffv1dec.o ffv1.o >>>> OBJS-$(CONFIG_FFV1_ENCODER) += ffv1enc.o ffv1.o >>>> @@ -570,8 +570,8 @@ OBJS-$(CONFIG_PGMYUV_DECODER) += pnmdec.o pnm.o >>>> OBJS-$(CONFIG_PGMYUV_ENCODER) += pnmenc.o >>>> OBJS-$(CONFIG_PGSSUB_DECODER) += pgssubdec.o >>>> OBJS-$(CONFIG_PGX_DECODER) += pgxdec.o >>>> -OBJS-$(CONFIG_PHM_DECODER) += pnmdec.o pnm.o >>>> -OBJS-$(CONFIG_PHM_ENCODER) += pnmenc.o >>>> +OBJS-$(CONFIG_PHM_DECODER) += pnmdec.o pnm.o half2float.o >>>> +OBJS-$(CONFIG_PHM_ENCODER) += pnmenc.o float2half.o >>>> OBJS-$(CONFIG_PHOTOCD_DECODER) += photocd.o >>>> OBJS-$(CONFIG_PICTOR_DECODER) += pictordec.o cga_data.o >>>> OBJS-$(CONFIG_PIXLET_DECODER) += pixlet.o >>>> diff --git a/libavcodec/exr.c b/libavcodec/exr.c >>>> index 825354873d..a3582bfdd6 100644 >>>> --- a/libavcodec/exr.c >>>> +++ b/libavcodec/exr.c >>>> @@ -2208,7 +2208,7 @@ static av_cold int decode_init(AVCodecContext *avctx) >>>> float one_gamma = 1.0f / s->gamma; >>>> avpriv_trc_function trc_func = NULL; >>>> >>>> - init_half2float_tables(&s->h2f_tables); >>>> + ff_init_half2float_tables(&s->h2f_tables); >>> [...] >>>> diff --git a/libavutil/float2half.c b/libavutil/float2half.c >>>> new file mode 100644 >>>> index 0000000000..dba14cef5d >>>> --- /dev/null >>>> +++ b/libavutil/float2half.c >>> [...] >>>> +void ff_init_float2half_tables(float2half_tables *t) >>> >>> this will need avpriv or break linking with shared libs >>> >> >> No, because this code is duplicated into all libraries that need it. >> (In case of static linking, only one of the variants will be used >> (namely the first one encountered in the link.) > > libswscale/libswscale.so: undefined reference to `ff_init_half2float_tables' > libswscale/libswscale.so: undefined reference to `ff_init_half2float_tables' > clang: error: linker command failed with exit code 1 (use -v to see invocation) > Makefile:131: recipe for target 'ffplay_g' failed > make: *** [ffplay_g] Error 1 > make: *** Waiting for unfinished jobs.... > clang: error: linker command failed with exit code 1 (use -v to see invocation) > libswscale/libswscale.so: undefined reference to `ff_init_half2float_tables' > Makefile:131: recipe for target 'ffprobe_g' failed > make: *** [ffprobe_g] Error 1 > clang: error: linker command failed with exit code 1 (use -v to see invocation) > Makefile:131: recipe for target 'ffmpeg_g' failed > make: *** [ffmpeg_g] Error 1 > That is with the whole patchset applied, isn't it!? Duplicating the init stuff into swscale has been forgotten. - 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".