diff options
Diffstat (limited to 'libavcodec/bitstream_filters.c')
-rw-r--r-- | libavcodec/bitstream_filters.c | 46 |
1 files changed, 28 insertions, 18 deletions
diff --git a/libavcodec/bitstream_filters.c b/libavcodec/bitstream_filters.c index 7841705..338ef82 100644 --- a/libavcodec/bitstream_filters.c +++ b/libavcodec/bitstream_filters.c @@ -1,18 +1,18 @@ /* - * This file is part of Libav. + * This file is part of FFmpeg. * - * Libav is free software; you can redistribute it and/or + * FFmpeg is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * - * Libav is distributed in the hope that it will be useful, + * FFmpeg is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public - * License along with Libav; if not, write to the Free Software + * License along with FFmpeg; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ @@ -27,6 +27,7 @@ extern const AVBitStreamFilter ff_aac_adtstoasc_bsf; extern const AVBitStreamFilter ff_chomp_bsf; extern const AVBitStreamFilter ff_dump_extradata_bsf; +extern const AVBitStreamFilter ff_dca_core_bsf; extern const AVBitStreamFilter ff_extract_extradata_bsf; extern const AVBitStreamFilter ff_h264_metadata_bsf; extern const AVBitStreamFilter ff_h264_mp4toannexb_bsf; @@ -36,12 +37,14 @@ extern const AVBitStreamFilter ff_hevc_mp4toannexb_bsf; extern const AVBitStreamFilter ff_imx_dump_header_bsf; extern const AVBitStreamFilter ff_mjpeg2jpeg_bsf; extern const AVBitStreamFilter ff_mjpega_dump_header_bsf; -extern const AVBitStreamFilter ff_mov2textsub_bsf; +extern const AVBitStreamFilter ff_mp3_header_decompress_bsf; extern const AVBitStreamFilter ff_mpeg2_metadata_bsf; -extern const AVBitStreamFilter ff_null_bsf; -extern const AVBitStreamFilter ff_text2movsub_bsf; +extern const AVBitStreamFilter ff_mpeg4_unpack_bframes_bsf; +extern const AVBitStreamFilter ff_mov2textsub_bsf; extern const AVBitStreamFilter ff_noise_bsf; +extern const AVBitStreamFilter ff_null_bsf; extern const AVBitStreamFilter ff_remove_extradata_bsf; +extern const AVBitStreamFilter ff_text2movsub_bsf; extern const AVBitStreamFilter ff_trace_headers_bsf; extern const AVBitStreamFilter ff_vp9_raw_reorder_bsf; extern const AVBitStreamFilter ff_vp9_superframe_bsf; @@ -49,7 +52,7 @@ extern const AVBitStreamFilter ff_vp9_superframe_split_bsf; #include "libavcodec/bsf_list.c" -const AVBitStreamFilter *av_bsf_next(void **opaque) +const AVBitStreamFilter *av_bsf_iterate(void **opaque) { uintptr_t i = (uintptr_t)*opaque; const AVBitStreamFilter *f = bitstream_filters[i]; @@ -60,12 +63,18 @@ const AVBitStreamFilter *av_bsf_next(void **opaque) return f; } +#if FF_API_NEXT +const AVBitStreamFilter *av_bsf_next(void **opaque) { + return av_bsf_iterate(opaque); +} +#endif + const AVBitStreamFilter *av_bsf_get_by_name(const char *name) { - int i; + const AVBitStreamFilter *f = NULL; + void *i = 0; - for (i = 0; bitstream_filters[i]; i++) { - const AVBitStreamFilter *f = bitstream_filters[i]; + while ((f = av_bsf_iterate(&i))) { if (!strcmp(f->name, name)) return f; } @@ -75,19 +84,20 @@ const AVBitStreamFilter *av_bsf_get_by_name(const char *name) const AVClass *ff_bsf_child_class_next(const AVClass *prev) { - int i; + const AVBitStreamFilter *f = NULL; + void *i = 0; /* find the filter that corresponds to prev */ - for (i = 0; prev && bitstream_filters[i]; i++) { - if (bitstream_filters[i]->priv_class == prev) { - i++; + while (prev && (f = av_bsf_iterate(&i))) { + if (f->priv_class == prev) { break; } } /* find next filter with priv options */ - for (; bitstream_filters[i]; i++) - if (bitstream_filters[i]->priv_class) - return bitstream_filters[i]->priv_class; + while ((f = av_bsf_iterate(&i))) { + if (f->priv_class) + return f->priv_class; + } return NULL; } |