Quoting Hendrik Leppkes (2016-02-26 10:53:24) > On Thu, Feb 25, 2016 at 4:05 PM, Anton Khirnov <[email protected]> wrote: > > Deprecate the current bitstream filtering API. > > +/** > > + * Iterate over all registered bitstream filters. > > + * > > + * @param opaque a pointer where libavcodec will store the iteration > > state. Must > > + * point to NULL to start the iteration. > > + * > > + * @return the next registered bitstream filter or NULL when the iteration > > is > > + * finished > > + */ > > +const AVBitStreamFilter *av_bsf_next(void **opaque); > > Other iteration functions we have just take the return from the > previous call as a "state" (ie. the previous BSF in this case), that > seems much more sensible than some weird ptr-ptr-opaque value. > Keeping it in line with existing API would be a big bonus (ie. just > like av_bitstream_filter_next worked). >
The problem is that unlike the other APIs, the bsfs are stored in an array instead of a linked list (to avoid global registration). So an API like you want would have quadratic complexity instead of linear. It's probably not a big deal, since we're unlikely to have hundreds of bsfs, but it feels ugly. -- Anton Khirnov _______________________________________________ libav-devel mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-devel
