Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
 help / color / mirror / Atom feed
* [FFmpeg-devel] [PATCH 0/4] Fix FFmpeg compilation without DCE
@ 2022-11-01 21:59 L. E. Segovia
  2022-11-01 21:59 ` [FFmpeg-devel] [PATCH 1/4] all: Replace if (ARCH_FOO) checks by #if ARCH_FOO, part 2 L. E. Segovia
                   ` (11 more replies)
  0 siblings, 12 replies; 54+ messages in thread
From: L. E. Segovia @ 2022-11-01 21:59 UTC (permalink / raw)
  To: ffmpeg-devel; +Cc: Nirbheek Chauhan, Halla Rempt, Tim-Philipp Müller

Hi all,

This is a patch to fix building FFmpeg without having DCE enabled.
This was previously attempted by Andreas Rheinhardt in commit 
40e6575aa3eed64cd32bf28c00ae57edc5acb25a. However, this is not remotely
enough for MSVC; one can quickly check for this by configuring the build
without any optimizations, and then overriding OPTFLAGS with /Od:

  ../configure --disable-asm --disable-optimizations --optflags=-Od --enable-shared --disable-static --toolchain=msvc

Issuing make should yield the first of many LNK2019 errors:

  LD      libavformat/avformat-59.dll
    Creating library libavformat/avformat.lib and object libavformat/avformat.exp
  rtmpproto.o : error LNK2019: unresolved external symbol ff_rtmpe_gen_pub_key referenced in function rtmp_handshake
  rtmpproto.o : error LNK2019: unresolved external symbol ff_rtmpe_compute_secret_key referenced in function rtmp_handshake
  rtmpproto.o : error LNK2019: unresolved external symbol ff_rtmpe_encrypt_sig referenced in function rtmp_handshake
  rtmpproto.o : error LNK2019: unresolved external symbol ff_rtmpe_update_keystream referenced in function rtmp_handshake
  libavformat\avformat-59.dll : fatal error LNK1120: 4 unresolved externals
  make: *** [/c/Users/Amalia/Desktop/ffmpeg/ffbuild/library.mak:119: libavformat/avformat-59.dll] Error 96

The proposed patchset comprehensively converts all instances of ARCH_FOO, 
CONFIG_FOO, INLINE_FOO and EXTERNAL_FOO to the equivalent preprocessor
guards.

