Browse code

Add hwaccel configury. This generates CONFIG_<CODEC>_<HWACCEL>_HWACCEL from registered HW accelerated codecs with REGISTER_HWACCEL().

Originally committed as revision 18311 to svn://svn.ffmpeg.org/ffmpeg/trunk

Gwenole Beauchesne authored on 2009/04/02 17:48:06
Showing 2 changed files
... ...
@@ -109,6 +109,9 @@ show_help(){
109 109
   echo "  --disable-decoder=NAME   disable decoder NAME"
110 110
   echo "  --enable-decoder=NAME    enable decoder NAME"
111 111
   echo "  --disable-decoders       disable all decoders"
112
+  echo "  --disable-hwaccel=NAME   disable hwaccel NAME"
113
+  echo "  --enable-hwaccel=NAME    enable hwaccel NAME"
114
+  echo "  --disable-hwaccels       disable all hwaccels"
112 115
   echo "  --disable-muxer=NAME     disable muxer NAME"
113 116
   echo "  --enable-muxer=NAME      enable muxer NAME"
114 117
   echo "  --disable-muxers         disable all muxers"
... ...
@@ -132,6 +135,7 @@ show_help(){
132 132
   echo "  --disable-filters        disable all filters"
133 133
   echo "  --list-decoders          show all available decoders"
134 134
   echo "  --list-encoders          show all available encoders"
135
+  echo "  --list-hwaccels          show all available hardware accelerators"
135 136
   echo "  --list-muxers            show all available muxers"
136 137
   echo "  --list-demuxers          show all available demuxers"
137 138
   echo "  --list-parsers           show all available parsers"
... ...
@@ -749,6 +753,7 @@ COMPONENT_LIST="
749 749
     demuxers
750 750
     encoders
751 751
     filters
752
+    hwaccels
752 753
     indevs
753 754
     muxers
754 755
     outdevs
... ...
@@ -989,7 +994,7 @@ sse_deps="mmx"
989 989
 ssse3_deps="sse"
990 990
 vis_deps="sparc"
991 991
 
992
-# decoders / encoders
992
+# decoders / encoders / hardware accelerators
993 993
 aac_decoder_select="fft mdct"
994 994
 ac3_decoder_deps="gpl"
995 995
 ac3_decoder_select="fft mdct"
... ...
@@ -1237,6 +1242,7 @@ find_things(){
1237 1237
 
1238 1238
 ENCODER_LIST=$(find_things  encoder  ENC      libavcodec/allcodecs.c)
1239 1239
 DECODER_LIST=$(find_things  decoder  DEC      libavcodec/allcodecs.c)
1240
+HWACCEL_LIST=$(find_things  hwaccel  HWACCEL  libavcodec/allcodecs.c)
1240 1241
 PARSER_LIST=$(find_things   parser   PARSER   libavcodec/allcodecs.c)
1241 1242
 BSF_LIST=$(find_things      bsf      BSF      libavcodec/allcodecs.c)
1242 1243
 MUXER_LIST=$(find_things    muxer    _MUX     libavformat/allformats.c)
... ...
@@ -1249,6 +1255,7 @@ FILTER_LIST=$(find_things   filter   FILTER   libavfilter/allfilters.c)
1249 1249
 enable $ARCH_EXT_LIST \
1250 1250
        $DECODER_LIST \
1251 1251
        $ENCODER_LIST \
1252
+       $HWACCEL_LIST \
1252 1253
        $PARSER_LIST \
1253 1254
        $BSF_LIST \
1254 1255
        $DEMUXER_LIST \
... ...
@@ -1287,7 +1294,7 @@ for opt do
1287 1287
     --enable-*=*|--disable-*=*)
1288 1288
     eval $(echo "$opt" | sed 's/=/-/;s/--/action=/;s/-/ thing=/;s/-/ name=/')
1289 1289
     case "$thing" in
1290
-        encoder|decoder|muxer|demuxer|parser|bsf|protocol|filter) $action ${optval}_${thing} ;;
1290
+        encoder|decoder|hwaccel|muxer|demuxer|parser|bsf|protocol|filter) $action ${optval}_${thing} ;;
1291 1291
         *) die_unknown "$opt" ;;
1292 1292
     esac
1293 1293
     ;;
... ...
@@ -2226,6 +2233,7 @@ check_asm asmalign_pot '".align 3"'
2226 2226
 
2227 2227
 enabled_any $DECODER_LIST      && enable decoders
2228 2228
 enabled_any $ENCODER_LIST      && enable encoders
2229
+enabled_any $HWACCEL_LIST      && enable hwaccels
2229 2230
 enabled_any $BSF_LIST          && enable bsfs
2230 2231
 enabled_any $DEMUXER_LIST      && enable demuxers
2231 2232
 enabled_any $MUXER_LIST        && enable muxers
... ...
@@ -2241,6 +2249,7 @@ check_deps $CONFIG_LIST       \
2241 2241
            $HAVE_LIST         \
2242 2242
            $DECODER_LIST      \
2243 2243
            $ENCODER_LIST      \
2244
+           $HWACCEL_LIST      \
2244 2245
            $PARSER_LIST       \
2245 2246
            $BSF_LIST          \
2246 2247
            $DEMUXER_LIST      \
... ...
@@ -2337,7 +2346,7 @@ echo "zlib enabled              ${zlib-no}"
2337 2337
 echo "bzlib enabled             ${bzlib-no}"
2338 2338
 echo
2339 2339
 
2340
-for type in decoder encoder parser demuxer muxer protocol filter bsf indev outdev; do
2340
+for type in decoder encoder hwaccel parser demuxer muxer protocol filter bsf indev outdev; do
2341 2341
     echo "Enabled ${type}s:"
2342 2342
     eval list=\$$(toupper $type)_LIST
2343 2343
     for part in $list; do
... ...
@@ -2464,6 +2473,7 @@ print_config CONFIG_ $TMPH config.mak $CONFIG_LIST       \
2464 2464
                                       $CONFIG_EXTRA      \
2465 2465
                                       $DECODER_LIST      \
2466 2466
                                       $ENCODER_LIST      \
2467
+                                      $HWACCEL_LIST      \
2467 2468
                                       $PARSER_LIST       \
2468 2469
                                       $BSF_LIST          \
2469 2470
                                       $DEMUXER_LIST      \
... ...
@@ -31,7 +31,7 @@ OBJS-$(CONFIG_GOLOMB)                  += golomb.o
31 31
 OBJS-$(CONFIG_MDCT)                    += mdct.o
32 32
 OBJS-$(CONFIG_RDFT)                    += rdft.o
33 33
 
34
-# decoders/encoders
34
+# decoders/encoders/hardware accelerators
35 35
 OBJS-$(CONFIG_AAC_DECODER)             += aac.o aactab.o mpeg4audio.o aac_parser.o aac_ac3_parser.o
36 36
 OBJS-$(CONFIG_AASC_DECODER)            += aasc.o msrledec.o
37 37
 OBJS-$(CONFIG_AC3_DECODER)             += eac3dec.o ac3dec.o ac3tab.o ac3dec_data.o ac3.o