Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
 help / color / mirror / Atom feed
From: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
To: ffmpeg-devel@ffmpeg.org
Subject: Re: [FFmpeg-devel] [PATCH 08/11] avutil/half2float: move non-inline init code out of header
Date: Thu, 11 Aug 2022 22:50:10 +0200
Message-ID: <DB6PR0101MB221464A0AE13A2BCD6EC658D8F649@DB6PR0101MB2214.eurprd01.prod.exchangelabs.com> (raw)
In-Reply-To: <20220811204616.GF2088045@pb2>

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.)

- 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".

  reply	other threads:[~2022-08-11 20:50 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-08-10 20:47 [FFmpeg-devel] [PATCH 01/11] lavu/pixfmt: add packed RGBA float16 format Timo Rothenpieler
2022-08-10 20:47 ` [FFmpeg-devel] [PATCH 02/11] avutil/hwcontext_d3d11va: add support for rgbaf16 pixel format Timo Rothenpieler
2022-08-10 20:47 ` [FFmpeg-devel] [PATCH 03/11] avfilter/vsrc_ddagrab: add rgbaf16 output support Timo Rothenpieler
2022-08-10 20:47 ` [FFmpeg-devel] [PATCH 04/11] avfilter/vsrc_ddagrab: add options for more control over output format fallback Timo Rothenpieler
2022-08-10 20:47 ` [FFmpeg-devel] [PATCH 05/11] avutil: move half-precision float helper to avutil Timo Rothenpieler
2022-08-10 20:47 ` [FFmpeg-devel] [PATCH 06/11] avutil/half2float: adjust conversion of NaN Timo Rothenpieler
2022-08-10 21:24   ` Andreas Rheinhardt
2022-08-10 21:36     ` Timo Rothenpieler
2022-08-10 21:43       ` Andreas Rheinhardt
2022-08-10 21:53         ` Timo Rothenpieler
2022-08-10 22:14           ` Mark Reid
2022-08-10 22:18             ` James Almer
2022-08-10 22:28               ` Timo Rothenpieler
2022-08-10 22:37                 ` Mark Reid
2022-08-10 22:55                   ` Timo Rothenpieler
2022-08-11  2:18                     ` Mark Reid
2022-08-10 20:47 ` [FFmpeg-devel] [PATCH 07/11] avutil/half2float: move tables to header-internal structs Timo Rothenpieler
2022-08-10 20:47 ` [FFmpeg-devel] [PATCH 08/11] avutil/half2float: move non-inline init code out of header Timo Rothenpieler
2022-08-11 20:46   ` Michael Niedermayer
2022-08-11 20:50     ` Andreas Rheinhardt [this message]
2022-08-11 21:16       ` Michael Niedermayer
2022-08-11 21:31         ` Andreas Rheinhardt
2022-08-14 19:32           ` Michael Niedermayer
2022-08-15  4:20             ` Andreas Rheinhardt
2022-08-15 18:09               ` Michael Niedermayer
2022-08-14 21:54           ` Timo Rothenpieler
2022-08-10 20:47 ` [FFmpeg-devel] [PATCH 09/11] avutil/half2float: use native _Float16 if available Timo Rothenpieler
2022-08-10 21:03   ` Andreas Rheinhardt
2022-08-10 21:58     ` Timo Rothenpieler
2022-08-10 22:02       ` James Almer
2022-08-10 22:51   ` [FFmpeg-devel] [PATCH v2 " Timo Rothenpieler
2022-08-11  0:14     ` James Almer
2022-08-11 11:50       ` Timo Rothenpieler
2022-08-10 20:47 ` [FFmpeg-devel] [PATCH 10/11] swscale: add SwsContext parameter to input functions Timo Rothenpieler
2022-08-10 20:52   ` Timo Rothenpieler
2022-08-10 21:55   ` Andreas Rheinhardt
2022-08-10 22:02     ` Timo Rothenpieler
2022-08-10 20:47 ` [FFmpeg-devel] [PATCH 11/11] swscale/input: add rgbaf16 input support Timo Rothenpieler
2022-08-10 21:37   ` Timo Rothenpieler

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=DB6PR0101MB221464A0AE13A2BCD6EC658D8F649@DB6PR0101MB2214.eurprd01.prod.exchangelabs.com \
    --to=andreas.rheinhardt@outlook.com \
    --cc=ffmpeg-devel@ffmpeg.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://master.gitmailbox.com/ffmpegdev/0 ffmpegdev/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 ffmpegdev ffmpegdev/ https://master.gitmailbox.com/ffmpegdev \
		ffmpegdev@gitmailbox.com
	public-inbox-index ffmpegdev

Example config snippet for mirrors.


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git