L. E. Segovia (4):
  all: Replace if (ARCH_FOO) checks by #if ARCH_FOO, part 2
  all: Replace if (CONFIG_FOO) checks by #if CONFIG_FOO
  all: Guard if (INLINE*) checks with #if HAVE_INLINE_ASM
  all: Guard if (EXTERNAL*) checks with #if HAVE_X86ASM

 fftools/ffprobe.c                          |  22 +-
 fftools/opt_common.c                       |  18 +-
 libavcodec/x86/aacencdsp_init.c            |   2 +
 libavcodec/x86/aacpsdsp_init.c             |   2 +
 libavcodec/x86/ac3dsp_init.c               |   4 +
 libavcodec/x86/audiodsp_init.c             |   2 +
 libavcodec/x86/bswapdsp_init.c             |   2 +
 libavcodec/x86/cavsdsp.c                   |   2 +
 libavcodec/x86/celt_pvq_init.c             |   2 +
 libavcodec/x86/cfhddsp_init.c              |   2 +
 libavcodec/x86/cfhdencdsp_init.c           |   2 +
 libavcodec/x86/dcadsp_init.c               |   4 +
 libavcodec/x86/dct_init.c                  |   2 +
 libavcodec/x86/dnxhdenc_init.c             |   2 +
 libavcodec/x86/exrdsp_init.c               |   2 +
 libavcodec/x86/fdctdsp_init.c              |   2 +
 libavcodec/x86/fft_init.c                  |   2 +
 libavcodec/x86/flacdsp_init.c              |   8 +-
 libavcodec/x86/g722dsp_init.c              |   2 +
 libavcodec/x86/h263dsp_init.c              |   2 +
 libavcodec/x86/h264_intrapred_init.c       |   2 +
 libavcodec/x86/h264chroma_init.c           |   2 +
 libavcodec/x86/hevcdsp_init.c              | 465 +++++++++++----------
 libavcodec/x86/hpeldsp_init.c              |   2 +
 libavcodec/x86/hpeldsp_vp3_init.c          |   2 +
 libavcodec/x86/huffyuvdsp_init.c           |   2 +
 libavcodec/x86/huffyuvencdsp_init.c        |   2 +
 libavcodec/x86/idctdsp_init.c              |  11 +-
 libavcodec/x86/jpeg2000dsp_init.c          |   2 +
 libavcodec/x86/lossless_videodsp_init.c    |   2 +
 libavcodec/x86/lossless_videoencdsp_init.c |   2 +
 libavcodec/x86/mdct15_init.c               |   2 +
 libavcodec/x86/me_cmp_init.c               |   2 +
 libavcodec/x86/mlpdsp_init.c               |   8 +-
 libavcodec/x86/mpegvideoencdsp_init.c      |   2 +
 libavcodec/x86/opusdsp_init.c              |   2 +
 libavcodec/x86/pixblockdsp_init.c          |   2 +
 libavcodec/x86/pngdsp_init.c               |   2 +
 libavcodec/x86/proresdsp_init.c            |   2 +
 libavcodec/x86/rv34dsp_init.c              |   2 +
 libavcodec/x86/sbcdsp_init.c               |   2 +
 libavcodec/x86/sbrdsp_init.c               |   2 +
 libavcodec/x86/svq1enc_init.c              |   2 +
 libavcodec/x86/utvideodsp_init.c           |   2 +
 libavcodec/x86/v210enc_init.c              |   2 +
 libavcodec/x86/vc1dsp_init.c               |   6 +-
 libavcodec/x86/vorbisdsp_init.c            |   2 +
 libavcodec/x86/vp3dsp_init.c               |   2 +
 libavcodec/x86/vp6dsp_init.c               |   2 +
 libavfilter/x86/af_afir_init.c             |   2 +
 libavfilter/x86/af_anlmdn_init.c           |   2 +
 libavfilter/x86/af_volume_init.c           |   2 +
 libavfilter/x86/avf_showcqt_init.c         |   2 +
 libavfilter/x86/colorspacedsp_init.c       |   6 +-
 libavfilter/x86/vf_atadenoise_init.c       |   8 +-
 libavfilter/x86/vf_blend_init.c            |   2 +
 libavfilter/x86/vf_bwdif_init.c            |   2 +
 libavfilter/x86/vf_convolution_init.c      |   2 +
 libavfilter/x86/vf_framerate_init.c        |   2 +
 libavfilter/x86/vf_fspp_init.c             |   2 +
 libavfilter/x86/vf_gblur_init.c            |   2 +
 libavfilter/x86/vf_hflip_init.c            |   2 +
 libavfilter/x86/vf_limiter_init.c          |   2 +
 libavfilter/x86/vf_maskedclamp_init.c      |   2 +
 libavfilter/x86/vf_maskedmerge_init.c      |   2 +
 libavfilter/x86/vf_overlay_init.c          |   2 +
 libavfilter/x86/vf_pp7_init.c              |   2 +
 libavfilter/x86/vf_psnr_init.c             |   2 +
 libavfilter/x86/vf_removegrain_init.c      |   2 +
 libavfilter/x86/vf_ssim_init.c             |   8 +-
 libavfilter/x86/vf_stereo3d_init.c         |   2 +
 libavfilter/x86/vf_threshold_init.c        |   2 +
 libavfilter/x86/vf_tinterlace_init.c       |   2 +
 libavfilter/x86/vf_transpose_init.c        |   2 +
 libavfilter/x86/vf_v360_init.c             |   2 +
 libavfilter/x86/vf_w3fdif_init.c           |   6 +-
 libavfilter/x86/vf_yadif_init.c            |   2 +
 libavformat/rtmpproto.c                    |  24 +-
 libavutil/x86/fixed_dsp_init.c             |   2 +
 libavutil/x86/float_dsp_init.c             |   2 +
 libavutil/x86/imgutils_init.c              |   2 +
 libavutil/x86/lls_init.c                   |   2 +
 libavutil/x86/pixelutils_init.c            |   2 +
 libswresample/x86/audio_convert_init.c     |   2 +
 libswresample/x86/resample_init.c          |   6 +
 libswscale/x86/rgb2rgb.c                   |   2 +
 libswscale/x86/swscale.c                   |   2 +
 87 files changed, 493 insertions(+), 255 deletions(-)

