Add hwaccel configury. This generates CONFIG_<CODEC>_<HWACCEL>_HWACCEL
authorGwenole Beauchesne <gbeauchesne@splitted-desktop.com>
Thu, 2 Apr 2009 08:48:06 +0000 (08:48 +0000)
committerGwenole Beauchesne <gbeauchesne@splitted-desktop.com>
Thu, 2 Apr 2009 08:48:06 +0000 (08:48 +0000)
from registered HW accelerated codecs with REGISTER_HWACCEL().

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

configure
libavcodec/Makefile

index 6ae7a00..cbafbe9 100755 (executable)
--- a/configure
+++ b/configure
@@ -109,6 +109,9 @@ show_help(){
   echo "  --disable-decoder=NAME   disable decoder NAME"
   echo "  --enable-decoder=NAME    enable decoder NAME"
   echo "  --disable-decoders       disable all decoders"
   echo "  --disable-decoder=NAME   disable decoder NAME"
   echo "  --enable-decoder=NAME    enable decoder NAME"
   echo "  --disable-decoders       disable all decoders"
+  echo "  --disable-hwaccel=NAME   disable hwaccel NAME"
+  echo "  --enable-hwaccel=NAME    enable hwaccel NAME"
+  echo "  --disable-hwaccels       disable all hwaccels"
   echo "  --disable-muxer=NAME     disable muxer NAME"
   echo "  --enable-muxer=NAME      enable muxer NAME"
   echo "  --disable-muxers         disable all muxers"
   echo "  --disable-muxer=NAME     disable muxer NAME"
   echo "  --enable-muxer=NAME      enable muxer NAME"
   echo "  --disable-muxers         disable all muxers"
@@ -132,6 +135,7 @@ show_help(){
   echo "  --disable-filters        disable all filters"
   echo "  --list-decoders          show all available decoders"
   echo "  --list-encoders          show all available encoders"
   echo "  --disable-filters        disable all filters"
   echo "  --list-decoders          show all available decoders"
   echo "  --list-encoders          show all available encoders"
+  echo "  --list-hwaccels          show all available hardware accelerators"
   echo "  --list-muxers            show all available muxers"
   echo "  --list-demuxers          show all available demuxers"
   echo "  --list-parsers           show all available parsers"
   echo "  --list-muxers            show all available muxers"
   echo "  --list-demuxers          show all available demuxers"
   echo "  --list-parsers           show all available parsers"
@@ -749,6 +753,7 @@ COMPONENT_LIST="
     demuxers
     encoders
     filters
     demuxers
     encoders
     filters
+    hwaccels
     indevs
     muxers
     outdevs
     indevs
     muxers
     outdevs
@@ -989,7 +994,7 @@ sse_deps="mmx"
 ssse3_deps="sse"
 vis_deps="sparc"
 
 ssse3_deps="sse"
 vis_deps="sparc"
 
-# decoders / encoders
+# decoders / encoders / hardware accelerators
 aac_decoder_select="fft mdct"
 ac3_decoder_deps="gpl"
 ac3_decoder_select="fft mdct"
 aac_decoder_select="fft mdct"
 ac3_decoder_deps="gpl"
 ac3_decoder_select="fft mdct"
@@ -1237,6 +1242,7 @@ find_things(){
 
 ENCODER_LIST=$(find_things  encoder  ENC      libavcodec/allcodecs.c)
 DECODER_LIST=$(find_things  decoder  DEC      libavcodec/allcodecs.c)
 
 ENCODER_LIST=$(find_things  encoder  ENC      libavcodec/allcodecs.c)
 DECODER_LIST=$(find_things  decoder  DEC      libavcodec/allcodecs.c)
+HWACCEL_LIST=$(find_things  hwaccel  HWACCEL  libavcodec/allcodecs.c)
 PARSER_LIST=$(find_things   parser   PARSER   libavcodec/allcodecs.c)
 BSF_LIST=$(find_things      bsf      BSF      libavcodec/allcodecs.c)
 MUXER_LIST=$(find_things    muxer    _MUX     libavformat/allformats.c)
 PARSER_LIST=$(find_things   parser   PARSER   libavcodec/allcodecs.c)
 BSF_LIST=$(find_things      bsf      BSF      libavcodec/allcodecs.c)
 MUXER_LIST=$(find_things    muxer    _MUX     libavformat/allformats.c)
@@ -1249,6 +1255,7 @@ FILTER_LIST=$(find_things   filter   FILTER   libavfilter/allfilters.c)
 enable $ARCH_EXT_LIST \
        $DECODER_LIST \
        $ENCODER_LIST \
 enable $ARCH_EXT_LIST \
        $DECODER_LIST \
        $ENCODER_LIST \
+       $HWACCEL_LIST \
        $PARSER_LIST \
        $BSF_LIST \
        $DEMUXER_LIST \
        $PARSER_LIST \
        $BSF_LIST \
        $DEMUXER_LIST \
@@ -1287,7 +1294,7 @@ for opt do
     --enable-*=*|--disable-*=*)
     eval $(echo "$opt" | sed 's/=/-/;s/--/action=/;s/-/ thing=/;s/-/ name=/')
     case "$thing" in
     --enable-*=*|--disable-*=*)
     eval $(echo "$opt" | sed 's/=/-/;s/--/action=/;s/-/ thing=/;s/-/ name=/')
     case "$thing" in
-        encoder|decoder|muxer|demuxer|parser|bsf|protocol|filter) $action ${optval}_${thing} ;;
+        encoder|decoder|hwaccel|muxer|demuxer|parser|bsf|protocol|filter) $action ${optval}_${thing} ;;
         *) die_unknown "$opt" ;;
     esac
     ;;
         *) die_unknown "$opt" ;;
     esac
     ;;
