# HG changeset patch # User michael # Date 1197484811 0 # Node ID b1fe945d73f9fa482a0c6539d293be33a7d57082 # Parent 5a8ca3d8ca7d194af306acd6ae02d93fa5002a0f av_*_next() API for libavcodec diff -r 5a8ca3d8ca7d -r b1fe945d73f9 avcodec.h --- a/avcodec.h Wed Dec 12 11:52:27 2007 +0000 +++ b/avcodec.h Wed Dec 12 18:40:11 2007 +0000 @@ -33,8 +33,8 @@ #define AV_STRINGIFY(s) AV_TOSTRING(s) #define AV_TOSTRING(s) #s -#define LIBAVCODEC_VERSION_INT ((51<<16)+(48<<8)+0) -#define LIBAVCODEC_VERSION 51.48.0 +#define LIBAVCODEC_VERSION_INT ((51<<16)+(49<<8)+0) +#define LIBAVCODEC_VERSION 51.49.0 #define LIBAVCODEC_BUILD LIBAVCODEC_VERSION_INT #define LIBAVCODEC_IDENT "Lavc" AV_STRINGIFY(LIBAVCODEC_VERSION) @@ -2428,7 +2428,10 @@ /* external high level API */ +#if LIBAVCODEC_VERSION_INT < ((52<<16)+(0<<8)+0) extern AVCodec *first_avcodec; +#endif +AVCodec *av_codec_next(AVCodec *c); /* returns LIBAVCODEC_VERSION_INT constant */ unsigned avcodec_version(void); @@ -2784,7 +2787,10 @@ struct AVCodecParser *next; } AVCodecParser; +#if LIBAVCODEC_VERSION_INT < ((52<<16)+(0<<8)+0) extern AVCodecParser *av_first_parser; +#endif +AVCodecParser *av_parser_next(AVCodecParser *c); void av_register_codec_parser(AVCodecParser *parser); AVCodecParserContext *av_parser_init(int codec_id); @@ -2827,7 +2833,7 @@ const uint8_t *buf, int buf_size, int keyframe); void av_bitstream_filter_close(AVBitStreamFilterContext *bsf); -extern AVBitStreamFilter *first_bitstream_filter; +AVBitStreamFilter *av_bitstream_filter_next(AVBitStreamFilter *f); /* memory */ diff -r 5a8ca3d8ca7d -r b1fe945d73f9 bitstream_filter.c --- a/bitstream_filter.c Wed Dec 12 11:52:27 2007 +0000 +++ b/bitstream_filter.c Wed Dec 12 18:40:11 2007 +0000 @@ -22,6 +22,11 @@ AVBitStreamFilter *first_bitstream_filter= NULL; +AVBitStreamFilter *av_bitstream_filter_next(AVBitStreamFilter *f){ + if(f) return f->next; + else return first_bitstream_filter; +} + void av_register_bitstream_filter(AVBitStreamFilter *bsf){ bsf->next = first_bitstream_filter; first_bitstream_filter= bsf; diff -r 5a8ca3d8ca7d -r b1fe945d73f9 parser.c --- a/parser.c Wed Dec 12 11:52:27 2007 +0000 +++ b/parser.c Wed Dec 12 18:40:11 2007 +0000 @@ -24,6 +24,11 @@ AVCodecParser *av_first_parser = NULL; +AVCodecParser* av_parser_next(AVCodecParser *p){ + if(p) return p->next; + else return av_first_parser; +} + void av_register_codec_parser(AVCodecParser *parser) { parser->next = av_first_parser; diff -r 5a8ca3d8ca7d -r b1fe945d73f9 utils.c --- a/utils.c Wed Dec 12 11:52:27 2007 +0000 +++ b/utils.c Wed Dec 12 18:40:11 2007 +0000 @@ -126,6 +126,11 @@ /* encoder management */ AVCodec *first_avcodec = NULL; +AVCodec *av_codec_next(AVCodec *c){ + if(c) return c->next; + else return first_avcodec; +} + void register_avcodec(AVCodec *format) { AVCodec **p;