Andreas Rheinhardt: > This avoids having to rebuild big files every time FFMPEG_VERSION > changes (which it does with every commit). > > Signed-off-by: Andreas Rheinhardt <andreas.rheinha...@outlook.com> > --- > Makefile | 4 ++- > ffbuild/common.mak | 2 -- > libavcodec/Makefile | 1 + > libavcodec/avcodec.c | 25 -------------- > libavcodec/version.c | 50 +++++++++++++++++++++++++++ > libavdevice/Makefile | 1 + > libavdevice/avdevice.c | 24 ------------- > libavdevice/version.c | 45 ++++++++++++++++++++++++ > libavfilter/Makefile | 1 + > libavfilter/avfilter.c | 23 ------------ > libavfilter/version.c | 44 +++++++++++++++++++++++ > libavformat/Makefile | 1 + > libavformat/utils.c | 21 ----------- > libavformat/version.c | 45 ++++++++++++++++++++++++ > libavutil/Makefile | 1 + > libavutil/utils.c | 43 ----------------------- > libavutil/version.c | 71 ++++++++++++++++++++++++++++++++++++++ > libpostproc/Makefile | 3 +- > libpostproc/postprocess.c | 21 ----------- > libpostproc/version.c | 44 +++++++++++++++++++++++ > libswresample/Makefile | 1 + > libswresample/swresample.c | 21 ----------- > libswresample/version.c | 45 ++++++++++++++++++++++++ > libswscale/Makefile | 1 + > libswscale/utils.c | 20 ----------- > libswscale/version.c | 41 ++++++++++++++++++++++ > 26 files changed, 397 insertions(+), 202 deletions(-) > create mode 100644 libavcodec/version.c > create mode 100644 libavdevice/version.c > create mode 100644 libavfilter/version.c > create mode 100644 libavformat/version.c > create mode 100644 libavutil/version.c > create mode 100644 libpostproc/version.c > create mode 100644 libswresample/version.c > create mode 100644 libswscale/version.c > > diff --git a/Makefile b/Makefile > index 48cfb6e240..f38b521765 100644 > --- a/Makefile > +++ b/Makefile > @@ -19,6 +19,8 @@ vpath %/fate_config.sh.template $(SRC_PATH) > TESTTOOLS = audiogen videogen rotozoom tiny_psnr tiny_ssim base64 > audiomatch > HOSTPROGS := $(TESTTOOLS:%=tests/%) doc/print_options > > +ALLFFLIBS = avcodec avdevice avfilter avformat avutil postproc swscale > swresample > + > # $(FFLIBS-yes) needs to be in linking order > FFLIBS-$(CONFIG_AVDEVICE) += avdevice > FFLIBS-$(CONFIG_AVFILTER) += avfilter > @@ -113,7 +115,7 @@ include $(SRC_PATH)/fftools/Makefile > include $(SRC_PATH)/doc/Makefile > include $(SRC_PATH)/doc/examples/Makefile > > -libavcodec/avcodec.o libavformat/utils.o libavdevice/avdevice.o > libavfilter/avfilter.o libavutil/utils.o libpostproc/postprocess.o > libswresample/swresample.o libswscale/utils.o : libavutil/ffversion.h > +$(ALLFFLIBS:%=lib%/version.o): libavutil/ffversion.h > > $(PROGS): %$(PROGSSUF)$(EXESUF): %$(PROGSSUF)_g$(EXESUF) > ifeq ($(STRIPTYPE),direct) > diff --git a/ffbuild/common.mak b/ffbuild/common.mak > index 42f7b23641..24113c59eb 100644 > --- a/ffbuild/common.mak > +++ b/ffbuild/common.mak > @@ -29,8 +29,6 @@ $(foreach VAR,$(SILENT),$(eval override $(VAR) = > @$($(VAR)))) > $(eval INSTALL = @$(call ECHO,INSTALL,$$(^:$(SRC_DIR)/%=%)); $(INSTALL)) > endif > > -ALLFFLIBS = avcodec avdevice avfilter avformat avutil postproc swscale > swresample > - > # NASM requires -I path terminated with / > IFLAGS := -I. -I$(SRC_LINK)/ > CPPFLAGS := $(IFLAGS) $(CPPFLAGS) > diff --git a/libavcodec/Makefile b/libavcodec/Makefile > index cfaa6f196a..1b60e0e1d4 100644 > --- a/libavcodec/Makefile > +++ b/libavcodec/Makefile > @@ -56,6 +56,7 @@ OBJS = ac3_parser.o > \ > qsv_api.o \ > raw.o \ > utils.o \ > + version.o \ > vlc.o \ > vorbis_parser.o \ > xiph.o \ > diff --git a/libavcodec/avcodec.c b/libavcodec/avcodec.c > index d11f035481..8afb6cd62e 100644 > --- a/libavcodec/avcodec.c > +++ b/libavcodec/avcodec.c > @@ -40,31 +40,6 @@ > #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; > - > -unsigned avcodec_version(void) > -{ > - av_assert0(AV_CODEC_ID_PCM_S8_PLANAR==65563); > - av_assert0(AV_CODEC_ID_ADPCM_G722==69660); > - av_assert0(AV_CODEC_ID_SRT==94216); > - av_assert0(LIBAVCODEC_VERSION_MICRO >= 100); > - > - return LIBAVCODEC_VERSION_INT; > -} > - > -const char *avcodec_configuration(void) > -{ > - return FFMPEG_CONFIGURATION; > -} > - > -const char *avcodec_license(void) > -{ > -#define LICENSE_PREFIX "libavcodec license: " > - return &LICENSE_PREFIX FFMPEG_LICENSE[sizeof(LICENSE_PREFIX) - 1]; > -} > > int avcodec_default_execute(AVCodecContext *c, int (*func)(AVCodecContext > *c2, void *arg2), void *arg, int *ret, int count, int size) > { > diff --git a/libavcodec/version.c b/libavcodec/version.c > new file mode 100644 > index 0000000000..d7966b2015 > --- /dev/null > +++ b/libavcodec/version.c > @@ -0,0 +1,50 @@ > +/* > + * Version functions. > + * > + * 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 > + */ > + > +#include "config.h" > + > +#include "libavutil/avassert.h" > +#include "avcodec.h" > +#include "codec_id.h" > +#include "version.h" > + > +#include "libavutil/ffversion.h" > +const char av_codec_ffversion[] = "FFmpeg version " FFMPEG_VERSION; > + > +unsigned avcodec_version(void) > +{ > + av_assert0(AV_CODEC_ID_PCM_S8_PLANAR==65563); > + av_assert0(AV_CODEC_ID_ADPCM_G722==69660); > + av_assert0(AV_CODEC_ID_SRT==94216); > + av_assert0(LIBAVCODEC_VERSION_MICRO >= 100); > + > + return LIBAVCODEC_VERSION_INT; > +} > + > +const char *avcodec_configuration(void) > +{ > + return FFMPEG_CONFIGURATION; > +} > + > +const char *avcodec_license(void) > +{ > +#define LICENSE_PREFIX "libavcodec license: " > + return &LICENSE_PREFIX FFMPEG_LICENSE[sizeof(LICENSE_PREFIX) - 1]; > +} > diff --git a/libavdevice/Makefile b/libavdevice/Makefile > index 99fea7133a..bbe2f69dcc 100644 > --- a/libavdevice/Makefile > +++ b/libavdevice/Makefile > @@ -8,6 +8,7 @@ HEADERS = avdevice.h > \ > OBJS = alldevices.o \ > avdevice.o \ > utils.o \ > + version.o \ > > OBJS-$(HAVE_LIBC_MSVCRT) += file_open.o > > diff --git a/libavdevice/avdevice.c b/libavdevice/avdevice.c > index 833d200054..b4fb272eb6 100644 > --- a/libavdevice/avdevice.c > +++ b/libavdevice/avdevice.c > @@ -17,15 +17,8 @@ > */ > > #include "libavutil/avassert.h" > -#include "libavutil/samplefmt.h" > -#include "libavutil/pixfmt.h" > #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; > > #if FF_API_DEVICE_CAPABILITIES > const AVOption av_device_capabilities[] = { > @@ -33,23 +26,6 @@ const AVOption av_device_capabilities[] = { > }; > #endif > > -unsigned avdevice_version(void) > -{ > - av_assert0(LIBAVDEVICE_VERSION_MICRO >= 100); > - return LIBAVDEVICE_VERSION_INT; > -} > - > -const char * avdevice_configuration(void) > -{ > - return FFMPEG_CONFIGURATION; > -} > - > -const char * avdevice_license(void) > -{ > -#define LICENSE_PREFIX "libavdevice license: " > - return &LICENSE_PREFIX FFMPEG_LICENSE[sizeof(LICENSE_PREFIX) - 1]; > -} > - > int avdevice_app_to_dev_control_message(struct AVFormatContext *s, enum > AVAppToDevMessageType type, > void *data, size_t data_size) > { > diff --git a/libavdevice/version.c b/libavdevice/version.c > new file mode 100644 > index 0000000000..92d7f2d159 > --- /dev/null > +++ b/libavdevice/version.c > @@ -0,0 +1,45 @@ > +/* > + * Version functions. > + * > + * 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 > + */ > + > +#include "config.h" > + > +#include "libavutil/avassert.h" > +#include "avdevice.h" > +#include "version.h" > + > +#include "libavutil/ffversion.h" > +const char av_device_ffversion[] = "FFmpeg version " FFMPEG_VERSION; > + > +unsigned avdevice_version(void) > +{ > + av_assert0(LIBAVDEVICE_VERSION_MICRO >= 100); > + return LIBAVDEVICE_VERSION_INT; > +} > + > +const char * avdevice_configuration(void) > +{ > + return FFMPEG_CONFIGURATION; > +} > + > +const char * avdevice_license(void) > +{ > +#define LICENSE_PREFIX "libavdevice license: " > + return &LICENSE_PREFIX FFMPEG_LICENSE[sizeof(LICENSE_PREFIX) - 1]; > +} > diff --git a/libavfilter/Makefile b/libavfilter/Makefile > index 41bab96aab..ee2ea51e69 100644 > --- a/libavfilter/Makefile > +++ b/libavfilter/Makefile > @@ -20,6 +20,7 @@ OBJS = allfilters.o > \ > framequeue.o \ > graphdump.o \ > graphparser.o \ > + version.o \ > video.o \ > > OBJS-$(HAVE_THREADS) += pthread.o > diff --git a/libavfilter/avfilter.c b/libavfilter/avfilter.c > index a6d486bd66..a987dfe7b4 100644 > --- a/libavfilter/avfilter.c > +++ b/libavfilter/avfilter.c > @@ -29,10 +29,8 @@ > #include "libavutil/hwcontext.h" > #include "libavutil/internal.h" > #include "libavutil/opt.h" > -#include "libavutil/pixdesc.h" > #include "libavutil/rational.h" > #include "libavutil/samplefmt.h" > -#include "libavutil/thread.h" > > #define FF_INTERNAL_FIELDS 1 > #include "framequeue.h" > @@ -43,10 +41,6 @@ > #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; > > static void tlog_ref(void *ctx, AVFrame *ref, int end) > { > @@ -75,23 +69,6 @@ static void tlog_ref(void *ctx, AVFrame *ref, int end) > ff_tlog(ctx, "]%s", end ? "\n" : ""); > } > > -unsigned avfilter_version(void) > -{ > - av_assert0(LIBAVFILTER_VERSION_MICRO >= 100); > - return LIBAVFILTER_VERSION_INT; > -} > - > -const char *avfilter_configuration(void) > -{ > - return FFMPEG_CONFIGURATION; > -} > - > -const char *avfilter_license(void) > -{ > -#define LICENSE_PREFIX "libavfilter license: " > - return &LICENSE_PREFIX FFMPEG_LICENSE[sizeof(LICENSE_PREFIX) - 1]; > -} > - > void ff_command_queue_pop(AVFilterContext *filter) > { > AVFilterCommand *c= filter->command_queue; > diff --git a/libavfilter/version.c b/libavfilter/version.c > new file mode 100644 > index 0000000000..db1a2511e7 > --- /dev/null > +++ b/libavfilter/version.c > @@ -0,0 +1,44 @@ > +/* > + * Version functions. > + * > + * 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 > + */ > + > +#include "config.h" > +#include "libavutil/avassert.h" > +#include "avfilter.h" > +#include "version.h" > + > +#include "libavutil/ffversion.h" > +const char av_filter_ffversion[] = "FFmpeg version " FFMPEG_VERSION; > + > +unsigned avfilter_version(void) > +{ > + av_assert0(LIBAVFILTER_VERSION_MICRO >= 100); > + return LIBAVFILTER_VERSION_INT; > +} > + > +const char *avfilter_configuration(void) > +{ > + return FFMPEG_CONFIGURATION; > +} > + > +const char *avfilter_license(void) > +{ > +#define LICENSE_PREFIX "libavfilter license: " > + return &LICENSE_PREFIX FFMPEG_LICENSE[sizeof(LICENSE_PREFIX) - 1]; > +} > diff --git a/libavformat/Makefile b/libavformat/Makefile > index f16634a418..537f5a1124 100644 > --- a/libavformat/Makefile > +++ b/libavformat/Makefile > @@ -25,6 +25,7 @@ OBJS = allformats.o \ > seek.o \ > url.o \ > utils.o \ > + version.o \ > > OBJS-$(HAVE_LIBC_MSVCRT) += file_open.o > > diff --git a/libavformat/utils.c b/libavformat/utils.c > index 3f253c2045..19f5ae720c 100644 > --- a/libavformat/utils.c > +++ b/libavformat/utils.c > @@ -46,10 +46,6 @@ > #if CONFIG_NETWORK > #include "network.h" > #endif > -#include "version.h" > - > -#include "libavutil/ffversion.h" > -const char av_format_ffversion[] = "FFmpeg version " FFMPEG_VERSION; > > static AVMutex avformat_mutex = AV_MUTEX_INITIALIZER; > > @@ -58,23 +54,6 @@ static AVMutex avformat_mutex = AV_MUTEX_INITIALIZER; > * various utility functions for use within FFmpeg > */ > > -unsigned avformat_version(void) > -{ > - av_assert0(LIBAVFORMAT_VERSION_MICRO >= 100); > - return LIBAVFORMAT_VERSION_INT; > -} > - > -const char *avformat_configuration(void) > -{ > - return FFMPEG_CONFIGURATION; > -} > - > -const char *avformat_license(void) > -{ > -#define LICENSE_PREFIX "libavformat license: " > - return &LICENSE_PREFIX FFMPEG_LICENSE[sizeof(LICENSE_PREFIX) - 1]; > -} > - > int ff_lock_avformat(void) > { > return ff_mutex_lock(&avformat_mutex) ? -1 : 0; > diff --git a/libavformat/version.c b/libavformat/version.c > new file mode 100644 > index 0000000000..5f321d847e > --- /dev/null > +++ b/libavformat/version.c > @@ -0,0 +1,45 @@ > +/* > + * Version functions. > + * > + * 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 > + */ > + > +#include "config.h" > + > +#include "libavutil/avassert.h" > +#include "avformat.h" > +#include "version.h" > + > +#include "libavutil/ffversion.h" > +const char av_format_ffversion[] = "FFmpeg version " FFMPEG_VERSION; > + > +unsigned avformat_version(void) > +{ > + av_assert0(LIBAVFORMAT_VERSION_MICRO >= 100); > + return LIBAVFORMAT_VERSION_INT; > +} > + > +const char *avformat_configuration(void) > +{ > + return FFMPEG_CONFIGURATION; > +} > + > +const char *avformat_license(void) > +{ > +#define LICENSE_PREFIX "libavformat license: " > + return &LICENSE_PREFIX FFMPEG_LICENSE[sizeof(LICENSE_PREFIX) - 1]; > +} > diff --git a/libavutil/Makefile b/libavutil/Makefile > index 81df3b0640..234de62a4b 100644 > --- a/libavutil/Makefile > +++ b/libavutil/Makefile > @@ -174,6 +174,7 @@ OBJS = adler32.o > \ > tx_float.o \ > tx_double.o \ > tx_int32.o \ > + version.o \ > video_enc_params.o \ > film_grain_params.o \ > > diff --git a/libavutil/utils.c b/libavutil/utils.c > index ea9b5097b8..94d247bbee 100644 > --- a/libavutil/utils.c > +++ b/libavutil/utils.c > @@ -19,55 +19,12 @@ > #include "config.h" > #include "avutil.h" > #include "avassert.h" > -#include "samplefmt.h" > -#include "internal.h" > > /** > * @file > * various utility functions > */ > > -#include "libavutil/ffversion.h" > -const char av_util_ffversion[] = "FFmpeg version " FFMPEG_VERSION; > - > -const char *av_version_info(void) > -{ > - return FFMPEG_VERSION; > -} > - > -unsigned avutil_version(void) > -{ > - av_assert0(AV_SAMPLE_FMT_DBLP == 9); > - av_assert0(AVMEDIA_TYPE_ATTACHMENT == 4); > - av_assert0(AV_PICTURE_TYPE_BI == 7); > - av_assert0(LIBAVUTIL_VERSION_MICRO >= 100); > - av_assert0(HAVE_MMX2 == HAVE_MMXEXT); > - > - av_assert0(((size_t)-1) > 0); // C guarantees this but if false on a > platform we care about revert at least > b284e1ffe343d6697fb950d1ee517bafda8a9844 > - > - if (av_sat_dadd32(1, 2) != 5) { > - av_log(NULL, AV_LOG_FATAL, "Libavutil has been built with a broken > binutils, please upgrade binutils and rebuild\n"); > - abort(); > - } > - > - if (llrint(1LL<<60) != 1LL<<60) { > - av_log(NULL, AV_LOG_ERROR, "Libavutil has been linked to a broken > llrint()\n"); > - } > - > - return LIBAVUTIL_VERSION_INT; > -} > - > -const char *avutil_configuration(void) > -{ > - return FFMPEG_CONFIGURATION; > -} > - > -const char *avutil_license(void) > -{ > -#define LICENSE_PREFIX "libavutil license: " > - return &LICENSE_PREFIX FFMPEG_LICENSE[sizeof(LICENSE_PREFIX) - 1]; > -} > - > const char *av_get_media_type_string(enum AVMediaType media_type) > { > switch (media_type) { > diff --git a/libavutil/version.c b/libavutil/version.c > new file mode 100644 > index 0000000000..b0f4f94a7a > --- /dev/null > +++ b/libavutil/version.c > @@ -0,0 +1,71 @@ > +/* > + * Version functions. > + * > + * 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 > + */ > + > +#include <stdlib.h> > + > +#include "config.h" > +#include "avassert.h" > +#include "avutil.h" > +#include "common.h" > +#include "libm.h" > +#include "log.h" > +#include "samplefmt.h" > +#include "version.h" > + > +#include "libavutil/ffversion.h" > +const char av_util_ffversion[] = "FFmpeg version " FFMPEG_VERSION; > + > +const char *av_version_info(void) > +{ > + return FFMPEG_VERSION; > +} > + > +unsigned avutil_version(void) > +{ > + av_assert0(AV_SAMPLE_FMT_DBLP == 9); > + av_assert0(AVMEDIA_TYPE_ATTACHMENT == 4); > + av_assert0(AV_PICTURE_TYPE_BI == 7); > + av_assert0(LIBAVUTIL_VERSION_MICRO >= 100); > + av_assert0(HAVE_MMX2 == HAVE_MMXEXT); > + > + av_assert0(((size_t)-1) > 0); // C guarantees this but if false on a > platform we care about revert at least > b284e1ffe343d6697fb950d1ee517bafda8a9844 > + > + if (av_sat_dadd32(1, 2) != 5) { > + av_log(NULL, AV_LOG_FATAL, "Libavutil has been built with a broken > binutils, please upgrade binutils and rebuild\n"); > + abort(); > + } > + > + if (llrint(1LL<<60) != 1LL<<60) { > + av_log(NULL, AV_LOG_ERROR, "Libavutil has been linked to a broken > llrint()\n"); > + } > + > + return LIBAVUTIL_VERSION_INT; > +} > + > +const char *avutil_configuration(void) > +{ > + return FFMPEG_CONFIGURATION; > +} > + > +const char *avutil_license(void) > +{ > +#define LICENSE_PREFIX "libavutil license: " > + return &LICENSE_PREFIX FFMPEG_LICENSE[sizeof(LICENSE_PREFIX) - 1]; > +} > diff --git a/libpostproc/Makefile b/libpostproc/Makefile > index f7debb8eeb..d3f3b27f35 100644 > --- a/libpostproc/Makefile > +++ b/libpostproc/Makefile > @@ -6,7 +6,8 @@ HEADERS = postprocess.h \ > version.h \ > version_major.h \ > > -OBJS = postprocess.o > +OBJS = postprocess.o \ > + version.o \ > > # Windows resource file > SLIBOBJS-$(HAVE_GNU_WINDRES) += postprocres.o > diff --git a/libpostproc/postprocess.c b/libpostproc/postprocess.c > index b954dc2eaa..383c691cb4 100644 > --- a/libpostproc/postprocess.c > +++ b/libpostproc/postprocess.c > @@ -89,30 +89,9 @@ 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" > > -#include "libavutil/ffversion.h" > -const char postproc_ffversion[] = "FFmpeg version " FFMPEG_VERSION; > - > -unsigned postproc_version(void) > -{ > - av_assert0(LIBPOSTPROC_VERSION_MICRO >= 100); > - return LIBPOSTPROC_VERSION_INT; > -} > - > -const char *postproc_configuration(void) > -{ > - return FFMPEG_CONFIGURATION; > -} > - > -const char *postproc_license(void) > -{ > -#define LICENSE_PREFIX "libpostproc license: " > - return &LICENSE_PREFIX FFMPEG_LICENSE[sizeof(LICENSE_PREFIX) - 1]; > -} > - > #define GET_MODE_BUFFER_SIZE 500 > #define OPTIONS_ARRAY_SIZE 10 > #define BLOCK_SIZE 8 > diff --git a/libpostproc/version.c b/libpostproc/version.c > new file mode 100644 > index 0000000000..494575ae67 > --- /dev/null > +++ b/libpostproc/version.c > @@ -0,0 +1,44 @@ > +/* > + * Version functions. > + * > + * 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 > + */ > + > +#include "config.h" > +#include "libavutil/avassert.h" > +#include "postprocess.h" > +#include "version.h" > + > +#include "libavutil/ffversion.h" > +const char postproc_ffversion[] = "FFmpeg version " FFMPEG_VERSION; > + > +unsigned postproc_version(void) > +{ > + av_assert0(LIBPOSTPROC_VERSION_MICRO >= 100); > + return LIBPOSTPROC_VERSION_INT; > +} > + > +const char *postproc_configuration(void) > +{ > + return FFMPEG_CONFIGURATION; > +} > + > +const char *postproc_license(void) > +{ > +#define LICENSE_PREFIX "libpostproc license: " > + return &LICENSE_PREFIX FFMPEG_LICENSE[sizeof(LICENSE_PREFIX) - 1]; > +} > diff --git a/libswresample/Makefile b/libswresample/Makefile > index b74ee20987..dc80027c35 100644 > --- a/libswresample/Makefile > +++ b/libswresample/Makefile > @@ -14,6 +14,7 @@ OBJS = audioconvert.o \ > resample_dsp.o \ > swresample.o \ > swresample_frame.o \ > + version.o \ > > OBJS-$(CONFIG_LIBSOXR) += soxr_resample.o > > diff --git a/libswresample/swresample.c b/libswresample/swresample.c > index be59b69b73..9b77ef65bf 100644 > --- a/libswresample/swresample.c > +++ b/libswresample/swresample.c > @@ -24,32 +24,11 @@ > #include "libavutil/avassert.h" > #include "libavutil/channel_layout.h" > #include "libavutil/internal.h" > -#include "version.h" > > #include <float.h> > > #define ALIGN 32 > > -#include "libavutil/ffversion.h" > -const char swr_ffversion[] = "FFmpeg version " FFMPEG_VERSION; > - > -unsigned swresample_version(void) > -{ > - av_assert0(LIBSWRESAMPLE_VERSION_MICRO >= 100); > - return LIBSWRESAMPLE_VERSION_INT; > -} > - > -const char *swresample_configuration(void) > -{ > - return FFMPEG_CONFIGURATION; > -} > - > -const char *swresample_license(void) > -{ > -#define LICENSE_PREFIX "libswresample license: " > - return &LICENSE_PREFIX FFMPEG_LICENSE[sizeof(LICENSE_PREFIX) - 1]; > -} > - > int swr_set_channel_mapping(struct SwrContext *s, const int *channel_map){ > if(!s || s->in_convert) // s needs to be allocated but not initialized > return AVERROR(EINVAL); > diff --git a/libswresample/version.c b/libswresample/version.c > new file mode 100644 > index 0000000000..00f71e3393 > --- /dev/null > +++ b/libswresample/version.c > @@ -0,0 +1,45 @@ > +/* > + * Version functions. > + * > + * 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 > + */ > + > +#include "config.h" > +#include "libavutil/avassert.h" > +#include "swresample.h" > +#include "version.h" > + > +#include "libavutil/ffversion.h" > +const char swr_ffversion[] = "FFmpeg version " FFMPEG_VERSION; > + > +unsigned swresample_version(void) > +{ > + av_assert0(LIBSWRESAMPLE_VERSION_MICRO >= 100); > + return LIBSWRESAMPLE_VERSION_INT; > +} > + > +const char *swresample_configuration(void) > +{ > + return FFMPEG_CONFIGURATION; > +} > + > +const char *swresample_license(void) > +{ > +#define LICENSE_PREFIX "libswresample license: " > + return &LICENSE_PREFIX FFMPEG_LICENSE[sizeof(LICENSE_PREFIX) - 1]; > +} > + > diff --git a/libswscale/Makefile b/libswscale/Makefile > index 1f02b56421..8e95f74c6b 100644 > --- a/libswscale/Makefile > +++ b/libswscale/Makefile > @@ -17,6 +17,7 @@ OBJS = alphablend.o \ > swscale.o \ > swscale_unscaled.o \ > utils.o \ > + version.o \ > yuv2rgb.o \ > vscale.o \ > > diff --git a/libswscale/utils.c b/libswscale/utils.c > index e86c151f67..ffa130524a 100644 > --- a/libswscale/utils.c > +++ b/libswscale/utils.c > @@ -40,8 +40,6 @@ > > #include "libavutil/attributes.h" > #include "libavutil/avassert.h" > -#include "libavutil/avutil.h" > -#include "libavutil/bswap.h" > #include "libavutil/cpu.h" > #include "libavutil/imgutils.h" > #include "libavutil/intreadwrite.h" > @@ -59,7 +57,6 @@ > #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); > @@ -68,23 +65,6 @@ static void sws_printVec2(SwsVector *a, AVClass *log_ctx, > int log_level); > > static void handle_formats(SwsContext *c); > > -unsigned swscale_version(void) > -{ > - av_assert0(LIBSWSCALE_VERSION_MICRO >= 100); > - return LIBSWSCALE_VERSION_INT; > -} > - > -const char *swscale_configuration(void) > -{ > - return FFMPEG_CONFIGURATION; > -} > - > -const char *swscale_license(void) > -{ > -#define LICENSE_PREFIX "libswscale license: " > - return &LICENSE_PREFIX FFMPEG_LICENSE[sizeof(LICENSE_PREFIX) - 1]; > -} > - > typedef struct FormatEntry { > uint8_t is_supported_in :1; > uint8_t is_supported_out :1; > diff --git a/libswscale/version.c b/libswscale/version.c > new file mode 100644 > index 0000000000..b165e2563e > --- /dev/null > +++ b/libswscale/version.c > @@ -0,0 +1,41 @@ > +/* > + * Version functions. > + * > + * 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 > + */ > + > +#include "config.h" > +#include "libavutil/avassert.h" > +#include "swscale.h" > +#include "version.h" > + > +unsigned swscale_version(void) > +{ > + av_assert0(LIBSWSCALE_VERSION_MICRO >= 100); > + return LIBSWSCALE_VERSION_INT; > +} > + > +const char *swscale_configuration(void) > +{ > + return FFMPEG_CONFIGURATION; > +} > + > +const char *swscale_license(void) > +{ > +#define LICENSE_PREFIX "libswscale license: " > + return &LICENSE_PREFIX FFMPEG_LICENSE[sizeof(LICENSE_PREFIX) - 1]; > +}
Will apply this patchset tomorrow unless there are objections. - Andreas _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".