Revision f7679c54

View differences:

Makefile
8 8

  
9 9
CFLAGS=$(OPTFLAGS) -I$(BUILD_ROOT) -I$(SRC_PATH) -I$(SRC_PATH)/libavutil \
10 10
       -I$(SRC_PATH)/libavcodec -I$(SRC_PATH)/libavformat -I$(SRC_PATH)/libswscale \
11
       -I$(SRC_PATH)/libavdevice \
11
       -I$(SRC_PATH)/libavdevice -I$(SRC_PATH)/libavfilter \
12 12
       -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_ISOC9X_SOURCE -DHAVE_AV_CONFIG_H
13 13
LDFLAGS+= -g
14 14

  
......
69 69
EXTRALIBS+=-lswscale$(BUILDSUF)
70 70
endif
71 71

  
72
ifeq ($(CONFIG_AVFILTER),yes)
73
LDFLAGS+=-L$(BUILD_ROOT)/libavfilter
74
EXTRALIBS := -lavfilter$(BUILDSUF) $(EXTRALIBS)
75
endif
76

  
72 77
MAKE-yes = $(MAKE)
73 78
MAKE-    = : $(MAKE)
74 79

  
......
81 86
	$(MAKE)                    -C libavdevice all
82 87
	$(MAKE-$(CONFIG_PP))       -C libpostproc all
83 88
	$(MAKE-$(CONFIG_SWSCALER)) -C libswscale  all
89
	$(MAKE-$(CONFIG_AVFILTER)) -C libavfilter all
84 90

  
85 91
ffmpeg_g$(EXESUF): ffmpeg.o cmdutils.o .libs
86 92
	$(CC) $(LDFLAGS) -o $@ ffmpeg.o cmdutils.o $(EXTRALIBS)
......
174 180
	$(MAKE)              -C libavdevice install-headers
175 181
	$(MAKE-$(CONFIG_PP)) -C libpostproc install-headers
176 182
	$(MAKE)              -C libswscale  install-headers
183
	$(MAKE-$(CONFIG_AVFILTER)) -C libavfilter install-headers
177 184

  
178 185
uninstall: uninstall-progs uninstall-libs uninstall-headers uninstall-man uninstall-vhook
179 186

  
......
194 201
	$(MAKE) -C libavdevice uninstall-libs
195 202
	$(MAKE) -C libpostproc uninstall-libs
196 203
	$(MAKE) -C libswscale  uninstall-libs
204
	$(MAKE) -C libavfilter uninstall-libs
197 205

  
198 206
uninstall-headers:
199 207
	$(MAKE) -C libavutil   uninstall-headers
......
202 210
	$(MAKE) -C libavdevice uninstall-headers
203 211
	$(MAKE) -C libpostproc uninstall-headers
204 212
	$(MAKE) -C libswscale  uninstall-headers
213
	$(MAKE) -C libavfilter uninstall-headers
205 214
	-rmdir "$(INCDIR)"
206 215

  
207 216
depend dep: .depend .vhookdep
......
211 220
	$(MAKE)                    -C libavdevice depend
212 221
	$(MAKE-$(CONFIG_PP))       -C libpostproc depend
213 222
	$(MAKE-$(CONFIG_SWSCALER)) -C libswscale  depend
223
	$(MAKE-$(CONFIG_AVFILTER)) -C libavfilter depend
214 224

  
215 225
.depend: $(SRCS) version.h
216 226
	$(CC) -MM $(CFLAGS) $(SDL_CFLAGS) $(filter-out %.h,$^) 1>.depend
......
231 241
	$(MAKE) -C libavdevice clean
232 242
	$(MAKE) -C libpostproc clean
233 243
	$(MAKE) -C libswscale  clean
244
	$(MAKE) -C libavfilter clean
234 245
	rm -f *.o *~ .libs gmon.out TAGS $(ALLPROGS) $(ALLPROGS_G) \
235 246
	   output_example$(EXESUF)
