1 /* 2 * This file is part of FFmpeg. 3 * 4 * FFmpeg is free software; you can redistribute it and/or 5 * modify it under the terms of the GNU Lesser General Public 6 * License as published by the Free Software Foundation; either 7 * version 2.1 of the License, or (at your option) any later version. 8 * 9 * FFmpeg is distributed in the hope that it will be useful, 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 * Lesser General Public License for more details. 13 * 14 * You should have received a copy of the GNU Lesser General Public 15 * License along with FFmpeg; if not, write to the Free Software 16 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 17 */ 18 19 #include <stdint.h> 20 21 #include "avcodec.h" 22 23 extern const AVCodecParser ff_aac_parser; 24 extern const AVCodecParser ff_aac_latm_parser; 25 extern const AVCodecParser ff_ac3_parser; 26 extern const AVCodecParser ff_adx_parser; 27 extern const AVCodecParser ff_amr_parser; 28 extern const AVCodecParser ff_av1_parser; 29 extern const AVCodecParser ff_avs2_parser; 30 extern const AVCodecParser ff_avs3_parser; 31 extern const AVCodecParser ff_av3a_parser; 32 extern const AVCodecParser ff_bmp_parser; 33 extern const AVCodecParser ff_cavsvideo_parser; 34 extern const AVCodecParser ff_cook_parser; 35 extern const AVCodecParser ff_cri_parser; 36 extern const AVCodecParser ff_dca_parser; 37 extern const AVCodecParser ff_dirac_parser; 38 extern const AVCodecParser ff_dnxhd_parser; 39 extern const AVCodecParser ff_dolby_e_parser; 40 extern const AVCodecParser ff_dpx_parser; 41 extern const AVCodecParser ff_dvaudio_parser; 42 extern const AVCodecParser ff_dvbsub_parser; 43 extern const AVCodecParser ff_dvdsub_parser; 44 extern const AVCodecParser ff_dvd_nav_parser; 45 extern const AVCodecParser ff_flac_parser; 46 extern const AVCodecParser ff_g723_1_parser; 47 extern const AVCodecParser ff_g729_parser; 48 extern const AVCodecParser ff_gif_parser; 49 extern const AVCodecParser ff_gsm_parser; 50 extern const AVCodecParser ff_h261_parser; 51 extern const AVCodecParser ff_h263_parser; 52 extern const AVCodecParser ff_h264_parser; 53 extern const AVCodecParser ff_hevc_parser; 54 extern const AVCodecParser ff_ipu_parser; 55 extern const AVCodecParser ff_jpeg2000_parser; 56 extern const AVCodecParser ff_mjpeg_parser; 57 extern const AVCodecParser ff_mlp_parser; 58 extern const AVCodecParser ff_mpeg4video_parser; 59 extern const AVCodecParser ff_mpegaudio_parser; 60 extern const AVCodecParser ff_mpegvideo_parser; 61 extern const AVCodecParser ff_opus_parser; 62 extern const AVCodecParser ff_png_parser; 63 extern const AVCodecParser ff_pnm_parser; 64 extern const AVCodecParser ff_qoi_parser; 65 extern const AVCodecParser ff_rv30_parser; 66 extern const AVCodecParser ff_rv40_parser; 67 extern const AVCodecParser ff_sbc_parser; 68 extern const AVCodecParser ff_sipr_parser; 69 extern const AVCodecParser ff_tak_parser; 70 extern const AVCodecParser ff_vc1_parser; 71 extern const AVCodecParser ff_vorbis_parser; 72 extern const AVCodecParser ff_vp3_parser; 73 extern const AVCodecParser ff_vp8_parser; 74 extern const AVCodecParser ff_vp9_parser; 75 extern const AVCodecParser ff_webp_parser; 76 extern const AVCodecParser ff_xbm_parser; 77 extern const AVCodecParser ff_xma_parser; 78 79 #include "libavcodec/parser_list.c" 80 av_parser_iterate(void ** opaque)81const AVCodecParser *av_parser_iterate(void **opaque) 82 { 83 uintptr_t i = (uintptr_t)*opaque; 84 const AVCodecParser *p = parser_list[i]; 85 86 if (p) 87 *opaque = (void*)(i + 1); 88 89 return p; 90 } 91