From d999cff5a3ae29833d65f640c64ded470cf0c6f0 Mon Sep 17 00:00:00 2001 From: Aurelien Jacobs Date: Thu, 20 Sep 2007 20:36:15 +0000 Subject: [PATCH] remove last dependencies on allformats.h and allcodecs.h Originally committed as revision 10535 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavcodec/allcodecs.c | 22 +++++++++++++--------- libavformat/allformats.c | 19 ++++++++++++------- 2 files changed, 25 insertions(+), 16 deletions(-) diff --git a/libavcodec/allcodecs.c b/libavcodec/allcodecs.c index 729710474a..742f46b87d 100644 --- a/libavcodec/allcodecs.c +++ b/libavcodec/allcodecs.c @@ -24,18 +24,22 @@ * Provides registration of all codecs, parsers and bitstream filters for libavcodec. */ -#include "allcodecs.h" +#include "avcodec.h" -#define REGISTER_ENCODER(X,x) \ - if(ENABLE_##X##_ENCODER) register_avcodec(&x##_encoder) -#define REGISTER_DECODER(X,x) \ - if(ENABLE_##X##_DECODER) register_avcodec(&x##_decoder) +#define REGISTER_ENCODER(X,x) { \ + extern AVCodec x##_encoder; \ + if(ENABLE_##X##_ENCODER) register_avcodec(&x##_encoder); } +#define REGISTER_DECODER(X,x) { \ + extern AVCodec x##_decoder; \ + if(ENABLE_##X##_DECODER) register_avcodec(&x##_decoder); } #define REGISTER_ENCDEC(X,x) REGISTER_ENCODER(X,x); REGISTER_DECODER(X,x) -#define REGISTER_PARSER(X,x) \ - if(ENABLE_##X##_PARSER) av_register_codec_parser(&x##_parser) -#define REGISTER_BSF(X,x) \ - if(ENABLE_##X##_BSF) av_register_bitstream_filter(&x##_bsf) +#define REGISTER_PARSER(X,x) { \ + extern AVCodecParser x##_parser; \ + if(ENABLE_##X##_PARSER) av_register_codec_parser(&x##_parser); } +#define REGISTER_BSF(X,x) { \ + extern AVBitStreamFilter x##_bsf; \ + if(ENABLE_##X##_BSF) av_register_bitstream_filter(&x##_bsf); } /** * Register all the codecs, parsers and bitstream filters which were enabled at diff --git a/libavformat/allformats.c b/libavformat/allformats.c index 1b7af2aca2..6ed3eb83d4 100644 --- a/libavformat/allformats.c +++ b/libavformat/allformats.c @@ -19,16 +19,21 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #include "avformat.h" -#include "allformats.h" #include "rtp_internal.h" -#define REGISTER_MUXER(X,x) \ - if(ENABLE_##X##_MUXER) av_register_output_format(&x##_muxer) -#define REGISTER_DEMUXER(X,x) \ - if(ENABLE_##X##_DEMUXER) av_register_input_format(&x##_demuxer) +/* rtp.c */ +void av_register_rtp_dynamic_payload_handlers(void); + +#define REGISTER_MUXER(X,x) { \ + extern AVOutputFormat x##_muxer; \ + if(ENABLE_##X##_MUXER) av_register_output_format(&x##_muxer); } +#define REGISTER_DEMUXER(X,x) { \ + extern AVInputFormat x##_demuxer; \ + if(ENABLE_##X##_DEMUXER) av_register_input_format(&x##_demuxer); } #define REGISTER_MUXDEMUX(X,x) REGISTER_MUXER(X,x); REGISTER_DEMUXER(X,x) -#define REGISTER_PROTOCOL(X,x) \ - if(ENABLE_##X##_PROTOCOL) register_protocol(&x##_protocol) +#define REGISTER_PROTOCOL(X,x) { \ + extern URLProtocol x##_protocol; \ + if(ENABLE_##X##_PROTOCOL) register_protocol(&x##_protocol); } /* If you do not call this function, then you can select exactly which formats you want to support */