-- 
2.37.1.windows.1

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

^ permalink raw reply	[flat|nested] 54+ messages in thread

end of thread, other threads:[~2023-07-31 18:28 UTC | newest]

Thread overview: 54+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-11-01 21:59 [FFmpeg-devel] [PATCH 0/4] Fix FFmpeg compilation without DCE L. E. Segovia
2022-11-01 21:59 ` [FFmpeg-devel] [PATCH 1/4] all: Replace if (ARCH_FOO) checks by #if ARCH_FOO, part 2 L. E. Segovia
2022-11-01 22:28   ` Andreas Rheinhardt
2022-11-03 12:55     ` L. E. Segovia
2022-11-03 14:19       ` Andreas Rheinhardt
2022-11-03 21:59   ` Carl Eugen Hoyos
2022-11-01 21:59 ` [FFmpeg-devel] [PATCH 2/4] all: Replace if (CONFIG_FOO) checks by #if CONFIG_FOO L. E. Segovia
2022-11-02  0:38   ` Andreas Rheinhardt
2022-11-01 21:59 ` [FFmpeg-devel] [PATCH 3/4] all: Guard if (INLINE*) checks with #if HAVE_INLINE_ASM L. E. Segovia
2022-11-02  0:42   ` Andreas Rheinhardt
2022-11-01 21:59 ` [FFmpeg-devel] [PATCH 4/4] all: Guard if (EXTERNAL*) checks with #if HAVE_X86ASM L. E. Segovia
2022-11-02  0:26   ` Andreas Rheinhardt
2022-11-02  1:08 ` [FFmpeg-devel] [PATCH 0/4] Fix FFmpeg compilation without DCE Andreas Rheinhardt
2022-11-03 15:30 ` [FFmpeg-devel] [PATCH v2 0/5] " L. E. Segovia
2022-11-03 15:30 ` [FFmpeg-devel] [PATCH v2 1/5] all: Replace if (ARCH_FOO) checks by #if ARCH_FOO, part 2 L. E. Segovia
2022-11-03 15:30 ` [FFmpeg-devel] [PATCH v2 2/5] avcodec/x86/hevcdsp_init: Fix indentation after the ARCH_FOO changes L. E. Segovia
2022-11-03 15:30 ` [FFmpeg-devel] [PATCH v2 3/5] all: Replace if (CONFIG_FOO) checks by #if CONFIG_FOO L. E. Segovia
2022-11-03 15:30 ` [FFmpeg-devel] [PATCH v2 4/5] all: Guard if (INLINE*) checks with #if HAVE_INLINE_ASM L. E. Segovia
2022-11-03 15:30 ` [FFmpeg-devel] [PATCH v2 5/5] all: Guard if (EXTERNAL*) checks with #if HAVE_X86ASM L. E. Segovia
2022-11-03 15:55   ` Lynne
2022-11-14  9:01     ` L. E. Segovia
2022-11-03 16:36 ` [FFmpeg-devel] [PATCH v3 0/5] Fix FFmpeg compilation without DCE L. E. Segovia
2022-11-03 16:36   ` [FFmpeg-devel] [PATCH v3 1/5] all: Replace if (ARCH_FOO) checks by #if ARCH_FOO, part 2 L. E. Segovia
2022-11-03 16:36   ` [FFmpeg-devel] [PATCH v3 2/5] avcodec/x86/hevcdsp_init: Fix indentation after the ARCH_FOO changes L. E. Segovia
2022-11-03 16:36   ` [FFmpeg-devel] [PATCH v3 3/5] all: Replace if (CONFIG_FOO) checks by #if CONFIG_FOO L. E. Segovia
2022-11-03 16:36   ` [FFmpeg-devel] [PATCH v3 4/5] all: Guard if (INLINE*) checks with #if HAVE_INLINE_ASM L. E. Segovia
2022-11-03 16:36   ` [FFmpeg-devel] [PATCH v3 5/5] all: Guard if (EXTERNAL*) checks with #if HAVE_X86ASM L. E. Segovia
2022-11-07 14:48   ` [FFmpeg-devel] [PATCH v3 0/5] Fix FFmpeg compilation without DCE L. E. Segovia
2022-11-17 22:45     ` L. E. Segovia
2022-11-26 19:17     ` L. E. Segovia
2022-11-27 15:51       ` Carl Eugen Hoyos
2022-11-27 16:29         ` Soft Works
2022-11-27 16:46           ` Carl Eugen Hoyos
2022-11-27 17:16             ` Soft Works
2022-11-27 17:45               ` Carl Eugen Hoyos
2022-11-27 19:23                 ` Soft Works
2022-11-27 17:50               ` Hendrik Leppkes
2022-11-27 18:28                 ` Soft Works
2023-07-28  1:37   ` [FFmpeg-devel] [PATCH v4 0/4] Fix MSVC build without optimizations L. E. Segovia
2023-07-28 10:40     ` Reimar Döffinger
2023-07-28 10:48       ` Reimar Döffinger
2023-07-28 10:55         ` Nicolas George
2023-07-28 13:21           ` Matt Oliver
2023-07-29 18:57             ` L. E. Segovia
2023-07-29 19:07     ` [FFmpeg-devel] [PATCH v5 " L. E. Segovia
     [not found]     ` <cover.1690657578.git.amy@amyspark.me>
2023-07-29 19:07       ` [FFmpeg-devel] [PATCH v5 1/4] all: Replace if (ARCH_FOO) checks by #if ARCH_FOO, part 2 L. E. Segovia
2023-07-31 18:28         ` Michael Niedermayer
2023-07-29 19:07       ` [FFmpeg-devel] [PATCH v5 2/4] all: Replace if (CONFIG_FOO) checks by #if CONFIG_FOO L. E. Segovia
2023-07-29 19:07       ` [FFmpeg-devel] [PATCH v5 3/4] all: Guard if (INLINE*) checks with #if HAVE_INLINE_ASM L. E. Segovia
2023-07-29 19:08       ` [FFmpeg-devel] [PATCH v5 4/4] all: Guard if (EXTERNAL*) checks with #if HAVE_X86ASM L. E. Segovia
     [not found]   ` <cover.1690508131.git.amy@amyspark.me>
2023-07-28  1:37     ` [FFmpeg-devel] [PATCH v4 1/4] all: Replace if (ARCH_FOO) checks by #if ARCH_FOO, part 2 L. E. Segovia
2023-07-28  1:38     ` [FFmpeg-devel] [PATCH v4 2/4] all: Replace if (CONFIG_FOO) checks by #if CONFIG_FOO L. E. Segovia
2023-07-28  1:38     ` [FFmpeg-devel] [PATCH v4 3/4] all: Guard if (INLINE*) checks with #if HAVE_INLINE_ASM L. E. Segovia
2023-07-28  1:38     ` [FFmpeg-devel] [PATCH v4 4/4] all: Guard if (EXTERNAL*) checks with #if HAVE_X86ASM L. E. Segovia

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