Message ID | cover.1667489638.git.amy@amyspark.me |
---|---|
Headers | show |
Series | Fix FFmpeg compilation without DCE | expand |
Ping for review. amyspark On 03/11/2022 13:36, L. E. Segovia wrote: > Hi all, > > This new version is intended to make Patchwork log the set correctly. > (My apologies there, I'm not used to send patches through the command line.) > > v3 changes (same as v2): > > - Split indentation fixes for hevcdsp_init into its own commit > - Fixed spurious indentation in vf_ssim_init > - Implemented the macro approach for expanding the CONFIG_FOO checks in fftools > - Added the missing HAVE_X86ASM check in vc1dsp_init > - Added a missing HAVE_INLINE_ASM check in hpeldsp_init (see below) > - Fixed the HAVE_X86ASM check wrongly covering the INLINE_FOO clause in hpeldsp_init > - Removed the duplicate HAVE_X86ASM check in me_cmp_init > - Inlined the HAVE_X86ASM and ARCH_X86_64 checks in mlpdsp_init and vf_convolution_init > > L. E. Segovia (5): > all: Replace if (ARCH_FOO) checks by #if ARCH_FOO, part 2 > avcodec/x86/hevcdsp_init: Fix indentation after the ARCH_FOO changes > 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 | 16 +- > fftools/opt_common.c | 12 +- > 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 | 2 + > 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 | 549 +++++++++++---------- > libavcodec/x86/hpeldsp_init.c | 4 + > 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 | 6 +- > 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 | 6 +- > 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, 517 insertions(+), 299 deletions(-) >
Renewing ping. CC Andreas and Lynne since they were interested previously. amyspark On 07/11/2022 11:48, L. E. Segovia wrote: > Ping for review. > > amyspark > > On 03/11/2022 13:36, L. E. Segovia wrote: >> Hi all, >> >> This new version is intended to make Patchwork log the set correctly. >> (My apologies there, I'm not used to send patches through the command line.) >> >> v3 changes (same as v2): >> >> - Split indentation fixes for hevcdsp_init into its own commit >> - Fixed spurious indentation in vf_ssim_init >> - Implemented the macro approach for expanding the CONFIG_FOO checks in fftools >> - Added the missing HAVE_X86ASM check in vc1dsp_init >> - Added a missing HAVE_INLINE_ASM check in hpeldsp_init (see below) >> - Fixed the HAVE_X86ASM check wrongly covering the INLINE_FOO clause in hpeldsp_init >> - Removed the duplicate HAVE_X86ASM check in me_cmp_init >> - Inlined the HAVE_X86ASM and ARCH_X86_64 checks in mlpdsp_init and vf_convolution_init >> >> L. E. Segovia (5): >> all: Replace if (ARCH_FOO) checks by #if ARCH_FOO, part 2 >> avcodec/x86/hevcdsp_init: Fix indentation after the ARCH_FOO changes >> 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 | 16 +- >> fftools/opt_common.c | 12 +- >> 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 | 2 + >> 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 | 549 +++++++++++---------- >> libavcodec/x86/hpeldsp_init.c | 4 + >> 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 | 6 +- >> 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 | 6 +- >> 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, 517 insertions(+), 299 deletions(-) >> >
Hi again, Pinging again for review. I've asked for clarification about how should the EXTERNAL_<arch> checks be dealt with, but I've not received any response here. Best, amyspark On 07/11/2022 11:48, L. E. Segovia wrote: > Ping for review. > > amyspark > > On 03/11/2022 13:36, L. E. Segovia wrote: >> Hi all, >> >> This new version is intended to make Patchwork log the set correctly. >> (My apologies there, I'm not used to send patches through the command line.) >> >> v3 changes (same as v2): >> >> - Split indentation fixes for hevcdsp_init into its own commit >> - Fixed spurious indentation in vf_ssim_init >> - Implemented the macro approach for expanding the CONFIG_FOO checks in fftools >> - Added the missing HAVE_X86ASM check in vc1dsp_init >> - Added a missing HAVE_INLINE_ASM check in hpeldsp_init (see below) >> - Fixed the HAVE_X86ASM check wrongly covering the INLINE_FOO clause in hpeldsp_init >> - Removed the duplicate HAVE_X86ASM check in me_cmp_init >> - Inlined the HAVE_X86ASM and ARCH_X86_64 checks in mlpdsp_init and vf_convolution_init >> >> L. E. Segovia (5): >> all: Replace if (ARCH_FOO) checks by #if ARCH_FOO, part 2 >> avcodec/x86/hevcdsp_init: Fix indentation after the ARCH_FOO changes >> 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 | 16 +- >> fftools/opt_common.c | 12 +- >> 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 | 2 + >> 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 | 549 +++++++++++---------- >> libavcodec/x86/hpeldsp_init.c | 4 + >> 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 | 6 +- >> 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 | 6 +- >> 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, 517 insertions(+), 299 deletions(-) >> >
Am Sa., 26. Nov. 2022 um 20:17 Uhr schrieb L. E. Segovia <amy@amyspark.me>: > > Hi again, > > Pinging again for review. I've asked for clarification about how should > the EXTERNAL_<arch> checks be dealt with, but I've not received any > response here. As said before: I regularly compile with MSVC without this patch set and I believe the patch set makes our code less readable and harder to maintain. Carl Eugen
> -----Original Message----- > From: ffmpeg-devel <ffmpeg-devel-bounces@ffmpeg.org> On Behalf Of > Carl Eugen Hoyos > Sent: Sunday, November 27, 2022 4:52 PM > To: FFmpeg development discussions and patches <ffmpeg- > devel@ffmpeg.org> > Subject: Re: [FFmpeg-devel] [PATCH v3 0/5] Fix FFmpeg compilation > without DCE > > Am Sa., 26. Nov. 2022 um 20:17 Uhr schrieb L. E. Segovia > <amy@amyspark.me>: > > > > Hi again, > > > > Pinging again for review. I've asked for clarification about how > should > > the EXTERNAL_<arch> checks be dealt with, but I've not received any > > response here. > > As said before: > I regularly compile with MSVC without this patch set and I believe > the patch set makes our code less readable and harder to maintain. > > Carl Eugen > _______________________________________________ IMO, relying on DCE makes the code less accessible and understandable, than having explicit declarations that are clearly indicating which code is included under which conditions. How do you set this up when you are compiling with MSVC? Best, softworkz
Am So., 27. Nov. 2022 um 17:29 Uhr schrieb Soft Works <softworkz@hotmail.com>:
> How do you set this up when you are compiling with MSVC?
My configure line to compile with MSVC is:
$ src/configure --enable-gpl --toolchain=msvc --host-os=win32
But maybe I misunderstand your question?
Carl Eugen
> -----Original Message----- > From: ffmpeg-devel <ffmpeg-devel-bounces@ffmpeg.org> On Behalf Of > Carl Eugen Hoyos > Sent: Sunday, November 27, 2022 5:47 PM > To: FFmpeg development discussions and patches <ffmpeg- > devel@ffmpeg.org> > Subject: Re: [FFmpeg-devel] [PATCH v3 0/5] Fix FFmpeg compilation > without DCE > > Am So., 27. Nov. 2022 um 17:29 Uhr schrieb Soft Works > <softworkz@hotmail.com>: > > > How do you set this up when you are compiling with MSVC? > > My configure line to compile with MSVC is: > $ src/configure --enable-gpl --toolchain=msvc --host-os=win32 > > But maybe I misunderstand your question? What I meant is the environment. Are you running this from an MSYS shell? Or WSL? And does running configure output VS project files, so that you can compile inside VS (I think this existed at some earlier time at least, but I was under the impression that it's broken)..? Thanks, softworkz
Am So., 27. Nov. 2022 um 18:16 Uhr schrieb Soft Works <softworkz@hotmail.com>: > > > > > -----Original Message----- > > From: ffmpeg-devel <ffmpeg-devel-bounces@ffmpeg.org> On Behalf Of > > Carl Eugen Hoyos > > Sent: Sunday, November 27, 2022 5:47 PM > > To: FFmpeg development discussions and patches <ffmpeg- > > devel@ffmpeg.org> > > Subject: Re: [FFmpeg-devel] [PATCH v3 0/5] Fix FFmpeg compilation > > without DCE Please consider fixing your mail client. > > Am So., 27. Nov. 2022 um 17:29 Uhr schrieb Soft Works > > <softworkz@hotmail.com>: > > > > > How do you set this up when you are compiling with MSVC? > > > > My configure line to compile with MSVC is: > > $ src/configure --enable-gpl --toolchain=msvc --host-os=win32 > > > > But maybe I misunderstand your question? > > What I meant is the environment. Are you running this from > an MSYS shell? Or WSL? WSL From what I remember, running configure in MSYS literally took ages, I don't know if this has improved. > And does running configure output VS project files I don't think so. > so that you can compile inside VS (I think this > existed at some earlier time at least, but I was > under the impression that it's broken)..? Which commit changed behaviour in this respect? Thank you, Carl Eugen
> > And does running configure output VS project files, so that > you can compile inside VS (I think this existed at some > earlier time at least, but I was under the impression that > it's broken)..? > This was never a feature, and likely never will be. We have our own build system and its the only supported one. The compiler is the same regardless, the msvc compiler. - Hendrik
> -----Original Message----- > From: ffmpeg-devel <ffmpeg-devel-bounces@ffmpeg.org> On Behalf Of > Hendrik Leppkes > Sent: Sunday, November 27, 2022 6:51 PM > To: FFmpeg development discussions and patches <ffmpeg- > devel@ffmpeg.org> > Subject: Re: [FFmpeg-devel] [PATCH v3 0/5] Fix FFmpeg compilation > without DCE > > > > > And does running configure output VS project files, so that > > you can compile inside VS (I think this existed at some > > earlier time at least, but I was under the impression that > > it's broken)..? > > > > This was never a feature, and likely never will be. We have our own > build system and its the only supported one. > The compiler is the same regardless, the msvc compiler. Then I have probably mixed this up with some tool or script who did that. I remember it was supposed to create VS project files in a subfolder named Build (not ffbuild). (and it was many years ago) Thanks, softworkz
> -----Original Message----- > From: ffmpeg-devel <ffmpeg-devel-bounces@ffmpeg.org> On Behalf Of > Carl Eugen Hoyos > Sent: Sunday, November 27, 2022 6:45 PM > To: FFmpeg development discussions and patches <ffmpeg- > devel@ffmpeg.org> > Subject: Re: [FFmpeg-devel] [PATCH v3 0/5] Fix FFmpeg compilation > without DCE > > Am So., 27. Nov. 2022 um 18:16 Uhr schrieb Soft Works > <softworkz@hotmail.com>: > > > > > > > > > -----Original Message----- > > > From: ffmpeg-devel <ffmpeg-devel-bounces@ffmpeg.org> On Behalf Of > > > Carl Eugen Hoyos > > > Sent: Sunday, November 27, 2022 5:47 PM > > > To: FFmpeg development discussions and patches <ffmpeg- > > > devel@ffmpeg.org> > > > Subject: Re: [FFmpeg-devel] [PATCH v3 0/5] Fix FFmpeg compilation > > > without DCE > > Please consider fixing your mail client. What did it do wrong? > > > Am So., 27. Nov. 2022 um 17:29 Uhr schrieb Soft Works > > > <softworkz@hotmail.com>: > > > > > > > How do you set this up when you are compiling with MSVC? > > > > > > My configure line to compile with MSVC is: > > > $ src/configure --enable-gpl --toolchain=msvc --host-os=win32 > > > > > > But maybe I misunderstand your question? > > > From what I remember, running configure in MSYS literally > took ages, I don't know if this has improved. Nope. It's still as horribly long as it was, even with everything update to latest.. > > What I meant is the environment. Are you running this from > > an MSYS shell? Or WSL? > > WSL Ah alright. Probably a better choice when all you need is the scripting environment. > > And does running configure output VS project files > > I don't think so. Sorry, I must have confused this with some external script or something. I was asking because when it's about msvc, I'm used to picture someone would be using VS as an IDE. So, yes, the plain msvc compiler doesn't have a problem with DCE. The problem is when creating projects to compile and work with the code in the VS IDE. And what VS does is pre-parsing the code in the background while you're working on it, so you don't really need to compile as you see errors and warning while you write them. As there's no actual linking being done, this procedure cannot "simulate" the DCE process and it can only assume that those symbols that DCE would eliminate are missing symbols. The result is that you cannot work in the IDE because it is full of errors due to this. Likely, this is also the use case of the submitter of this patch. I'm using VS as well, not for final compilation but for writing and debugging as this allows me to work in the way I want to work. Currently, I'm using Matt Oliver's VS project generator, which does a really good job in working around these problems by creating empty definitions for all these loose ends that are missing (as long as a final compilation hasn't determined that they aren't actually needed. But this does also have drawbacks: when changes are made in the ffmpeg base, those definitions may not match anymore and the projects need to be re-generated (which is painful). And the same applies when switching branches, so I usually have multiple sets of VS project/solutions, but these still get outdated and I need to re-create again. For these reasons, I would very much welcome when this situation could be improved. And not only for those but I also had a situation at some time where I wasted a lot of time and got quite desperate on something that turned out to be caused by the code relying on DCE - which wasn't clear to me in that situation. When you know about it, then you can live with it, but when not, then it just adds to the experience for those who are new to ffmpeg. Also, I'm not sure whether that is a reasonable use case for DCE, that it allows you to spare writing a few conditionals in the code. Anyway, I would find it nice if the code would not rely on DCE anymore. Best wishes, softworkz