236 247
	rm -f doc/*.html doc/*.pod doc/*.1
......
246 257
	$(MAKE) -C libavdevice distclean
247 258
	$(MAKE) -C libpostproc distclean
248 259
	$(MAKE) -C libswscale  distclean
260
	$(MAKE) -C libavfilter distclean
249 261
	rm -f .depend .vhookdep version.h config.* *.pc
250 262

  
251 263
TAGS:
configure
72 72
  echo "                           and ffmpeg will be unredistributable [default=no]"
73 73
  echo "  --enable-pp              enable GPLed postprocessing support [default=no]"
74 74
  echo "  --enable-swscaler        software scaler support [default=no]"
75
  echo "  --enable-avfilter        video filter support (replaces vhook) [default=no]"
76
  echo "  --enable-avfilter-lavf   video filters dependant on avformat [default=no]"
75 77
  echo "  --enable-beosthreads     use BeOS threads [default=no]"
76 78
  echo "  --enable-os2threads      use OS/2 threads [default=no]"
77 79
  echo "  --enable-pthreads        use pthreads [default=no]"
......
620 622
    outdevs
621 623
    parsers
622 624
    protocols
625
    filters
623 626
"
624 627

  
625 628
CONFIG_LIST="
626 629
    $COMPONENT_LIST
630
    avfilter
631
    avfilter_lavf
627 632
    avisynth
628 633
    beos_netserver
629 634
    ffmpeg
......
851 856
tcp_protocol_deps="network"
852 857
udp_protocol_deps="network"
853 858

  
859
# filters
860
vsrc_movie_deps="avfilter_lavf"
861

  
854 862
# programs
855 863
ffplay_deps="sdl"
856 864
ffserver_deps="ffm_muxer rtp_protocol rtsp_demuxer"
......
965 973
OUTDEV_LIST=$(find_things   muxer    _MUX     libavdevice/alldevices.c)
966 974
INDEV_LIST=$(find_things    demuxer  DEMUX    libavdevice/alldevices.c)
967 975
PROTOCOL_LIST=$(find_things protocol PROTOCOL libavformat/allformats.c)
976
VIDEO_FILTER_LIST=$(find_things vf_ VF_ libavfilter/allfilters.c)
977
SRC_FILTER_LIST=$(find_things vsrc_ VSRC_ libavfilter/allfilters.c)
978
FILTER_LIST="$SRC_FILTER_LIST $VIDEO_FILTER_LIST"
968 979

  
969 980
enable $ARCH_EXT_LIST \
970 981
       $DECODER_LIST \
......
973 984
       $BSF_LIST \
974 985
       $DEMUXER_LIST \
975 986
       $MUXER_LIST \
987
       $FILTER_LIST \
976 988
       $PROTOCOL_LIST \
977 989
       $INDEV_LIST \
978 990
       $OUTDEV_LIST \
......
1041 1053
    ;;
1042 1054
    --disable-muxers) disable $MUXER_LIST
1043 1055
    ;;
1056
    --disable-filters) disable $FILTER_LIST
1057
    ;;
1044 1058
    --disable-demuxers) disable $DEMUXER_LIST
1045 1059
    ;;
1046 1060
    --disable-parsers) disable $PARSER_LIST
......
1055 1069
    eval `echo "$opt" | sed 's/=/-/;s/--/action=/;s/-/ thing=/;s/-/ name=/'`
1056 1070
    case "$thing" in
1057 1071
        encoder|decoder|muxer|demuxer|parser|bsf|protocol) $action ${optval}_${thing} ;;
1072
        filter) $action ${optval} ;;
1058 1073
        *) die_unknown "$opt" ;;
1059 1074
    esac
1060 1075
    ;;
......
1838 1853
enabled_any $BSF_LIST          && enable bsfs
1839 1854
enabled_any $DEMUXER_LIST      && enable demuxers
1840 1855
enabled_any $MUXER_LIST        && enable muxers
1856
enabled_any $FILTER_LIST       && enable filters
1841 1857
enabled_any $INDEV_LIST        && enable demuxers
1842 1858
enabled_any $OUTDEV_LIST       && enable muxers
1843 1859
enabled_any $PROTOCOL_LIST     && enable protocols
......
1852 1868
           $BSF_LIST          \
1853 1869
           $DEMUXER_LIST      \
1854 1870
           $MUXER_LIST        \
1871
           $FILTER_LIST       \
1855 1872
           $INDEV_LIST        \
1856 1873
           $OUTDEV_LIST       \
1857 1874
           $PROTOCOL_LIST     \
......
1897 1914
echo "shared                    ${shared-no}"
1898 1915
echo "postprocessing support    ${pp-no}"
1899 1916
echo "software scaler enabled   ${swscaler-no}"
1917
echo "new filter support        ${avfilter-no}"
1918
echo "filters using lavformat   ${avfilter-lavf-no}"
1900 1919
echo "video hooking             ${vhook-no}"
1901 1920
if enabled vhook; then
1902 1921
    echo "Imlib2 support            ${imlib2-no}"
......
1930 1949
echo "XviD enabled              ${libxvid-no}"
1931 1950
echo "zlib enabled              ${zlib-no}"
1932 1951

  
1933
for type in decoder encoder parser demuxer muxer protocol bsf indev outdev; do
1952
for type in decoder encoder parser demuxer muxer protocol filter bsf indev outdev; do
1934 1953
    echo "Enabled ${type}s:"
1935 1954
    ucname="\$`toupper $type`_LIST"
1936 1955
    list="`eval echo $ucname`"
......
2019 2038
get_version LIBAVDEVICE libavdevice/avdevice.h
2020 2039
get_version LIBAVFORMAT libavformat/avformat.h
2021 2040
get_version LIBAVUTIL   libavutil/avutil.h
2041
lavfi_version=$(get_version LIBAVFILTER   libavfilter/avfilter.h)
2022 2042

  
2023 2043
if enabled shared; then
2024 2044
    echo "BUILD_SHARED=yes" >> config.mak
......
2033 2053
    echo "LAVFVERSION=$LIBAVFORMAT_VERSION" >> config.mak
2034 2054
    echo "LAVUMAJOR=$LIBAVUTIL_VERSION_MAJOR" >> config.mak
2035 2055
    echo "LAVUVERSION=$LIBAVUTIL_VERSION" >> config.mak
2056
    echo "LAVFIMAJOR=$LIBAVFILTER_VERSION_MAJOR" >> config.mak
2057
    echo "LAVFIVERSION=$LIBAVFILTER_VERSION" >> config.mak
2036 2058
    echo "SWSMAJOR=$LIBSWSCALE_VERSION_MAJOR" >> config.mak
2037 2059
    echo "SWSVERSION=$LIBSWSCALE_VERSION" >> config.mak
2038 2060
    echo "SLIBNAME=${SLIBNAME}" >> config.mak
......
2055 2077
                                      $BSF_LIST          \
2056 2078
                                      $DEMUXER_LIST      \
2057 2079
                                      $MUXER_LIST        \
2080
                                      $FILTER_LIST       \
2058 2081
                                      $PROTOCOL_LIST     \
2059 2082
                                      $INDEV_LIST        \
2060 2083
                                      $OUTDEV_LIST       \
......
2098 2121
        libavcodec/sh4    \
2099 2122
        libavcodec/sparc  \
2100 2123
        libavdevice       \
2124
        libavfilter       \
2101 2125
        libavformat       \
2102 2126
        libavutil         \
2103 2127
        libpostproc       \
......
2112 2136
        doc/texi2pod.pl      \
2113 2137
        libavcodec/Makefile  \
2114 2138
        libavdevice/Makefile \
2139
        libavfilter/Makefile \
2115 2140
        libavformat/Makefile \
2116 2141
        libavutil/Makefile   \
2117 2142
        libpostproc/Makefile \
......
2199 2224
    apply libswscale.pc sed s/^Libs:.*$/Libs:/
2200 2225
    apply libswscale-uninstalled.pc sed s/^Libs:.*$/Libs:/
2201 2226
fi
2227

  
2228
if enabled avfilter; then
2229
  pkgconfig_generate libavfilter "FFmpeg video filtering library" "$avfilter_version" "-lavfilter $extralibs" "$pkg_requires libavutil = $lavu=version" ffmpeg
2230
  pkgconfig_generate_uninstalled libavfilter "FFmpeg video filtering library" "$avfilter_version" "$extralibs" "$pkg_requires libavutil = $libavu_version"
2231
fi

Also available in: Unified diff