diff options
author | Anton Khirnov <anton@khirnov.net> | 2016-03-20 10:00:58 +0100 |
---|---|---|
committer | Anton Khirnov <anton@khirnov.net> | 2016-04-19 13:34:07 +0200 |
commit | 06edef3d5e072ef3c4face9ce946d2d9c36cc477 (patch) | |
tree | 00ca9d805e3eeb8a36a7467199b2a53480d6753f | |
parent | a0f469da744db83db32f3fe13186ee4aa2bc7dc5 (diff) | |
download | ffmpeg-streaming-06edef3d5e072ef3c4face9ce946d2d9c36cc477.zip ffmpeg-streaming-06edef3d5e072ef3c4face9ce946d2d9c36cc477.tar.gz |
Generate the lists of enabled protocols/bsfs from configure.
-rw-r--r-- | .gitignore | 2 | ||||
-rw-r--r-- | Makefile | 3 | ||||
-rwxr-xr-x | configure | 17 | ||||
-rw-r--r-- | libavcodec/bitstream_filters.c | 40 | ||||
-rw-r--r-- | libavformat/protocols.c | 108 |
5 files changed, 23 insertions, 147 deletions
@@ -39,9 +39,11 @@ /doc/examples/transcode_aac /doc/print_options /lcov/ +/libavformat/protocol_list.c /libavcodec/*_tablegen /libavcodec/*_tables.c /libavcodec/*_tables.h +/libavcodec/bsf_list.c /libavutil/avconfig.h /tests/audiogen /tests/base64 @@ -217,7 +217,8 @@ clean:: distclean:: $(RM) $(DISTCLEANSUFFIXES) - $(RM) config.* .config libavutil/avconfig.h .version avversion.h + $(RM) config.* .config libavutil/avconfig.h .version avversion.h \ + libavcodec/bsf_list.c libavformat/protocol_list.c config: $(SRC_PATH)/configure $(value LIBAV_CONFIGURATION) @@ -5310,6 +5310,23 @@ cp_if_changed $TMPH libavutil/avconfig.h test -n "$WARNINGS" && printf "\n$WARNINGS" +# generate the lists of enabled components +print_enabled_components(){ + file=$1 + struct_name=$2 + name=$3 + shift 3 + echo "static const $struct_name *$name[] = {" > $TMPH + for c in $*; do + enabled $c && printf " &ff_%s,\n" $c >> $TMPH + done + echo " NULL };" >> $TMPH + cp_if_changed $TMPH $file +} + +print_enabled_components libavcodec/bsf_list.c AVBitStreamFilter bitstream_filters $BSF_LIST +print_enabled_components libavformat/protocol_list.c URLProtocol url_protocols $PROTOCOL_LIST + # build pkg-config files lib_version(){ diff --git a/libavcodec/bitstream_filters.c b/libavcodec/bitstream_filters.c index 897e1f8..3b4026c 100644 --- a/libavcodec/bitstream_filters.c +++ b/libavcodec/bitstream_filters.c @@ -37,45 +37,7 @@ extern const AVBitStreamFilter ff_text2movsub_bsf; extern const AVBitStreamFilter ff_noise_bsf; extern const AVBitStreamFilter ff_remove_extradata_bsf; -static const AVBitStreamFilter *bitstream_filters[] = { -#if CONFIG_AAC_ADTSTOASC_BSF - &ff_aac_adtstoasc_bsf, -#endif -#if CONFIG_CHOMP_BSF - &ff_chomp_bsf, -#endif -#if CONFIG_DUMP_EXTRADATA_BSF - &ff_dump_extradata_bsf, -#endif -#if CONFIG_H264_MP4TOANNEXB_BSF - &ff_h264_mp4toannexb_bsf, -#endif -#if CONFIG_HEVC_MP4TOANNEXB_BSF - &ff_hevc_mp4toannexb_bsf, -#endif -#if CONFIG_IMX_DUMP_HEADER_BSF - &ff_imx_dump_header_bsf, -#endif -#if CONFIG_MJPEG2JPEG_BSF - &ff_mjpeg2jpeg_bsf, -#endif -#if CONFIG_MJPEGA_DUMP_HEADER_BSF - &ff_mjpeg2jpeg_bsf, -#endif -#if CONFIG_MOV2TEXTSUB_BSF - &ff_mov2textsub_bsf, -#endif -#if CONFIG_TEXT2MOVSUB_BSF - &ff_text2movsub_bsf, -#endif -#if CONFIG_NOISE_BSF - &ff_noise_bsf, -#endif -#if CONFIG_REMOVE_EXTRADATA_BSF - &ff_remove_extradata_bsf, -#endif - NULL, -}; +#include "libavcodec/bsf_list.c" const AVBitStreamFilter *av_bsf_next(void **opaque) { diff --git a/libavformat/protocols.c b/libavformat/protocols.c index b03adff..d254540 100644 --- a/libavformat/protocols.c +++ b/libavformat/protocols.c @@ -58,113 +58,7 @@ extern const URLProtocol ff_librtmps_protocol; extern const URLProtocol ff_librtmpt_protocol; extern const URLProtocol ff_librtmpte_protocol; -static const URLProtocol *url_protocols[] = { -#if CONFIG_CONCAT_PROTOCOL - &ff_concat_protocol, -#endif -#if CONFIG_CRYPTO_PROTOCOL - &ff_crypto_protocol, -#endif -#if CONFIG_FFRTMPCRYPT_PROTOCOL - &ff_ffrtmpcrypt_protocol, -#endif -#if CONFIG_FFRTMPHTTP_PROTOCOL - &ff_ffrtmphttp_protocol, -#endif -#if CONFIG_FILE_PROTOCOL - &ff_file_protocol, -#endif -#if CONFIG_GOPHER_PROTOCOL - &ff_gopher_protocol, -#endif -#if CONFIG_HLS_PROTOCOL - &ff_hls_protocol, -#endif -#if CONFIG_HTTP_PROTOCOL - &ff_http_protocol, -#endif -#if CONFIG_HTTPPROXY_PROTOCOL - &ff_httpproxy_protocol, -#endif -#if CONFIG_HTTPS_PROTOCOL - &ff_https_protocol, -#endif -#if CONFIG_ICECAST_PROTOCOL - &ff_icecast_protocol, -#endif -#if CONFIG_MMSH_PROTOCOL - &ff_mmsh_protocol, -#endif -#if CONFIG_MMST_PROTOCOL - &ff_mmst_protocol, -#endif -#if CONFIG_MD5_PROTOCOL - &ff_md5_protocol, -#endif -#if CONFIG_PIPE_PROTOCOL - &ff_pipe_protocol, -#endif -#if CONFIG_RTMP_PROTOCOL - &ff_rtmp_protocol, -#endif -#if CONFIG_RTMPE_PROTOCOL - &ff_rtmpe_protocol, -#endif -#if CONFIG_RTMPS_PROTOCOL - &ff_rtmps_protocol, -#endif -#if CONFIG_RTMPT_PROTOCOL - &ff_rtmpt_protocol, -#endif -#if CONFIG_RTMPTE_PROTOCOL - &ff_rtmpte_protocol, -#endif -#if CONFIG_RTMPTS_PROTOCOL - &ff_rtmpts_protocol, -#endif -#if CONFIG_RTP_PROTOCOL - &ff_rtp_protocol, -#endif -#if CONFIG_SCTP_PROTOCOL - &ff_sctp_protocol, -#endif -#if CONFIG_SRTP_PROTOCOL - &ff_srtp_protocol, -#endif -#if CONFIG_TCP_PROTOCOL - &ff_tcp_protocol, -#endif -#if CONFIG_TLS_GNUTLS_PROTOCOL - &ff_tls_gnutls_protocol, -#endif -#if CONFIG_TLS_OPENSSL_PROTOCOL - &ff_tls_openssl_protocol, -#endif -#if CONFIG_UDP_PROTOCOL - &ff_udp_protocol, -#endif -#if CONFIG_UNIX_PROTOCOL - &ff_unix_protocol, -#endif - - /* external libraries */ -#if CONFIG_LIBRTMP_PROTOCOL - &ff_librtmp_protocol, -#endif -#if CONFIG_LIBRTMPE_PROTOCOL - &ff_librtmpe_protocol, -#endif -#if CONFIG_LIBRTMPS_PROTOCOL - &ff_librtmps_protocol, -#endif -#if CONFIG_LIBRTMPT_PROTOCOL - &ff_librtmpt_protocol, -#endif -#if CONFIG_LIBRTMPTE_PROTOCOL - &ff_librtmpte_protocol, -#endif - NULL, -}; +#include "libavformat/protocol_list.c" const AVClass *ff_urlcontext_child_class_next(const AVClass *prev) { |