* [FFmpeg-devel] [PATCH 00/13] [RFC] Reduce unnecessary recompilation @ 2022-02-23 14:29 Martin Storsjö 2022-02-23 14:29 ` [FFmpeg-devel] [PATCH 01/13] libavutil: Remove leftover uses of version.h Martin Storsjö ` (13 more replies) 0 siblings, 14 replies; 24+ messages in thread From: Martin Storsjö @ 2022-02-23 14:29 UTC (permalink / raw) To: ffmpeg-devel Hi, When updating the ffmpeg source, one quite often ends up in a situation where practically all of the codebase (or all of a library) gets rebuilt, due to updates to headers that are included in most files. In some cases, full rebuilds are warranted of course, but they could also be avoided in many cases - e.g. such as if the minor/micro version of a library has been bumped, or if a new component (codec, demuxer, filter etc) has been enabled (or removed if reconfiguring with an older source version). Very few source files are affected by exactly what the full library version is, or by the full list of enabled components. To avoid such rebuilds, I've got a proof of concept patchset that splits headers, so that most source files avoid including the bits that change often and that shouldn't affect how they are built. - The version.h headers are split into a separate version_major.h which contains only the major library version, and accompanying FF_API_* defines. The main library headers only include version_major.h, and files that need the exact version (e.g. LIB<name>_VERSION* or LIB<name>_IDENT) can include version.h explicitly. This is a minor break of the public API though, as definitions that used to be available no longer are. This works mostly fine for most libraries, but there's little point in splitting libavutil/version.h, because LIBAVUTIL_VERSION_INT is used in every source file that defines an AVClass. By splitting version.h, and update to the minor/micro version numbers of all libraries except avutil now would require recompiling 30 files instead of 1653 before. (This change also should lower the barrier to and reduce the risk of forgetting to bump the version numbers, which one otherwise often postpones while working on a patch, as it forces rebuilds.) - config.h is split into a separate config_components.h that includes the list of enabled/disabled components (corresponding to $ALL_COMPONENTS in configure). One could consider splitting up config.h even more, but that probably gives less benefit compared to the amount of churn. Surprisingly, a nontrivial number of source files do depend on the state of specific encoders/decoders/components, so quite a few files do end up requiring including config_components.h. (Also this change can possibly break compilation of source files that require external dependencies that I haven't tested.) In practice, this reduces the number of rebuilt source files from 1979 to 193, if there's a change to the list of enabled components but not to the rest of config.h. What do you think - is it worth the slight churn to avoid pointless rebuilds? Martin Storsjö (13): libavutil: Remove leftover uses of version.h libavcodec: Remove unnecessary includes of version.h libavformat: Remove unnecessary includes of version.h libavdevice: Remove unnecessary includes of version.h libavcodec: Split version.h libavformat: Split version.h libavdevice: Split version.h libpostproc: Split version.h libswresample: Split version.h libswscale: Split version.h libavfilter: Split version.h doc: Add an entry to APIchanges about no longer implicitly including version.h configure: Use a separate config_components.h header for $ALL_COMPONENTS configure | 17 +++++++-- doc/APIchanges | 6 ++++ fftools/cmdutils.c | 7 ++++ fftools/ffmpeg.c | 1 + fftools/ffplay.c | 1 + fftools/ffprobe.c | 7 ++++ libavcodec/8svx.c | 1 + libavcodec/Makefile | 1 + libavcodec/a64multienc.c | 1 + libavcodec/aac_ac3_parser.c | 1 + libavcodec/aacenc.c | 1 + libavcodec/aactab.c | 1 + libavcodec/aarch64/h264cmc_neon.S | 1 + libavcodec/ac3_parser.c | 1 + libavcodec/ac3dec.c | 1 + libavcodec/ac3enc.c | 1 + libavcodec/ac3enc_template.c | 1 + libavcodec/adpcm.c | 1 + libavcodec/adpcmenc.c | 1 + libavcodec/allcodecs.c | 1 + libavcodec/aptxdec.c | 1 + libavcodec/aptxenc.c | 1 + libavcodec/arm/flacdsp_init_arm.c | 1 + libavcodec/arm/h264cmc_neon.S | 1 + libavcodec/assdec.c | 1 + libavcodec/assenc.c | 1 + libavcodec/asvdec.c | 1 + libavcodec/asvenc.c | 1 + libavcodec/audiotoolboxdec.c | 1 + libavcodec/av1dec.c | 1 + libavcodec/avcodec.c | 1 + libavcodec/avcodec.h | 2 +- libavcodec/binkaudio.c | 1 + libavcodec/bintext.c | 1 + libavcodec/bsf.c | 1 + libavcodec/codec.h | 2 +- libavcodec/cyuv.c | 1 + libavcodec/dpxenc.c | 1 + libavcodec/flashsv.c | 1 + libavcodec/g726.c | 1 + libavcodec/gsmdec.c | 1 + libavcodec/h263dec.c | 1 + libavcodec/h264_slice.c | 1 + libavcodec/h264dec.c | 2 ++ libavcodec/hevcdec.c | 1 + libavcodec/huffyuvdec.c | 1 + libavcodec/huffyuvenc.c | 1 + libavcodec/idctdsp.c | 1 + libavcodec/iff.c | 1 + libavcodec/imc.c | 1 + libavcodec/ituh263dec.c | 1 + libavcodec/ituh263enc.c | 1 + libavcodec/j2kenc.c | 1 + libavcodec/lcldec.c | 1 + libavcodec/libgsmdec.c | 1 + libavcodec/libgsmenc.c | 1 + libavcodec/libopencore-amr.c | 1 + libavcodec/libvorbisenc.c | 1 + libavcodec/libvpx.c | 1 + libavcodec/libvpxdec.c | 1 + libavcodec/libvpxenc.c | 1 + libavcodec/libx264.c | 1 + libavcodec/me_cmp.c | 1 + libavcodec/mediacodec.c | 1 - libavcodec/mediacodec_wrapper.c | 1 - libavcodec/metasound_data.c | 1 + libavcodec/mjpegdec.c | 1 + libavcodec/mjpegenc.c | 1 + libavcodec/mjpegenc_common.c | 1 + libavcodec/mlpdec.c | 1 + libavcodec/mlpenc.c | 1 + libavcodec/mpeg12dec.c | 1 + libavcodec/mpeg12enc.c | 1 + libavcodec/mpeg4videodec.c | 1 + libavcodec/mpeg4videoenc.c | 1 + libavcodec/mpegaudiodec_fixed.c | 1 + libavcodec/mpegaudiodec_float.c | 1 + libavcodec/mpegvideo.c | 1 + libavcodec/mpegvideo_enc.c | 1 + libavcodec/mpegvideo_motion.c | 1 + libavcodec/msmpeg4.c | 1 + libavcodec/msmpeg4dec.c | 1 + libavcodec/mvcdec.c | 1 + libavcodec/options.c | 1 + libavcodec/options_table.h | 2 +- libavcodec/opus_pvq.c | 1 + libavcodec/packet.h | 2 +- libavcodec/pcm.c | 1 + libavcodec/pngdec.c | 1 + libavcodec/pnmdec.c | 1 + libavcodec/pnmenc.c | 1 + libavcodec/proresdec2.c | 1 + libavcodec/pthread_frame.c | 2 +- libavcodec/qpeldsp.c | 1 + libavcodec/r210dec.c | 1 + libavcodec/r210enc.c | 1 + libavcodec/rv34_parser.c | 1 + libavcodec/sonic.c | 1 + libavcodec/sp5xdec.c | 1 + libavcodec/speedhq.c | 1 + libavcodec/speedhqenc.c | 1 + libavcodec/srtdec.c | 1 + libavcodec/srtenc.c | 1 + libavcodec/textdec.c | 1 + libavcodec/tiffenc.c | 1 + libavcodec/v408dec.c | 1 + libavcodec/v408enc.c | 1 + libavcodec/vaapi_encode_h264.c | 1 + libavcodec/vc1dec.c | 1 + libavcodec/vc1dsp.c | 1 + libavcodec/version.h | 28 ++------------- libavcodec/version_major.h | 55 ++++++++++++++++++++++++++++++ libavcodec/videotoolbox.c | 1 + libavcodec/vorbis_parser.c | 1 + libavcodec/vp3.c | 1 + libavcodec/vp56dsp.c | 1 + libavcodec/vp8.c | 1 + libavcodec/vp8dsp.c | 1 + libavcodec/vp9.c | 1 + libavcodec/wmadec.c | 1 + libavcodec/wmaenc.c | 1 + libavcodec/x86/blockdsp_init.c | 1 - libavcodec/x86/flacdsp_init.c | 1 + libavcodec/x86/hpeldsp_init.c | 1 + libavcodec/xvmc.h | 1 - libavdevice/Makefile | 1 + libavdevice/android_camera.c | 2 -- libavdevice/avdevice.c | 1 + libavdevice/avdevice.h | 2 +- libavdevice/pulse_audio_dec.c | 1 + libavdevice/pulse_audio_enc.c | 1 + libavdevice/version.h | 10 ++---- libavdevice/version_major.h | 37 ++++++++++++++++++++ libavfilter/Makefile | 1 + libavfilter/aeval.c | 1 + libavfilter/af_afade.c | 1 + libavfilter/af_agate.c | 1 + libavfilter/af_biquads.c | 1 + libavfilter/af_sidechaincompress.c | 1 + libavfilter/avf_showspectrum.c | 1 + libavfilter/avf_showwaves.c | 1 + libavfilter/avfilter.c | 1 + libavfilter/avfilter.h | 2 +- libavfilter/f_bench.c | 1 + libavfilter/f_cue.c | 1 + libavfilter/f_drawgraph.c | 1 + libavfilter/f_graphmonitor.c | 1 + libavfilter/f_interleave.c | 1 + libavfilter/f_latency.c | 1 + libavfilter/f_loop.c | 1 + libavfilter/f_metadata.c | 1 + libavfilter/f_perms.c | 1 + libavfilter/f_realtime.c | 1 + libavfilter/f_reverse.c | 1 + libavfilter/f_segment.c | 1 + libavfilter/f_select.c | 1 + libavfilter/f_sendcmd.c | 1 + libavfilter/f_sidedata.c | 1 + libavfilter/internal.h | 1 - libavfilter/lut3d.h | 1 + libavfilter/setpts.c | 1 + libavfilter/settb.c | 1 + libavfilter/src_movie.c | 1 + libavfilter/trim.c | 1 + libavfilter/version.h | 13 ++----- libavfilter/version_major.h | 42 +++++++++++++++++++++++ libavfilter/vf_aspect.c | 1 + libavfilter/vf_blend.c | 1 + libavfilter/vf_colorconstancy.c | 1 + libavfilter/vf_colorkey.c | 1 + libavfilter/vf_convolution.c | 1 + libavfilter/vf_convolve.c | 1 + libavfilter/vf_drawbox.c | 1 + libavfilter/vf_extractplanes.c | 1 + libavfilter/vf_format.c | 1 + libavfilter/vf_histogram.c | 1 + libavfilter/vf_identity.c | 1 + libavfilter/vf_lut.c | 1 + libavfilter/vf_lut2.c | 1 + libavfilter/vf_mix.c | 1 + libavfilter/vf_neighbor.c | 1 + libavfilter/vf_premultiply.c | 1 + libavfilter/vf_setparams.c | 1 + libavfilter/vf_stack.c | 1 + libavfilter/vf_xmedian.c | 1 + libavfilter/vsrc_testsrc.c | 1 + libavformat/Makefile | 1 + libavformat/ac3dec.c | 1 + libavformat/alp.c | 1 + libavformat/amr.c | 1 + libavformat/apm.c | 1 + libavformat/aptxdec.c | 1 + libavformat/argo_asf.c | 1 + libavformat/argo_cvg.c | 1 + libavformat/asfenc.c | 1 + libavformat/au.c | 1 + libavformat/av1dec.c | 1 + libavformat/avformat.h | 2 +- libavformat/avidec.c | 1 + libavformat/avienc.c | 1 + libavformat/avio.h | 2 +- libavformat/bintext.c | 1 + libavformat/bit.c | 1 + libavformat/codec2.c | 1 + libavformat/concat.c | 1 + libavformat/dashenc.c | 1 + libavformat/demux.c | 1 + libavformat/file.c | 1 + libavformat/flacenc.c | 1 + libavformat/format.c | 1 + libavformat/framehash.c | 1 + libavformat/g726.c | 1 + libavformat/gopher.c | 1 + libavformat/hashenc.c | 1 + libavformat/hls.c | 1 + libavformat/hlsenc.c | 1 + libavformat/http.c | 1 + libavformat/ilbc.c | 1 + libavformat/img2dec.c | 1 + libavformat/img2enc.c | 1 + libavformat/kvag.c | 1 + libavformat/matroskadec.c | 1 + libavformat/matroskaenc.c | 2 ++ libavformat/mj2kdec.c | 1 + libavformat/mlpdec.c | 1 + libavformat/mmf.c | 2 ++ libavformat/mov.c | 1 + libavformat/movenc.c | 3 ++ libavformat/mpeg.c | 1 + libavformat/mpegenc.c | 1 + libavformat/mpegts.c | 1 + libavformat/mux.c | 1 + libavformat/mxfenc.c | 1 + libavformat/network.c | 1 + libavformat/nutenc.c | 1 + libavformat/oggenc.c | 2 ++ libavformat/pcmdec.c | 1 + libavformat/pcmenc.c | 1 + libavformat/rawdec.c | 1 + libavformat/rawenc.c | 1 + libavformat/rawvideodec.c | 1 + libavformat/riff.c | 1 + libavformat/rtmpproto.c | 2 ++ libavformat/rtsp.c | 2 ++ libavformat/rtspdec.c | 2 ++ libavformat/sdp.c | 1 + libavformat/segment.c | 1 + libavformat/swfenc.c | 1 + libavformat/url.h | 1 - libavformat/utils.c | 1 + libavformat/version.h | 23 ++----------- libavformat/version_major.h | 52 ++++++++++++++++++++++++++++ libavformat/voc.c | 1 + libavformat/wavdec.c | 1 + libavformat/wavenc.c | 1 + libavutil/common.h | 1 - libavutil/internal.h | 1 - libpostproc/Makefile | 1 + libpostproc/postprocess.c | 1 + libpostproc/postprocess.h | 2 +- libpostproc/version.h | 3 +- libpostproc/version_major.h | 31 +++++++++++++++++ libswresample/Makefile | 1 + libswresample/swresample.c | 1 + libswresample/swresample.h | 2 +- libswresample/version.h | 3 +- libswresample/version_major.h | 31 +++++++++++++++++ libswscale/Makefile | 1 + libswscale/swscale.h | 2 +- libswscale/swscale_internal.h | 1 - libswscale/utils.c | 1 + libswscale/version.h | 9 ++--- libswscale/version_major.h | 35 +++++++++++++++++++ 273 files changed, 586 insertions(+), 100 deletions(-) create mode 100644 libavcodec/version_major.h create mode 100644 libavdevice/version_major.h create mode 100644 libavfilter/version_major.h create mode 100644 libavformat/version_major.h create mode 100644 libpostproc/version_major.h create mode 100644 libswresample/version_major.h create mode 100644 libswscale/version_major.h -- 2.32.0 (Apple Git-132) _______________________________________________ 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] 24+ messages in thread
* [FFmpeg-devel] [PATCH 01/13] libavutil: Remove leftover uses of version.h 2022-02-23 14:29 [FFmpeg-devel] [PATCH 00/13] [RFC] Reduce unnecessary recompilation Martin Storsjö @ 2022-02-23 14:29 ` Martin Storsjö 2022-02-23 14:29 ` [FFmpeg-devel] [PATCH 02/13] libavcodec: Remove unnecessary includes " Martin Storsjö ` (12 subsequent siblings) 13 siblings, 0 replies; 24+ messages in thread From: Martin Storsjö @ 2022-02-23 14:29 UTC (permalink / raw) To: ffmpeg-devel These headers probably have used defines like FF_API_* before, but no longer do that, and doesn't directly seem to use anything else from that header either. --- libavutil/common.h | 1 - libavutil/internal.h | 1 - 2 files changed, 2 deletions(-) diff --git a/libavutil/common.h b/libavutil/common.h index 3eb9bc5f74..fd1404be6c 100644 --- a/libavutil/common.h +++ b/libavutil/common.h @@ -41,7 +41,6 @@ #include "attributes.h" #include "macros.h" -#include "version.h" //rounded division & shift #define RSHIFT(a,b) ((a) > 0 ? ((a) + ((1<<(b))>>1))>>(b) : ((a) + ((1<<(b))>>1)-1)>>(b)) diff --git a/libavutil/internal.h b/libavutil/internal.h index 0a7f1c6257..79c2130be0 100644 --- a/libavutil/internal.h +++ b/libavutil/internal.h @@ -43,7 +43,6 @@ #include "dict.h" #include "macros.h" #include "pixfmt.h" -#include "version.h" #if ARCH_X86 # include "x86/emms.h" -- 2.32.0 (Apple Git-132) _______________________________________________ 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] 24+ messages in thread
* [FFmpeg-devel] [PATCH 02/13] libavcodec: Remove unnecessary includes of version.h 2022-02-23 14:29 [FFmpeg-devel] [PATCH 00/13] [RFC] Reduce unnecessary recompilation Martin Storsjö 2022-02-23 14:29 ` [FFmpeg-devel] [PATCH 01/13] libavutil: Remove leftover uses of version.h Martin Storsjö @ 2022-02-23 14:29 ` Martin Storsjö 2022-02-23 14:29 ` [FFmpeg-devel] [PATCH 03/13] libavformat: " Martin Storsjö ` (11 subsequent siblings) 13 siblings, 0 replies; 24+ messages in thread From: Martin Storsjö @ 2022-02-23 14:29 UTC (permalink / raw) To: ffmpeg-devel These files probably have used defines like FF_API_* before, but no longer do that, and doesn't directly seem to use anything else from that header either. --- libavcodec/mediacodec.c | 1 - libavcodec/mediacodec_wrapper.c | 1 - libavcodec/x86/blockdsp_init.c | 1 - libavcodec/xvmc.h | 1 - 4 files changed, 4 deletions(-) diff --git a/libavcodec/mediacodec.c b/libavcodec/mediacodec.c index aa14624fd0..33bde8112e 100644 --- a/libavcodec/mediacodec.c +++ b/libavcodec/mediacodec.c @@ -35,7 +35,6 @@ #include "ffjni.h" #include "mediacodecdec_common.h" -#include "version.h" AVMediaCodecContext *av_mediacodec_alloc_context(void) { diff --git a/libavcodec/mediacodec_wrapper.c b/libavcodec/mediacodec_wrapper.c index c829941d6b..8ffc58e1d8 100644 --- a/libavcodec/mediacodec_wrapper.c +++ b/libavcodec/mediacodec_wrapper.c @@ -28,7 +28,6 @@ #include "avcodec.h" #include "ffjni.h" -#include "version.h" #include "mediacodec_wrapper.h" struct JNIAMediaCodecListFields { diff --git a/libavcodec/x86/blockdsp_init.c b/libavcodec/x86/blockdsp_init.c index be3eef0021..44ac97407b 100644 --- a/libavcodec/x86/blockdsp_init.c +++ b/libavcodec/x86/blockdsp_init.c @@ -24,7 +24,6 @@ #include "libavutil/cpu.h" #include "libavutil/x86/cpu.h" #include "libavcodec/blockdsp.h" -#include "libavcodec/version.h" void ff_clear_block_mmx(int16_t *block); void ff_clear_block_sse(int16_t *block); diff --git a/libavcodec/xvmc.h b/libavcodec/xvmc.h index 78ec4530c2..52e70c0d77 100644 --- a/libavcodec/xvmc.h +++ b/libavcodec/xvmc.h @@ -32,7 +32,6 @@ #include <X11/extensions/XvMC.h> #include "libavutil/attributes.h" -#include "version.h" #include "avcodec.h" /** -- 2.32.0 (Apple Git-132) _______________________________________________ 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] 24+ messages in thread
* [FFmpeg-devel] [PATCH 03/13] libavformat: Remove unnecessary includes of version.h 2022-02-23 14:29 [FFmpeg-devel] [PATCH 00/13] [RFC] Reduce unnecessary recompilation Martin Storsjö 2022-02-23 14:29 ` [FFmpeg-devel] [PATCH 01/13] libavutil: Remove leftover uses of version.h Martin Storsjö 2022-02-23 14:29 ` [FFmpeg-devel] [PATCH 02/13] libavcodec: Remove unnecessary includes " Martin Storsjö @ 2022-02-23 14:29 ` Martin Storsjö 2022-02-23 14:29 ` [FFmpeg-devel] [PATCH 04/13] libavdevice: " Martin Storsjö ` (10 subsequent siblings) 13 siblings, 0 replies; 24+ messages in thread From: Martin Storsjö @ 2022-02-23 14:29 UTC (permalink / raw) To: ffmpeg-devel This header probably has used defines like FF_API_* before, but no longer do that, and doesn't directly seem to use anything else from that header either. --- libavformat/url.h | 1 - 1 file changed, 1 deletion(-) diff --git a/libavformat/url.h b/libavformat/url.h index a129150d76..3cfe3ecc5c 100644 --- a/libavformat/url.h +++ b/libavformat/url.h @@ -25,7 +25,6 @@ #define AVFORMAT_URL_H #include "avio.h" -#include "libavformat/version.h" #include "libavutil/dict.h" #include "libavutil/log.h" -- 2.32.0 (Apple Git-132) _______________________________________________ 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] 24+ messages in thread
* [FFmpeg-devel] [PATCH 04/13] libavdevice: Remove unnecessary includes of version.h 2022-02-23 14:29 [FFmpeg-devel] [PATCH 00/13] [RFC] Reduce unnecessary recompilation Martin Storsjö ` (2 preceding siblings ...) 2022-02-23 14:29 ` [FFmpeg-devel] [PATCH 03/13] libavformat: " Martin Storsjö @ 2022-02-23 14:29 ` Martin Storsjö 2022-02-23 14:29 ` [FFmpeg-devel] [PATCH 05/13] libavcodec: Split version.h Martin Storsjö ` (9 subsequent siblings) 13 siblings, 0 replies; 24+ messages in thread From: Martin Storsjö @ 2022-02-23 14:29 UTC (permalink / raw) To: ffmpeg-devel --- libavdevice/android_camera.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/libavdevice/android_camera.c b/libavdevice/android_camera.c index f089d1b6f9..1934999c18 100644 --- a/libavdevice/android_camera.c +++ b/libavdevice/android_camera.c @@ -43,8 +43,6 @@ #include "libavutil/threadmessage.h" #include "libavutil/time.h" -#include "version.h" - /* This image format is available on all Android devices * supporting the Camera2 API */ #define IMAGE_FORMAT_ANDROID AIMAGE_FORMAT_YUV_420_888 -- 2.32.0 (Apple Git-132) _______________________________________________ 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] 24+ messages in thread
* [FFmpeg-devel] [PATCH 05/13] libavcodec: Split version.h 2022-02-23 14:29 [FFmpeg-devel] [PATCH 00/13] [RFC] Reduce unnecessary recompilation Martin Storsjö ` (3 preceding siblings ...) 2022-02-23 14:29 ` [FFmpeg-devel] [PATCH 04/13] libavdevice: " Martin Storsjö @ 2022-02-23 14:29 ` Martin Storsjö 2022-02-25 14:34 ` Michael Niedermayer 2022-02-23 14:29 ` [FFmpeg-devel] [PATCH 06/13] libavformat: " Martin Storsjö ` (8 subsequent siblings) 13 siblings, 1 reply; 24+ messages in thread From: Martin Storsjö @ 2022-02-23 14:29 UTC (permalink / raw) To: ffmpeg-devel This avoids including version.h in all source files, avoiding unnecessary rebuilds when the version number is bumped. Only version_major.h is included by the main header, which defines availability of e.g. FF_API_* macros, and which is bumped much less often. --- fftools/cmdutils.c | 1 + fftools/ffmpeg.c | 1 + fftools/ffprobe.c | 1 + libavcodec/Makefile | 1 + libavcodec/aacenc.c | 1 + libavcodec/avcodec.c | 1 + libavcodec/avcodec.h | 2 +- libavcodec/codec.h | 2 +- libavcodec/dpxenc.c | 1 + libavcodec/j2kenc.c | 1 + libavcodec/libvorbisenc.c | 1 + libavcodec/mjpegenc_common.c | 1 + libavcodec/mpeg4videoenc.c | 1 + libavcodec/options_table.h | 2 +- libavcodec/packet.h | 2 +- libavcodec/pthread_frame.c | 2 +- libavcodec/tiffenc.c | 1 + libavcodec/vaapi_encode_h264.c | 1 + libavcodec/version.h | 28 ++--------------- libavcodec/version_major.h | 55 ++++++++++++++++++++++++++++++++++ libavformat/movenc.c | 1 + 21 files changed, 76 insertions(+), 31 deletions(-) create mode 100644 libavcodec/version_major.h diff --git a/fftools/cmdutils.c b/fftools/cmdutils.c index 4b50e15eef..869b5ec012 100644 --- a/fftools/cmdutils.c +++ b/fftools/cmdutils.c @@ -55,6 +55,7 @@ #include "libavutil/ffversion.h" #include "libavutil/version.h" #include "libavcodec/bsf.h" +#include "libavcodec/version.h" #include "cmdutils.h" #if HAVE_SYS_RESOURCE_H #include <sys/time.h> diff --git a/fftools/ffmpeg.c b/fftools/ffmpeg.c index 7beea11933..6f48168477 100644 --- a/fftools/ffmpeg.c +++ b/fftools/ffmpeg.c @@ -64,6 +64,7 @@ #include "libavutil/thread.h" #include "libavutil/threadmessage.h" #include "libavcodec/mathops.h" +#include "libavcodec/version.h" #include "libavformat/os_support.h" # include "libavfilter/avfilter.h" diff --git a/fftools/ffprobe.c b/fftools/ffprobe.c index 38b7e7e00f..69dedead0c 100644 --- a/fftools/ffprobe.c +++ b/fftools/ffprobe.c @@ -30,6 +30,7 @@ #include "libavformat/avformat.h" #include "libavcodec/avcodec.h" +#include "libavcodec/version.h" #include "libavutil/avassert.h" #include "libavutil/avstring.h" #include "libavutil/bprint.h" diff --git a/libavcodec/Makefile b/libavcodec/Makefile index 6076b4ad80..dc413c8ac6 100644 --- a/libavcodec/Makefile +++ b/libavcodec/Makefile @@ -22,6 +22,7 @@ HEADERS = ac3_parser.h \ qsv.h \ vdpau.h \ version.h \ + version_major.h \ videotoolbox.h \ vorbis_parser.h \ xvmc.h \ diff --git a/libavcodec/aacenc.c b/libavcodec/aacenc.c index a1004c3e98..38f2d15f78 100644 --- a/libavcodec/aacenc.c +++ b/libavcodec/aacenc.c @@ -41,6 +41,7 @@ #include "mpeg4audio.h" #include "sinewin.h" #include "profiles.h" +#include "version.h" #include "aac.h" #include "aactab.h" diff --git a/libavcodec/avcodec.c b/libavcodec/avcodec.c index 92639dda6b..838c009a19 100644 --- a/libavcodec/avcodec.c +++ b/libavcodec/avcodec.c @@ -39,6 +39,7 @@ #include "frame_thread_encoder.h" #include "internal.h" #include "thread.h" +#include "version.h" #include "libavutil/ffversion.h" const char av_codec_ffversion[] = "FFmpeg version " FFMPEG_VERSION; diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h index 79af8dcc05..6e2be910dc 100644 --- a/libavcodec/avcodec.h +++ b/libavcodec/avcodec.h @@ -43,7 +43,7 @@ #include "codec_id.h" #include "defs.h" #include "packet.h" -#include "version.h" +#include "version_major.h" /** * @defgroup libavc libavcodec diff --git a/libavcodec/codec.h b/libavcodec/codec.h index a8147ec21f..42dd95d225 100644 --- a/libavcodec/codec.h +++ b/libavcodec/codec.h @@ -31,7 +31,7 @@ #include "libavutil/samplefmt.h" #include "libavcodec/codec_id.h" -#include "libavcodec/version.h" +#include "libavcodec/version_major.h" /** * @addtogroup lavc_core diff --git a/libavcodec/dpxenc.c b/libavcodec/dpxenc.c index 0db6aa832d..c4f9ae09bb 100644 --- a/libavcodec/dpxenc.c +++ b/libavcodec/dpxenc.c @@ -25,6 +25,7 @@ #include "avcodec.h" #include "encode.h" #include "internal.h" +#include "version.h" typedef struct DPXContext { int big_endian; diff --git a/libavcodec/j2kenc.c b/libavcodec/j2kenc.c index c06752f43a..95573c6799 100644 --- a/libavcodec/j2kenc.c +++ b/libavcodec/j2kenc.c @@ -70,6 +70,7 @@ #include "internal.h" #include "bytestream.h" #include "jpeg2000.h" +#include "version.h" #include "libavutil/common.h" #include "libavutil/pixdesc.h" #include "libavutil/opt.h" diff --git a/libavcodec/libvorbisenc.c b/libavcodec/libvorbisenc.c index b657f0157a..36f3d78654 100644 --- a/libavcodec/libvorbisenc.c +++ b/libavcodec/libvorbisenc.c @@ -28,6 +28,7 @@ #include "audio_frame_queue.h" #include "encode.h" #include "internal.h" +#include "version.h" #include "vorbis.h" #include "vorbis_parser.h" diff --git a/libavcodec/mjpegenc_common.c b/libavcodec/mjpegenc_common.c index 995e2b7670..7b82644763 100644 --- a/libavcodec/mjpegenc_common.c +++ b/libavcodec/mjpegenc_common.c @@ -33,6 +33,7 @@ #include "mjpegenc.h" #include "mjpegenc_common.h" #include "mjpeg.h" +#include "version.h" /* table_class: 0 = DC coef, 1 = AC coefs */ static int put_huffman_table(PutBitContext *p, int table_class, int table_id, diff --git a/libavcodec/mpeg4videoenc.c b/libavcodec/mpeg4videoenc.c index 094c4e5fb3..4a4adeb1c3 100644 --- a/libavcodec/mpeg4videoenc.c +++ b/libavcodec/mpeg4videoenc.c @@ -33,6 +33,7 @@ #include "mpeg4videoenc.h" #include "mpegvideoenc.h" #include "profiles.h" +#include "version.h" /* The uni_DCtab_* tables below contain unified bits+length tables to encode DC * differences in MPEG-4. Unified in the sense that the specification specifies diff --git a/libavcodec/options_table.h b/libavcodec/options_table.h index 130341a2ec..7eb974672e 100644 --- a/libavcodec/options_table.h +++ b/libavcodec/options_table.h @@ -28,7 +28,7 @@ #include "libavutil/opt.h" #include "avcodec.h" -#include "version.h" +#include "version_major.h" #define OFFSET(x) offsetof(AVCodecContext,x) #define DEFAULT 0 //should be NAN but it does not work as it is not a constant in glibc as required by ANSI/ISO C diff --git a/libavcodec/packet.h b/libavcodec/packet.h index 4a349fe051..40a26db3a7 100644 --- a/libavcodec/packet.h +++ b/libavcodec/packet.h @@ -29,7 +29,7 @@ #include "libavutil/dict.h" #include "libavutil/rational.h" -#include "libavcodec/version.h" +#include "libavcodec/version_major.h" /** * @defgroup lavc_packet AVPacket diff --git a/libavcodec/pthread_frame.c b/libavcodec/pthread_frame.c index 33b5a2e628..6c6a1342e0 100644 --- a/libavcodec/pthread_frame.c +++ b/libavcodec/pthread_frame.c @@ -33,7 +33,7 @@ #include "pthread_internal.h" #include "thread.h" #include "threadframe.h" -#include "version.h" +#include "version_major.h" #include "libavutil/avassert.h" #include "libavutil/buffer.h" diff --git a/libavcodec/tiffenc.c b/libavcodec/tiffenc.c index a6c523364a..d350a5b826 100644 --- a/libavcodec/tiffenc.c +++ b/libavcodec/tiffenc.c @@ -42,6 +42,7 @@ #include "put_bits.h" #include "rle.h" #include "tiff.h" +#include "version.h" #define TIFF_MAX_ENTRY 32 diff --git a/libavcodec/vaapi_encode_h264.c b/libavcodec/vaapi_encode_h264.c index ff37de1f7e..1ca885fdbc 100644 --- a/libavcodec/vaapi_encode_h264.c +++ b/libavcodec/vaapi_encode_h264.c @@ -34,6 +34,7 @@ #include "h264_sei.h" #include "internal.h" #include "vaapi_encode.h" +#include "version.h" enum { SEI_TIMING = 0x01, diff --git a/libavcodec/version.h b/libavcodec/version.h index d900503954..da6f3a84ac 100644 --- a/libavcodec/version.h +++ b/libavcodec/version.h @@ -27,7 +27,8 @@ #include "libavutil/version.h" -#define LIBAVCODEC_VERSION_MAJOR 59 +#include "version_major.h" + #define LIBAVCODEC_VERSION_MINOR 21 #define LIBAVCODEC_VERSION_MICRO 100 @@ -41,29 +42,4 @@ #define LIBAVCODEC_IDENT "Lavc" AV_STRINGIFY(LIBAVCODEC_VERSION) -/** - * FF_API_* defines may be placed below to indicate public API that will be - * dropped at a future version bump. The defines themselves are not part of - * the public API and may change, break or disappear at any time. - * - * @note, when bumping the major version it is recommended to manually - * disable each FF_API_* in its own commit instead of disabling them all - * at once through the bump. This improves the git bisect-ability of the change. - */ - -#define FF_API_OPENH264_SLICE_MODE (LIBAVCODEC_VERSION_MAJOR < 60) -#define FF_API_OPENH264_CABAC (LIBAVCODEC_VERSION_MAJOR < 60) -#define FF_API_UNUSED_CODEC_CAPS (LIBAVCODEC_VERSION_MAJOR < 60) -#define FF_API_THREAD_SAFE_CALLBACKS (LIBAVCODEC_VERSION_MAJOR < 60) -#define FF_API_DEBUG_MV (LIBAVCODEC_VERSION_MAJOR < 60) -#define FF_API_GET_FRAME_CLASS (LIBAVCODEC_VERSION_MAJOR < 60) -#define FF_API_AUTO_THREADS (LIBAVCODEC_VERSION_MAJOR < 60) -#define FF_API_INIT_PACKET (LIBAVCODEC_VERSION_MAJOR < 60) -#define FF_API_AVCTX_TIMEBASE (LIBAVCODEC_VERSION_MAJOR < 60) -#define FF_API_MPEGVIDEO_OPTS (LIBAVCODEC_VERSION_MAJOR < 60) -#define FF_API_FLAG_TRUNCATED (LIBAVCODEC_VERSION_MAJOR < 60) -#define FF_API_SUB_TEXT_FORMAT (LIBAVCODEC_VERSION_MAJOR < 60) -#define FF_API_MJPEG_PRED (LIBAVCODEC_VERSION_MAJOR < 60) -#define FF_API_IDCT_NONE (LIBAVCODEC_VERSION_MAJOR < 60) - #endif /* AVCODEC_VERSION_H */ diff --git a/libavcodec/version_major.h b/libavcodec/version_major.h new file mode 100644 index 0000000000..56a9aff042 --- /dev/null +++ b/libavcodec/version_major.h @@ -0,0 +1,55 @@ +/* + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef AVCODEC_VERSION_MAJOR_H +#define AVCODEC_VERSION_MAJOR_H + +/** + * @file + * @ingroup libavc + * Libavcodec version macros. + */ + +#define LIBAVCODEC_VERSION_MAJOR 59 + +/** + * FF_API_* defines may be placed below to indicate public API that will be + * dropped at a future version bump. The defines themselves are not part of + * the public API and may change, break or disappear at any time. + * + * @note, when bumping the major version it is recommended to manually + * disable each FF_API_* in its own commit instead of disabling them all + * at once through the bump. This improves the git bisect-ability of the change. + */ + +#define FF_API_OPENH264_SLICE_MODE (LIBAVCODEC_VERSION_MAJOR < 60) +#define FF_API_OPENH264_CABAC (LIBAVCODEC_VERSION_MAJOR < 60) +#define FF_API_UNUSED_CODEC_CAPS (LIBAVCODEC_VERSION_MAJOR < 60) +#define FF_API_THREAD_SAFE_CALLBACKS (LIBAVCODEC_VERSION_MAJOR < 60) +#define FF_API_DEBUG_MV (LIBAVCODEC_VERSION_MAJOR < 60) +#define FF_API_GET_FRAME_CLASS (LIBAVCODEC_VERSION_MAJOR < 60) +#define FF_API_AUTO_THREADS (LIBAVCODEC_VERSION_MAJOR < 60) +#define FF_API_INIT_PACKET (LIBAVCODEC_VERSION_MAJOR < 60) +#define FF_API_AVCTX_TIMEBASE (LIBAVCODEC_VERSION_MAJOR < 60) +#define FF_API_MPEGVIDEO_OPTS (LIBAVCODEC_VERSION_MAJOR < 60) +#define FF_API_FLAG_TRUNCATED (LIBAVCODEC_VERSION_MAJOR < 60) +#define FF_API_SUB_TEXT_FORMAT (LIBAVCODEC_VERSION_MAJOR < 60) +#define FF_API_MJPEG_PRED (LIBAVCODEC_VERSION_MAJOR < 60) +#define FF_API_IDCT_NONE (LIBAVCODEC_VERSION_MAJOR < 60) + +#endif /* AVCODEC_VERSION_MAJOR_H */ diff --git a/libavformat/movenc.c b/libavformat/movenc.c index 4c868919ae..8e3f803b38 100644 --- a/libavformat/movenc.c +++ b/libavformat/movenc.c @@ -42,6 +42,7 @@ #include "libavcodec/put_bits.h" #include "libavcodec/vc1_common.h" #include "libavcodec/raw.h" +#include "libavcodec/version.h" #include "internal.h" #include "libavutil/avstring.h" #include "libavutil/channel_layout.h" -- 2.32.0 (Apple Git-132) _______________________________________________ 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] 24+ messages in thread
* Re: [FFmpeg-devel] [PATCH 05/13] libavcodec: Split version.h 2022-02-23 14:29 ` [FFmpeg-devel] [PATCH 05/13] libavcodec: Split version.h Martin Storsjö @ 2022-02-25 14:34 ` Michael Niedermayer 2022-02-25 14:38 ` Martin Storsjö 0 siblings, 1 reply; 24+ messages in thread From: Michael Niedermayer @ 2022-02-25 14:34 UTC (permalink / raw) To: FFmpeg development discussions and patches [-- Attachment #1.1: Type: text/plain, Size: 2319 bytes --] On Wed, Feb 23, 2022 at 04:29:43PM +0200, Martin Storsjö wrote: > This avoids including version.h in all source files, avoiding > unnecessary rebuilds when the version number is bumped. Only > version_major.h is included by the main header, which defines > availability of e.g. FF_API_* macros, and which is bumped much > less often. > --- > fftools/cmdutils.c | 1 + > fftools/ffmpeg.c | 1 + > fftools/ffprobe.c | 1 + > libavcodec/Makefile | 1 + > libavcodec/aacenc.c | 1 + > libavcodec/avcodec.c | 1 + > libavcodec/avcodec.h | 2 +- > libavcodec/codec.h | 2 +- > libavcodec/dpxenc.c | 1 + > libavcodec/j2kenc.c | 1 + > libavcodec/libvorbisenc.c | 1 + > libavcodec/mjpegenc_common.c | 1 + > libavcodec/mpeg4videoenc.c | 1 + > libavcodec/options_table.h | 2 +- > libavcodec/packet.h | 2 +- > libavcodec/pthread_frame.c | 2 +- > libavcodec/tiffenc.c | 1 + > libavcodec/vaapi_encode_h264.c | 1 + > libavcodec/version.h | 28 ++--------------- > libavcodec/version_major.h | 55 ++++++++++++++++++++++++++++++++++ > libavformat/movenc.c | 1 + > 21 files changed, 76 insertions(+), 31 deletions(-) > create mode 100644 libavcodec/version_major.h not sure i missed some patch but this seems not to build CC libavcodec/vc2enc.o libavcodec/vc2enc.c: In function ‘vc2_encode_frame’: libavcodec/vc2enc.c:957:48: error: ‘LIBAVCODEC_IDENT’ undeclared (first use in this function); did you mean ‘LIBAVUTIL_IDENT’? const char *aux_data = bitexact ? "Lavc" : LIBAVCODEC_IDENT; ^~~~~~~~~~~~~~~~ LIBAVUTIL_IDENT libavcodec/vc2enc.c:957:48: note: each undeclared identifier is reported only once for each function it appears in ffbuild/common.mak:78: recipe for target 'libavcodec/vc2enc.o' failed make: *** [libavcodec/vc2enc.o] Error 1 make: Target 'all' not remade because of errors. [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB The misfortune of the wise is better than the prosperity of the fool. -- Epicurus [-- Attachment #1.2: signature.asc --] [-- Type: application/pgp-signature, Size: 195 bytes --] [-- Attachment #2: Type: text/plain, Size: 251 bytes --] _______________________________________________ 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] 24+ messages in thread
* Re: [FFmpeg-devel] [PATCH 05/13] libavcodec: Split version.h 2022-02-25 14:34 ` Michael Niedermayer @ 2022-02-25 14:38 ` Martin Storsjö 2022-02-25 20:23 ` Andreas Rheinhardt 0 siblings, 1 reply; 24+ messages in thread From: Martin Storsjö @ 2022-02-25 14:38 UTC (permalink / raw) To: FFmpeg development discussions and patches On Fri, 25 Feb 2022, Michael Niedermayer wrote: > On Wed, Feb 23, 2022 at 04:29:43PM +0200, Martin Storsjö wrote: >> This avoids including version.h in all source files, avoiding >> unnecessary rebuilds when the version number is bumped. Only >> version_major.h is included by the main header, which defines >> availability of e.g. FF_API_* macros, and which is bumped much >> less often. >> --- >> fftools/cmdutils.c | 1 + >> fftools/ffmpeg.c | 1 + >> fftools/ffprobe.c | 1 + >> libavcodec/Makefile | 1 + >> libavcodec/aacenc.c | 1 + >> libavcodec/avcodec.c | 1 + >> libavcodec/avcodec.h | 2 +- >> libavcodec/codec.h | 2 +- >> libavcodec/dpxenc.c | 1 + >> libavcodec/j2kenc.c | 1 + >> libavcodec/libvorbisenc.c | 1 + >> libavcodec/mjpegenc_common.c | 1 + >> libavcodec/mpeg4videoenc.c | 1 + >> libavcodec/options_table.h | 2 +- >> libavcodec/packet.h | 2 +- >> libavcodec/pthread_frame.c | 2 +- >> libavcodec/tiffenc.c | 1 + >> libavcodec/vaapi_encode_h264.c | 1 + >> libavcodec/version.h | 28 ++--------------- >> libavcodec/version_major.h | 55 ++++++++++++++++++++++++++++++++++ >> libavformat/movenc.c | 1 + >> 21 files changed, 76 insertions(+), 31 deletions(-) >> create mode 100644 libavcodec/version_major.h > > not sure i missed some patch but this seems not to build > > CC libavcodec/vc2enc.o > libavcodec/vc2enc.c: In function ‘vc2_encode_frame’: > libavcodec/vc2enc.c:957:48: error: ‘LIBAVCODEC_IDENT’ undeclared (first use in this function); did you mean ‘LIBAVUTIL_IDENT’? > const char *aux_data = bitexact ? "Lavc" : LIBAVCODEC_IDENT; > ^~~~~~~~~~~~~~~~ > LIBAVUTIL_IDENT > libavcodec/vc2enc.c:957:48: note: each undeclared identifier is reported only once for each function it appears in > ffbuild/common.mak:78: recipe for target 'libavcodec/vc2enc.o' failed > make: *** [libavcodec/vc2enc.o] Error 1 > make: Target 'all' not remade because of errors. This patch requires adjustments after 155cd6baa49797d57f5b42276eeed3f5408ef3f7 was pushed (it should apply and build fine on a version slightly older than that), readding an include of "version.h", I didn't want to spam the list with a full new round of patches just because of that, but if you want to, I can send my latest local revision of the patchset. // Martin _______________________________________________ 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] 24+ messages in thread
* Re: [FFmpeg-devel] [PATCH 05/13] libavcodec: Split version.h 2022-02-25 14:38 ` Martin Storsjö @ 2022-02-25 20:23 ` Andreas Rheinhardt 2022-02-25 20:44 ` Martin Storsjö 0 siblings, 1 reply; 24+ messages in thread From: Andreas Rheinhardt @ 2022-02-25 20:23 UTC (permalink / raw) To: ffmpeg-devel Martin Storsjö: > On Fri, 25 Feb 2022, Michael Niedermayer wrote: > >> On Wed, Feb 23, 2022 at 04:29:43PM +0200, Martin Storsjö wrote: >>> This avoids including version.h in all source files, avoiding >>> unnecessary rebuilds when the version number is bumped. Only >>> version_major.h is included by the main header, which defines >>> availability of e.g. FF_API_* macros, and which is bumped much >>> less often. >>> --- >>> fftools/cmdutils.c | 1 + >>> fftools/ffmpeg.c | 1 + >>> fftools/ffprobe.c | 1 + >>> libavcodec/Makefile | 1 + >>> libavcodec/aacenc.c | 1 + >>> libavcodec/avcodec.c | 1 + >>> libavcodec/avcodec.h | 2 +- >>> libavcodec/codec.h | 2 +- >>> libavcodec/dpxenc.c | 1 + >>> libavcodec/j2kenc.c | 1 + >>> libavcodec/libvorbisenc.c | 1 + >>> libavcodec/mjpegenc_common.c | 1 + >>> libavcodec/mpeg4videoenc.c | 1 + >>> libavcodec/options_table.h | 2 +- >>> libavcodec/packet.h | 2 +- >>> libavcodec/pthread_frame.c | 2 +- >>> libavcodec/tiffenc.c | 1 + >>> libavcodec/vaapi_encode_h264.c | 1 + >>> libavcodec/version.h | 28 ++--------------- >>> libavcodec/version_major.h | 55 ++++++++++++++++++++++++++++++++++ >>> libavformat/movenc.c | 1 + >>> 21 files changed, 76 insertions(+), 31 deletions(-) >>> create mode 100644 libavcodec/version_major.h >> >> not sure i missed some patch but this seems not to build >> >> CC libavcodec/vc2enc.o >> libavcodec/vc2enc.c: In function ‘vc2_encode_frame’: >> libavcodec/vc2enc.c:957:48: error: ‘LIBAVCODEC_IDENT’ undeclared >> (first use in this function); did you mean ‘LIBAVUTIL_IDENT’? >> const char *aux_data = bitexact ? "Lavc" : LIBAVCODEC_IDENT; >> ^~~~~~~~~~~~~~~~ >> LIBAVUTIL_IDENT >> libavcodec/vc2enc.c:957:48: note: each undeclared identifier is >> reported only once for each function it appears in >> ffbuild/common.mak:78: recipe for target 'libavcodec/vc2enc.o' failed >> make: *** [libavcodec/vc2enc.o] Error 1 >> make: Target 'all' not remade because of errors. > > This patch requires adjustments after > 155cd6baa49797d57f5b42276eeed3f5408ef3f7 was pushed (it should apply and > build fine on a version slightly older than that), readding an include > of "version.h", I didn't want to spam the list with a full new round of > patches just because of that, but if you want to, I can send my latest > local revision of the patchset. > Sorry for this. My aim was actually to not just remove headers if it compiles fine without them, but to only include headers that provide nothing that is used. But apparently I messed it up with 155cd6baa49797d57f5b42276eeed3f5408ef3f7. - 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". ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [FFmpeg-devel] [PATCH 05/13] libavcodec: Split version.h 2022-02-25 20:23 ` Andreas Rheinhardt @ 2022-02-25 20:44 ` Martin Storsjö 0 siblings, 0 replies; 24+ messages in thread From: Martin Storsjö @ 2022-02-25 20:44 UTC (permalink / raw) To: FFmpeg development discussions and patches On Fri, 25 Feb 2022, Andreas Rheinhardt wrote: > Martin Storsjö: >> On Fri, 25 Feb 2022, Michael Niedermayer wrote: >> >>> On Wed, Feb 23, 2022 at 04:29:43PM +0200, Martin Storsjö wrote: >>>> This avoids including version.h in all source files, avoiding >>>> unnecessary rebuilds when the version number is bumped. Only >>>> version_major.h is included by the main header, which defines >>>> availability of e.g. FF_API_* macros, and which is bumped much >>>> less often. >>>> --- >>>> fftools/cmdutils.c | 1 + >>>> fftools/ffmpeg.c | 1 + >>>> fftools/ffprobe.c | 1 + >>>> libavcodec/Makefile | 1 + >>>> libavcodec/aacenc.c | 1 + >>>> libavcodec/avcodec.c | 1 + >>>> libavcodec/avcodec.h | 2 +- >>>> libavcodec/codec.h | 2 +- >>>> libavcodec/dpxenc.c | 1 + >>>> libavcodec/j2kenc.c | 1 + >>>> libavcodec/libvorbisenc.c | 1 + >>>> libavcodec/mjpegenc_common.c | 1 + >>>> libavcodec/mpeg4videoenc.c | 1 + >>>> libavcodec/options_table.h | 2 +- >>>> libavcodec/packet.h | 2 +- >>>> libavcodec/pthread_frame.c | 2 +- >>>> libavcodec/tiffenc.c | 1 + >>>> libavcodec/vaapi_encode_h264.c | 1 + >>>> libavcodec/version.h | 28 ++--------------- >>>> libavcodec/version_major.h | 55 ++++++++++++++++++++++++++++++++++ >>>> libavformat/movenc.c | 1 + >>>> 21 files changed, 76 insertions(+), 31 deletions(-) >>>> create mode 100644 libavcodec/version_major.h >>> >>> not sure i missed some patch but this seems not to build >>> >>> CC libavcodec/vc2enc.o >>> libavcodec/vc2enc.c: In function ‘vc2_encode_frame’: >>> libavcodec/vc2enc.c:957:48: error: ‘LIBAVCODEC_IDENT’ undeclared >>> (first use in this function); did you mean ‘LIBAVUTIL_IDENT’? >>> const char *aux_data = bitexact ? "Lavc" : LIBAVCODEC_IDENT; >>> ^~~~~~~~~~~~~~~~ >>> LIBAVUTIL_IDENT >>> libavcodec/vc2enc.c:957:48: note: each undeclared identifier is >>> reported only once for each function it appears in >>> ffbuild/common.mak:78: recipe for target 'libavcodec/vc2enc.o' failed >>> make: *** [libavcodec/vc2enc.o] Error 1 >>> make: Target 'all' not remade because of errors. >> >> This patch requires adjustments after >> 155cd6baa49797d57f5b42276eeed3f5408ef3f7 was pushed (it should apply and >> build fine on a version slightly older than that), readding an include >> of "version.h", I didn't want to spam the list with a full new round of >> patches just because of that, but if you want to, I can send my latest >> local revision of the patchset. >> > > Sorry for this. My aim was actually to not just remove headers if it > compiles fine without them, but to only include headers that provide > nothing that is used. But apparently I messed it up with > 155cd6baa49797d57f5b42276eeed3f5408ef3f7. No worries, I guess I should have spotted it myself while reviewing that patch... // Martin _______________________________________________ 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] 24+ messages in thread
* [FFmpeg-devel] [PATCH 06/13] libavformat: Split version.h 2022-02-23 14:29 [FFmpeg-devel] [PATCH 00/13] [RFC] Reduce unnecessary recompilation Martin Storsjö ` (4 preceding siblings ...) 2022-02-23 14:29 ` [FFmpeg-devel] [PATCH 05/13] libavcodec: Split version.h Martin Storsjö @ 2022-02-23 14:29 ` Martin Storsjö 2022-02-23 14:29 ` [FFmpeg-devel] [PATCH 07/13] libavdevice: " Martin Storsjö ` (7 subsequent siblings) 13 siblings, 0 replies; 24+ messages in thread From: Martin Storsjö @ 2022-02-23 14:29 UTC (permalink / raw) To: ffmpeg-devel --- fftools/cmdutils.c | 1 + fftools/ffprobe.c | 1 + libavdevice/pulse_audio_dec.c | 1 + libavdevice/pulse_audio_enc.c | 1 + libavformat/Makefile | 1 + libavformat/avformat.h | 2 +- libavformat/avio.h | 2 +- libavformat/flacenc.c | 1 + libavformat/framehash.c | 1 + libavformat/matroskaenc.c | 1 + libavformat/mmf.c | 1 + libavformat/movenc.c | 1 + libavformat/mux.c | 1 + libavformat/mxfenc.c | 1 + libavformat/nutenc.c | 1 + libavformat/oggenc.c | 1 + libavformat/rtmpproto.c | 1 + libavformat/rtsp.c | 1 + libavformat/rtspdec.c | 1 + libavformat/utils.c | 1 + libavformat/version.h | 23 ++-------------- libavformat/version_major.h | 52 +++++++++++++++++++++++++++++++++++ 22 files changed, 74 insertions(+), 23 deletions(-) create mode 100644 libavformat/version_major.h diff --git a/fftools/cmdutils.c b/fftools/cmdutils.c index 869b5ec012..87f410e975 100644 --- a/fftools/cmdutils.c +++ b/fftools/cmdutils.c @@ -32,6 +32,7 @@ #include "config.h" #include "compat/va_copy.h" #include "libavformat/avformat.h" +#include "libavformat/version.h" #include "libavfilter/avfilter.h" #include "libavdevice/avdevice.h" #include "libswscale/swscale.h" diff --git a/fftools/ffprobe.c b/fftools/ffprobe.c index 69dedead0c..8f5aa12600 100644 --- a/fftools/ffprobe.c +++ b/fftools/ffprobe.c @@ -29,6 +29,7 @@ #include <string.h> #include "libavformat/avformat.h" +#include "libavformat/version.h" #include "libavcodec/avcodec.h" #include "libavcodec/version.h" #include "libavutil/avassert.h" diff --git a/libavdevice/pulse_audio_dec.c b/libavdevice/pulse_audio_dec.c index b23d08e4d3..5a42f71ede 100644 --- a/libavdevice/pulse_audio_dec.c +++ b/libavdevice/pulse_audio_dec.c @@ -30,6 +30,7 @@ #include "libavformat/avformat.h" #include "libavformat/internal.h" +#include "libavformat/version.h" #include "pulse_audio_common.h" #include "timefilter.h" diff --git a/libavdevice/pulse_audio_enc.c b/libavdevice/pulse_audio_enc.c index 4ff425d33f..7b50517fc7 100644 --- a/libavdevice/pulse_audio_enc.c +++ b/libavdevice/pulse_audio_enc.c @@ -23,6 +23,7 @@ #include <pulse/error.h> #include "libavformat/avformat.h" #include "libavformat/internal.h" +#include "libavformat/version.h" #include "libavutil/channel_layout.h" #include "libavutil/internal.h" #include "libavutil/opt.h" diff --git a/libavformat/Makefile b/libavformat/Makefile index 6566e40cac..dc4bc06c5c 100644 --- a/libavformat/Makefile +++ b/libavformat/Makefile @@ -4,6 +4,7 @@ DESC = FFmpeg container format library HEADERS = avformat.h \ avio.h \ version.h \ + version_major.h \ OBJS = allformats.o \ avio.o \ diff --git a/libavformat/avformat.h b/libavformat/avformat.h index b4b8075ae6..d37a582838 100644 --- a/libavformat/avformat.h +++ b/libavformat/avformat.h @@ -319,7 +319,7 @@ #include "libavutil/log.h" #include "avio.h" -#include "libavformat/version.h" +#include "libavformat/version_major.h" struct AVFormatContext; struct AVStream; diff --git a/libavformat/avio.h b/libavformat/avio.h index cd63322a62..a7a0fbdead 100644 --- a/libavformat/avio.h +++ b/libavformat/avio.h @@ -32,7 +32,7 @@ #include "libavutil/dict.h" #include "libavutil/log.h" -#include "libavformat/version.h" +#include "libavformat/version_major.h" /** * Seeking works like for a local file. diff --git a/libavformat/flacenc.c b/libavformat/flacenc.c index b267197ccc..88dbe87af4 100644 --- a/libavformat/flacenc.c +++ b/libavformat/flacenc.c @@ -30,6 +30,7 @@ #include "flacenc.h" #include "id3v2.h" #include "internal.h" +#include "version.h" #include "vorbiscomment.h" diff --git a/libavformat/framehash.c b/libavformat/framehash.c index 04c40825b9..43b8ab3be2 100644 --- a/libavformat/framehash.c +++ b/libavformat/framehash.c @@ -20,6 +20,7 @@ #include "libavutil/channel_layout.h" #include "internal.h" +#include "version.h" int ff_framehash_write_header(AVFormatContext *s) { diff --git a/libavformat/matroskaenc.c b/libavformat/matroskaenc.c index 38d9485288..e8df5db3bd 100644 --- a/libavformat/matroskaenc.c +++ b/libavformat/matroskaenc.c @@ -35,6 +35,7 @@ #include "isom.h" #include "matroska.h" #include "riff.h" +#include "version.h" #include "vorbiscomment.h" #include "wv.h" diff --git a/libavformat/mmf.c b/libavformat/mmf.c index 0c067a1025..e836390bff 100644 --- a/libavformat/mmf.c +++ b/libavformat/mmf.c @@ -26,6 +26,7 @@ #include "pcm.h" #include "rawenc.h" #include "riff.h" +#include "version.h" typedef struct MMFContext { int64_t atrpos, atsqpos, awapos; diff --git a/libavformat/movenc.c b/libavformat/movenc.c index 8e3f803b38..14482abe8d 100644 --- a/libavformat/movenc.c +++ b/libavformat/movenc.c @@ -61,6 +61,7 @@ #include "mov_chan.h" #include "movenc_ttml.h" #include "ttmlenc.h" +#include "version.h" #include "vpcc.h" static const AVOption options[] = { diff --git a/libavformat/mux.c b/libavformat/mux.c index 53eb56f0af..bd85661663 100644 --- a/libavformat/mux.c +++ b/libavformat/mux.c @@ -21,6 +21,7 @@ #include "avformat.h" #include "internal.h" +#include "version.h" #include "libavcodec/bsf.h" #include "libavcodec/internal.h" #include "libavcodec/packet_internal.h" diff --git a/libavformat/mxfenc.c b/libavformat/mxfenc.c index 1e87dc6111..8ca67f52c6 100644 --- a/libavformat/mxfenc.c +++ b/libavformat/mxfenc.c @@ -58,6 +58,7 @@ #include "avc.h" #include "mxf.h" #include "config.h" +#include "version.h" extern const AVOutputFormat ff_mxf_d10_muxer; extern const AVOutputFormat ff_mxf_opatom_muxer; diff --git a/libavformat/nutenc.c b/libavformat/nutenc.c index 585ce953ca..c33c16fd44 100644 --- a/libavformat/nutenc.c +++ b/libavformat/nutenc.c @@ -34,6 +34,7 @@ #include "internal.h" #include "avio_internal.h" #include "riff.h" +#include "version.h" static int find_expected_header(AVCodecParameters *p, int size, int key_frame, uint8_t out[64]) diff --git a/libavformat/oggenc.c b/libavformat/oggenc.c index a88dab8ccc..31f47dadf6 100644 --- a/libavformat/oggenc.c +++ b/libavformat/oggenc.c @@ -31,6 +31,7 @@ #include "avformat.h" #include "avio_internal.h" #include "internal.h" +#include "version.h" #include "vorbiscomment.h" #define MAX_PAGE_SIZE 65025 diff --git a/libavformat/rtmpproto.c b/libavformat/rtmpproto.c index 34020bc383..88557140f7 100644 --- a/libavformat/rtmpproto.c +++ b/libavformat/rtmpproto.c @@ -42,6 +42,7 @@ #include "rtmpcrypt.h" #include "rtmppkt.h" #include "url.h" +#include "version.h" #if CONFIG_ZLIB #include <zlib.h> diff --git a/libavformat/rtsp.c b/libavformat/rtsp.c index 70c18941ca..f1992f193e 100644 --- a/libavformat/rtsp.c +++ b/libavformat/rtsp.c @@ -50,6 +50,7 @@ #include "url.h" #include "rtpenc.h" #include "mpegts.h" +#include "version.h" /* Default timeout values for read packet in seconds */ #define READ_PACKET_TIMEOUT_S 10 diff --git a/libavformat/rtspdec.c b/libavformat/rtspdec.c index 2ada29a2d3..eee6329025 100644 --- a/libavformat/rtspdec.c +++ b/libavformat/rtspdec.c @@ -34,6 +34,7 @@ #include "rdt.h" #include "tls.h" #include "url.h" +#include "version.h" static const struct RTSPStatusMessage { enum RTSPStatusCode code; diff --git a/libavformat/utils.c b/libavformat/utils.c index ca61a97759..1ec413f198 100644 --- a/libavformat/utils.c +++ b/libavformat/utils.c @@ -46,6 +46,7 @@ #if CONFIG_NETWORK #include "network.h" #endif +#include "version.h" #include "libavutil/ffversion.h" const char av_format_ffversion[] = "FFmpeg version " FFMPEG_VERSION; diff --git a/libavformat/version.h b/libavformat/version.h index 26234573b8..30dd63e590 100644 --- a/libavformat/version.h +++ b/libavformat/version.h @@ -29,9 +29,8 @@ #include "libavutil/version.h" -// Major bumping may affect Ticket5467, 5421, 5451(compatibility with Chromium) -// Also please add any ticket numbers that you believe might be affected here -#define LIBAVFORMAT_VERSION_MAJOR 59 +#include "version_major.h" + #define LIBAVFORMAT_VERSION_MINOR 17 #define LIBAVFORMAT_VERSION_MICRO 102 @@ -45,22 +44,4 @@ #define LIBAVFORMAT_IDENT "Lavf" AV_STRINGIFY(LIBAVFORMAT_VERSION) -/** - * FF_API_* defines may be placed below to indicate public API that will be - * dropped at a future version bump. The defines themselves are not part of - * the public API and may change, break or disappear at any time. - * - * @note, when bumping the major version it is recommended to manually - * disable each FF_API_* in its own commit instead of disabling them all - * at once through the bump. This improves the git bisect-ability of the change. - * - */ -#define FF_API_LAVF_PRIV_OPT (LIBAVFORMAT_VERSION_MAJOR < 60) -#define FF_API_COMPUTE_PKT_FIELDS2 (LIBAVFORMAT_VERSION_MAJOR < 60) -#define FF_API_AVIOCONTEXT_WRITTEN (LIBAVFORMAT_VERSION_MAJOR < 60) -#define FF_HLS_TS_OPTIONS (LIBAVFORMAT_VERSION_MAJOR < 60) -#define FF_API_AVSTREAM_CLASS (LIBAVFORMAT_VERSION_MAJOR > 59) - - -#define FF_API_R_FRAME_RATE 1 #endif /* AVFORMAT_VERSION_H */ diff --git a/libavformat/version_major.h b/libavformat/version_major.h new file mode 100644 index 0000000000..b4c3550d50 --- /dev/null +++ b/libavformat/version_major.h @@ -0,0 +1,52 @@ +/* + * Version macros. + * + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef AVFORMAT_VERSION_MAJOR_H +#define AVFORMAT_VERSION_MAJOR_H + +/** + * @file + * @ingroup libavf + * Libavformat version macros + */ + +// Major bumping may affect Ticket5467, 5421, 5451(compatibility with Chromium) +// Also please add any ticket numbers that you believe might be affected here +#define LIBAVFORMAT_VERSION_MAJOR 59 + +/** + * FF_API_* defines may be placed below to indicate public API that will be + * dropped at a future version bump. The defines themselves are not part of + * the public API and may change, break or disappear at any time. + * + * @note, when bumping the major version it is recommended to manually + * disable each FF_API_* in its own commit instead of disabling them all + * at once through the bump. This improves the git bisect-ability of the change. + * + */ +#define FF_API_LAVF_PRIV_OPT (LIBAVFORMAT_VERSION_MAJOR < 60) +#define FF_API_COMPUTE_PKT_FIELDS2 (LIBAVFORMAT_VERSION_MAJOR < 60) +#define FF_API_AVIOCONTEXT_WRITTEN (LIBAVFORMAT_VERSION_MAJOR < 60) +#define FF_HLS_TS_OPTIONS (LIBAVFORMAT_VERSION_MAJOR < 60) +#define FF_API_AVSTREAM_CLASS (LIBAVFORMAT_VERSION_MAJOR > 59) + + +#define FF_API_R_FRAME_RATE 1 +#endif /* AVFORMAT_VERSION_MAJOR_H */ -- 2.32.0 (Apple Git-132) _______________________________________________ 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] 24+ messages in thread
* [FFmpeg-devel] [PATCH 07/13] libavdevice: Split version.h 2022-02-23 14:29 [FFmpeg-devel] [PATCH 00/13] [RFC] Reduce unnecessary recompilation Martin Storsjö ` (5 preceding siblings ...) 2022-02-23 14:29 ` [FFmpeg-devel] [PATCH 06/13] libavformat: " Martin Storsjö @ 2022-02-23 14:29 ` Martin Storsjö 2022-02-23 14:29 ` [FFmpeg-devel] [PATCH 08/13] libpostproc: " Martin Storsjö ` (6 subsequent siblings) 13 siblings, 0 replies; 24+ messages in thread From: Martin Storsjö @ 2022-02-23 14:29 UTC (permalink / raw) To: ffmpeg-devel --- fftools/cmdutils.c | 1 + fftools/ffprobe.c | 1 + libavdevice/Makefile | 1 + libavdevice/avdevice.c | 1 + libavdevice/avdevice.h | 2 +- libavdevice/version.h | 10 ++-------- libavdevice/version_major.h | 37 +++++++++++++++++++++++++++++++++++++ 7 files changed, 44 insertions(+), 9 deletions(-) create mode 100644 libavdevice/version_major.h diff --git a/fftools/cmdutils.c b/fftools/cmdutils.c index 87f410e975..21ec11226e 100644 --- a/fftools/cmdutils.c +++ b/fftools/cmdutils.c @@ -35,6 +35,7 @@ #include "libavformat/version.h" #include "libavfilter/avfilter.h" #include "libavdevice/avdevice.h" +#include "libavdevice/version.h" #include "libswscale/swscale.h" #include "libswresample/swresample.h" #include "libpostproc/postprocess.h" diff --git a/fftools/ffprobe.c b/fftools/ffprobe.c index 8f5aa12600..0f4d14574c 100644 --- a/fftools/ffprobe.c +++ b/fftools/ffprobe.c @@ -52,6 +52,7 @@ #include "libavutil/timecode.h" #include "libavutil/timestamp.h" #include "libavdevice/avdevice.h" +#include "libavdevice/version.h" #include "libswscale/swscale.h" #include "libswresample/swresample.h" #include "libpostproc/postprocess.h" diff --git a/libavdevice/Makefile b/libavdevice/Makefile index 53efda0514..99fea7133a 100644 --- a/libavdevice/Makefile +++ b/libavdevice/Makefile @@ -3,6 +3,7 @@ DESC = FFmpeg device handling library HEADERS = avdevice.h \ version.h \ + version_major.h \ OBJS = alldevices.o \ avdevice.o \ diff --git a/libavdevice/avdevice.c b/libavdevice/avdevice.c index 8f460c7564..833d200054 100644 --- a/libavdevice/avdevice.c +++ b/libavdevice/avdevice.c @@ -22,6 +22,7 @@ #include "avdevice.h" #include "internal.h" #include "config.h" +#include "version.h" #include "libavutil/ffversion.h" const char av_device_ffversion[] = "FFmpeg version " FFMPEG_VERSION; diff --git a/libavdevice/avdevice.h b/libavdevice/avdevice.h index 6f24976dcc..6de0e33819 100644 --- a/libavdevice/avdevice.h +++ b/libavdevice/avdevice.h @@ -19,7 +19,7 @@ #ifndef AVDEVICE_AVDEVICE_H #define AVDEVICE_AVDEVICE_H -#include "version.h" +#include "version_major.h" /** * @file diff --git a/libavdevice/version.h b/libavdevice/version.h index 05234e7f21..513c0bb1bc 100644 --- a/libavdevice/version.h +++ b/libavdevice/version.h @@ -27,7 +27,8 @@ #include "libavutil/version.h" -#define LIBAVDEVICE_VERSION_MAJOR 59 +#include "version_major.h" + #define LIBAVDEVICE_VERSION_MINOR 5 #define LIBAVDEVICE_VERSION_MICRO 100 @@ -41,11 +42,4 @@ #define LIBAVDEVICE_IDENT "Lavd" AV_STRINGIFY(LIBAVDEVICE_VERSION) -/** - * FF_API_* defines may be placed below to indicate public API that will be - * dropped at a future version bump. The defines themselves are not part of - * the public API and may change, break or disappear at any time. - */ -#define FF_API_DEVICE_CAPABILITIES (LIBAVDEVICE_VERSION_MAJOR < 60) - #endif /* AVDEVICE_VERSION_H */ diff --git a/libavdevice/version_major.h b/libavdevice/version_major.h new file mode 100644 index 0000000000..d255ff6992 --- /dev/null +++ b/libavdevice/version_major.h @@ -0,0 +1,37 @@ +/* + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef AVDEVICE_VERSION_MAJOR_H +#define AVDEVICE_VERSION_MAJOR_H + +/** + * @file + * @ingroup lavd + * Libavdevice version macros + */ + +#define LIBAVDEVICE_VERSION_MAJOR 59 + +/** + * FF_API_* defines may be placed below to indicate public API that will be + * dropped at a future version bump. The defines themselves are not part of + * the public API and may change, break or disappear at any time. + */ +#define FF_API_DEVICE_CAPABILITIES (LIBAVDEVICE_VERSION_MAJOR < 60) + +#endif /* AVDEVICE_VERSION_MAJOR_H */ -- 2.32.0 (Apple Git-132) _______________________________________________ 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] 24+ messages in thread
* [FFmpeg-devel] [PATCH 08/13] libpostproc: Split version.h 2022-02-23 14:29 [FFmpeg-devel] [PATCH 00/13] [RFC] Reduce unnecessary recompilation Martin Storsjö ` (6 preceding siblings ...) 2022-02-23 14:29 ` [FFmpeg-devel] [PATCH 07/13] libavdevice: " Martin Storsjö @ 2022-02-23 14:29 ` Martin Storsjö 2022-02-23 14:29 ` [FFmpeg-devel] [PATCH 09/13] libswresample: " Martin Storsjö ` (5 subsequent siblings) 13 siblings, 0 replies; 24+ messages in thread From: Martin Storsjö @ 2022-02-23 14:29 UTC (permalink / raw) To: ffmpeg-devel --- fftools/cmdutils.c | 1 + fftools/ffprobe.c | 1 + libpostproc/Makefile | 1 + libpostproc/postprocess.c | 1 + libpostproc/postprocess.h | 2 +- libpostproc/version.h | 3 ++- libpostproc/version_major.h | 31 +++++++++++++++++++++++++++++++ 7 files changed, 38 insertions(+), 2 deletions(-) create mode 100644 libpostproc/version_major.h diff --git a/fftools/cmdutils.c b/fftools/cmdutils.c index 21ec11226e..f52015708c 100644 --- a/fftools/cmdutils.c +++ b/fftools/cmdutils.c @@ -39,6 +39,7 @@ #include "libswscale/swscale.h" #include "libswresample/swresample.h" #include "libpostproc/postprocess.h" +#include "libpostproc/version.h" #include "libavutil/attributes.h" #include "libavutil/avassert.h" #include "libavutil/avstring.h" diff --git a/fftools/ffprobe.c b/fftools/ffprobe.c index 0f4d14574c..a0b9854004 100644 --- a/fftools/ffprobe.c +++ b/fftools/ffprobe.c @@ -56,6 +56,7 @@ #include "libswscale/swscale.h" #include "libswresample/swresample.h" #include "libpostproc/postprocess.h" +#include "libpostproc/version.h" #include "cmdutils.h" #include "libavutil/thread.h" diff --git a/libpostproc/Makefile b/libpostproc/Makefile index 34317193a8..f7debb8eeb 100644 --- a/libpostproc/Makefile +++ b/libpostproc/Makefile @@ -4,6 +4,7 @@ FFLIBS = avutil HEADERS = postprocess.h \ version.h \ + version_major.h \ OBJS = postprocess.o diff --git a/libpostproc/postprocess.c b/libpostproc/postprocess.c index 2ca7a3779d..b954dc2eaa 100644 --- a/libpostproc/postprocess.c +++ b/libpostproc/postprocess.c @@ -89,6 +89,7 @@ try to unroll inner for(x=0 ... loop to avoid these damn if(x ... checks //#define DEBUG_BRIGHTNESS #include "postprocess.h" #include "postprocess_internal.h" +#include "version.h" #include "libavutil/avstring.h" #include "libavutil/ppc/util_altivec.h" diff --git a/libpostproc/postprocess.h b/libpostproc/postprocess.h index ba456cf3e0..cf4e78c83a 100644 --- a/libpostproc/postprocess.h +++ b/libpostproc/postprocess.h @@ -34,7 +34,7 @@ * @{ */ -#include "libpostproc/version.h" +#include "libpostproc/version_major.h" /** * Return the LIBPOSTPROC_VERSION_INT constant. diff --git a/libpostproc/version.h b/libpostproc/version.h index e8bd6afdc8..4459d251d4 100644 --- a/libpostproc/version.h +++ b/libpostproc/version.h @@ -28,7 +28,8 @@ #include "libavutil/version.h" -#define LIBPOSTPROC_VERSION_MAJOR 56 +#include "version_major.h" + #define LIBPOSTPROC_VERSION_MINOR 4 #define LIBPOSTPROC_VERSION_MICRO 100 diff --git a/libpostproc/version_major.h b/libpostproc/version_major.h new file mode 100644 index 0000000000..7afc4dbb72 --- /dev/null +++ b/libpostproc/version_major.h @@ -0,0 +1,31 @@ +/* + * Version macros. + * + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef POSTPROC_VERSION_MAJOR_H +#define POSTPROC_VERSION_MAJOR_H + +/** + * @file + * Libpostproc version macros + */ + +#define LIBPOSTPROC_VERSION_MAJOR 56 + +#endif /* POSTPROC_VERSION_MAJOR_H */ -- 2.32.0 (Apple Git-132) _______________________________________________ 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] 24+ messages in thread
* [FFmpeg-devel] [PATCH 09/13] libswresample: Split version.h 2022-02-23 14:29 [FFmpeg-devel] [PATCH 00/13] [RFC] Reduce unnecessary recompilation Martin Storsjö ` (7 preceding siblings ...) 2022-02-23 14:29 ` [FFmpeg-devel] [PATCH 08/13] libpostproc: " Martin Storsjö @ 2022-02-23 14:29 ` Martin Storsjö 2022-02-23 14:29 ` [FFmpeg-devel] [PATCH 10/13] libswscale: " Martin Storsjö ` (4 subsequent siblings) 13 siblings, 0 replies; 24+ messages in thread From: Martin Storsjö @ 2022-02-23 14:29 UTC (permalink / raw) To: ffmpeg-devel --- fftools/cmdutils.c | 1 + fftools/ffprobe.c | 1 + libswresample/Makefile | 1 + libswresample/swresample.c | 1 + libswresample/swresample.h | 2 +- libswresample/version.h | 3 ++- libswresample/version_major.h | 31 +++++++++++++++++++++++++++++++ 7 files changed, 38 insertions(+), 2 deletions(-) create mode 100644 libswresample/version_major.h diff --git a/fftools/cmdutils.c b/fftools/cmdutils.c index f52015708c..dd5d4f5849 100644 --- a/fftools/cmdutils.c +++ b/fftools/cmdutils.c @@ -38,6 +38,7 @@ #include "libavdevice/version.h" #include "libswscale/swscale.h" #include "libswresample/swresample.h" +#include "libswresample/version.h" #include "libpostproc/postprocess.h" #include "libpostproc/version.h" #include "libavutil/attributes.h" diff --git a/fftools/ffprobe.c b/fftools/ffprobe.c index a0b9854004..9f04354c7e 100644 --- a/fftools/ffprobe.c +++ b/fftools/ffprobe.c @@ -55,6 +55,7 @@ #include "libavdevice/version.h" #include "libswscale/swscale.h" #include "libswresample/swresample.h" +#include "libswresample/version.h" #include "libpostproc/postprocess.h" #include "libpostproc/version.h" #include "cmdutils.h" diff --git a/libswresample/Makefile b/libswresample/Makefile index f528427f55..b74ee20987 100644 --- a/libswresample/Makefile +++ b/libswresample/Makefile @@ -4,6 +4,7 @@ FFLIBS = avutil HEADERS = swresample.h \ version.h \ + version_major.h \ OBJS = audioconvert.o \ dither.o \ diff --git a/libswresample/swresample.c b/libswresample/swresample.c index 16734c9df9..82e979c4c9 100644 --- a/libswresample/swresample.c +++ b/libswresample/swresample.c @@ -24,6 +24,7 @@ #include "libavutil/avassert.h" #include "libavutil/channel_layout.h" #include "libavutil/internal.h" +#include "version.h" #include <float.h> diff --git a/libswresample/swresample.h b/libswresample/swresample.h index c7b84fbcac..aebdbafcfc 100644 --- a/libswresample/swresample.h +++ b/libswresample/swresample.h @@ -124,7 +124,7 @@ #include "libavutil/frame.h" #include "libavutil/samplefmt.h" -#include "libswresample/version.h" +#include "libswresample/version_major.h" /** * @name Option constants diff --git a/libswresample/version.h b/libswresample/version.h index 61d0057cf5..9a514e6d6f 100644 --- a/libswresample/version.h +++ b/libswresample/version.h @@ -28,7 +28,8 @@ #include "libavutil/version.h" -#define LIBSWRESAMPLE_VERSION_MAJOR 4 +#include "version_major.h" + #define LIBSWRESAMPLE_VERSION_MINOR 4 #define LIBSWRESAMPLE_VERSION_MICRO 100 diff --git a/libswresample/version_major.h b/libswresample/version_major.h new file mode 100644 index 0000000000..7f265c2073 --- /dev/null +++ b/libswresample/version_major.h @@ -0,0 +1,31 @@ +/* + * Version macros. + * + * This file is part of libswresample + * + * libswresample is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * libswresample is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with libswresample; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef SWRESAMPLE_VERSION_MAJOR_H +#define SWRESAMPLE_VERSION_MAJOR_H + +/** + * @file + * Libswresample version macros + */ + +#define LIBSWRESAMPLE_VERSION_MAJOR 4 + +#endif /* SWRESAMPLE_VERSION_MAJOR_H */ -- 2.32.0 (Apple Git-132) _______________________________________________ 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] 24+ messages in thread
* [FFmpeg-devel] [PATCH 10/13] libswscale: Split version.h 2022-02-23 14:29 [FFmpeg-devel] [PATCH 00/13] [RFC] Reduce unnecessary recompilation Martin Storsjö ` (8 preceding siblings ...) 2022-02-23 14:29 ` [FFmpeg-devel] [PATCH 09/13] libswresample: " Martin Storsjö @ 2022-02-23 14:29 ` Martin Storsjö 2022-02-23 14:29 ` [FFmpeg-devel] [PATCH 11/13] libavfilter: " Martin Storsjö ` (3 subsequent siblings) 13 siblings, 0 replies; 24+ messages in thread From: Martin Storsjö @ 2022-02-23 14:29 UTC (permalink / raw) To: ffmpeg-devel --- fftools/cmdutils.c | 1 + fftools/ffprobe.c | 1 + libswscale/Makefile | 1 + libswscale/swscale.h | 2 +- libswscale/swscale_internal.h | 1 - libswscale/utils.c | 1 + libswscale/version.h | 9 ++------- libswscale/version_major.h | 35 +++++++++++++++++++++++++++++++++++ 8 files changed, 42 insertions(+), 9 deletions(-) create mode 100644 libswscale/version_major.h diff --git a/fftools/cmdutils.c b/fftools/cmdutils.c index dd5d4f5849..d5cadec695 100644 --- a/fftools/cmdutils.c +++ b/fftools/cmdutils.c @@ -37,6 +37,7 @@ #include "libavdevice/avdevice.h" #include "libavdevice/version.h" #include "libswscale/swscale.h" +#include "libswscale/version.h" #include "libswresample/swresample.h" #include "libswresample/version.h" #include "libpostproc/postprocess.h" diff --git a/fftools/ffprobe.c b/fftools/ffprobe.c index 9f04354c7e..2e74580ca8 100644 --- a/fftools/ffprobe.c +++ b/fftools/ffprobe.c @@ -54,6 +54,7 @@ #include "libavdevice/avdevice.h" #include "libavdevice/version.h" #include "libswscale/swscale.h" +#include "libswscale/version.h" #include "libswresample/swresample.h" #include "libswresample/version.h" #include "libpostproc/postprocess.h" diff --git a/libswscale/Makefile b/libswscale/Makefile index a0ec71e06f..1f02b56421 100644 --- a/libswscale/Makefile +++ b/libswscale/Makefile @@ -3,6 +3,7 @@ DESC = FFmpeg image rescaling library HEADERS = swscale.h \ version.h \ + version_major.h \ OBJS = alphablend.o \ hscale.o \ diff --git a/libswscale/swscale.h b/libswscale/swscale.h index daa53dc01e..07c69e1ae7 100644 --- a/libswscale/swscale.h +++ b/libswscale/swscale.h @@ -33,7 +33,7 @@ #include "libavutil/frame.h" #include "libavutil/log.h" #include "libavutil/pixfmt.h" -#include "version.h" +#include "version_major.h" /** * @defgroup libsws libswscale diff --git a/libswscale/swscale_internal.h b/libswscale/swscale_internal.h index 26d28d42e6..3cf96d5fbc 100644 --- a/libswscale/swscale_internal.h +++ b/libswscale/swscale_internal.h @@ -24,7 +24,6 @@ #include <stdatomic.h> #include "config.h" -#include "version.h" #include "libavutil/avassert.h" #include "libavutil/avutil.h" diff --git a/libswscale/utils.c b/libswscale/utils.c index 7c8e1bbdde..ee8e5c9364 100644 --- a/libswscale/utils.c +++ b/libswscale/utils.c @@ -59,6 +59,7 @@ #include "rgb2rgb.h" #include "swscale.h" #include "swscale_internal.h" +#include "version.h" static SwsVector *sws_getIdentityVec(void); static void sws_addVec(SwsVector *a, SwsVector *b); diff --git a/libswscale/version.h b/libswscale/version.h index 0e5583aa47..c13db31c43 100644 --- a/libswscale/version.h +++ b/libswscale/version.h @@ -26,7 +26,8 @@ #include "libavutil/version.h" -#define LIBSWSCALE_VERSION_MAJOR 6 +#include "version_major.h" + #define LIBSWSCALE_VERSION_MINOR 5 #define LIBSWSCALE_VERSION_MICRO 100 @@ -40,10 +41,4 @@ #define LIBSWSCALE_IDENT "SwS" AV_STRINGIFY(LIBSWSCALE_VERSION) -/** - * FF_API_* defines may be placed below to indicate public API that will be - * dropped at a future version bump. The defines themselves are not part of - * the public API and may change, break or disappear at any time. - */ - #endif /* SWSCALE_VERSION_H */ diff --git a/libswscale/version_major.h b/libswscale/version_major.h new file mode 100644 index 0000000000..2f8418780c --- /dev/null +++ b/libswscale/version_major.h @@ -0,0 +1,35 @@ +/* + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef SWSCALE_VERSION_MAJOR_H +#define SWSCALE_VERSION_MAJOR_H + +/** + * @file + * swscale version macros + */ + +#define LIBSWSCALE_VERSION_MAJOR 6 + +/** + * FF_API_* defines may be placed below to indicate public API that will be + * dropped at a future version bump. The defines themselves are not part of + * the public API and may change, break or disappear at any time. + */ + +#endif /* SWSCALE_VERSION_MAJOR_H */ -- 2.32.0 (Apple Git-132) _______________________________________________ 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] 24+ messages in thread
* [FFmpeg-devel] [PATCH 11/13] libavfilter: Split version.h 2022-02-23 14:29 [FFmpeg-devel] [PATCH 00/13] [RFC] Reduce unnecessary recompilation Martin Storsjö ` (9 preceding siblings ...) 2022-02-23 14:29 ` [FFmpeg-devel] [PATCH 10/13] libswscale: " Martin Storsjö @ 2022-02-23 14:29 ` Martin Storsjö 2022-02-23 14:29 ` [FFmpeg-devel] [PATCH 12/13] doc: Add an entry to APIchanges about no longer implicitly including version.h Martin Storsjö ` (2 subsequent siblings) 13 siblings, 0 replies; 24+ messages in thread From: Martin Storsjö @ 2022-02-23 14:29 UTC (permalink / raw) To: ffmpeg-devel --- fftools/cmdutils.c | 1 + fftools/ffprobe.c | 1 + libavfilter/Makefile | 1 + libavfilter/avfilter.c | 1 + libavfilter/avfilter.h | 2 +- libavfilter/internal.h | 1 - libavfilter/version.h | 13 ++---------- libavfilter/version_major.h | 42 +++++++++++++++++++++++++++++++++++++ 8 files changed, 49 insertions(+), 13 deletions(-) create mode 100644 libavfilter/version_major.h diff --git a/fftools/cmdutils.c b/fftools/cmdutils.c index d5cadec695..9cceb68412 100644 --- a/fftools/cmdutils.c +++ b/fftools/cmdutils.c @@ -34,6 +34,7 @@ #include "libavformat/avformat.h" #include "libavformat/version.h" #include "libavfilter/avfilter.h" +#include "libavfilter/version.h" #include "libavdevice/avdevice.h" #include "libavdevice/version.h" #include "libswscale/swscale.h" diff --git a/fftools/ffprobe.c b/fftools/ffprobe.c index 2e74580ca8..adbf538dbc 100644 --- a/fftools/ffprobe.c +++ b/fftools/ffprobe.c @@ -59,6 +59,7 @@ #include "libswresample/version.h" #include "libpostproc/postprocess.h" #include "libpostproc/version.h" +#include "libavfilter/version.h" #include "cmdutils.h" #include "libavutil/thread.h" diff --git a/libavfilter/Makefile b/libavfilter/Makefile index 56d33e6480..d5fc27a575 100644 --- a/libavfilter/Makefile +++ b/libavfilter/Makefile @@ -5,6 +5,7 @@ HEADERS = avfilter.h \ buffersink.h \ buffersrc.h \ version.h \ + version_major.h \ OBJS = allfilters.o \ audio.o \ diff --git a/libavfilter/avfilter.c b/libavfilter/avfilter.c index 1f37a70179..859c5b837b 100644 --- a/libavfilter/avfilter.c +++ b/libavfilter/avfilter.c @@ -43,6 +43,7 @@ #include "formats.h" #include "framepool.h" #include "internal.h" +#include "version.h" #include "libavutil/ffversion.h" const char av_filter_ffversion[] = "FFmpeg version " FFMPEG_VERSION; diff --git a/libavfilter/avfilter.h b/libavfilter/avfilter.h index b105dc3159..37effcf5cd 100644 --- a/libavfilter/avfilter.h +++ b/libavfilter/avfilter.h @@ -47,7 +47,7 @@ #include "libavutil/pixfmt.h" #include "libavutil/rational.h" -#include "libavfilter/version.h" +#include "libavfilter/version_major.h" /** * Return the LIBAVFILTER_VERSION_INT constant. diff --git a/libavfilter/internal.h b/libavfilter/internal.h index 1099b82b4b..53883101a8 100644 --- a/libavfilter/internal.h +++ b/libavfilter/internal.h @@ -28,7 +28,6 @@ #include "avfilter.h" #include "formats.h" #include "framequeue.h" -#include "version.h" #include "video.h" typedef struct AVFilterCommand { diff --git a/libavfilter/version.h b/libavfilter/version.h index 9a890c014f..40fa8d9c47 100644 --- a/libavfilter/version.h +++ b/libavfilter/version.h @@ -29,7 +29,8 @@ #include "libavutil/version.h" -#define LIBAVFILTER_VERSION_MAJOR 8 +#include "version_major.h" + #define LIBAVFILTER_VERSION_MINOR 27 #define LIBAVFILTER_VERSION_MICRO 100 @@ -44,14 +45,4 @@ #define LIBAVFILTER_IDENT "Lavfi" AV_STRINGIFY(LIBAVFILTER_VERSION) -/** - * FF_API_* defines may be placed below to indicate public API that will be - * dropped at a future version bump. The defines themselves are not part of - * the public API and may change, break or disappear at any time. - */ - -#define FF_API_SWS_PARAM_OPTION (LIBAVFILTER_VERSION_MAJOR < 9) -#define FF_API_BUFFERSINK_ALLOC (LIBAVFILTER_VERSION_MAJOR < 9) -#define FF_API_PAD_COUNT (LIBAVFILTER_VERSION_MAJOR < 9) - #endif /* AVFILTER_VERSION_H */ diff --git a/libavfilter/version_major.h b/libavfilter/version_major.h new file mode 100644 index 0000000000..de0cf6e979 --- /dev/null +++ b/libavfilter/version_major.h @@ -0,0 +1,42 @@ +/* + * Version macros. + * + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef AVFILTER_VERSION_MAJOR_H +#define AVFILTER_VERSION_MAJOR_H + +/** + * @file + * @ingroup lavfi + * Libavfilter version macros + */ + +#define LIBAVFILTER_VERSION_MAJOR 8 + +/** + * FF_API_* defines may be placed below to indicate public API that will be + * dropped at a future version bump. The defines themselves are not part of + * the public API and may change, break or disappear at any time. + */ + +#define FF_API_SWS_PARAM_OPTION (LIBAVFILTER_VERSION_MAJOR < 9) +#define FF_API_BUFFERSINK_ALLOC (LIBAVFILTER_VERSION_MAJOR < 9) +#define FF_API_PAD_COUNT (LIBAVFILTER_VERSION_MAJOR < 9) + +#endif /* AVFILTER_VERSION_MAJOR_H */ -- 2.32.0 (Apple Git-132) _______________________________________________ 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] 24+ messages in thread
* [FFmpeg-devel] [PATCH 12/13] doc: Add an entry to APIchanges about no longer implicitly including version.h 2022-02-23 14:29 [FFmpeg-devel] [PATCH 00/13] [RFC] Reduce unnecessary recompilation Martin Storsjö ` (10 preceding siblings ...) 2022-02-23 14:29 ` [FFmpeg-devel] [PATCH 11/13] libavfilter: " Martin Storsjö @ 2022-02-23 14:29 ` Martin Storsjö 2022-02-23 14:29 ` [FFmpeg-devel] [PATCH 13/13] configure: Use a separate config_components.h header for $ALL_COMPONENTS Martin Storsjö 2022-03-11 12:17 ` [FFmpeg-devel] [PATCH 00/13] [RFC] Reduce unnecessary recompilation Martin Storsjö 13 siblings, 0 replies; 24+ messages in thread From: Martin Storsjö @ 2022-02-23 14:29 UTC (permalink / raw) To: ffmpeg-devel --- doc/APIchanges | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/doc/APIchanges b/doc/APIchanges index ea402f6118..adbfc79e13 100644 --- a/doc/APIchanges +++ b/doc/APIchanges @@ -14,6 +14,12 @@ libavutil: 2021-04-27 API changes, most recent first: +2022-*-* - xxxxxxxxxx - all libraries + No longer implicitly include lib<name>/version.h in lib<name>/<name>.h. + Users who depend on defines from these files (LIB<name>_VERSION*, + LIB<name>_IDENT) must explicitly include these headers instead of + relying on them being included implicitly. + 2022-02-07 - xxxxxxxxxx - lavu 57.21.100 - fifo.h Deprecate AVFifoBuffer and the API around it, namely av_fifo_alloc(), av_fifo_alloc_array(), av_fifo_free(), av_fifo_freep(), av_fifo_reset(), -- 2.32.0 (Apple Git-132) _______________________________________________ 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] 24+ messages in thread
* [FFmpeg-devel] [PATCH 13/13] configure: Use a separate config_components.h header for $ALL_COMPONENTS 2022-02-23 14:29 [FFmpeg-devel] [PATCH 00/13] [RFC] Reduce unnecessary recompilation Martin Storsjö ` (11 preceding siblings ...) 2022-02-23 14:29 ` [FFmpeg-devel] [PATCH 12/13] doc: Add an entry to APIchanges about no longer implicitly including version.h Martin Storsjö @ 2022-02-23 14:29 ` Martin Storsjö 2022-02-24 21:22 ` Michael Niedermayer 2022-03-11 12:17 ` [FFmpeg-devel] [PATCH 00/13] [RFC] Reduce unnecessary recompilation Martin Storsjö 13 siblings, 1 reply; 24+ messages in thread From: Martin Storsjö @ 2022-02-23 14:29 UTC (permalink / raw) To: ffmpeg-devel This avoids unnecessary rebuilds of most source files if only the list of enabled components has changed, but not the other properties of the build, set in config.h. --- configure | 17 +++++++++++++++-- fftools/ffplay.c | 1 + libavcodec/8svx.c | 1 + libavcodec/a64multienc.c | 1 + libavcodec/aac_ac3_parser.c | 1 + libavcodec/aactab.c | 1 + libavcodec/aarch64/h264cmc_neon.S | 1 + libavcodec/ac3_parser.c | 1 + libavcodec/ac3dec.c | 1 + libavcodec/ac3enc.c | 1 + libavcodec/ac3enc_template.c | 1 + libavcodec/adpcm.c | 1 + libavcodec/adpcmenc.c | 1 + libavcodec/allcodecs.c | 1 + libavcodec/aptxdec.c | 1 + libavcodec/aptxenc.c | 1 + libavcodec/arm/flacdsp_init_arm.c | 1 + libavcodec/arm/h264cmc_neon.S | 1 + libavcodec/assdec.c | 1 + libavcodec/assenc.c | 1 + libavcodec/asvdec.c | 1 + libavcodec/asvenc.c | 1 + libavcodec/audiotoolboxdec.c | 1 + libavcodec/av1dec.c | 1 + libavcodec/binkaudio.c | 1 + libavcodec/bintext.c | 1 + libavcodec/bsf.c | 1 + libavcodec/cyuv.c | 1 + libavcodec/flashsv.c | 1 + libavcodec/g726.c | 1 + libavcodec/gsmdec.c | 1 + libavcodec/h263dec.c | 1 + libavcodec/h264_slice.c | 1 + libavcodec/h264dec.c | 2 ++ libavcodec/hevcdec.c | 1 + libavcodec/huffyuvdec.c | 1 + libavcodec/huffyuvenc.c | 1 + libavcodec/idctdsp.c | 1 + libavcodec/iff.c | 1 + libavcodec/imc.c | 1 + libavcodec/ituh263dec.c | 1 + libavcodec/ituh263enc.c | 1 + libavcodec/lcldec.c | 1 + libavcodec/libgsmdec.c | 1 + libavcodec/libgsmenc.c | 1 + libavcodec/libopencore-amr.c | 1 + libavcodec/libvpx.c | 1 + libavcodec/libvpxdec.c | 1 + libavcodec/libvpxenc.c | 1 + libavcodec/libx264.c | 1 + libavcodec/me_cmp.c | 1 + libavcodec/metasound_data.c | 1 + libavcodec/mjpegdec.c | 1 + libavcodec/mjpegenc.c | 1 + libavcodec/mlpdec.c | 1 + libavcodec/mlpenc.c | 1 + libavcodec/mpeg12dec.c | 1 + libavcodec/mpeg12enc.c | 1 + libavcodec/mpeg4videodec.c | 1 + libavcodec/mpegaudiodec_fixed.c | 1 + libavcodec/mpegaudiodec_float.c | 1 + libavcodec/mpegvideo.c | 1 + libavcodec/mpegvideo_enc.c | 1 + libavcodec/mpegvideo_motion.c | 1 + libavcodec/msmpeg4.c | 1 + libavcodec/msmpeg4dec.c | 1 + libavcodec/mvcdec.c | 1 + libavcodec/options.c | 1 + libavcodec/opus_pvq.c | 1 + libavcodec/pcm.c | 1 + libavcodec/pngdec.c | 1 + libavcodec/pnmdec.c | 1 + libavcodec/pnmenc.c | 1 + libavcodec/proresdec2.c | 1 + libavcodec/qpeldsp.c | 1 + libavcodec/r210dec.c | 1 + libavcodec/r210enc.c | 1 + libavcodec/rv34_parser.c | 1 + libavcodec/sonic.c | 1 + libavcodec/sp5xdec.c | 1 + libavcodec/speedhq.c | 1 + libavcodec/speedhqenc.c | 1 + libavcodec/srtdec.c | 1 + libavcodec/srtenc.c | 1 + libavcodec/textdec.c | 1 + libavcodec/v408dec.c | 1 + libavcodec/v408enc.c | 1 + libavcodec/vc1dec.c | 1 + libavcodec/vc1dsp.c | 1 + libavcodec/videotoolbox.c | 1 + libavcodec/vorbis_parser.c | 1 + libavcodec/vp3.c | 1 + libavcodec/vp56dsp.c | 1 + libavcodec/vp8.c | 1 + libavcodec/vp8dsp.c | 1 + libavcodec/vp9.c | 1 + libavcodec/wmadec.c | 1 + libavcodec/wmaenc.c | 1 + libavcodec/x86/flacdsp_init.c | 1 + libavcodec/x86/hpeldsp_init.c | 1 + libavfilter/aeval.c | 1 + libavfilter/af_afade.c | 1 + libavfilter/af_agate.c | 1 + libavfilter/af_biquads.c | 1 + libavfilter/af_sidechaincompress.c | 1 + libavfilter/avf_showspectrum.c | 1 + libavfilter/avf_showwaves.c | 1 + libavfilter/f_bench.c | 1 + libavfilter/f_cue.c | 1 + libavfilter/f_drawgraph.c | 1 + libavfilter/f_graphmonitor.c | 1 + libavfilter/f_interleave.c | 1 + libavfilter/f_latency.c | 1 + libavfilter/f_loop.c | 1 + libavfilter/f_metadata.c | 1 + libavfilter/f_perms.c | 1 + libavfilter/f_realtime.c | 1 + libavfilter/f_reverse.c | 1 + libavfilter/f_segment.c | 1 + libavfilter/f_select.c | 1 + libavfilter/f_sendcmd.c | 1 + libavfilter/f_sidedata.c | 1 + libavfilter/lut3d.h | 1 + libavfilter/setpts.c | 1 + libavfilter/settb.c | 1 + libavfilter/src_movie.c | 1 + libavfilter/trim.c | 1 + libavfilter/vf_aspect.c | 1 + libavfilter/vf_blend.c | 1 + libavfilter/vf_colorconstancy.c | 1 + libavfilter/vf_colorkey.c | 1 + libavfilter/vf_convolution.c | 1 + libavfilter/vf_convolve.c | 1 + libavfilter/vf_drawbox.c | 1 + libavfilter/vf_extractplanes.c | 1 + libavfilter/vf_format.c | 1 + libavfilter/vf_histogram.c | 1 + libavfilter/vf_identity.c | 1 + libavfilter/vf_lut.c | 1 + libavfilter/vf_lut2.c | 1 + libavfilter/vf_mix.c | 1 + libavfilter/vf_neighbor.c | 1 + libavfilter/vf_premultiply.c | 1 + libavfilter/vf_setparams.c | 1 + libavfilter/vf_stack.c | 1 + libavfilter/vf_xmedian.c | 1 + libavfilter/vsrc_testsrc.c | 1 + libavformat/ac3dec.c | 1 + libavformat/alp.c | 1 + libavformat/amr.c | 1 + libavformat/apm.c | 1 + libavformat/aptxdec.c | 1 + libavformat/argo_asf.c | 1 + libavformat/argo_cvg.c | 1 + libavformat/asfenc.c | 1 + libavformat/au.c | 1 + libavformat/av1dec.c | 1 + libavformat/avidec.c | 1 + libavformat/avienc.c | 1 + libavformat/bintext.c | 1 + libavformat/bit.c | 1 + libavformat/codec2.c | 1 + libavformat/concat.c | 1 + libavformat/dashenc.c | 1 + libavformat/demux.c | 1 + libavformat/file.c | 1 + libavformat/format.c | 1 + libavformat/g726.c | 1 + libavformat/gopher.c | 1 + libavformat/hashenc.c | 1 + libavformat/hls.c | 1 + libavformat/hlsenc.c | 1 + libavformat/http.c | 1 + libavformat/ilbc.c | 1 + libavformat/img2dec.c | 1 + libavformat/img2enc.c | 1 + libavformat/kvag.c | 1 + libavformat/matroskadec.c | 1 + libavformat/matroskaenc.c | 1 + libavformat/mj2kdec.c | 1 + libavformat/mlpdec.c | 1 + libavformat/mmf.c | 1 + libavformat/mov.c | 1 + libavformat/movenc.c | 1 + libavformat/mpeg.c | 1 + libavformat/mpegenc.c | 1 + libavformat/mpegts.c | 1 + libavformat/network.c | 1 + libavformat/oggenc.c | 1 + libavformat/pcmdec.c | 1 + libavformat/pcmenc.c | 1 + libavformat/rawdec.c | 1 + libavformat/rawenc.c | 1 + libavformat/rawvideodec.c | 1 + libavformat/riff.c | 1 + libavformat/rtmpproto.c | 1 + libavformat/rtsp.c | 1 + libavformat/rtspdec.c | 1 + libavformat/sdp.c | 1 + libavformat/segment.c | 1 + libavformat/swfenc.c | 1 + libavformat/voc.c | 1 + libavformat/wavdec.c | 1 + libavformat/wavenc.c | 1 + 204 files changed, 219 insertions(+), 2 deletions(-) diff --git a/configure b/configure index 1535dc3c5b..cc5b9e0013 100755 --- a/configure +++ b/configure @@ -7788,17 +7788,30 @@ print_config ARCH_ "$config_files" $ARCH_LIST print_config HAVE_ "$config_files" $HAVE_LIST print_config CONFIG_ "$config_files" $CONFIG_LIST \ $CONFIG_EXTRA \ - $ALL_COMPONENTS \ echo "#endif /* FFMPEG_CONFIG_H */" >> $TMPH -echo "endif # FFMPEG_CONFIG_MAK" >> ffbuild/config.mak # Do not overwrite an unchanged config.h to avoid superfluous rebuilds. cp_if_changed $TMPH config.h touch ffbuild/.config +# Copy config.asm before printing ALL_COMPONENTS; that's not needed in assembly. enabled x86asm && cp_if_changed $TMPASM config.asm +# Reopen a new TMPH for config_components.h. +cat > $TMPH <<EOF +/* Automatically generated by configure - do not modify! */ +#ifndef FFMPEG_CONFIG_COMPONENTS_H +#define FFMPEG_CONFIG_COMPONENTS_H +EOF + +print_config CONFIG_ "$config_files" $ALL_COMPONENTS + +echo "#endif /* FFMPEG_CONFIG_COMPONENTS_H */" >> $TMPH +echo "endif # FFMPEG_CONFIG_MAK" >> ffbuild/config.mak + +cp_if_changed $TMPH config_components.h + cat > $TMPH <<EOF /* Generated by ffmpeg configure */ #ifndef AVUTIL_AVCONFIG_H diff --git a/fftools/ffplay.c b/fftools/ffplay.c index ac48d8765d..b79ae8fb58 100644 --- a/fftools/ffplay.c +++ b/fftools/ffplay.c @@ -24,6 +24,7 @@ */ #include "config.h" +#include "config_components.h" #include <inttypes.h> #include <math.h> #include <limits.h> diff --git a/libavcodec/8svx.c b/libavcodec/8svx.c index 6ef8cd73fe..bedcb50461 100644 --- a/libavcodec/8svx.c +++ b/libavcodec/8svx.c @@ -39,6 +39,7 @@ #include "libavutil/avassert.h" #include "avcodec.h" +#include "config_components.h" #include "internal.h" #include "libavutil/common.h" diff --git a/libavcodec/a64multienc.c b/libavcodec/a64multienc.c index 7bdf4a61b1..d5b31afb39 100644 --- a/libavcodec/a64multienc.c +++ b/libavcodec/a64multienc.c @@ -26,6 +26,7 @@ #include "a64colors.h" #include "a64tables.h" +#include "config_components.h" #include "elbg.h" #include "encode.h" #include "internal.h" diff --git a/libavcodec/aac_ac3_parser.c b/libavcodec/aac_ac3_parser.c index e84d30aea2..c78f63671a 100644 --- a/libavcodec/aac_ac3_parser.c +++ b/libavcodec/aac_ac3_parser.c @@ -24,6 +24,7 @@ #include "libavutil/common.h" #include "parser.h" #include "aac_ac3_parser.h" +#include "config_components.h" int ff_aac_ac3_parse(AVCodecParserContext *s1, AVCodecContext *avctx, diff --git a/libavcodec/aactab.c b/libavcodec/aactab.c index 0553f41a61..0f4941d5df 100644 --- a/libavcodec/aactab.c +++ b/libavcodec/aactab.c @@ -28,6 +28,7 @@ */ #include "config.h" +#include "config_components.h" #include "libavutil/mem_internal.h" #include "libavutil/thread.h" #include "aac.h" diff --git a/libavcodec/aarch64/h264cmc_neon.S b/libavcodec/aarch64/h264cmc_neon.S index 8be7578001..258aeb7e85 100644 --- a/libavcodec/aarch64/h264cmc_neon.S +++ b/libavcodec/aarch64/h264cmc_neon.S @@ -20,6 +20,7 @@ */ #include "libavutil/aarch64/asm.S" +#include "config_components.h" /* chroma_mc8(uint8_t *dst, uint8_t *src, ptrdiff_t stride, int h, int x, int y) */ .macro h264_chroma_mc8 type, codec=h264 diff --git a/libavcodec/ac3_parser.c b/libavcodec/ac3_parser.c index f3c7d27d59..86e8d417eb 100644 --- a/libavcodec/ac3_parser.c +++ b/libavcodec/ac3_parser.c @@ -21,6 +21,7 @@ */ #include "config.h" +#include "config_components.h" #include "libavutil/channel_layout.h" #include "parser.h" diff --git a/libavcodec/ac3dec.c b/libavcodec/ac3dec.c index ae00373dcb..ddf8513246 100644 --- a/libavcodec/ac3dec.c +++ b/libavcodec/ac3dec.c @@ -40,6 +40,7 @@ #include "ac3_parser_internal.h" #include "ac3dec.h" #include "ac3dec_data.h" +#include "config_components.h" #include "kbdwin.h" /** diff --git a/libavcodec/ac3enc.c b/libavcodec/ac3enc.c index 034aa0beb9..e9b2e5a19c 100644 --- a/libavcodec/ac3enc.c +++ b/libavcodec/ac3enc.c @@ -38,6 +38,7 @@ #include "libavutil/opt.h" #include "libavutil/thread.h" #include "avcodec.h" +#include "config_components.h" #include "encode.h" #include "internal.h" #include "me_cmp.h" diff --git a/libavcodec/ac3enc_template.c b/libavcodec/ac3enc_template.c index 5ecef3b178..1ff3789f09 100644 --- a/libavcodec/ac3enc_template.c +++ b/libavcodec/ac3enc_template.c @@ -33,6 +33,7 @@ #include "libavutil/mem_internal.h" #include "audiodsp.h" +#include "config_components.h" #include "internal.h" #include "ac3enc.h" #include "eac3enc.h" diff --git a/libavcodec/adpcm.c b/libavcodec/adpcm.c index cfde5f58b9..9c4d7bd3b1 100644 --- a/libavcodec/adpcm.c +++ b/libavcodec/adpcm.c @@ -35,6 +35,7 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #include "avcodec.h" +#include "config_components.h" #include "get_bits.h" #include "bytestream.h" #include "adpcm.h" diff --git a/libavcodec/adpcmenc.c b/libavcodec/adpcmenc.c index b0f6f209b7..c2688a2685 100644 --- a/libavcodec/adpcmenc.c +++ b/libavcodec/adpcmenc.c @@ -25,6 +25,7 @@ #include "libavutil/opt.h" #include "avcodec.h" +#include "config_components.h" #include "put_bits.h" #include "bytestream.h" #include "adpcm.h" diff --git a/libavcodec/allcodecs.c b/libavcodec/allcodecs.c index d1e10197de..58b8befa2b 100644 --- a/libavcodec/allcodecs.c +++ b/libavcodec/allcodecs.c @@ -28,6 +28,7 @@ #include <string.h> #include "config.h" +#include "config_components.h" #include "libavutil/thread.h" #include "codec.h" #include "codec_id.h" diff --git a/libavcodec/aptxdec.c b/libavcodec/aptxdec.c index bdcc076c41..173dbaa2de 100644 --- a/libavcodec/aptxdec.c +++ b/libavcodec/aptxdec.c @@ -22,6 +22,7 @@ #include "libavutil/channel_layout.h" #include "aptx.h" +#include "config_components.h" /* * Half-band QMF synthesis filter realized with a polyphase FIR filter. diff --git a/libavcodec/aptxenc.c b/libavcodec/aptxenc.c index 5ea6053c26..fca30745ab 100644 --- a/libavcodec/aptxenc.c +++ b/libavcodec/aptxenc.c @@ -22,6 +22,7 @@ #include "libavutil/channel_layout.h" #include "aptx.h" +#include "config_components.h" #include "encode.h" /* diff --git a/libavcodec/arm/flacdsp_init_arm.c b/libavcodec/arm/flacdsp_init_arm.c index c4a6e3a535..bac9ff1959 100644 --- a/libavcodec/arm/flacdsp_init_arm.c +++ b/libavcodec/arm/flacdsp_init_arm.c @@ -21,6 +21,7 @@ #include "libavutil/attributes.h" #include "libavcodec/flacdsp.h" #include "config.h" +#include "config_components.h" void ff_flac_lpc_16_arm(int32_t *samples, const int coeffs[32], int order, int qlevel, int len); diff --git a/libavcodec/arm/h264cmc_neon.S b/libavcodec/arm/h264cmc_neon.S index 5a4159eedd..847c7c6afa 100644 --- a/libavcodec/arm/h264cmc_neon.S +++ b/libavcodec/arm/h264cmc_neon.S @@ -19,6 +19,7 @@ */ #include "libavutil/arm/asm.S" +#include "config_components.h" /* chroma_mc8(uint8_t *dst, uint8_t *src, ptrdiff_t stride, int h, int x, int y) */ .macro h264_chroma_mc8 type, codec=h264 diff --git a/libavcodec/assdec.c b/libavcodec/assdec.c index 319279490c..a9697d045d 100644 --- a/libavcodec/assdec.c +++ b/libavcodec/assdec.c @@ -23,6 +23,7 @@ #include "avcodec.h" #include "ass.h" +#include "config_components.h" #include "internal.h" #include "libavutil/internal.h" #include "libavutil/mem.h" diff --git a/libavcodec/assenc.c b/libavcodec/assenc.c index a6d107ded2..61c416d616 100644 --- a/libavcodec/assenc.c +++ b/libavcodec/assenc.c @@ -23,6 +23,7 @@ #include "avcodec.h" #include "ass.h" +#include "config_components.h" #include "internal.h" #include "libavutil/avstring.h" #include "libavutil/internal.h" diff --git a/libavcodec/asvdec.c b/libavcodec/asvdec.c index 60a4e138c4..36bedb5928 100644 --- a/libavcodec/asvdec.c +++ b/libavcodec/asvdec.c @@ -30,6 +30,7 @@ #include "asv.h" #include "avcodec.h" #include "blockdsp.h" +#include "config_components.h" #include "idctdsp.h" #include "internal.h" #include "mpeg12data.h" diff --git a/libavcodec/asvenc.c b/libavcodec/asvenc.c index ff96338e8a..d8eec960c4 100644 --- a/libavcodec/asvenc.c +++ b/libavcodec/asvenc.c @@ -29,6 +29,7 @@ #include "aandcttab.h" #include "asv.h" #include "avcodec.h" +#include "config_components.h" #include "dct.h" #include "encode.h" #include "fdctdsp.h" diff --git a/libavcodec/audiotoolboxdec.c b/libavcodec/audiotoolboxdec.c index 9939fef218..b7c746ef6f 100644 --- a/libavcodec/audiotoolboxdec.c +++ b/libavcodec/audiotoolboxdec.c @@ -23,6 +23,7 @@ #include <AudioToolbox/AudioToolbox.h> #include "config.h" +#include "config_components.h" #include "avcodec.h" #include "ac3_parser_internal.h" #include "bytestream.h" diff --git a/libavcodec/av1dec.c b/libavcodec/av1dec.c index b354d8d03c..1c65e3df9f 100644 --- a/libavcodec/av1dec.c +++ b/libavcodec/av1dec.c @@ -24,6 +24,7 @@ #include "avcodec.h" #include "av1dec.h" #include "bytestream.h" +#include "config_components.h" #include "hwconfig.h" #include "internal.h" #include "profiles.h" diff --git a/libavcodec/binkaudio.c b/libavcodec/binkaudio.c index f808141ba5..fec1e530cb 100644 --- a/libavcodec/binkaudio.c +++ b/libavcodec/binkaudio.c @@ -34,6 +34,7 @@ #define BITSTREAM_READER_LE #include "avcodec.h" +#include "config_components.h" #include "dct.h" #include "decode.h" #include "get_bits.h" diff --git a/libavcodec/bintext.c b/libavcodec/bintext.c index 553f020738..8eaddc0834 100644 --- a/libavcodec/bintext.c +++ b/libavcodec/bintext.c @@ -32,6 +32,7 @@ #include "libavutil/xga_font_data.h" #include "avcodec.h" #include "cga_data.h" +#include "config_components.h" #include "bintext.h" #include "internal.h" diff --git a/libavcodec/bsf.c b/libavcodec/bsf.c index 8ba021cb47..60761e6f7d 100644 --- a/libavcodec/bsf.c +++ b/libavcodec/bsf.c @@ -19,6 +19,7 @@ #include <string.h> #include "config.h" +#include "config_components.h" #include "libavutil/avassert.h" #include "libavutil/log.h" diff --git a/libavcodec/cyuv.c b/libavcodec/cyuv.c index cfaa5cfa66..1c52c36373 100644 --- a/libavcodec/cyuv.c +++ b/libavcodec/cyuv.c @@ -33,6 +33,7 @@ #include <string.h> #include "avcodec.h" +#include "config_components.h" #include "internal.h" #include "libavutil/internal.h" diff --git a/libavcodec/flashsv.c b/libavcodec/flashsv.c index 00f77f4902..dfe2b7b926 100644 --- a/libavcodec/flashsv.c +++ b/libavcodec/flashsv.c @@ -40,6 +40,7 @@ #include "libavutil/intreadwrite.h" #include "avcodec.h" #include "bytestream.h" +#include "config_components.h" #include "get_bits.h" #include "internal.h" diff --git a/libavcodec/g726.c b/libavcodec/g726.c index 2a0148c1d5..0cb1ca6f73 100644 --- a/libavcodec/g726.c +++ b/libavcodec/g726.c @@ -26,6 +26,7 @@ #include "libavutil/channel_layout.h" #include "libavutil/opt.h" #include "avcodec.h" +#include "config_components.h" #include "encode.h" #include "internal.h" #include "get_bits.h" diff --git a/libavcodec/gsmdec.c b/libavcodec/gsmdec.c index c169112311..6d19784d4e 100644 --- a/libavcodec/gsmdec.c +++ b/libavcodec/gsmdec.c @@ -26,6 +26,7 @@ #include "libavutil/channel_layout.h" #include "avcodec.h" +#include "config_components.h" #include "get_bits.h" #include "internal.h" #include "msgsmdec.h" diff --git a/libavcodec/h263dec.c b/libavcodec/h263dec.c index e940b7f7c7..2d67cffcc3 100644 --- a/libavcodec/h263dec.c +++ b/libavcodec/h263dec.c @@ -28,6 +28,7 @@ #define UNCHECKED_BITSTREAM_READER 1 #include "avcodec.h" +#include "config_components.h" #include "error_resilience.h" #include "flvdec.h" #include "h263.h" diff --git a/libavcodec/h264_slice.c b/libavcodec/h264_slice.c index 110a41772a..bbb57d969e 100644 --- a/libavcodec/h264_slice.c +++ b/libavcodec/h264_slice.c @@ -34,6 +34,7 @@ #include "internal.h" #include "cabac.h" #include "cabac_functions.h" +#include "config_components.h" #include "error_resilience.h" #include "avcodec.h" #include "h264.h" diff --git a/libavcodec/h264dec.c b/libavcodec/h264dec.c index 856fbca680..fd7f83d874 100644 --- a/libavcodec/h264dec.c +++ b/libavcodec/h264dec.c @@ -33,6 +33,8 @@ #include "libavutil/thread.h" #include "libavutil/video_enc_params.h" +#include "config_components.h" + #include "internal.h" #include "error_resilience.h" #include "avcodec.h" diff --git a/libavcodec/hevcdec.c b/libavcodec/hevcdec.c index 1d4ad42278..79c4fbb0e5 100644 --- a/libavcodec/hevcdec.c +++ b/libavcodec/hevcdec.c @@ -38,6 +38,7 @@ #include "bswapdsp.h" #include "bytestream.h" #include "cabac_functions.h" +#include "config_components.h" #include "golomb.h" #include "hevc.h" #include "hevc_data.h" diff --git a/libavcodec/huffyuvdec.c b/libavcodec/huffyuvdec.c index a5e0ef5818..b879214aac 100644 --- a/libavcodec/huffyuvdec.c +++ b/libavcodec/huffyuvdec.c @@ -33,6 +33,7 @@ #define UNCHECKED_BITSTREAM_READER 1 #include "avcodec.h" +#include "config_components.h" #include "get_bits.h" #include "huffyuv.h" #include "huffyuvdsp.h" diff --git a/libavcodec/huffyuvenc.c b/libavcodec/huffyuvenc.c index 97497a8e75..222e8b35ec 100644 --- a/libavcodec/huffyuvenc.c +++ b/libavcodec/huffyuvenc.c @@ -29,6 +29,7 @@ */ #include "avcodec.h" +#include "config_components.h" #include "encode.h" #include "huffyuv.h" #include "huffman.h" diff --git a/libavcodec/idctdsp.c b/libavcodec/idctdsp.c index fbcec8436c..df3aeb0676 100644 --- a/libavcodec/idctdsp.c +++ b/libavcodec/idctdsp.c @@ -17,6 +17,7 @@ */ #include "config.h" +#include "config_components.h" #include "libavutil/attributes.h" #include "libavutil/common.h" #include "avcodec.h" diff --git a/libavcodec/iff.c b/libavcodec/iff.c index 1dcf0e00ed..6eb2bb0141 100644 --- a/libavcodec/iff.c +++ b/libavcodec/iff.c @@ -32,6 +32,7 @@ #include "bytestream.h" #include "avcodec.h" +#include "config_components.h" #include "internal.h" #include "mathops.h" diff --git a/libavcodec/imc.c b/libavcodec/imc.c index 116c273ba0..859ae652f3 100644 --- a/libavcodec/imc.c +++ b/libavcodec/imc.c @@ -42,6 +42,7 @@ #include "libavutil/thread.h" #include "avcodec.h" +#include "config_components.h" #include "bswapdsp.h" #include "get_bits.h" #include "fft.h" diff --git a/libavcodec/ituh263dec.c b/libavcodec/ituh263dec.c index 0c9473af56..c8cd03f936 100644 --- a/libavcodec/ituh263dec.c +++ b/libavcodec/ituh263dec.c @@ -36,6 +36,7 @@ #include "libavutil/mem_internal.h" #include "libavutil/thread.h" #include "avcodec.h" +#include "config_components.h" #include "mpegvideo.h" #include "h263.h" #include "h263data.h" diff --git a/libavcodec/ituh263enc.c b/libavcodec/ituh263enc.c index 8bedecb36e..ced4b8c307 100644 --- a/libavcodec/ituh263enc.c +++ b/libavcodec/ituh263enc.c @@ -32,6 +32,7 @@ #include "libavutil/attributes.h" #include "libavutil/thread.h" #include "avcodec.h" +#include "config_components.h" #include "mpegvideo.h" #include "mpegvideodata.h" #include "flvenc.h" diff --git a/libavcodec/lcldec.c b/libavcodec/lcldec.c index f3b7a8ac1b..f9b54b3c99 100644 --- a/libavcodec/lcldec.c +++ b/libavcodec/lcldec.c @@ -43,6 +43,7 @@ #include "libavutil/mem.h" #include "libavutil/pixdesc.h" #include "avcodec.h" +#include "config_components.h" #include "bytestream.h" #include "internal.h" #include "lcl.h" diff --git a/libavcodec/libgsmdec.c b/libavcodec/libgsmdec.c index ae4a952d99..2e6aa037ea 100644 --- a/libavcodec/libgsmdec.c +++ b/libavcodec/libgsmdec.c @@ -28,6 +28,7 @@ // The idiosyncrasies of GSM-in-WAV are explained at http://kbs.cs.tu-berlin.de/~jutta/toast.html #include "config.h" +#include "config_components.h" #if HAVE_GSM_H #include <gsm.h> #else diff --git a/libavcodec/libgsmenc.c b/libavcodec/libgsmenc.c index a2f6c1c62e..fab6b0cffb 100644 --- a/libavcodec/libgsmenc.c +++ b/libavcodec/libgsmenc.c @@ -28,6 +28,7 @@ // The idiosyncrasies of GSM-in-WAV are explained at http://kbs.cs.tu-berlin.de/~jutta/toast.html #include "config.h" +#include "config_components.h" #if HAVE_GSM_H #include <gsm.h> #else diff --git a/libavcodec/libopencore-amr.c b/libavcodec/libopencore-amr.c index 2df1c5090f..4bcfbd62dc 100644 --- a/libavcodec/libopencore-amr.c +++ b/libavcodec/libopencore-amr.c @@ -27,6 +27,7 @@ #include "libavutil/opt.h" #include "avcodec.h" #include "audio_frame_queue.h" +#include "config_components.h" #include "encode.h" #include "internal.h" diff --git a/libavcodec/libvpx.c b/libavcodec/libvpx.c index cc055a0032..c2b00232d2 100644 --- a/libavcodec/libvpx.c +++ b/libavcodec/libvpx.c @@ -21,6 +21,7 @@ #include <vpx/vpx_codec.h> #include "libvpx.h" #include "config.h" +#include "config_components.h" #if CONFIG_LIBVPX_VP9_ENCODER #include <vpx/vpx_encoder.h> diff --git a/libavcodec/libvpxdec.c b/libavcodec/libvpxdec.c index b2aa205036..2e3b9d3ad8 100644 --- a/libavcodec/libvpxdec.c +++ b/libavcodec/libvpxdec.c @@ -33,6 +33,7 @@ #include "libavutil/imgutils.h" #include "libavutil/intreadwrite.h" #include "avcodec.h" +#include "config_components.h" #include "decode.h" #include "internal.h" #include "libvpx.h" diff --git a/libavcodec/libvpxenc.c b/libavcodec/libvpxenc.c index 8f94ba15dc..8c0a7f3fae 100644 --- a/libavcodec/libvpxenc.c +++ b/libavcodec/libvpxenc.c @@ -29,6 +29,7 @@ #include <vpx/vp8cx.h> #include "avcodec.h" +#include "config_components.h" #include "encode.h" #include "internal.h" #include "libavutil/avassert.h" diff --git a/libavcodec/libx264.c b/libavcodec/libx264.c index c5e0231b12..81ab1b0813 100644 --- a/libavcodec/libx264.c +++ b/libavcodec/libx264.c @@ -28,6 +28,7 @@ #include "libavutil/time.h" #include "libavutil/intreadwrite.h" #include "avcodec.h" +#include "config_components.h" #include "encode.h" #include "internal.h" #include "packet_internal.h" diff --git a/libavcodec/me_cmp.c b/libavcodec/me_cmp.c index b2f87d2e1b..4c1de44eda 100644 --- a/libavcodec/me_cmp.c +++ b/libavcodec/me_cmp.c @@ -29,6 +29,7 @@ #include "me_cmp.h" #include "mpegvideoenc.h" #include "config.h" +#include "config_components.h" /* (i - 256) * (i - 256) */ const uint32_t ff_square_tab[512] = { diff --git a/libavcodec/metasound_data.c b/libavcodec/metasound_data.c index 22b2730dda..b2044364fa 100644 --- a/libavcodec/metasound_data.c +++ b/libavcodec/metasound_data.c @@ -20,6 +20,7 @@ */ #include "config.h" +#include "config_components.h" #include "metasound_data.h" #if CONFIG_METASOUND_DECODER diff --git a/libavcodec/mjpegdec.c b/libavcodec/mjpegdec.c index 267609d96a..a9fc2281fe 100644 --- a/libavcodec/mjpegdec.c +++ b/libavcodec/mjpegdec.c @@ -35,6 +35,7 @@ #include "libavutil/avassert.h" #include "libavutil/opt.h" #include "avcodec.h" +#include "config_components.h" #include "blockdsp.h" #include "copy_block.h" #include "decode.h" diff --git a/libavcodec/mjpegenc.c b/libavcodec/mjpegenc.c index 08671b0df7..9bd33f439f 100644 --- a/libavcodec/mjpegenc.c +++ b/libavcodec/mjpegenc.c @@ -33,6 +33,7 @@ #include "libavutil/pixdesc.h" #include "avcodec.h" +#include "config_components.h" #include "jpegtables.h" #include "mjpegenc_common.h" #include "mjpegenc_huffman.h" diff --git a/libavcodec/mlpdec.c b/libavcodec/mlpdec.c index 29fac54542..9d5c2e1b21 100644 --- a/libavcodec/mlpdec.c +++ b/libavcodec/mlpdec.c @@ -27,6 +27,7 @@ #include <stdint.h> #include "avcodec.h" +#include "config_components.h" #include "libavutil/internal.h" #include "libavutil/intreadwrite.h" #include "libavutil/channel_layout.h" diff --git a/libavcodec/mlpenc.c b/libavcodec/mlpenc.c index d8783b6f56..8cf42b8e72 100644 --- a/libavcodec/mlpenc.c +++ b/libavcodec/mlpenc.c @@ -21,6 +21,7 @@ */ #include "avcodec.h" +#include "config_components.h" #include "encode.h" #include "internal.h" #include "put_bits.h" diff --git a/libavcodec/mpeg12dec.c b/libavcodec/mpeg12dec.c index 9e4e26aa67..49cb4727a3 100644 --- a/libavcodec/mpeg12dec.c +++ b/libavcodec/mpeg12dec.c @@ -36,6 +36,7 @@ #include "libavutil/timecode.h" #include "avcodec.h" +#include "config_components.h" #include "error_resilience.h" #include "hwconfig.h" #include "idctdsp.h" diff --git a/libavcodec/mpeg12enc.c b/libavcodec/mpeg12enc.c index 03692994b5..6110f117c6 100644 --- a/libavcodec/mpeg12enc.c +++ b/libavcodec/mpeg12enc.c @@ -28,6 +28,7 @@ #include <stdint.h> #include "config.h" +#include "config_components.h" #include "libavutil/attributes.h" #include "libavutil/avassert.h" #include "libavutil/log.h" diff --git a/libavcodec/mpeg4videodec.c b/libavcodec/mpeg4videodec.c index 0e0ebb674b..0a839846d3 100644 --- a/libavcodec/mpeg4videodec.c +++ b/libavcodec/mpeg4videodec.c @@ -25,6 +25,7 @@ #include "libavutil/internal.h" #include "libavutil/opt.h" #include "libavutil/thread.h" +#include "config_components.h" #include "error_resilience.h" #include "hwconfig.h" #include "idctdsp.h" diff --git a/libavcodec/mpegaudiodec_fixed.c b/libavcodec/mpegaudiodec_fixed.c index f9f24330fd..ac0b1f3bb3 100644 --- a/libavcodec/mpegaudiodec_fixed.c +++ b/libavcodec/mpegaudiodec_fixed.c @@ -19,6 +19,7 @@ */ #include "config.h" +#include "config_components.h" #include "libavutil/samplefmt.h" #define USE_FLOATS 0 diff --git a/libavcodec/mpegaudiodec_float.c b/libavcodec/mpegaudiodec_float.c index c7b7839997..912e6d189a 100644 --- a/libavcodec/mpegaudiodec_float.c +++ b/libavcodec/mpegaudiodec_float.c @@ -20,6 +20,7 @@ */ #include "config.h" +#include "config_components.h" #include "libavutil/samplefmt.h" #define USE_FLOATS 1 diff --git a/libavcodec/mpegvideo.c b/libavcodec/mpegvideo.c index fc970e9614..587a383963 100644 --- a/libavcodec/mpegvideo.c +++ b/libavcodec/mpegvideo.c @@ -34,6 +34,7 @@ #include "avcodec.h" #include "blockdsp.h" +#include "config_components.h" #include "h264chroma.h" #include "idctdsp.h" #include "mathops.h" diff --git a/libavcodec/mpegvideo_enc.c b/libavcodec/mpegvideo_enc.c index c69114ea15..b09ee2a192 100644 --- a/libavcodec/mpegvideo_enc.c +++ b/libavcodec/mpegvideo_enc.c @@ -41,6 +41,7 @@ #include "libavutil/opt.h" #include "libavutil/thread.h" #include "avcodec.h" +#include "config_components.h" #include "dct.h" #include "encode.h" #include "idctdsp.h" diff --git a/libavcodec/mpegvideo_motion.c b/libavcodec/mpegvideo_motion.c index 876a7375f8..76f66db3a6 100644 --- a/libavcodec/mpegvideo_motion.c +++ b/libavcodec/mpegvideo_motion.c @@ -26,6 +26,7 @@ #include "libavutil/mem_internal.h" #include "avcodec.h" +#include "config_components.h" #include "h261.h" #include "mpegutils.h" #include "mpegvideo.h" diff --git a/libavcodec/msmpeg4.c b/libavcodec/msmpeg4.c index f12586dd64..bf061ed8d3 100644 --- a/libavcodec/msmpeg4.c +++ b/libavcodec/msmpeg4.c @@ -30,6 +30,7 @@ #include "libavutil/thread.h" #include "avcodec.h" +#include "config_components.h" #include "idctdsp.h" #include "mpegvideo.h" #include "msmpeg4.h" diff --git a/libavcodec/msmpeg4dec.c b/libavcodec/msmpeg4dec.c index 29edd94427..f149e8b7e2 100644 --- a/libavcodec/msmpeg4dec.c +++ b/libavcodec/msmpeg4dec.c @@ -25,6 +25,7 @@ #include "libavutil/thread.h" #include "avcodec.h" +#include "config_components.h" #include "internal.h" #include "mpegutils.h" #include "mpegvideo.h" diff --git a/libavcodec/mvcdec.c b/libavcodec/mvcdec.c index ae5ce4c0d7..a0a8ef937c 100644 --- a/libavcodec/mvcdec.c +++ b/libavcodec/mvcdec.c @@ -28,6 +28,7 @@ #include "avcodec.h" #include "bytestream.h" +#include "config_components.h" #include "internal.h" typedef struct MvcContext { diff --git a/libavcodec/options.c b/libavcodec/options.c index bba6078b62..55ae5b9c2d 100644 --- a/libavcodec/options.c +++ b/libavcodec/options.c @@ -25,6 +25,7 @@ */ #include "avcodec.h" +#include "config_components.h" #include "internal.h" #include "libavutil/avassert.h" #include "libavutil/internal.h" diff --git a/libavcodec/opus_pvq.c b/libavcodec/opus_pvq.c index a4ab7c46eb..e5ed24f411 100644 --- a/libavcodec/opus_pvq.c +++ b/libavcodec/opus_pvq.c @@ -23,6 +23,7 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ +#include "config_components.h" #include "opustab.h" #include "opus_pvq.h" diff --git a/libavcodec/pcm.c b/libavcodec/pcm.c index e9b8eab484..e535446765 100644 --- a/libavcodec/pcm.c +++ b/libavcodec/pcm.c @@ -25,6 +25,7 @@ */ #include "config.h" +#include "config_components.h" #include "libavutil/attributes.h" #include "libavutil/float_dsp.h" #include "libavutil/thread.h" diff --git a/libavcodec/pngdec.c b/libavcodec/pngdec.c index 39bb652f67..2f4605c57d 100644 --- a/libavcodec/pngdec.c +++ b/libavcodec/pngdec.c @@ -30,6 +30,7 @@ #include "libavutil/mastering_display_metadata.h" #include "avcodec.h" +#include "config_components.h" #include "bytestream.h" #include "internal.h" #include "apng.h" diff --git a/libavcodec/pnmdec.c b/libavcodec/pnmdec.c index 01f9dade1a..bf5ad68deb 100644 --- a/libavcodec/pnmdec.c +++ b/libavcodec/pnmdec.c @@ -20,6 +20,7 @@ */ #include "avcodec.h" +#include "config_components.h" #include "internal.h" #include "put_bits.h" #include "pnm.h" diff --git a/libavcodec/pnmenc.c b/libavcodec/pnmenc.c index 8378f90d08..6bc5663c5b 100644 --- a/libavcodec/pnmenc.c +++ b/libavcodec/pnmenc.c @@ -23,6 +23,7 @@ #include "libavutil/imgutils.h" #include "libavutil/pixdesc.h" #include "avcodec.h" +#include "config_components.h" #include "encode.h" #include "internal.h" diff --git a/libavcodec/proresdec2.c b/libavcodec/proresdec2.c index 3ab6666f74..d88254c78c 100644 --- a/libavcodec/proresdec2.c +++ b/libavcodec/proresdec2.c @@ -32,6 +32,7 @@ #include "libavutil/mem_internal.h" #include "avcodec.h" +#include "config_components.h" #include "get_bits.h" #include "hwconfig.h" #include "idctdsp.h" diff --git a/libavcodec/qpeldsp.c b/libavcodec/qpeldsp.c index 6e52b33657..c1eab6120d 100644 --- a/libavcodec/qpeldsp.c +++ b/libavcodec/qpeldsp.c @@ -29,6 +29,7 @@ #include <stdint.h> #include "config.h" +#include "config_components.h" #include "libavutil/attributes.h" #include "copy_block.h" #include "qpeldsp.h" diff --git a/libavcodec/r210dec.c b/libavcodec/r210dec.c index 476f1c0680..3acb5e58c7 100644 --- a/libavcodec/r210dec.c +++ b/libavcodec/r210dec.c @@ -21,6 +21,7 @@ */ #include "avcodec.h" +#include "config_components.h" #include "internal.h" #include "libavutil/bswap.h" #include "libavutil/common.h" diff --git a/libavcodec/r210enc.c b/libavcodec/r210enc.c index 7a72ba4695..1d281f2322 100644 --- a/libavcodec/r210enc.c +++ b/libavcodec/r210enc.c @@ -21,6 +21,7 @@ */ #include "avcodec.h" +#include "config_components.h" #include "encode.h" #include "internal.h" #include "bytestream.h" diff --git a/libavcodec/rv34_parser.c b/libavcodec/rv34_parser.c index 03469ed0d1..4ce95d5329 100644 --- a/libavcodec/rv34_parser.c +++ b/libavcodec/rv34_parser.c @@ -24,6 +24,7 @@ * RV30/40 parser */ +#include "config_components.h" #include "parser.h" #include "libavutil/intreadwrite.h" diff --git a/libavcodec/sonic.c b/libavcodec/sonic.c index cf1cfb1460..fde8f44d55 100644 --- a/libavcodec/sonic.c +++ b/libavcodec/sonic.c @@ -19,6 +19,7 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #include "avcodec.h" +#include "config_components.h" #include "encode.h" #include "get_bits.h" #include "golomb.h" diff --git a/libavcodec/sp5xdec.c b/libavcodec/sp5xdec.c index a1b43f8f80..6415778af1 100644 --- a/libavcodec/sp5xdec.c +++ b/libavcodec/sp5xdec.c @@ -25,6 +25,7 @@ */ #include "avcodec.h" +#include "config_components.h" #include "internal.h" #include "mjpeg.h" #include "mjpegdec.h" diff --git a/libavcodec/speedhq.c b/libavcodec/speedhq.c index fd4ea0d75e..77c5e46e4b 100644 --- a/libavcodec/speedhq.c +++ b/libavcodec/speedhq.c @@ -27,6 +27,7 @@ #define BITSTREAM_READER_LE #include "config.h" +#include "config_components.h" #include "libavutil/attributes.h" #include "libavutil/mem_internal.h" diff --git a/libavcodec/speedhqenc.c b/libavcodec/speedhqenc.c index e59af7f0d3..38df8ae5d5 100644 --- a/libavcodec/speedhqenc.c +++ b/libavcodec/speedhqenc.c @@ -30,6 +30,7 @@ #include "libavutil/thread.h" #include "avcodec.h" +#include "config_components.h" #include "mpeg12data.h" #include "mpeg12enc.h" #include "mpegvideo.h" diff --git a/libavcodec/srtdec.c b/libavcodec/srtdec.c index 4f16226b83..fdc02b57bd 100644 --- a/libavcodec/srtdec.c +++ b/libavcodec/srtdec.c @@ -25,6 +25,7 @@ #include "libavutil/parseutils.h" #include "avcodec.h" #include "ass.h" +#include "config_components.h" #include "htmlsubtitles.h" #include "internal.h" diff --git a/libavcodec/srtenc.c b/libavcodec/srtenc.c index 2e3ac55770..98982f00d6 100644 --- a/libavcodec/srtenc.c +++ b/libavcodec/srtenc.c @@ -21,6 +21,7 @@ #include <stdarg.h> #include "avcodec.h" +#include "config_components.h" #include "libavutil/avstring.h" #include "libavutil/bprint.h" #include "ass_split.h" diff --git a/libavcodec/textdec.c b/libavcodec/textdec.c index 308553660a..b569f1ac63 100644 --- a/libavcodec/textdec.c +++ b/libavcodec/textdec.c @@ -25,6 +25,7 @@ #include "avcodec.h" #include "ass.h" +#include "config_components.h" #include "internal.h" #include "libavutil/bprint.h" #include "libavutil/opt.h" diff --git a/libavcodec/v408dec.c b/libavcodec/v408dec.c index 749b3b65e5..acf86ba00b 100644 --- a/libavcodec/v408dec.c +++ b/libavcodec/v408dec.c @@ -20,6 +20,7 @@ */ #include "avcodec.h" +#include "config_components.h" #include "internal.h" static av_cold int v408_decode_init(AVCodecContext *avctx) diff --git a/libavcodec/v408enc.c b/libavcodec/v408enc.c index 31bf48406c..2392449b4f 100644 --- a/libavcodec/v408enc.c +++ b/libavcodec/v408enc.c @@ -22,6 +22,7 @@ #include "libavutil/intreadwrite.h" #include "avcodec.h" +#include "config_components.h" #include "encode.h" #include "internal.h" diff --git a/libavcodec/vc1dec.c b/libavcodec/vc1dec.c index d9939a8ba1..33ae1ca492 100644 --- a/libavcodec/vc1dec.c +++ b/libavcodec/vc1dec.c @@ -28,6 +28,7 @@ #include "avcodec.h" #include "blockdsp.h" +#include "config_components.h" #include "get_bits.h" #include "hwconfig.h" #include "internal.h" diff --git a/libavcodec/vc1dsp.c b/libavcodec/vc1dsp.c index 04fc8b12f3..c529e21963 100644 --- a/libavcodec/vc1dsp.c +++ b/libavcodec/vc1dsp.c @@ -27,6 +27,7 @@ #include "libavutil/avassert.h" #include "libavutil/common.h" #include "libavutil/intreadwrite.h" +#include "config_components.h" #include "h264chroma.h" #include "qpeldsp.h" #include "rnd_avg.h" diff --git a/libavcodec/videotoolbox.c b/libavcodec/videotoolbox.c index 29c781cda4..9083f6ff29 100644 --- a/libavcodec/videotoolbox.c +++ b/libavcodec/videotoolbox.c @@ -21,6 +21,7 @@ */ #include "config.h" +#include "config_components.h" #include "videotoolbox.h" #include "libavutil/hwcontext_videotoolbox.h" #include "vt_internal.h" diff --git a/libavcodec/vorbis_parser.c b/libavcodec/vorbis_parser.c index 194ae13da3..3c8c4b2385 100644 --- a/libavcodec/vorbis_parser.c +++ b/libavcodec/vorbis_parser.c @@ -27,6 +27,7 @@ #include "libavutil/log.h" +#include "config_components.h" #include "get_bits.h" #include "parser.h" #include "xiph.h" diff --git a/libavcodec/vp3.c b/libavcodec/vp3.c index e2418eb6fa..415c7f5590 100644 --- a/libavcodec/vp3.c +++ b/libavcodec/vp3.c @@ -38,6 +38,7 @@ #include "libavutil/mem_internal.h" #include "avcodec.h" +#include "config_components.h" #include "get_bits.h" #include "hpeldsp.h" #include "internal.h" diff --git a/libavcodec/vp56dsp.c b/libavcodec/vp56dsp.c index de6803e0fb..d368e3292d 100644 --- a/libavcodec/vp56dsp.c +++ b/libavcodec/vp56dsp.c @@ -22,6 +22,7 @@ #include <stdint.h> #include "config.h" +#include "config_components.h" #include "libavutil/attributes.h" #include "vp56dsp.h" #include "libavutil/common.h" diff --git a/libavcodec/vp8.c b/libavcodec/vp8.c index d779804e64..02dcefdd83 100644 --- a/libavcodec/vp8.c +++ b/libavcodec/vp8.c @@ -28,6 +28,7 @@ #include "libavutil/mem_internal.h" #include "avcodec.h" +#include "config_components.h" #include "hwconfig.h" #include "internal.h" #include "mathops.h" diff --git a/libavcodec/vp8dsp.c b/libavcodec/vp8dsp.c index 732a483b62..b19330d6ae 100644 --- a/libavcodec/vp8dsp.c +++ b/libavcodec/vp8dsp.c @@ -28,6 +28,7 @@ #include "libavutil/common.h" #include "libavutil/intreadwrite.h" +#include "config_components.h" #include "mathops.h" #include "vp8dsp.h" diff --git a/libavcodec/vp9.c b/libavcodec/vp9.c index 7ef10f7a80..5e99cccbf1 100644 --- a/libavcodec/vp9.c +++ b/libavcodec/vp9.c @@ -22,6 +22,7 @@ */ #include "avcodec.h" +#include "config_components.h" #include "get_bits.h" #include "hwconfig.h" #include "internal.h" diff --git a/libavcodec/wmadec.c b/libavcodec/wmadec.c index 9955aaa7d6..c886c71c37 100644 --- a/libavcodec/wmadec.c +++ b/libavcodec/wmadec.c @@ -37,6 +37,7 @@ #include "libavutil/ffmath.h" #include "avcodec.h" +#include "config_components.h" #include "internal.h" #include "wma.h" diff --git a/libavcodec/wmaenc.c b/libavcodec/wmaenc.c index 66e3537cb0..02c92a2dc7 100644 --- a/libavcodec/wmaenc.c +++ b/libavcodec/wmaenc.c @@ -23,6 +23,7 @@ #include "libavutil/ffmath.h" #include "avcodec.h" +#include "config_components.h" #include "encode.h" #include "internal.h" #include "wma.h" diff --git a/libavcodec/x86/flacdsp_init.c b/libavcodec/x86/flacdsp_init.c index 6315b6903e..ed2e5ed15b 100644 --- a/libavcodec/x86/flacdsp_init.c +++ b/libavcodec/x86/flacdsp_init.c @@ -22,6 +22,7 @@ #include "libavcodec/flacdsp.h" #include "libavutil/x86/cpu.h" #include "config.h" +#include "config_components.h" void ff_flac_lpc_32_sse4(int32_t *samples, const int coeffs[32], int order, int qlevel, int len); diff --git a/libavcodec/x86/hpeldsp_init.c b/libavcodec/x86/hpeldsp_init.c index d89928cec6..3e8b4a44c9 100644 --- a/libavcodec/x86/hpeldsp_init.c +++ b/libavcodec/x86/hpeldsp_init.c @@ -30,6 +30,7 @@ #include "libavcodec/pixels.h" #include "fpel.h" #include "hpeldsp.h" +#include "config_components.h" void ff_put_pixels8_x2_mmxext(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int h); diff --git a/libavfilter/aeval.c b/libavfilter/aeval.c index 42cfa81325..f89faf7258 100644 --- a/libavfilter/aeval.c +++ b/libavfilter/aeval.c @@ -30,6 +30,7 @@ #include "libavutil/parseutils.h" #include "avfilter.h" #include "audio.h" +#include "config_components.h" #include "filters.h" #include "internal.h" diff --git a/libavfilter/af_afade.c b/libavfilter/af_afade.c index c57709050e..eef585c14a 100644 --- a/libavfilter/af_afade.c +++ b/libavfilter/af_afade.c @@ -26,6 +26,7 @@ #include "libavutil/opt.h" #include "audio.h" #include "avfilter.h" +#include "config_components.h" #include "filters.h" #include "internal.h" diff --git a/libavfilter/af_agate.c b/libavfilter/af_agate.c index 682f17c7dd..0efad1f43e 100644 --- a/libavfilter/af_agate.c +++ b/libavfilter/af_agate.c @@ -28,6 +28,7 @@ #include "libavutil/opt.h" #include "avfilter.h" #include "audio.h" +#include "config_components.h" #include "filters.h" #include "formats.h" #include "hermite.h" diff --git a/libavfilter/af_biquads.c b/libavfilter/af_biquads.c index ee42b2a034..2e5e432519 100644 --- a/libavfilter/af_biquads.c +++ b/libavfilter/af_biquads.c @@ -68,6 +68,7 @@ #include "libavutil/opt.h" #include "audio.h" #include "avfilter.h" +#include "config_components.h" #include "internal.h" enum FilterType { diff --git a/libavfilter/af_sidechaincompress.c b/libavfilter/af_sidechaincompress.c index c0ce82066b..e1b58898ed 100644 --- a/libavfilter/af_sidechaincompress.c +++ b/libavfilter/af_sidechaincompress.c @@ -31,6 +31,7 @@ #include "audio.h" #include "avfilter.h" +#include "config_components.h" #include "filters.h" #include "formats.h" #include "hermite.h" diff --git a/libavfilter/avf_showspectrum.c b/libavfilter/avf_showspectrum.c index 610dc98c93..ea8ec2a4a9 100644 --- a/libavfilter/avf_showspectrum.c +++ b/libavfilter/avf_showspectrum.c @@ -38,6 +38,7 @@ #include "libavutil/parseutils.h" #include "libavutil/xga_font_data.h" #include "audio.h" +#include "config_components.h" #include "video.h" #include "avfilter.h" #include "filters.h" diff --git a/libavfilter/avf_showwaves.c b/libavfilter/avf_showwaves.c index 853f6bbdcb..c27e612a7a 100644 --- a/libavfilter/avf_showwaves.c +++ b/libavfilter/avf_showwaves.c @@ -29,6 +29,7 @@ #include "libavutil/opt.h" #include "libavutil/parseutils.h" #include "avfilter.h" +#include "config_components.h" #include "filters.h" #include "formats.h" #include "audio.h" diff --git a/libavfilter/f_bench.c b/libavfilter/f_bench.c index 109a530d7c..f1d2a4c69d 100644 --- a/libavfilter/f_bench.c +++ b/libavfilter/f_bench.c @@ -19,6 +19,7 @@ #include "libavutil/opt.h" #include "libavutil/time.h" #include "avfilter.h" +#include "config_components.h" #include "formats.h" #include "internal.h" diff --git a/libavfilter/f_cue.c b/libavfilter/f_cue.c index d90fe54b9a..99184824ae 100644 --- a/libavfilter/f_cue.c +++ b/libavfilter/f_cue.c @@ -21,6 +21,7 @@ #include "libavutil/opt.h" #include "libavutil/time.h" #include "avfilter.h" +#include "config_components.h" #include "filters.h" #include "internal.h" diff --git a/libavfilter/f_drawgraph.c b/libavfilter/f_drawgraph.c index b6fcb3b75e..da608a44f3 100644 --- a/libavfilter/f_drawgraph.c +++ b/libavfilter/f_drawgraph.c @@ -25,6 +25,7 @@ #include "libavutil/intreadwrite.h" #include "libavutil/opt.h" #include "avfilter.h" +#include "config_components.h" #include "formats.h" #include "internal.h" #include "video.h" diff --git a/libavfilter/f_graphmonitor.c b/libavfilter/f_graphmonitor.c index 51d0a568e3..a18ef65526 100644 --- a/libavfilter/f_graphmonitor.c +++ b/libavfilter/f_graphmonitor.c @@ -27,6 +27,7 @@ #include "libavutil/timestamp.h" #include "libavutil/xga_font_data.h" #include "avfilter.h" +#include "config_components.h" #include "filters.h" #include "formats.h" #include "internal.h" diff --git a/libavfilter/f_interleave.c b/libavfilter/f_interleave.c index b60e89762f..4c160a40e0 100644 --- a/libavfilter/f_interleave.c +++ b/libavfilter/f_interleave.c @@ -28,6 +28,7 @@ #include "libavutil/opt.h" #include "avfilter.h" +#include "config_components.h" #include "formats.h" #include "filters.h" #include "internal.h" diff --git a/libavfilter/f_latency.c b/libavfilter/f_latency.c index 6f16d6677e..597d2cb259 100644 --- a/libavfilter/f_latency.c +++ b/libavfilter/f_latency.c @@ -20,6 +20,7 @@ #include "libavutil/opt.h" #include "avfilter.h" +#include "config_components.h" #include "filters.h" #include "formats.h" #include "internal.h" diff --git a/libavfilter/f_loop.c b/libavfilter/f_loop.c index f8ae4a6a3a..48eddb14fa 100644 --- a/libavfilter/f_loop.c +++ b/libavfilter/f_loop.c @@ -24,6 +24,7 @@ #include "libavutil/opt.h" #include "avfilter.h" #include "audio.h" +#include "config_components.h" #include "filters.h" #include "formats.h" #include "internal.h" diff --git a/libavfilter/f_metadata.c b/libavfilter/f_metadata.c index 5f5091e9b7..21c2abb7c3 100644 --- a/libavfilter/f_metadata.c +++ b/libavfilter/f_metadata.c @@ -34,6 +34,7 @@ #include "libavformat/avio.h" #include "avfilter.h" #include "audio.h" +#include "config_components.h" #include "formats.h" #include "internal.h" #include "video.h" diff --git a/libavfilter/f_perms.c b/libavfilter/f_perms.c index 5e2f4ecdf4..f98bb2c649 100644 --- a/libavfilter/f_perms.c +++ b/libavfilter/f_perms.c @@ -22,6 +22,7 @@ #include "libavutil/opt.h" #include "libavutil/random_seed.h" #include "audio.h" +#include "config_components.h" #include "video.h" enum mode { diff --git a/libavfilter/f_realtime.c b/libavfilter/f_realtime.c index 9a60ded0ca..4edadad892 100644 --- a/libavfilter/f_realtime.c +++ b/libavfilter/f_realtime.c @@ -21,6 +21,7 @@ #include "libavutil/opt.h" #include "libavutil/time.h" #include "avfilter.h" +#include "config_components.h" #include "internal.h" #include <float.h> diff --git a/libavfilter/f_reverse.c b/libavfilter/f_reverse.c index f7a7e716fa..35748b8116 100644 --- a/libavfilter/f_reverse.c +++ b/libavfilter/f_reverse.c @@ -20,6 +20,7 @@ #include "libavutil/opt.h" #include "avfilter.h" +#include "config_components.h" #include "formats.h" #include "internal.h" #include "video.h" diff --git a/libavfilter/f_segment.c b/libavfilter/f_segment.c index 5f44634803..4579bce2da 100644 --- a/libavfilter/f_segment.c +++ b/libavfilter/f_segment.c @@ -29,6 +29,7 @@ #include "audio.h" #include "avfilter.h" +#include "config_components.h" #include "filters.h" #include "internal.h" diff --git a/libavfilter/f_select.c b/libavfilter/f_select.c index b61d88f4fe..a039e742eb 100644 --- a/libavfilter/f_select.c +++ b/libavfilter/f_select.c @@ -32,6 +32,7 @@ #include "libavutil/pixdesc.h" #include "avfilter.h" #include "audio.h" +#include "config_components.h" #include "formats.h" #include "internal.h" #include "video.h" diff --git a/libavfilter/f_sendcmd.c b/libavfilter/f_sendcmd.c index 7261a05aae..a6b40d6b03 100644 --- a/libavfilter/f_sendcmd.c +++ b/libavfilter/f_sendcmd.c @@ -30,6 +30,7 @@ #include "libavutil/opt.h" #include "libavutil/parseutils.h" #include "avfilter.h" +#include "config_components.h" #include "internal.h" #include "audio.h" #include "video.h" diff --git a/libavfilter/f_sidedata.c b/libavfilter/f_sidedata.c index 8eccd4a06e..d126c4d656 100644 --- a/libavfilter/f_sidedata.c +++ b/libavfilter/f_sidedata.c @@ -26,6 +26,7 @@ #include "libavutil/frame.h" #include "libavutil/opt.h" #include "avfilter.h" +#include "config_components.h" #include "formats.h" #include "internal.h" diff --git a/libavfilter/lut3d.h b/libavfilter/lut3d.h index bc32eac91c..b217e81bdc 100644 --- a/libavfilter/lut3d.h +++ b/libavfilter/lut3d.h @@ -24,6 +24,7 @@ #include "libavutil/pixdesc.h" #include "framesync.h" #include "avfilter.h" +#include "config_components.h" enum interp_mode { INTERPOLATE_NEAREST, diff --git a/libavfilter/setpts.c b/libavfilter/setpts.c index 054feb05f1..58f0d13452 100644 --- a/libavfilter/setpts.c +++ b/libavfilter/setpts.c @@ -33,6 +33,7 @@ #include "libavutil/time.h" #include "audio.h" #include "avfilter.h" +#include "config_components.h" #include "filters.h" #include "internal.h" #include "video.h" diff --git a/libavfilter/settb.c b/libavfilter/settb.c index 67d310afbd..94461cc354 100644 --- a/libavfilter/settb.c +++ b/libavfilter/settb.c @@ -34,6 +34,7 @@ #include "libavutil/rational.h" #include "audio.h" #include "avfilter.h" +#include "config_components.h" #include "filters.h" #include "internal.h" #include "video.h" diff --git a/libavfilter/src_movie.c b/libavfilter/src_movie.c index b89a680883..76d33fc6f4 100644 --- a/libavfilter/src_movie.c +++ b/libavfilter/src_movie.c @@ -44,6 +44,7 @@ #include "audio.h" #include "avfilter.h" +#include "config_components.h" #include "formats.h" #include "internal.h" #include "video.h" diff --git a/libavfilter/trim.c b/libavfilter/trim.c index e627903c64..06c50cd91a 100644 --- a/libavfilter/trim.c +++ b/libavfilter/trim.c @@ -19,6 +19,7 @@ #include <stdint.h> #include "config.h" +#include "config_components.h" #include "libavutil/channel_layout.h" #include "libavutil/common.h" diff --git a/libavfilter/vf_aspect.c b/libavfilter/vf_aspect.c index 2d1eaa954b..0a49d2f5d1 100644 --- a/libavfilter/vf_aspect.c +++ b/libavfilter/vf_aspect.c @@ -33,6 +33,7 @@ #include "libavutil/pixdesc.h" #include "avfilter.h" +#include "config_components.h" #include "internal.h" #include "video.h" diff --git a/libavfilter/vf_blend.c b/libavfilter/vf_blend.c index 2d433e439f..0bc1932491 100644 --- a/libavfilter/vf_blend.c +++ b/libavfilter/vf_blend.c @@ -24,6 +24,7 @@ #include "libavutil/opt.h" #include "libavutil/pixfmt.h" #include "avfilter.h" +#include "config_components.h" #include "formats.h" #include "framesync.h" #include "internal.h" diff --git a/libavfilter/vf_colorconstancy.c b/libavfilter/vf_colorconstancy.c index ba6359462e..1150801eda 100644 --- a/libavfilter/vf_colorconstancy.c +++ b/libavfilter/vf_colorconstancy.c @@ -33,6 +33,7 @@ #include "libavutil/pixdesc.h" #include "avfilter.h" +#include "config_components.h" #include "formats.h" #include "internal.h" #include "video.h" diff --git a/libavfilter/vf_colorkey.c b/libavfilter/vf_colorkey.c index ed43722c03..6d1cc0c957 100644 --- a/libavfilter/vf_colorkey.c +++ b/libavfilter/vf_colorkey.c @@ -21,6 +21,7 @@ #include "libavutil/opt.h" #include "libavutil/imgutils.h" #include "avfilter.h" +#include "config_components.h" #include "formats.h" #include "internal.h" #include "video.h" diff --git a/libavfilter/vf_convolution.c b/libavfilter/vf_convolution.c index 6e6fe0d887..278eb75b0a 100644 --- a/libavfilter/vf_convolution.c +++ b/libavfilter/vf_convolution.c @@ -26,6 +26,7 @@ #include "libavutil/opt.h" #include "libavutil/pixdesc.h" #include "avfilter.h" +#include "config_components.h" #include "convolution.h" #include "formats.h" #include "internal.h" diff --git a/libavfilter/vf_convolve.c b/libavfilter/vf_convolve.c index 55afb582b4..a5e7b70932 100644 --- a/libavfilter/vf_convolve.c +++ b/libavfilter/vf_convolve.c @@ -26,6 +26,7 @@ #include "libavutil/tx.h" #include "avfilter.h" +#include "config_components.h" #include "formats.h" #include "framesync.h" #include "internal.h" diff --git a/libavfilter/vf_drawbox.c b/libavfilter/vf_drawbox.c index 919652e50f..62cb51453b 100644 --- a/libavfilter/vf_drawbox.c +++ b/libavfilter/vf_drawbox.c @@ -33,6 +33,7 @@ #include "libavutil/parseutils.h" #include "libavutil/detection_bbox.h" #include "avfilter.h" +#include "config_components.h" #include "formats.h" #include "internal.h" #include "video.h" diff --git a/libavfilter/vf_extractplanes.c b/libavfilter/vf_extractplanes.c index 5b5fd6e232..338e876ccf 100644 --- a/libavfilter/vf_extractplanes.c +++ b/libavfilter/vf_extractplanes.c @@ -24,6 +24,7 @@ #include "libavutil/pixdesc.h" #include "avfilter.h" +#include "config_components.h" #include "drawutils.h" #include "filters.h" #include "internal.h" diff --git a/libavfilter/vf_format.c b/libavfilter/vf_format.c index c78acbf87b..c26a96d806 100644 --- a/libavfilter/vf_format.c +++ b/libavfilter/vf_format.c @@ -31,6 +31,7 @@ #include "libavutil/opt.h" #include "avfilter.h" +#include "config_components.h" #include "formats.h" #include "internal.h" #include "video.h" diff --git a/libavfilter/vf_histogram.c b/libavfilter/vf_histogram.c index bf80b2c4fc..0813e42610 100644 --- a/libavfilter/vf_histogram.c +++ b/libavfilter/vf_histogram.c @@ -25,6 +25,7 @@ #include "libavutil/imgutils.h" #include "libavutil/intreadwrite.h" #include "avfilter.h" +#include "config_components.h" #include "formats.h" #include "internal.h" #include "video.h" diff --git a/libavfilter/vf_identity.c b/libavfilter/vf_identity.c index cc30761388..b84b4c2fa5 100644 --- a/libavfilter/vf_identity.c +++ b/libavfilter/vf_identity.c @@ -27,6 +27,7 @@ #include "libavutil/opt.h" #include "libavutil/pixdesc.h" #include "avfilter.h" +#include "config_components.h" #include "drawutils.h" #include "formats.h" #include "framesync.h" diff --git a/libavfilter/vf_lut.c b/libavfilter/vf_lut.c index fd5b364797..19cc0f67ab 100644 --- a/libavfilter/vf_lut.c +++ b/libavfilter/vf_lut.c @@ -31,6 +31,7 @@ #include "libavutil/opt.h" #include "libavutil/pixdesc.h" #include "avfilter.h" +#include "config_components.h" #include "drawutils.h" #include "formats.h" #include "internal.h" diff --git a/libavfilter/vf_lut2.c b/libavfilter/vf_lut2.c index 868c0496fa..dd21d24b2f 100644 --- a/libavfilter/vf_lut2.c +++ b/libavfilter/vf_lut2.c @@ -24,6 +24,7 @@ #include "libavutil/opt.h" #include "libavutil/pixdesc.h" #include "avfilter.h" +#include "config_components.h" #include "drawutils.h" #include "formats.h" #include "internal.h" diff --git a/libavfilter/vf_mix.c b/libavfilter/vf_mix.c index 8206517579..20e5a0dd9c 100644 --- a/libavfilter/vf_mix.c +++ b/libavfilter/vf_mix.c @@ -25,6 +25,7 @@ #include "libavutil/pixdesc.h" #include "avfilter.h" +#include "config_components.h" #include "formats.h" #include "internal.h" #include "framesync.h" diff --git a/libavfilter/vf_neighbor.c b/libavfilter/vf_neighbor.c index f48fb306b2..5a06d0d92f 100644 --- a/libavfilter/vf_neighbor.c +++ b/libavfilter/vf_neighbor.c @@ -24,6 +24,7 @@ #include "libavutil/pixdesc.h" #include "libavutil/opt.h" #include "avfilter.h" +#include "config_components.h" #include "formats.h" #include "internal.h" #include "video.h" diff --git a/libavfilter/vf_premultiply.c b/libavfilter/vf_premultiply.c index 4b60de7b7b..8c417c83ae 100644 --- a/libavfilter/vf_premultiply.c +++ b/libavfilter/vf_premultiply.c @@ -22,6 +22,7 @@ #include "libavutil/pixdesc.h" #include "libavutil/opt.h" #include "avfilter.h" +#include "config_components.h" #include "filters.h" #include "formats.h" #include "framesync.h" diff --git a/libavfilter/vf_setparams.c b/libavfilter/vf_setparams.c index b3893adc13..09e3217d46 100644 --- a/libavfilter/vf_setparams.c +++ b/libavfilter/vf_setparams.c @@ -21,6 +21,7 @@ #include "libavutil/pixfmt.h" #include "libavutil/opt.h" #include "avfilter.h" +#include "config_components.h" #include "internal.h" #include "video.h" diff --git a/libavfilter/vf_stack.c b/libavfilter/vf_stack.c index f584e8349b..c981829e4e 100644 --- a/libavfilter/vf_stack.c +++ b/libavfilter/vf_stack.c @@ -25,6 +25,7 @@ #include "libavutil/pixdesc.h" #include "avfilter.h" +#include "config_components.h" #include "drawutils.h" #include "formats.h" #include "internal.h" diff --git a/libavfilter/vf_xmedian.c b/libavfilter/vf_xmedian.c index 148ab555bb..ff2d22610f 100644 --- a/libavfilter/vf_xmedian.c +++ b/libavfilter/vf_xmedian.c @@ -26,6 +26,7 @@ #include "libavutil/qsort.h" #include "avfilter.h" +#include "config_components.h" #include "formats.h" #include "internal.h" #include "framesync.h" diff --git a/libavfilter/vsrc_testsrc.c b/libavfilter/vsrc_testsrc.c index 20b915d472..8c03e5103c 100644 --- a/libavfilter/vsrc_testsrc.c +++ b/libavfilter/vsrc_testsrc.c @@ -44,6 +44,7 @@ #include "libavutil/parseutils.h" #include "libavutil/xga_font_data.h" #include "avfilter.h" +#include "config_components.h" #include "drawutils.h" #include "filters.h" #include "formats.h" diff --git a/libavformat/ac3dec.c b/libavformat/ac3dec.c index ad9b65a9be..89a9e82310 100644 --- a/libavformat/ac3dec.c +++ b/libavformat/ac3dec.c @@ -23,6 +23,7 @@ #include "libavutil/crc.h" #include "libavcodec/ac3_parser.h" #include "avformat.h" +#include "config_components.h" #include "rawdec.h" static int ac3_eac3_probe(const AVProbeData *p, enum AVCodecID expected_codec_id) diff --git a/libavformat/alp.c b/libavformat/alp.c index f46bdb4511..fc95f5ecb2 100644 --- a/libavformat/alp.c +++ b/libavformat/alp.c @@ -22,6 +22,7 @@ #include "libavutil/channel_layout.h" #include "avformat.h" +#include "config_components.h" #include "internal.h" #include "rawenc.h" #include "libavutil/intreadwrite.h" diff --git a/libavformat/amr.c b/libavformat/amr.c index bc22c2f84f..63efc159cd 100644 --- a/libavformat/amr.c +++ b/libavformat/amr.c @@ -27,6 +27,7 @@ Write and read amr data according to RFC3267, http://www.ietf.org/rfc/rfc3267.tx #include "libavutil/intreadwrite.h" #include "avformat.h" #include "avio_internal.h" +#include "config_components.h" #include "internal.h" #include "rawdec.h" #include "rawenc.h" diff --git a/libavformat/apm.c b/libavformat/apm.c index 1ced771745..c72d9abfe4 100644 --- a/libavformat/apm.c +++ b/libavformat/apm.c @@ -20,6 +20,7 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #include "avformat.h" +#include "config_components.h" #include "internal.h" #include "rawenc.h" #include "libavutil/channel_layout.h" diff --git a/libavformat/aptxdec.c b/libavformat/aptxdec.c index 7153e262a1..7afdc816d7 100644 --- a/libavformat/aptxdec.c +++ b/libavformat/aptxdec.c @@ -22,6 +22,7 @@ #include "libavutil/opt.h" #include "avformat.h" +#include "config_components.h" #define APTX_BLOCK_SIZE 4 #define APTX_PACKET_SIZE (256*APTX_BLOCK_SIZE) diff --git a/libavformat/argo_asf.c b/libavformat/argo_asf.c index 2b3569ebc3..53d498a3de 100644 --- a/libavformat/argo_asf.c +++ b/libavformat/argo_asf.c @@ -21,6 +21,7 @@ */ #include "libavutil/avstring.h" #include "avformat.h" +#include "config_components.h" #include "internal.h" #include "libavutil/channel_layout.h" #include "libavutil/intreadwrite.h" diff --git a/libavformat/argo_cvg.c b/libavformat/argo_cvg.c index f59e93496f..e807c07de6 100644 --- a/libavformat/argo_cvg.c +++ b/libavformat/argo_cvg.c @@ -23,6 +23,7 @@ #include "libavutil/avstring.h" #include "libavutil/channel_layout.h" #include "avformat.h" +#include "config_components.h" #include "internal.h" #include "libavutil/opt.h" #include "libavutil/intreadwrite.h" diff --git a/libavformat/asfenc.c b/libavformat/asfenc.c index 041019b186..4db57bdd1f 100644 --- a/libavformat/asfenc.c +++ b/libavformat/asfenc.c @@ -26,6 +26,7 @@ #include "avformat.h" #include "avlanguage.h" #include "avio_internal.h" +#include "config_components.h" #include "internal.h" #include "riff.h" #include "asf.h" diff --git a/libavformat/au.c b/libavformat/au.c index 9bd408f65c..95ca3901a8 100644 --- a/libavformat/au.c +++ b/libavformat/au.c @@ -29,6 +29,7 @@ #include "libavutil/bprint.h" #include "avformat.h" +#include "config_components.h" #include "internal.h" #include "avio_internal.h" #include "pcm.h" diff --git a/libavformat/av1dec.c b/libavformat/av1dec.c index 6e1c2a45ff..350f5360d5 100644 --- a/libavformat/av1dec.c +++ b/libavformat/av1dec.c @@ -20,6 +20,7 @@ */ #include "config.h" +#include "config_components.h" #include "libavutil/common.h" #include "libavutil/opt.h" diff --git a/libavformat/avidec.c b/libavformat/avidec.c index 0f0e6846da..c9eb635dc8 100644 --- a/libavformat/avidec.c +++ b/libavformat/avidec.c @@ -30,6 +30,7 @@ #include "libavutil/mathematics.h" #include "avformat.h" #include "avi.h" +#include "config_components.h" #include "dv.h" #include "internal.h" #include "isom.h" diff --git a/libavformat/avienc.c b/libavformat/avienc.c index be2493ce55..e36e88335f 100644 --- a/libavformat/avienc.c +++ b/libavformat/avienc.c @@ -25,6 +25,7 @@ #include "internal.h" #include "avi.h" #include "avio_internal.h" +#include "config_components.h" #include "riff.h" #include "mpegts.h" #include "libavformat/avlanguage.h" diff --git a/libavformat/bintext.c b/libavformat/bintext.c index 1270c7fb2c..5e58b16f23 100644 --- a/libavformat/bintext.c +++ b/libavformat/bintext.c @@ -34,6 +34,7 @@ #include "libavutil/opt.h" #include "libavutil/parseutils.h" #include "avformat.h" +#include "config_components.h" #include "internal.h" #include "sauce.h" #include "libavcodec/bintext.h" diff --git a/libavformat/bit.c b/libavformat/bit.c index 380cbd37cd..73f98603bc 100644 --- a/libavformat/bit.c +++ b/libavformat/bit.c @@ -19,6 +19,7 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #include "avformat.h" +#include "config_components.h" #include "internal.h" #include "libavcodec/get_bits.h" #include "libavcodec/put_bits.h" diff --git a/libavformat/codec2.c b/libavformat/codec2.c index 0b992836b3..26be9713d0 100644 --- a/libavformat/codec2.c +++ b/libavformat/codec2.c @@ -26,6 +26,7 @@ #include "libavutil/opt.h" #include "avio_internal.h" #include "avformat.h" +#include "config_components.h" #include "internal.h" #include "rawenc.h" #include "pcm.h" diff --git a/libavformat/concat.c b/libavformat/concat.c index faeba2293a..d8d3c1a7c6 100644 --- a/libavformat/concat.c +++ b/libavformat/concat.c @@ -27,6 +27,7 @@ #include "avformat.h" #include "avio_internal.h" +#include "config_components.h" #include "url.h" #define AV_CAT_SEPARATOR "|" diff --git a/libavformat/dashenc.c b/libavformat/dashenc.c index 4709bc6615..1bd5aac956 100644 --- a/libavformat/dashenc.c +++ b/libavformat/dashenc.c @@ -21,6 +21,7 @@ */ #include "config.h" +#include "config_components.h" #if HAVE_UNISTD_H #include <unistd.h> #endif diff --git a/libavformat/demux.c b/libavformat/demux.c index ec34b65288..1fdee84933 100644 --- a/libavformat/demux.c +++ b/libavformat/demux.c @@ -22,6 +22,7 @@ #include <stdint.h> #include "config.h" +#include "config_components.h" #include "libavutil/avassert.h" #include "libavutil/avstring.h" diff --git a/libavformat/file.c b/libavformat/file.c index 7001750c80..4b9498c591 100644 --- a/libavformat/file.c +++ b/libavformat/file.c @@ -23,6 +23,7 @@ #include "libavutil/internal.h" #include "libavutil/opt.h" #include "avformat.h" +#include "config_components.h" #if HAVE_DIRENT_H #include <dirent.h> #endif diff --git a/libavformat/format.c b/libavformat/format.c index 52b85c16a2..151fd4ad70 100644 --- a/libavformat/format.c +++ b/libavformat/format.c @@ -26,6 +26,7 @@ #include "avio_internal.h" #include "avformat.h" +#include "config_components.h" #include "id3v2.h" #include "internal.h" diff --git a/libavformat/g726.c b/libavformat/g726.c index 4b08d0a9f7..5add1a8084 100644 --- a/libavformat/g726.c +++ b/libavformat/g726.c @@ -20,6 +20,7 @@ */ #include "avformat.h" +#include "config_components.h" #include "internal.h" #include "libavutil/opt.h" diff --git a/libavformat/gopher.c b/libavformat/gopher.c index 9bbe171640..9497ffacf2 100644 --- a/libavformat/gopher.c +++ b/libavformat/gopher.c @@ -24,6 +24,7 @@ */ #include "config.h" +#include "config_components.h" #include "libavutil/avstring.h" #include "avformat.h" diff --git a/libavformat/hashenc.c b/libavformat/hashenc.c index 622491d2e5..7953adc8c8 100644 --- a/libavformat/hashenc.c +++ b/libavformat/hashenc.c @@ -24,6 +24,7 @@ #include "libavutil/intreadwrite.h" #include "libavutil/opt.h" #include "avformat.h" +#include "config_components.h" #include "internal.h" struct HashContext { diff --git a/libavformat/hls.c b/libavformat/hls.c index 06bc46c23f..52d26709f2 100644 --- a/libavformat/hls.c +++ b/libavformat/hls.c @@ -36,6 +36,7 @@ #include "libavutil/dict.h" #include "libavutil/time.h" #include "avformat.h" +#include "config_components.h" #include "internal.h" #include "avio_internal.h" #include "id3v2.h" diff --git a/libavformat/hlsenc.c b/libavformat/hlsenc.c index ef8973cea1..14eb7c4530 100644 --- a/libavformat/hlsenc.c +++ b/libavformat/hlsenc.c @@ -21,6 +21,7 @@ */ #include "config.h" +#include "config_components.h" #include <float.h> #include <stdint.h> #if HAVE_UNISTD_H diff --git a/libavformat/http.c b/libavformat/http.c index c79db955e8..4c2504af13 100644 --- a/libavformat/http.c +++ b/libavformat/http.c @@ -33,6 +33,7 @@ #include "libavutil/parseutils.h" #include "avformat.h" +#include "config_components.h" #include "http.h" #include "httpauth.h" #include "internal.h" diff --git a/libavformat/ilbc.c b/libavformat/ilbc.c index 0cbdd3d5b8..eb3300654a 100644 --- a/libavformat/ilbc.c +++ b/libavformat/ilbc.c @@ -20,6 +20,7 @@ */ #include "avformat.h" +#include "config_components.h" #include "internal.h" #include "rawenc.h" diff --git a/libavformat/img2dec.c b/libavformat/img2dec.c index 8608252d83..7ffe0d7edb 100644 --- a/libavformat/img2dec.c +++ b/libavformat/img2dec.c @@ -32,6 +32,7 @@ #include "libavcodec/gif.h" #include "avformat.h" #include "avio_internal.h" +#include "config_components.h" #include "internal.h" #include "img2.h" #include "libavcodec/mjpeg.h" diff --git a/libavformat/img2enc.c b/libavformat/img2enc.c index ded91d6b98..17a1bcf68c 100644 --- a/libavformat/img2enc.c +++ b/libavformat/img2enc.c @@ -29,6 +29,7 @@ #include "libavutil/time_internal.h" #include "avformat.h" #include "avio_internal.h" +#include "config_components.h" #include "internal.h" #include "img2.h" diff --git a/libavformat/kvag.c b/libavformat/kvag.c index a277c28128..0fbda0e95a 100644 --- a/libavformat/kvag.c +++ b/libavformat/kvag.c @@ -23,6 +23,7 @@ #include "libavutil/channel_layout.h" #include "avformat.h" #include "avio_internal.h" +#include "config_components.h" #include "internal.h" #include "rawenc.h" #include "libavutil/intreadwrite.h" diff --git a/libavformat/matroskadec.c b/libavformat/matroskadec.c index 31e5111225..ba20c2f6fb 100644 --- a/libavformat/matroskadec.c +++ b/libavformat/matroskadec.c @@ -29,6 +29,7 @@ */ #include "config.h" +#include "config_components.h" #include <inttypes.h> #include <stdio.h> diff --git a/libavformat/matroskaenc.c b/libavformat/matroskaenc.c index e8df5db3bd..93c969bf03 100644 --- a/libavformat/matroskaenc.c +++ b/libavformat/matroskaenc.c @@ -22,6 +22,7 @@ #include <stdint.h> #include "config.h" +#include "config_components.h" #include "av1.h" #include "avc.h" diff --git a/libavformat/mj2kdec.c b/libavformat/mj2kdec.c index 703ff91efb..416f45f11f 100644 --- a/libavformat/mj2kdec.c +++ b/libavformat/mj2kdec.c @@ -21,6 +21,7 @@ #include "libavutil/intreadwrite.h" #include "avformat.h" +#include "config_components.h" #include "rawdec.h" #if CONFIG_MJPEG_2000_DEMUXER diff --git a/libavformat/mlpdec.c b/libavformat/mlpdec.c index f0996fef31..4402d46c2d 100644 --- a/libavformat/mlpdec.c +++ b/libavformat/mlpdec.c @@ -23,6 +23,7 @@ #include "avformat.h" #include "avio_internal.h" +#include "config_components.h" #include "internal.h" #include "rawdec.h" #include "libavutil/intreadwrite.h" diff --git a/libavformat/mmf.c b/libavformat/mmf.c index e836390bff..1958577b68 100644 --- a/libavformat/mmf.c +++ b/libavformat/mmf.c @@ -22,6 +22,7 @@ #include "libavutil/channel_layout.h" #include "avformat.h" #include "avio_internal.h" +#include "config_components.h" #include "internal.h" #include "pcm.h" #include "rawenc.h" diff --git a/libavformat/mov.c b/libavformat/mov.c index 5e26267810..fb35e0024b 100644 --- a/libavformat/mov.c +++ b/libavformat/mov.c @@ -53,6 +53,7 @@ #include "libavcodec/mpegaudiodecheader.h" #include "libavcodec/mlp_parse.h" #include "avformat.h" +#include "config_components.h" #include "internal.h" #include "avio_internal.h" #include "dovi_isom.h" diff --git a/libavformat/movenc.c b/libavformat/movenc.c index 14482abe8d..3885bba433 100644 --- a/libavformat/movenc.c +++ b/libavformat/movenc.c @@ -27,6 +27,7 @@ #include "movenc.h" #include "avformat.h" #include "avio_internal.h" +#include "config_components.h" #include "dovi_isom.h" #include "riff.h" #include "avio.h" diff --git a/libavformat/mpeg.c b/libavformat/mpeg.c index ca15d9f241..6c74b32df4 100644 --- a/libavformat/mpeg.c +++ b/libavformat/mpeg.c @@ -22,6 +22,7 @@ #include "libavutil/channel_layout.h" #include "avformat.h" #include "avio_internal.h" +#include "config_components.h" #include "internal.h" #include "mpeg.h" diff --git a/libavformat/mpegenc.c b/libavformat/mpegenc.c index 64248695bd..bd01331ccd 100644 --- a/libavformat/mpegenc.c +++ b/libavformat/mpegenc.c @@ -31,6 +31,7 @@ #include "avformat.h" #include "avio_internal.h" +#include "config_components.h" #include "internal.h" #include "mpeg.h" diff --git a/libavformat/mpegts.c b/libavformat/mpegts.c index e23f596490..993230d49d 100644 --- a/libavformat/mpegts.c +++ b/libavformat/mpegts.c @@ -34,6 +34,7 @@ #include "libavcodec/get_bits.h" #include "libavcodec/opus.h" #include "avformat.h" +#include "config_components.h" #include "mpegts.h" #include "internal.h" #include "avio_internal.h" diff --git a/libavformat/network.c b/libavformat/network.c index 96fe636745..001ed0ad52 100644 --- a/libavformat/network.c +++ b/libavformat/network.c @@ -19,6 +19,7 @@ */ #include <fcntl.h> +#include "config_components.h" #include "network.h" #include "tls.h" #include "url.h" diff --git a/libavformat/oggenc.c b/libavformat/oggenc.c index 31f47dadf6..eee180d709 100644 --- a/libavformat/oggenc.c +++ b/libavformat/oggenc.c @@ -30,6 +30,7 @@ #include "libavcodec/flac.h" #include "avformat.h" #include "avio_internal.h" +#include "config_components.h" #include "internal.h" #include "version.h" #include "vorbiscomment.h" diff --git a/libavformat/pcmdec.c b/libavformat/pcmdec.c index 63539a47c0..457669763d 100644 --- a/libavformat/pcmdec.c +++ b/libavformat/pcmdec.c @@ -21,6 +21,7 @@ #include "libavutil/avstring.h" #include "avformat.h" +#include "config_components.h" #include "internal.h" #include "pcm.h" #include "libavutil/log.h" diff --git a/libavformat/pcmenc.c b/libavformat/pcmenc.c index cbfcee7b41..d322eb9085 100644 --- a/libavformat/pcmenc.c +++ b/libavformat/pcmenc.c @@ -20,6 +20,7 @@ */ #include "avformat.h" +#include "config_components.h" #include "rawenc.h" #define PCMDEF_0(name_, long_name_, ext, codec) diff --git a/libavformat/rawdec.c b/libavformat/rawdec.c index 15e26c03bd..848f19de1c 100644 --- a/libavformat/rawdec.c +++ b/libavformat/rawdec.c @@ -20,6 +20,7 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ +#include "config_components.h" #include "avformat.h" #include "internal.h" #include "avio_internal.h" diff --git a/libavformat/rawenc.c b/libavformat/rawenc.c index 4bbae7717b..57da29c606 100644 --- a/libavformat/rawenc.c +++ b/libavformat/rawenc.c @@ -23,6 +23,7 @@ #include "libavutil/intreadwrite.h" #include "avformat.h" +#include "config_components.h" #include "rawenc.h" #include "internal.h" diff --git a/libavformat/rawvideodec.c b/libavformat/rawvideodec.c index 7b1a534452..dbf975a89e 100644 --- a/libavformat/rawvideodec.c +++ b/libavformat/rawvideodec.c @@ -25,6 +25,7 @@ #include "libavutil/opt.h" #include "internal.h" #include "avformat.h" +#include "config_components.h" typedef struct RawVideoDemuxerContext { const AVClass *class; /**< Class for private options. */ diff --git a/libavformat/riff.c b/libavformat/riff.c index 27a9706510..6e0a02fa78 100644 --- a/libavformat/riff.c +++ b/libavformat/riff.c @@ -20,6 +20,7 @@ */ #include "config.h" +#include "config_components.h" #include "libavutil/common.h" #include "avformat.h" #include "internal.h" diff --git a/libavformat/rtmpproto.c b/libavformat/rtmpproto.c index 88557140f7..b17adfa843 100644 --- a/libavformat/rtmpproto.c +++ b/libavformat/rtmpproto.c @@ -33,6 +33,7 @@ #include "libavutil/opt.h" #include "libavutil/random_seed.h" #include "avformat.h" +#include "config_components.h" #include "internal.h" #include "network.h" diff --git a/libavformat/rtsp.c b/libavformat/rtsp.c index f1992f193e..42019294ed 100644 --- a/libavformat/rtsp.c +++ b/libavformat/rtsp.c @@ -32,6 +32,7 @@ #include "libavutil/time.h" #include "avformat.h" #include "avio_internal.h" +#include "config_components.h" #if HAVE_POLL_H #include <poll.h> diff --git a/libavformat/rtspdec.c b/libavformat/rtspdec.c index eee6329025..662af221df 100644 --- a/libavformat/rtspdec.c +++ b/libavformat/rtspdec.c @@ -25,6 +25,7 @@ #include "libavutil/random_seed.h" #include "libavutil/time.h" #include "avformat.h" +#include "config_components.h" #include "internal.h" #include "network.h" diff --git a/libavformat/sdp.c b/libavformat/sdp.c index d63a0b34c4..9992c25610 100644 --- a/libavformat/sdp.c +++ b/libavformat/sdp.c @@ -27,6 +27,7 @@ #include "libavcodec/xiph.h" #include "libavcodec/mpeg4audio.h" #include "avformat.h" +#include "config_components.h" #include "internal.h" #include "avc.h" #include "hevc.h" diff --git a/libavformat/segment.c b/libavformat/segment.c index e9b0aa4fa8..a7144f739f 100644 --- a/libavformat/segment.c +++ b/libavformat/segment.c @@ -29,6 +29,7 @@ #include "avformat.h" #include "avio_internal.h" +#include "config_components.h" #include "internal.h" #include "libavutil/avassert.h" diff --git a/libavformat/swfenc.c b/libavformat/swfenc.c index 9eb22ee9b3..d850557117 100644 --- a/libavformat/swfenc.c +++ b/libavformat/swfenc.c @@ -24,6 +24,7 @@ #include "libavutil/avassert.h" #include "libavutil/fifo.h" #include "avformat.h" +#include "config_components.h" #include "flv.h" #include "swf.h" diff --git a/libavformat/voc.c b/libavformat/voc.c index 04ec0da9ba..a836ecb79b 100644 --- a/libavformat/voc.c +++ b/libavformat/voc.c @@ -20,6 +20,7 @@ */ #include "config.h" +#include "config_components.h" #include "voc.h" #include "internal.h" diff --git a/libavformat/wavdec.c b/libavformat/wavdec.c index 01090b6947..c53e6a1841 100644 --- a/libavformat/wavdec.c +++ b/libavformat/wavdec.c @@ -28,6 +28,7 @@ #include <stdint.h> #include "config.h" +#include "config_components.h" #include "libavutil/avassert.h" #include "libavutil/dict.h" #include "libavutil/intreadwrite.h" diff --git a/libavformat/wavenc.c b/libavformat/wavenc.c index 2317700be1..4e703354ea 100644 --- a/libavformat/wavenc.c +++ b/libavformat/wavenc.c @@ -43,6 +43,7 @@ #include "avformat.h" #include "avio.h" #include "avio_internal.h" +#include "config_components.h" #include "internal.h" #include "riff.h" -- 2.32.0 (Apple Git-132) _______________________________________________ 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] 24+ messages in thread
* Re: [FFmpeg-devel] [PATCH 13/13] configure: Use a separate config_components.h header for $ALL_COMPONENTS 2022-02-23 14:29 ` [FFmpeg-devel] [PATCH 13/13] configure: Use a separate config_components.h header for $ALL_COMPONENTS Martin Storsjö @ 2022-02-24 21:22 ` Michael Niedermayer 2022-02-24 21:35 ` Martin Storsjö 0 siblings, 1 reply; 24+ messages in thread From: Michael Niedermayer @ 2022-02-24 21:22 UTC (permalink / raw) To: FFmpeg development discussions and patches [-- Attachment #1.1: Type: text/plain, Size: 14275 bytes --] On Wed, Feb 23, 2022 at 04:29:51PM +0200, Martin Storsjö wrote: > This avoids unnecessary rebuilds of most source files if only the > list of enabled components has changed, but not the other properties > of the build, set in config.h. > --- > configure | 17 +++++++++++++++-- > fftools/ffplay.c | 1 + > libavcodec/8svx.c | 1 + > libavcodec/a64multienc.c | 1 + > libavcodec/aac_ac3_parser.c | 1 + > libavcodec/aactab.c | 1 + > libavcodec/aarch64/h264cmc_neon.S | 1 + > libavcodec/ac3_parser.c | 1 + > libavcodec/ac3dec.c | 1 + > libavcodec/ac3enc.c | 1 + > libavcodec/ac3enc_template.c | 1 + > libavcodec/adpcm.c | 1 + > libavcodec/adpcmenc.c | 1 + > libavcodec/allcodecs.c | 1 + > libavcodec/aptxdec.c | 1 + > libavcodec/aptxenc.c | 1 + > libavcodec/arm/flacdsp_init_arm.c | 1 + > libavcodec/arm/h264cmc_neon.S | 1 + > libavcodec/assdec.c | 1 + > libavcodec/assenc.c | 1 + > libavcodec/asvdec.c | 1 + > libavcodec/asvenc.c | 1 + > libavcodec/audiotoolboxdec.c | 1 + > libavcodec/av1dec.c | 1 + > libavcodec/binkaudio.c | 1 + > libavcodec/bintext.c | 1 + > libavcodec/bsf.c | 1 + > libavcodec/cyuv.c | 1 + > libavcodec/flashsv.c | 1 + > libavcodec/g726.c | 1 + > libavcodec/gsmdec.c | 1 + > libavcodec/h263dec.c | 1 + > libavcodec/h264_slice.c | 1 + > libavcodec/h264dec.c | 2 ++ > libavcodec/hevcdec.c | 1 + > libavcodec/huffyuvdec.c | 1 + > libavcodec/huffyuvenc.c | 1 + > libavcodec/idctdsp.c | 1 + > libavcodec/iff.c | 1 + > libavcodec/imc.c | 1 + > libavcodec/ituh263dec.c | 1 + > libavcodec/ituh263enc.c | 1 + > libavcodec/lcldec.c | 1 + > libavcodec/libgsmdec.c | 1 + > libavcodec/libgsmenc.c | 1 + > libavcodec/libopencore-amr.c | 1 + > libavcodec/libvpx.c | 1 + > libavcodec/libvpxdec.c | 1 + > libavcodec/libvpxenc.c | 1 + > libavcodec/libx264.c | 1 + > libavcodec/me_cmp.c | 1 + > libavcodec/metasound_data.c | 1 + > libavcodec/mjpegdec.c | 1 + > libavcodec/mjpegenc.c | 1 + > libavcodec/mlpdec.c | 1 + > libavcodec/mlpenc.c | 1 + > libavcodec/mpeg12dec.c | 1 + > libavcodec/mpeg12enc.c | 1 + > libavcodec/mpeg4videodec.c | 1 + > libavcodec/mpegaudiodec_fixed.c | 1 + > libavcodec/mpegaudiodec_float.c | 1 + > libavcodec/mpegvideo.c | 1 + > libavcodec/mpegvideo_enc.c | 1 + > libavcodec/mpegvideo_motion.c | 1 + > libavcodec/msmpeg4.c | 1 + > libavcodec/msmpeg4dec.c | 1 + > libavcodec/mvcdec.c | 1 + > libavcodec/options.c | 1 + > libavcodec/opus_pvq.c | 1 + > libavcodec/pcm.c | 1 + > libavcodec/pngdec.c | 1 + > libavcodec/pnmdec.c | 1 + > libavcodec/pnmenc.c | 1 + > libavcodec/proresdec2.c | 1 + > libavcodec/qpeldsp.c | 1 + > libavcodec/r210dec.c | 1 + > libavcodec/r210enc.c | 1 + > libavcodec/rv34_parser.c | 1 + > libavcodec/sonic.c | 1 + > libavcodec/sp5xdec.c | 1 + > libavcodec/speedhq.c | 1 + > libavcodec/speedhqenc.c | 1 + > libavcodec/srtdec.c | 1 + > libavcodec/srtenc.c | 1 + > libavcodec/textdec.c | 1 + > libavcodec/v408dec.c | 1 + > libavcodec/v408enc.c | 1 + > libavcodec/vc1dec.c | 1 + > libavcodec/vc1dsp.c | 1 + > libavcodec/videotoolbox.c | 1 + > libavcodec/vorbis_parser.c | 1 + > libavcodec/vp3.c | 1 + > libavcodec/vp56dsp.c | 1 + > libavcodec/vp8.c | 1 + > libavcodec/vp8dsp.c | 1 + > libavcodec/vp9.c | 1 + > libavcodec/wmadec.c | 1 + > libavcodec/wmaenc.c | 1 + > libavcodec/x86/flacdsp_init.c | 1 + > libavcodec/x86/hpeldsp_init.c | 1 + > libavfilter/aeval.c | 1 + > libavfilter/af_afade.c | 1 + > libavfilter/af_agate.c | 1 + > libavfilter/af_biquads.c | 1 + > libavfilter/af_sidechaincompress.c | 1 + > libavfilter/avf_showspectrum.c | 1 + > libavfilter/avf_showwaves.c | 1 + > libavfilter/f_bench.c | 1 + > libavfilter/f_cue.c | 1 + > libavfilter/f_drawgraph.c | 1 + > libavfilter/f_graphmonitor.c | 1 + > libavfilter/f_interleave.c | 1 + > libavfilter/f_latency.c | 1 + > libavfilter/f_loop.c | 1 + > libavfilter/f_metadata.c | 1 + > libavfilter/f_perms.c | 1 + > libavfilter/f_realtime.c | 1 + > libavfilter/f_reverse.c | 1 + > libavfilter/f_segment.c | 1 + > libavfilter/f_select.c | 1 + > libavfilter/f_sendcmd.c | 1 + > libavfilter/f_sidedata.c | 1 + > libavfilter/lut3d.h | 1 + > libavfilter/setpts.c | 1 + > libavfilter/settb.c | 1 + > libavfilter/src_movie.c | 1 + > libavfilter/trim.c | 1 + > libavfilter/vf_aspect.c | 1 + > libavfilter/vf_blend.c | 1 + > libavfilter/vf_colorconstancy.c | 1 + > libavfilter/vf_colorkey.c | 1 + > libavfilter/vf_convolution.c | 1 + > libavfilter/vf_convolve.c | 1 + > libavfilter/vf_drawbox.c | 1 + > libavfilter/vf_extractplanes.c | 1 + > libavfilter/vf_format.c | 1 + > libavfilter/vf_histogram.c | 1 + > libavfilter/vf_identity.c | 1 + > libavfilter/vf_lut.c | 1 + > libavfilter/vf_lut2.c | 1 + > libavfilter/vf_mix.c | 1 + > libavfilter/vf_neighbor.c | 1 + > libavfilter/vf_premultiply.c | 1 + > libavfilter/vf_setparams.c | 1 + > libavfilter/vf_stack.c | 1 + > libavfilter/vf_xmedian.c | 1 + > libavfilter/vsrc_testsrc.c | 1 + > libavformat/ac3dec.c | 1 + > libavformat/alp.c | 1 + > libavformat/amr.c | 1 + > libavformat/apm.c | 1 + > libavformat/aptxdec.c | 1 + > libavformat/argo_asf.c | 1 + > libavformat/argo_cvg.c | 1 + > libavformat/asfenc.c | 1 + > libavformat/au.c | 1 + > libavformat/av1dec.c | 1 + > libavformat/avidec.c | 1 + > libavformat/avienc.c | 1 + > libavformat/bintext.c | 1 + > libavformat/bit.c | 1 + > libavformat/codec2.c | 1 + > libavformat/concat.c | 1 + > libavformat/dashenc.c | 1 + > libavformat/demux.c | 1 + > libavformat/file.c | 1 + > libavformat/format.c | 1 + > libavformat/g726.c | 1 + > libavformat/gopher.c | 1 + > libavformat/hashenc.c | 1 + > libavformat/hls.c | 1 + > libavformat/hlsenc.c | 1 + > libavformat/http.c | 1 + > libavformat/ilbc.c | 1 + > libavformat/img2dec.c | 1 + > libavformat/img2enc.c | 1 + > libavformat/kvag.c | 1 + > libavformat/matroskadec.c | 1 + > libavformat/matroskaenc.c | 1 + > libavformat/mj2kdec.c | 1 + > libavformat/mlpdec.c | 1 + > libavformat/mmf.c | 1 + > libavformat/mov.c | 1 + > libavformat/movenc.c | 1 + > libavformat/mpeg.c | 1 + > libavformat/mpegenc.c | 1 + > libavformat/mpegts.c | 1 + > libavformat/network.c | 1 + > libavformat/oggenc.c | 1 + > libavformat/pcmdec.c | 1 + > libavformat/pcmenc.c | 1 + > libavformat/rawdec.c | 1 + > libavformat/rawenc.c | 1 + > libavformat/rawvideodec.c | 1 + > libavformat/riff.c | 1 + > libavformat/rtmpproto.c | 1 + > libavformat/rtsp.c | 1 + > libavformat/rtspdec.c | 1 + > libavformat/sdp.c | 1 + > libavformat/segment.c | 1 + > libavformat/swfenc.c | 1 + > libavformat/voc.c | 1 + > libavformat/wavdec.c | 1 + > libavformat/wavenc.c | 1 + > 204 files changed, 219 insertions(+), 2 deletions(-) breaks build on mingw64 here libavcodec/libavcodec.a(h264dec.o):h264dec.c:(.rdata+0x570): undefined reference to `ff_h264_d3d11va2_hwaccel' libavcodec/libavcodec.a(h264dec.o):h264dec.c:(.rdata+0x590): undefined reference to `ff_h264_d3d11va_hwaccel' libavcodec/libavcodec.a(h264dec.o):h264dec.c:(.rdata+0x5b0): undefined reference to `ff_h264_dxva2_hwaccel' libavcodec/libavcodec.a(hevcdec.o):hevcdec.c:(.rdata+0xab0): undefined reference to `ff_hevc_d3d11va2_hwaccel' libavcodec/libavcodec.a(hevcdec.o):hevcdec.c:(.rdata+0xad0): undefined reference to `ff_hevc_d3d11va_hwaccel' libavcodec/libavcodec.a(hevcdec.o):hevcdec.c:(.rdata+0xaf0): undefined reference to `ff_hevc_dxva2_hwaccel' libavcodec/libavcodec.a(mpeg12dec.o):mpeg12dec.c:(.rdata+0xc10): undefined reference to `ff_mpeg2_d3d11va2_hwaccel' libavcodec/libavcodec.a(mpeg12dec.o):mpeg12dec.c:(.rdata+0xc30): undefined reference to `ff_mpeg2_d3d11va_hwaccel' libavcodec/libavcodec.a(mpeg12dec.o):mpeg12dec.c:(.rdata+0xc50): undefined reference to `ff_mpeg2_dxva2_hwaccel' libavcodec/libavcodec.a(vc1dec.o):vc1dec.c:(.rdata+0x710): undefined reference to `ff_wmv3_d3d11va2_hwaccel' libavcodec/libavcodec.a(vc1dec.o):vc1dec.c:(.rdata+0x730): undefined reference to `ff_wmv3_d3d11va_hwaccel' libavcodec/libavcodec.a(vc1dec.o):vc1dec.c:(.rdata+0x750): undefined reference to `ff_wmv3_dxva2_hwaccel' libavcodec/libavcodec.a(vc1dec.o):vc1dec.c:(.rdata+0x890): undefined reference to `ff_vc1_d3d11va2_hwaccel' libavcodec/libavcodec.a(vc1dec.o):vc1dec.c:(.rdata+0x8b0): undefined reference to `ff_vc1_d3d11va_hwaccel' libavcodec/libavcodec.a(vc1dec.o):vc1dec.c:(.rdata+0x8d0): undefined reference to `ff_vc1_dxva2_hwaccel' libavcodec/libavcodec.a(vp9.o):vp9.c:(.rdata+0x630): undefined reference to `ff_vp9_d3d11va2_hwaccel' libavcodec/libavcodec.a(vp9.o):vp9.c:(.rdata+0x650): undefined reference to `ff_vp9_d3d11va_hwaccel' libavcodec/libavcodec.a(vp9.o):vp9.c:(.rdata+0x670): undefined reference to `ff_vp9_dxva2_hwaccel' libavcodec/libavcodec.a(h264dec.o):h264dec.c:(.rdata+0x570): undefined reference to `ff_h264_d3d11va2_hwaccel' libavcodec/libavcodec.a(h264dec.o):h264dec.c:(.rdata+0x590): undefined reference to `ff_h264_d3d11va_hwaccel' libavcodec/libavcodec.a(h264dec.o):h264dec.c:(.rdata+0x5b0): undefined reference to `ff_h264_dxva2_hwaccel' libavcodec/libavcodec.a(hevcdec.o):hevcdec.c:(.rdata+0xab0): undefined reference to `ff_hevc_d3d11va2_hwaccel' libavcodec/libavcodec.a(hevcdec.o):hevcdec.c:(.rdata+0xad0): undefined reference to `ff_hevc_d3d11va_hwaccel' libavcodec/libavcodec.a(hevcdec.o):hevcdec.c:(.rdata+0xaf0): undefined reference to `ff_hevc_dxva2_hwaccel' libavcodec/libavcodec.a(mpeg12dec.o):mpeg12dec.c:(.rdata+0xc10): undefined reference to `ff_mpeg2_d3d11va2_hwaccel' libavcodec/libavcodec.a(mpeg12dec.o):mpeg12dec.c:(.rdata+0xc30): undefined reference to `ff_mpeg2_d3d11va_hwaccel' libavcodec/libavcodec.a(mpeg12dec.o):mpeg12dec.c:(.rdata+0xc50): undefined reference to `ff_mpeg2_dxva2_hwaccel' libavcodec/libavcodec.a(vc1dec.o):vc1dec.c:(.rdata+0x710): undefined reference to `ff_wmv3_d3d11va2_hwaccel' libavcodec/libavcodec.a(vc1dec.o):vc1dec.c:(.rdata+0x730): undefined reference to `ff_wmv3_d3d11va_hwaccel' libavcodec/libavcodec.a(vc1dec.o):vc1dec.c:(.rdata+0x750): undefined reference to `ff_wmv3_dxva2_hwaccel' libavcodec/libavcodec.a(vc1dec.o):vc1dec.c:(.rdata+0x890): undefined reference to `ff_vc1_d3d11va2_hwaccel' libavcodec/libavcodec.a(vc1dec.o):vc1dec.c:(.rdata+0x8b0): undefined reference to `ff_vc1_d3d11va_hwaccel' libavcodec/libavcodec.a(vc1dec.o):vc1dec.c:(.rdata+0x8d0): undefined reference to `ff_vc1_dxva2_hwaccel' libavcodec/libavcodec.a(vp9.o):vp9.c:(.rdata+0x630): undefined reference to `ff_vp9_d3d11va2_hwaccel' libavcodec/libavcodec.a(vp9.o):vp9.c:(.rdata+0x650): undefined reference to `ff_vp9_d3d11va_hwaccel' libavcodec/libavcodec.a(vp9.o):vp9.c:(.rdata+0x670): undefined reference to `ff_vp9_dxva2_hwaccel' collect2: error: ld returned 1 exit status collect2: error: ld returned 1 exit status Makefile:127: recipe for target 'ffprobe_g.exe' failed make: *** [ffprobe_g.exe] Error 1 make: *** Waiting for unfinished jobs.... Makefile:127: recipe for target 'ffmpeg_g.exe' failed make: *** [ffmpeg_g.exe] Error 1 [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB If you fake or manipulate statistics in a paper in physics you will never get a job again. If you fake or manipulate statistics in a paper in medicin you will get a job for life at the pharma industry. [-- Attachment #1.2: signature.asc --] [-- Type: application/pgp-signature, Size: 195 bytes --] [-- Attachment #2: Type: text/plain, Size: 251 bytes --] _______________________________________________ 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] 24+ messages in thread
* Re: [FFmpeg-devel] [PATCH 13/13] configure: Use a separate config_components.h header for $ALL_COMPONENTS 2022-02-24 21:22 ` Michael Niedermayer @ 2022-02-24 21:35 ` Martin Storsjö 0 siblings, 0 replies; 24+ messages in thread From: Martin Storsjö @ 2022-02-24 21:35 UTC (permalink / raw) To: FFmpeg development discussions and patches On Thu, 24 Feb 2022, Michael Niedermayer wrote: > On Wed, Feb 23, 2022 at 04:29:51PM +0200, Martin Storsjö wrote: >> This avoids unnecessary rebuilds of most source files if only the >> list of enabled components has changed, but not the other properties >> of the build, set in config.h. >> --- >> configure | 17 +++++++++++++++-- >> fftools/ffplay.c | 1 + >> libavcodec/8svx.c | 1 + >> libavcodec/a64multienc.c | 1 + >> libavcodec/aac_ac3_parser.c | 1 + >> libavcodec/aactab.c | 1 + >> libavcodec/aarch64/h264cmc_neon.S | 1 + >> libavcodec/ac3_parser.c | 1 + >> libavcodec/ac3dec.c | 1 + >> libavcodec/ac3enc.c | 1 + >> libavcodec/ac3enc_template.c | 1 + >> libavcodec/adpcm.c | 1 + >> libavcodec/adpcmenc.c | 1 + >> libavcodec/allcodecs.c | 1 + >> libavcodec/aptxdec.c | 1 + >> libavcodec/aptxenc.c | 1 + >> libavcodec/arm/flacdsp_init_arm.c | 1 + >> libavcodec/arm/h264cmc_neon.S | 1 + >> libavcodec/assdec.c | 1 + >> libavcodec/assenc.c | 1 + >> libavcodec/asvdec.c | 1 + >> libavcodec/asvenc.c | 1 + >> libavcodec/audiotoolboxdec.c | 1 + >> libavcodec/av1dec.c | 1 + >> libavcodec/binkaudio.c | 1 + >> libavcodec/bintext.c | 1 + >> libavcodec/bsf.c | 1 + >> libavcodec/cyuv.c | 1 + >> libavcodec/flashsv.c | 1 + >> libavcodec/g726.c | 1 + >> libavcodec/gsmdec.c | 1 + >> libavcodec/h263dec.c | 1 + >> libavcodec/h264_slice.c | 1 + >> libavcodec/h264dec.c | 2 ++ >> libavcodec/hevcdec.c | 1 + >> libavcodec/huffyuvdec.c | 1 + >> libavcodec/huffyuvenc.c | 1 + >> libavcodec/idctdsp.c | 1 + >> libavcodec/iff.c | 1 + >> libavcodec/imc.c | 1 + >> libavcodec/ituh263dec.c | 1 + >> libavcodec/ituh263enc.c | 1 + >> libavcodec/lcldec.c | 1 + >> libavcodec/libgsmdec.c | 1 + >> libavcodec/libgsmenc.c | 1 + >> libavcodec/libopencore-amr.c | 1 + >> libavcodec/libvpx.c | 1 + >> libavcodec/libvpxdec.c | 1 + >> libavcodec/libvpxenc.c | 1 + >> libavcodec/libx264.c | 1 + >> libavcodec/me_cmp.c | 1 + >> libavcodec/metasound_data.c | 1 + >> libavcodec/mjpegdec.c | 1 + >> libavcodec/mjpegenc.c | 1 + >> libavcodec/mlpdec.c | 1 + >> libavcodec/mlpenc.c | 1 + >> libavcodec/mpeg12dec.c | 1 + >> libavcodec/mpeg12enc.c | 1 + >> libavcodec/mpeg4videodec.c | 1 + >> libavcodec/mpegaudiodec_fixed.c | 1 + >> libavcodec/mpegaudiodec_float.c | 1 + >> libavcodec/mpegvideo.c | 1 + >> libavcodec/mpegvideo_enc.c | 1 + >> libavcodec/mpegvideo_motion.c | 1 + >> libavcodec/msmpeg4.c | 1 + >> libavcodec/msmpeg4dec.c | 1 + >> libavcodec/mvcdec.c | 1 + >> libavcodec/options.c | 1 + >> libavcodec/opus_pvq.c | 1 + >> libavcodec/pcm.c | 1 + >> libavcodec/pngdec.c | 1 + >> libavcodec/pnmdec.c | 1 + >> libavcodec/pnmenc.c | 1 + >> libavcodec/proresdec2.c | 1 + >> libavcodec/qpeldsp.c | 1 + >> libavcodec/r210dec.c | 1 + >> libavcodec/r210enc.c | 1 + >> libavcodec/rv34_parser.c | 1 + >> libavcodec/sonic.c | 1 + >> libavcodec/sp5xdec.c | 1 + >> libavcodec/speedhq.c | 1 + >> libavcodec/speedhqenc.c | 1 + >> libavcodec/srtdec.c | 1 + >> libavcodec/srtenc.c | 1 + >> libavcodec/textdec.c | 1 + >> libavcodec/v408dec.c | 1 + >> libavcodec/v408enc.c | 1 + >> libavcodec/vc1dec.c | 1 + >> libavcodec/vc1dsp.c | 1 + >> libavcodec/videotoolbox.c | 1 + >> libavcodec/vorbis_parser.c | 1 + >> libavcodec/vp3.c | 1 + >> libavcodec/vp56dsp.c | 1 + >> libavcodec/vp8.c | 1 + >> libavcodec/vp8dsp.c | 1 + >> libavcodec/vp9.c | 1 + >> libavcodec/wmadec.c | 1 + >> libavcodec/wmaenc.c | 1 + >> libavcodec/x86/flacdsp_init.c | 1 + >> libavcodec/x86/hpeldsp_init.c | 1 + >> libavfilter/aeval.c | 1 + >> libavfilter/af_afade.c | 1 + >> libavfilter/af_agate.c | 1 + >> libavfilter/af_biquads.c | 1 + >> libavfilter/af_sidechaincompress.c | 1 + >> libavfilter/avf_showspectrum.c | 1 + >> libavfilter/avf_showwaves.c | 1 + >> libavfilter/f_bench.c | 1 + >> libavfilter/f_cue.c | 1 + >> libavfilter/f_drawgraph.c | 1 + >> libavfilter/f_graphmonitor.c | 1 + >> libavfilter/f_interleave.c | 1 + >> libavfilter/f_latency.c | 1 + >> libavfilter/f_loop.c | 1 + >> libavfilter/f_metadata.c | 1 + >> libavfilter/f_perms.c | 1 + >> libavfilter/f_realtime.c | 1 + >> libavfilter/f_reverse.c | 1 + >> libavfilter/f_segment.c | 1 + >> libavfilter/f_select.c | 1 + >> libavfilter/f_sendcmd.c | 1 + >> libavfilter/f_sidedata.c | 1 + >> libavfilter/lut3d.h | 1 + >> libavfilter/setpts.c | 1 + >> libavfilter/settb.c | 1 + >> libavfilter/src_movie.c | 1 + >> libavfilter/trim.c | 1 + >> libavfilter/vf_aspect.c | 1 + >> libavfilter/vf_blend.c | 1 + >> libavfilter/vf_colorconstancy.c | 1 + >> libavfilter/vf_colorkey.c | 1 + >> libavfilter/vf_convolution.c | 1 + >> libavfilter/vf_convolve.c | 1 + >> libavfilter/vf_drawbox.c | 1 + >> libavfilter/vf_extractplanes.c | 1 + >> libavfilter/vf_format.c | 1 + >> libavfilter/vf_histogram.c | 1 + >> libavfilter/vf_identity.c | 1 + >> libavfilter/vf_lut.c | 1 + >> libavfilter/vf_lut2.c | 1 + >> libavfilter/vf_mix.c | 1 + >> libavfilter/vf_neighbor.c | 1 + >> libavfilter/vf_premultiply.c | 1 + >> libavfilter/vf_setparams.c | 1 + >> libavfilter/vf_stack.c | 1 + >> libavfilter/vf_xmedian.c | 1 + >> libavfilter/vsrc_testsrc.c | 1 + >> libavformat/ac3dec.c | 1 + >> libavformat/alp.c | 1 + >> libavformat/amr.c | 1 + >> libavformat/apm.c | 1 + >> libavformat/aptxdec.c | 1 + >> libavformat/argo_asf.c | 1 + >> libavformat/argo_cvg.c | 1 + >> libavformat/asfenc.c | 1 + >> libavformat/au.c | 1 + >> libavformat/av1dec.c | 1 + >> libavformat/avidec.c | 1 + >> libavformat/avienc.c | 1 + >> libavformat/bintext.c | 1 + >> libavformat/bit.c | 1 + >> libavformat/codec2.c | 1 + >> libavformat/concat.c | 1 + >> libavformat/dashenc.c | 1 + >> libavformat/demux.c | 1 + >> libavformat/file.c | 1 + >> libavformat/format.c | 1 + >> libavformat/g726.c | 1 + >> libavformat/gopher.c | 1 + >> libavformat/hashenc.c | 1 + >> libavformat/hls.c | 1 + >> libavformat/hlsenc.c | 1 + >> libavformat/http.c | 1 + >> libavformat/ilbc.c | 1 + >> libavformat/img2dec.c | 1 + >> libavformat/img2enc.c | 1 + >> libavformat/kvag.c | 1 + >> libavformat/matroskadec.c | 1 + >> libavformat/matroskaenc.c | 1 + >> libavformat/mj2kdec.c | 1 + >> libavformat/mlpdec.c | 1 + >> libavformat/mmf.c | 1 + >> libavformat/mov.c | 1 + >> libavformat/movenc.c | 1 + >> libavformat/mpeg.c | 1 + >> libavformat/mpegenc.c | 1 + >> libavformat/mpegts.c | 1 + >> libavformat/network.c | 1 + >> libavformat/oggenc.c | 1 + >> libavformat/pcmdec.c | 1 + >> libavformat/pcmenc.c | 1 + >> libavformat/rawdec.c | 1 + >> libavformat/rawenc.c | 1 + >> libavformat/rawvideodec.c | 1 + >> libavformat/riff.c | 1 + >> libavformat/rtmpproto.c | 1 + >> libavformat/rtsp.c | 1 + >> libavformat/rtspdec.c | 1 + >> libavformat/sdp.c | 1 + >> libavformat/segment.c | 1 + >> libavformat/swfenc.c | 1 + >> libavformat/voc.c | 1 + >> libavformat/wavdec.c | 1 + >> libavformat/wavenc.c | 1 + >> 204 files changed, 219 insertions(+), 2 deletions(-) > > breaks build on mingw64 here > > libavcodec/libavcodec.a(h264dec.o):h264dec.c:(.rdata+0x570): undefined reference to `ff_h264_d3d11va2_hwaccel' > libavcodec/libavcodec.a(h264dec.o):h264dec.c:(.rdata+0x590): undefined reference to `ff_h264_d3d11va_hwaccel' > libavcodec/libavcodec.a(h264dec.o):h264dec.c:(.rdata+0x5b0): undefined reference to `ff_h264_dxva2_hwaccel' > libavcodec/libavcodec.a(hevcdec.o):hevcdec.c:(.rdata+0xab0): undefined reference to `ff_hevc_d3d11va2_hwaccel' > libavcodec/libavcodec.a(hevcdec.o):hevcdec.c:(.rdata+0xad0): undefined reference to `ff_hevc_d3d11va_hwaccel' > libavcodec/libavcodec.a(hevcdec.o):hevcdec.c:(.rdata+0xaf0): undefined reference to `ff_hevc_dxva2_hwaccel' > libavcodec/libavcodec.a(mpeg12dec.o):mpeg12dec.c:(.rdata+0xc10): undefined reference to `ff_mpeg2_d3d11va2_hwaccel' > libavcodec/libavcodec.a(mpeg12dec.o):mpeg12dec.c:(.rdata+0xc30): undefined reference to `ff_mpeg2_d3d11va_hwaccel' > libavcodec/libavcodec.a(mpeg12dec.o):mpeg12dec.c:(.rdata+0xc50): undefined reference to `ff_mpeg2_dxva2_hwaccel' > libavcodec/libavcodec.a(vc1dec.o):vc1dec.c:(.rdata+0x710): undefined reference to `ff_wmv3_d3d11va2_hwaccel' > libavcodec/libavcodec.a(vc1dec.o):vc1dec.c:(.rdata+0x730): undefined reference to `ff_wmv3_d3d11va_hwaccel' > libavcodec/libavcodec.a(vc1dec.o):vc1dec.c:(.rdata+0x750): undefined reference to `ff_wmv3_dxva2_hwaccel' > libavcodec/libavcodec.a(vc1dec.o):vc1dec.c:(.rdata+0x890): undefined reference to `ff_vc1_d3d11va2_hwaccel' > libavcodec/libavcodec.a(vc1dec.o):vc1dec.c:(.rdata+0x8b0): undefined reference to `ff_vc1_d3d11va_hwaccel' > libavcodec/libavcodec.a(vc1dec.o):vc1dec.c:(.rdata+0x8d0): undefined reference to `ff_vc1_dxva2_hwaccel' > libavcodec/libavcodec.a(vp9.o):vp9.c:(.rdata+0x630): undefined reference to `ff_vp9_d3d11va2_hwaccel' > libavcodec/libavcodec.a(vp9.o):vp9.c:(.rdata+0x650): undefined reference to `ff_vp9_d3d11va_hwaccel' > libavcodec/libavcodec.a(vp9.o):vp9.c:(.rdata+0x670): undefined reference to `ff_vp9_dxva2_hwaccel' > libavcodec/libavcodec.a(h264dec.o):h264dec.c:(.rdata+0x570): undefined reference to `ff_h264_d3d11va2_hwaccel' > libavcodec/libavcodec.a(h264dec.o):h264dec.c:(.rdata+0x590): undefined reference to `ff_h264_d3d11va_hwaccel' > libavcodec/libavcodec.a(h264dec.o):h264dec.c:(.rdata+0x5b0): undefined reference to `ff_h264_dxva2_hwaccel' > libavcodec/libavcodec.a(hevcdec.o):hevcdec.c:(.rdata+0xab0): undefined reference to `ff_hevc_d3d11va2_hwaccel' > libavcodec/libavcodec.a(hevcdec.o):hevcdec.c:(.rdata+0xad0): undefined reference to `ff_hevc_d3d11va_hwaccel' > libavcodec/libavcodec.a(hevcdec.o):hevcdec.c:(.rdata+0xaf0): undefined reference to `ff_hevc_dxva2_hwaccel' > libavcodec/libavcodec.a(mpeg12dec.o):mpeg12dec.c:(.rdata+0xc10): undefined reference to `ff_mpeg2_d3d11va2_hwaccel' > libavcodec/libavcodec.a(mpeg12dec.o):mpeg12dec.c:(.rdata+0xc30): undefined reference to `ff_mpeg2_d3d11va_hwaccel' > libavcodec/libavcodec.a(mpeg12dec.o):mpeg12dec.c:(.rdata+0xc50): undefined reference to `ff_mpeg2_dxva2_hwaccel' > libavcodec/libavcodec.a(vc1dec.o):vc1dec.c:(.rdata+0x710): undefined reference to `ff_wmv3_d3d11va2_hwaccel' > libavcodec/libavcodec.a(vc1dec.o):vc1dec.c:(.rdata+0x730): undefined reference to `ff_wmv3_d3d11va_hwaccel' > libavcodec/libavcodec.a(vc1dec.o):vc1dec.c:(.rdata+0x750): undefined reference to `ff_wmv3_dxva2_hwaccel' > libavcodec/libavcodec.a(vc1dec.o):vc1dec.c:(.rdata+0x890): undefined reference to `ff_vc1_d3d11va2_hwaccel' > libavcodec/libavcodec.a(vc1dec.o):vc1dec.c:(.rdata+0x8b0): undefined reference to `ff_vc1_d3d11va_hwaccel' > libavcodec/libavcodec.a(vc1dec.o):vc1dec.c:(.rdata+0x8d0): undefined reference to `ff_vc1_dxva2_hwaccel' > libavcodec/libavcodec.a(vp9.o):vp9.c:(.rdata+0x630): undefined reference to `ff_vp9_d3d11va2_hwaccel' > libavcodec/libavcodec.a(vp9.o):vp9.c:(.rdata+0x650): undefined reference to `ff_vp9_d3d11va_hwaccel' > libavcodec/libavcodec.a(vp9.o):vp9.c:(.rdata+0x670): undefined reference to `ff_vp9_dxva2_hwaccel' > collect2: error: ld returned 1 exit status > collect2: error: ld returned 1 exit status > Makefile:127: recipe for target 'ffprobe_g.exe' failed > make: *** [ffprobe_g.exe] Error 1 > make: *** Waiting for unfinished jobs.... > Makefile:127: recipe for target 'ffmpeg_g.exe' failed > make: *** [ffmpeg_g.exe] Error 1 Thanks - I also ran into this one later and have it fixed locally. // Martin _______________________________________________ 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] 24+ messages in thread
* Re: [FFmpeg-devel] [PATCH 00/13] [RFC] Reduce unnecessary recompilation 2022-02-23 14:29 [FFmpeg-devel] [PATCH 00/13] [RFC] Reduce unnecessary recompilation Martin Storsjö ` (12 preceding siblings ...) 2022-02-23 14:29 ` [FFmpeg-devel] [PATCH 13/13] configure: Use a separate config_components.h header for $ALL_COMPONENTS Martin Storsjö @ 2022-03-11 12:17 ` Martin Storsjö 2022-03-13 21:04 ` Paul B Mahol 2022-03-14 14:23 ` Michael Niedermayer 13 siblings, 2 replies; 24+ messages in thread From: Martin Storsjö @ 2022-03-11 12:17 UTC (permalink / raw) To: ffmpeg-devel On Wed, 23 Feb 2022, Martin Storsjö wrote: > When updating the ffmpeg source, one quite often ends up in a situation > where practically all of the codebase (or all of a library) gets rebuilt, > due to updates to headers that are included in most files. > > In some cases, full rebuilds are warranted of course, but they could also > be avoided in many cases - e.g. such as if the minor/micro version of > a library has been bumped, or if a new component (codec, demuxer, filter > etc) has been enabled (or removed if reconfiguring with an older source > version). Very few source files are affected by exactly what the full > library version is, or by the full list of enabled components. > > To avoid such rebuilds, I've got a proof of concept patchset that > splits headers, so that most source files avoid including the bits that > change often and that shouldn't affect how they are built. > > - The version.h headers are split into a separate version_major.h which > contains only the major library version, and accompanying FF_API_* > defines. The main library headers only include version_major.h, and > files that need the exact version (e.g. LIB<name>_VERSION* or > LIB<name>_IDENT) can include version.h explicitly. This is a minor > break of the public API though, as definitions that used to be available > no longer are. > > This works mostly fine for most libraries, but there's little point in > splitting libavutil/version.h, because LIBAVUTIL_VERSION_INT is used > in every source file that defines an AVClass. > > By splitting version.h, and update to the minor/micro version numbers > of all libraries except avutil now would require recompiling 30 > files instead of 1653 before. > > (This change also should lower the barrier to and reduce the risk of > forgetting to bump the version numbers, which one otherwise often > postpones while working on a patch, as it forces rebuilds.) > > - config.h is split into a separate config_components.h that includes the > list of enabled/disabled components (corresponding to $ALL_COMPONENTS > in configure). One could consider splitting up config.h even more, but > that probably gives less benefit compared to the amount of churn. > > Surprisingly, a nontrivial number of source files do depend on the > state of specific encoders/decoders/components, so quite a few files > do end up requiring including config_components.h. (Also this change > can possibly break compilation of source files that require external > dependencies that I haven't tested.) > > In practice, this reduces the number of rebuilt source files from > 1979 to 193, if there's a change to the list of enabled components > but not to the rest of config.h. > > What do you think - is it worth the slight churn to avoid pointless > rebuilds? Ping - I never got any feedback on the general concept of this patchset; is either of the refactorings worthwhile? I'll post a rebased version of the patchset, which also should fix the build errors that Michael noted. (It's quite expected that the last patch, splitting up config.h, will require changes in some conditionally compiled files that haven't been included in my test builds.) // Martin _______________________________________________ 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] 24+ messages in thread
* Re: [FFmpeg-devel] [PATCH 00/13] [RFC] Reduce unnecessary recompilation 2022-03-11 12:17 ` [FFmpeg-devel] [PATCH 00/13] [RFC] Reduce unnecessary recompilation Martin Storsjö @ 2022-03-13 21:04 ` Paul B Mahol 2022-03-14 14:23 ` Michael Niedermayer 1 sibling, 0 replies; 24+ messages in thread From: Paul B Mahol @ 2022-03-13 21:04 UTC (permalink / raw) To: FFmpeg development discussions and patches LGTM _______________________________________________ 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] 24+ messages in thread
* Re: [FFmpeg-devel] [PATCH 00/13] [RFC] Reduce unnecessary recompilation 2022-03-11 12:17 ` [FFmpeg-devel] [PATCH 00/13] [RFC] Reduce unnecessary recompilation Martin Storsjö 2022-03-13 21:04 ` Paul B Mahol @ 2022-03-14 14:23 ` Michael Niedermayer 2022-03-16 12:16 ` Martin Storsjö 1 sibling, 1 reply; 24+ messages in thread From: Michael Niedermayer @ 2022-03-14 14:23 UTC (permalink / raw) To: FFmpeg development discussions and patches [-- Attachment #1.1: Type: text/plain, Size: 3480 bytes --] On Fri, Mar 11, 2022 at 02:17:42PM +0200, Martin Storsjö wrote: > On Wed, 23 Feb 2022, Martin Storsjö wrote: > > > When updating the ffmpeg source, one quite often ends up in a situation > > where practically all of the codebase (or all of a library) gets rebuilt, > > due to updates to headers that are included in most files. > > > > In some cases, full rebuilds are warranted of course, but they could also > > be avoided in many cases - e.g. such as if the minor/micro version of > > a library has been bumped, or if a new component (codec, demuxer, filter > > etc) has been enabled (or removed if reconfiguring with an older source > > version). Very few source files are affected by exactly what the full > > library version is, or by the full list of enabled components. > > > > To avoid such rebuilds, I've got a proof of concept patchset that > > splits headers, so that most source files avoid including the bits that > > change often and that shouldn't affect how they are built. > > > > - The version.h headers are split into a separate version_major.h which > > contains only the major library version, and accompanying FF_API_* > > defines. The main library headers only include version_major.h, and > > files that need the exact version (e.g. LIB<name>_VERSION* or > > LIB<name>_IDENT) can include version.h explicitly. This is a minor > > break of the public API though, as definitions that used to be available > > no longer are. > > > > This works mostly fine for most libraries, but there's little point in > > splitting libavutil/version.h, because LIBAVUTIL_VERSION_INT is used > > in every source file that defines an AVClass. > > > > By splitting version.h, and update to the minor/micro version numbers > > of all libraries except avutil now would require recompiling 30 > > files instead of 1653 before. > > > > (This change also should lower the barrier to and reduce the risk of > > forgetting to bump the version numbers, which one otherwise often > > postpones while working on a patch, as it forces rebuilds.) > > > > - config.h is split into a separate config_components.h that includes the > > list of enabled/disabled components (corresponding to $ALL_COMPONENTS > > in configure). One could consider splitting up config.h even more, but > > that probably gives less benefit compared to the amount of churn. > > > > Surprisingly, a nontrivial number of source files do depend on the > > state of specific encoders/decoders/components, so quite a few files > > do end up requiring including config_components.h. (Also this change > > can possibly break compilation of source files that require external > > dependencies that I haven't tested.) > > > > In practice, this reduces the number of rebuilt source files from > > 1979 to 193, if there's a change to the list of enabled components > > but not to the rest of config.h. > > > > What do you think - is it worth the slight churn to avoid pointless > > rebuilds? > > Ping - I never got any feedback on the general concept of this patchset; is > either of the refactorings worthwhile? I think its a good idea. Faster rebuilds & tests are always desirable thx [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB Freedom in capitalist society always remains about the same as it was in ancient Greek republics: Freedom for slave owners. -- Vladimir Lenin [-- Attachment #1.2: signature.asc --] [-- Type: application/pgp-signature, Size: 195 bytes --] [-- Attachment #2: Type: text/plain, Size: 251 bytes --] _______________________________________________ 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] 24+ messages in thread
* Re: [FFmpeg-devel] [PATCH 00/13] [RFC] Reduce unnecessary recompilation 2022-03-14 14:23 ` Michael Niedermayer @ 2022-03-16 12:16 ` Martin Storsjö 0 siblings, 0 replies; 24+ messages in thread From: Martin Storsjö @ 2022-03-16 12:16 UTC (permalink / raw) To: FFmpeg development discussions and patches On Mon, 14 Mar 2022, Michael Niedermayer wrote: > On Fri, Mar 11, 2022 at 02:17:42PM +0200, Martin Storsjö wrote: >> On Wed, 23 Feb 2022, Martin Storsjö wrote: >> >>> When updating the ffmpeg source, one quite often ends up in a situation >>> where practically all of the codebase (or all of a library) gets rebuilt, >>> due to updates to headers that are included in most files. >>> >>> In some cases, full rebuilds are warranted of course, but they could also >>> be avoided in many cases - e.g. such as if the minor/micro version of >>> a library has been bumped, or if a new component (codec, demuxer, filter >>> etc) has been enabled (or removed if reconfiguring with an older source >>> version). Very few source files are affected by exactly what the full >>> library version is, or by the full list of enabled components. >>> >>> To avoid such rebuilds, I've got a proof of concept patchset that >>> splits headers, so that most source files avoid including the bits that >>> change often and that shouldn't affect how they are built. >>> >>> - The version.h headers are split into a separate version_major.h which >>> contains only the major library version, and accompanying FF_API_* >>> defines. The main library headers only include version_major.h, and >>> files that need the exact version (e.g. LIB<name>_VERSION* or >>> LIB<name>_IDENT) can include version.h explicitly. This is a minor >>> break of the public API though, as definitions that used to be available >>> no longer are. >>> >>> This works mostly fine for most libraries, but there's little point in >>> splitting libavutil/version.h, because LIBAVUTIL_VERSION_INT is used >>> in every source file that defines an AVClass. >>> >>> By splitting version.h, and update to the minor/micro version numbers >>> of all libraries except avutil now would require recompiling 30 >>> files instead of 1653 before. >>> >>> (This change also should lower the barrier to and reduce the risk of >>> forgetting to bump the version numbers, which one otherwise often >>> postpones while working on a patch, as it forces rebuilds.) >>> >>> - config.h is split into a separate config_components.h that includes the >>> list of enabled/disabled components (corresponding to $ALL_COMPONENTS >>> in configure). One could consider splitting up config.h even more, but >>> that probably gives less benefit compared to the amount of churn. >>> >>> Surprisingly, a nontrivial number of source files do depend on the >>> state of specific encoders/decoders/components, so quite a few files >>> do end up requiring including config_components.h. (Also this change >>> can possibly break compilation of source files that require external >>> dependencies that I haven't tested.) >>> >>> In practice, this reduces the number of rebuilt source files from >>> 1979 to 193, if there's a change to the list of enabled components >>> but not to the rest of config.h. >>> >>> What do you think - is it worth the slight churn to avoid pointless >>> rebuilds? >> >> Ping - I never got any feedback on the general concept of this patchset; is >> either of the refactorings worthwhile? > > I think its a good idea. Faster rebuilds & tests are always desirable Pushed now, thanks! // Martin _______________________________________________ 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] 24+ messages in thread
end of thread, other threads:[~2022-03-16 12:16 UTC | newest] Thread overview: 24+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2022-02-23 14:29 [FFmpeg-devel] [PATCH 00/13] [RFC] Reduce unnecessary recompilation Martin Storsjö 2022-02-23 14:29 ` [FFmpeg-devel] [PATCH 01/13] libavutil: Remove leftover uses of version.h Martin Storsjö 2022-02-23 14:29 ` [FFmpeg-devel] [PATCH 02/13] libavcodec: Remove unnecessary includes " Martin Storsjö 2022-02-23 14:29 ` [FFmpeg-devel] [PATCH 03/13] libavformat: " Martin Storsjö 2022-02-23 14:29 ` [FFmpeg-devel] [PATCH 04/13] libavdevice: " Martin Storsjö 2022-02-23 14:29 ` [FFmpeg-devel] [PATCH 05/13] libavcodec: Split version.h Martin Storsjö 2022-02-25 14:34 ` Michael Niedermayer 2022-02-25 14:38 ` Martin Storsjö 2022-02-25 20:23 ` Andreas Rheinhardt 2022-02-25 20:44 ` Martin Storsjö 2022-02-23 14:29 ` [FFmpeg-devel] [PATCH 06/13] libavformat: " Martin Storsjö 2022-02-23 14:29 ` [FFmpeg-devel] [PATCH 07/13] libavdevice: " Martin Storsjö 2022-02-23 14:29 ` [FFmpeg-devel] [PATCH 08/13] libpostproc: " Martin Storsjö 2022-02-23 14:29 ` [FFmpeg-devel] [PATCH 09/13] libswresample: " Martin Storsjö 2022-02-23 14:29 ` [FFmpeg-devel] [PATCH 10/13] libswscale: " Martin Storsjö 2022-02-23 14:29 ` [FFmpeg-devel] [PATCH 11/13] libavfilter: " Martin Storsjö 2022-02-23 14:29 ` [FFmpeg-devel] [PATCH 12/13] doc: Add an entry to APIchanges about no longer implicitly including version.h Martin Storsjö 2022-02-23 14:29 ` [FFmpeg-devel] [PATCH 13/13] configure: Use a separate config_components.h header for $ALL_COMPONENTS Martin Storsjö 2022-02-24 21:22 ` Michael Niedermayer 2022-02-24 21:35 ` Martin Storsjö 2022-03-11 12:17 ` [FFmpeg-devel] [PATCH 00/13] [RFC] Reduce unnecessary recompilation Martin Storsjö 2022-03-13 21:04 ` Paul B Mahol 2022-03-14 14:23 ` Michael Niedermayer 2022-03-16 12:16 ` Martin Storsjö
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