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