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-requ...@ffmpeg.org with subject "unsubscribe".