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".
next prev parent 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