@@ -2226,6 +2233,7 @@ check_asm asmalign_pot '".align 3"'
 
 enabled_any $DECODER_LIST      && enable decoders
 enabled_any $ENCODER_LIST      && enable encoders
 
 enabled_any $DECODER_LIST      && enable decoders
 enabled_any $ENCODER_LIST      && enable encoders
+enabled_any $HWACCEL_LIST      && enable hwaccels
 enabled_any $BSF_LIST          && enable bsfs
 enabled_any $DEMUXER_LIST      && enable demuxers
 enabled_any $MUXER_LIST        && enable muxers
 enabled_any $BSF_LIST          && enable bsfs
 enabled_any $DEMUXER_LIST      && enable demuxers
 enabled_any $MUXER_LIST        && enable muxers
@@ -2241,6 +2249,7 @@ check_deps $CONFIG_LIST       \
            $HAVE_LIST         \
            $DECODER_LIST      \
            $ENCODER_LIST      \
            $HAVE_LIST         \
            $DECODER_LIST      \
            $ENCODER_LIST      \
+           $HWACCEL_LIST      \
            $PARSER_LIST       \
            $BSF_LIST          \
            $DEMUXER_LIST      \
            $PARSER_LIST       \
            $BSF_LIST          \
            $DEMUXER_LIST      \
@@ -2337,7 +2346,7 @@ echo "zlib enabled              ${zlib-no}"
 echo "bzlib enabled             ${bzlib-no}"
 echo
 
 echo "bzlib enabled             ${bzlib-no}"
 echo
 
-for type in decoder encoder parser demuxer muxer protocol filter bsf indev outdev; do
+for type in decoder encoder hwaccel parser demuxer muxer protocol filter bsf indev outdev; do
     echo "Enabled ${type}s:"
     eval list=\$$(toupper $type)_LIST
     for part in $list; do
     echo "Enabled ${type}s:"
     eval list=\$$(toupper $type)_LIST
     for part in $list; do
@@ -2464,6 +2473,7 @@ print_config CONFIG_ $TMPH config.mak $CONFIG_LIST       \
                                       $CONFIG_EXTRA      \
                                       $DECODER_LIST      \
                                       $ENCODER_LIST      \
                                       $CONFIG_EXTRA      \
                                       $DECODER_LIST      \
                                       $ENCODER_LIST      \
+                                      $HWACCEL_LIST      \
                                       $PARSER_LIST       \
                                       $BSF_LIST          \
                                       $DEMUXER_LIST      \
                                       $PARSER_LIST       \
                                       $BSF_LIST          \
                                       $DEMUXER_LIST      \
index 4bea80a..874ff93 100644 (file)
@@ -31,7 +31,7 @@ OBJS-$(CONFIG_GOLOMB)                  += golomb.o
 OBJS-$(CONFIG_MDCT)                    += mdct.o
 OBJS-$(CONFIG_RDFT)                    += rdft.o
 
 OBJS-$(CONFIG_MDCT)                    += mdct.o
 OBJS-$(CONFIG_RDFT)                    += rdft.o
 
-# decoders/encoders
+# decoders/encoders/hardware accelerators
 OBJS-$(CONFIG_AAC_DECODER)             += aac.o aactab.o mpeg4audio.o aac_parser.o aac_ac3_parser.o
 OBJS-$(CONFIG_AASC_DECODER)            += aasc.o msrledec.o
 OBJS-$(CONFIG_AC3_DECODER)             += eac3dec.o ac3dec.o ac3tab.o ac3dec_data.o ac3.o
 OBJS-$(CONFIG_AAC_DECODER)             += aac.o aactab.o mpeg4audio.o aac_parser.o aac_ac3_parser.o
 OBJS-$(CONFIG_AASC_DECODER)            += aasc.o msrledec.o
 OBJS-$(CONFIG_AC3_DECODER)             += eac3dec.o ac3dec.o ac3tab.o ac3dec_data.o ac3.o