tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

allcodecs.c (40611B)


      1 /*
      2 * Provide registration of all codecs, parsers and bitstream filters for libavcodec.
      3 * Copyright (c) 2002 Fabrice Bellard
      4 *
      5 * This file is part of FFmpeg.
      6 *
      7 * FFmpeg is free software; you can redistribute it and/or
      8 * modify it under the terms of the GNU Lesser General Public
      9 * License as published by the Free Software Foundation; either
     10 * version 2.1 of the License, or (at your option) any later version.
     11 *
     12 * FFmpeg is distributed in the hope that it will be useful,
     13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
     14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
     15 * Lesser General Public License for more details.
     16 *
     17 * You should have received a copy of the GNU Lesser General Public
     18 * License along with FFmpeg; if not, write to the Free Software
     19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
     20 */
     21 
     22 /**
     23 * @file
     24 * Provide registration of all codecs, parsers and bitstream filters for libavcodec.
     25 */
     26 
     27 #include <stdint.h>
     28 #include <string.h>
     29 
     30 #include "config.h"
     31 #include "config_components.h"
     32 #include "libavutil/thread.h"
     33 #include "codec.h"
     34 #include "codec_id.h"
     35 #include "codec_internal.h"
     36 
     37 extern const FFCodec ff_a64multi_encoder;
     38 extern const FFCodec ff_a64multi5_encoder;
     39 extern const FFCodec ff_aasc_decoder;
     40 extern const FFCodec ff_aic_decoder;
     41 extern const FFCodec ff_alias_pix_encoder;
     42 extern const FFCodec ff_alias_pix_decoder;
     43 extern const FFCodec ff_agm_decoder;
     44 extern const FFCodec ff_amv_encoder;
     45 extern const FFCodec ff_amv_decoder;
     46 extern const FFCodec ff_anm_decoder;
     47 extern const FFCodec ff_ansi_decoder;
     48 extern const FFCodec ff_apng_encoder;
     49 extern const FFCodec ff_apng_decoder;
     50 extern const FFCodec ff_arbc_decoder;
     51 extern const FFCodec ff_argo_decoder;
     52 extern const FFCodec ff_asv1_encoder;
     53 extern const FFCodec ff_asv1_decoder;
     54 extern const FFCodec ff_asv2_encoder;
     55 extern const FFCodec ff_asv2_decoder;
     56 extern const FFCodec ff_aura_decoder;
     57 extern const FFCodec ff_aura2_decoder;
     58 extern const FFCodec ff_avrp_encoder;
     59 extern const FFCodec ff_avrp_decoder;
     60 extern const FFCodec ff_avrn_decoder;
     61 extern const FFCodec ff_avs_decoder;
     62 extern const FFCodec ff_avui_encoder;
     63 extern const FFCodec ff_avui_decoder;
     64 extern const FFCodec ff_bethsoftvid_decoder;
     65 extern const FFCodec ff_bfi_decoder;
     66 extern const FFCodec ff_bink_decoder;
     67 extern const FFCodec ff_bitpacked_decoder;
     68 extern const FFCodec ff_bitpacked_encoder;
     69 extern const FFCodec ff_bmp_encoder;
     70 extern const FFCodec ff_bmp_decoder;
     71 extern const FFCodec ff_bmv_video_decoder;
     72 extern const FFCodec ff_brender_pix_decoder;
     73 extern const FFCodec ff_c93_decoder;
     74 extern const FFCodec ff_cavs_decoder;
     75 extern const FFCodec ff_cdgraphics_decoder;
     76 extern const FFCodec ff_cdtoons_decoder;
     77 extern const FFCodec ff_cdxl_decoder;
     78 extern const FFCodec ff_cfhd_encoder;
     79 extern const FFCodec ff_cfhd_decoder;
     80 extern const FFCodec ff_cinepak_encoder;
     81 extern const FFCodec ff_cinepak_decoder;
     82 extern const FFCodec ff_clearvideo_decoder;
     83 extern const FFCodec ff_cljr_encoder;
     84 extern const FFCodec ff_cljr_decoder;
     85 extern const FFCodec ff_cllc_decoder;
     86 extern const FFCodec ff_comfortnoise_encoder;
     87 extern const FFCodec ff_comfortnoise_decoder;
     88 extern const FFCodec ff_cpia_decoder;
     89 extern const FFCodec ff_cri_decoder;
     90 extern const FFCodec ff_cscd_decoder;
     91 extern const FFCodec ff_cyuv_decoder;
     92 extern const FFCodec ff_dds_decoder;
     93 extern const FFCodec ff_dfa_decoder;
     94 extern const FFCodec ff_dirac_decoder;
     95 extern const FFCodec ff_dnxhd_encoder;
     96 extern const FFCodec ff_dnxhd_decoder;
     97 extern const FFCodec ff_dpx_encoder;
     98 extern const FFCodec ff_dpx_decoder;
     99 extern const FFCodec ff_dsicinvideo_decoder;
    100 extern const FFCodec ff_dvaudio_decoder;
    101 extern const FFCodec ff_dvvideo_encoder;
    102 extern const FFCodec ff_dvvideo_decoder;
    103 extern const FFCodec ff_dxa_decoder;
    104 extern const FFCodec ff_dxtory_decoder;
    105 extern const FFCodec ff_dxv_encoder;
    106 extern const FFCodec ff_dxv_decoder;
    107 extern const FFCodec ff_eacmv_decoder;
    108 extern const FFCodec ff_eamad_decoder;
    109 extern const FFCodec ff_eatgq_decoder;
    110 extern const FFCodec ff_eatgv_decoder;
    111 extern const FFCodec ff_eatqi_decoder;
    112 extern const FFCodec ff_eightbps_decoder;
    113 extern const FFCodec ff_eightsvx_exp_decoder;
    114 extern const FFCodec ff_eightsvx_fib_decoder;
    115 extern const FFCodec ff_escape124_decoder;
    116 extern const FFCodec ff_escape130_decoder;
    117 extern const FFCodec ff_exr_encoder;
    118 extern const FFCodec ff_exr_decoder;
    119 extern const FFCodec ff_ffv1_encoder;
    120 extern const FFCodec ff_ffv1_vulkan_encoder;
    121 extern const FFCodec ff_ffv1_decoder;
    122 extern const FFCodec ff_ffvhuff_encoder;
    123 extern const FFCodec ff_ffvhuff_decoder;
    124 extern const FFCodec ff_fic_decoder;
    125 extern const FFCodec ff_fits_encoder;
    126 extern const FFCodec ff_fits_decoder;
    127 extern const FFCodec ff_flashsv_encoder;
    128 extern const FFCodec ff_flashsv_decoder;
    129 extern const FFCodec ff_flashsv2_encoder;
    130 extern const FFCodec ff_flashsv2_decoder;
    131 extern const FFCodec ff_flic_decoder;
    132 extern const FFCodec ff_flv_encoder;
    133 extern const FFCodec ff_flv_decoder;
    134 extern const FFCodec ff_fmvc_decoder;
    135 extern const FFCodec ff_fourxm_decoder;
    136 extern const FFCodec ff_fraps_decoder;
    137 extern const FFCodec ff_frwu_decoder;
    138 extern const FFCodec ff_g2m_decoder;
    139 extern const FFCodec ff_gdv_decoder;
    140 extern const FFCodec ff_gem_decoder;
    141 extern const FFCodec ff_gif_encoder;
    142 extern const FFCodec ff_gif_decoder;
    143 extern const FFCodec ff_h261_encoder;
    144 extern const FFCodec ff_h261_decoder;
    145 extern const FFCodec ff_h263_encoder;
    146 extern const FFCodec ff_h263_decoder;
    147 extern const FFCodec ff_h263i_decoder;
    148 extern const FFCodec ff_h263p_encoder;
    149 extern const FFCodec ff_h263p_decoder;
    150 extern const FFCodec ff_h263_v4l2m2m_decoder;
    151 extern const FFCodec ff_h264_decoder;
    152 extern const FFCodec ff_h264_v4l2m2m_decoder;
    153 extern const FFCodec ff_h264_mediacodec_decoder;
    154 extern const FFCodec ff_h264_mediacodec_encoder;
    155 extern const FFCodec ff_h264_mmal_decoder;
    156 extern const FFCodec ff_h264_qsv_decoder;
    157 extern const FFCodec ff_h264_rkmpp_decoder;
    158 extern const FFCodec ff_hap_encoder;
    159 extern const FFCodec ff_hap_decoder;
    160 extern const FFCodec ff_hevc_decoder;
    161 extern const FFCodec ff_hevc_qsv_decoder;
    162 extern const FFCodec ff_hevc_rkmpp_decoder;
    163 extern const FFCodec ff_hevc_v4l2m2m_decoder;
    164 extern const FFCodec ff_hnm4_video_decoder;
    165 extern const FFCodec ff_hq_hqa_decoder;
    166 extern const FFCodec ff_hqx_decoder;
    167 extern const FFCodec ff_huffyuv_encoder;
    168 extern const FFCodec ff_huffyuv_decoder;
    169 extern const FFCodec ff_hymt_decoder;
    170 extern const FFCodec ff_idcin_decoder;
    171 extern const FFCodec ff_iff_ilbm_decoder;
    172 extern const FFCodec ff_imm4_decoder;
    173 extern const FFCodec ff_imm5_decoder;
    174 extern const FFCodec ff_indeo2_decoder;
    175 extern const FFCodec ff_indeo3_decoder;
    176 extern const FFCodec ff_indeo4_decoder;
    177 extern const FFCodec ff_indeo5_decoder;
    178 extern const FFCodec ff_interplay_video_decoder;
    179 extern const FFCodec ff_ipu_decoder;
    180 extern const FFCodec ff_jpeg2000_encoder;
    181 extern const FFCodec ff_jpeg2000_decoder;
    182 extern const FFCodec ff_jpegls_encoder;
    183 extern const FFCodec ff_jpegls_decoder;
    184 extern const FFCodec ff_jv_decoder;
    185 extern const FFCodec ff_kgv1_decoder;
    186 extern const FFCodec ff_kmvc_decoder;
    187 extern const FFCodec ff_lagarith_decoder;
    188 extern const FFCodec ff_lead_decoder;
    189 extern const FFCodec ff_ljpeg_encoder;
    190 extern const FFCodec ff_loco_decoder;
    191 extern const FFCodec ff_lscr_decoder;
    192 extern const FFCodec ff_m101_decoder;
    193 extern const FFCodec ff_magicyuv_encoder;
    194 extern const FFCodec ff_magicyuv_decoder;
    195 extern const FFCodec ff_mdec_decoder;
    196 extern const FFCodec ff_media100_decoder;
    197 extern const FFCodec ff_mimic_decoder;
    198 extern const FFCodec ff_mjpeg_encoder;
    199 extern const FFCodec ff_mjpeg_decoder;
    200 extern const FFCodec ff_mjpegb_decoder;
    201 extern const FFCodec ff_mmvideo_decoder;
    202 extern const FFCodec ff_mobiclip_decoder;
    203 extern const FFCodec ff_motionpixels_decoder;
    204 extern const FFCodec ff_mpeg1video_encoder;
    205 extern const FFCodec ff_mpeg1video_decoder;
    206 extern const FFCodec ff_mpeg2video_encoder;
    207 extern const FFCodec ff_mpeg2video_decoder;
    208 extern const FFCodec ff_mpeg4_encoder;
    209 extern const FFCodec ff_mpeg4_decoder;
    210 extern const FFCodec ff_mpeg4_v4l2m2m_decoder;
    211 extern const FFCodec ff_mpeg4_mmal_decoder;
    212 extern const FFCodec ff_mpegvideo_decoder;
    213 extern const FFCodec ff_mpeg1_v4l2m2m_decoder;
    214 extern const FFCodec ff_mpeg2_mmal_decoder;
    215 extern const FFCodec ff_mpeg2_v4l2m2m_decoder;
    216 extern const FFCodec ff_mpeg2_qsv_decoder;
    217 extern const FFCodec ff_mpeg2_mediacodec_decoder;
    218 extern const FFCodec ff_msa1_decoder;
    219 extern const FFCodec ff_mscc_decoder;
    220 extern const FFCodec ff_msmpeg4v1_decoder;
    221 extern const FFCodec ff_msmpeg4v2_encoder;
    222 extern const FFCodec ff_msmpeg4v2_decoder;
    223 extern const FFCodec ff_msmpeg4v3_encoder;
    224 extern const FFCodec ff_msmpeg4v3_decoder;
    225 extern const FFCodec ff_msp2_decoder;
    226 extern const FFCodec ff_msrle_encoder;
    227 extern const FFCodec ff_msrle_decoder;
    228 extern const FFCodec ff_mss1_decoder;
    229 extern const FFCodec ff_mss2_decoder;
    230 extern const FFCodec ff_msvideo1_encoder;
    231 extern const FFCodec ff_msvideo1_decoder;
    232 extern const FFCodec ff_mszh_decoder;
    233 extern const FFCodec ff_mts2_decoder;
    234 extern const FFCodec ff_mv30_decoder;
    235 extern const FFCodec ff_mvc1_decoder;
    236 extern const FFCodec ff_mvc2_decoder;
    237 extern const FFCodec ff_mvdv_decoder;
    238 extern const FFCodec ff_mvha_decoder;
    239 extern const FFCodec ff_mwsc_decoder;
    240 extern const FFCodec ff_mxpeg_decoder;
    241 extern const FFCodec ff_notchlc_decoder;
    242 extern const FFCodec ff_nuv_decoder;
    243 extern const FFCodec ff_paf_video_decoder;
    244 extern const FFCodec ff_pam_encoder;
    245 extern const FFCodec ff_pam_decoder;
    246 extern const FFCodec ff_pbm_encoder;
    247 extern const FFCodec ff_pbm_decoder;
    248 extern const FFCodec ff_pcx_encoder;
    249 extern const FFCodec ff_pcx_decoder;
    250 extern const FFCodec ff_pdv_decoder;
    251 extern const FFCodec ff_pfm_encoder;
    252 extern const FFCodec ff_pfm_decoder;
    253 extern const FFCodec ff_pgm_encoder;
    254 extern const FFCodec ff_pgm_decoder;
    255 extern const FFCodec ff_pgmyuv_encoder;
    256 extern const FFCodec ff_pgmyuv_decoder;
    257 extern const FFCodec ff_pgx_decoder;
    258 extern const FFCodec ff_phm_encoder;
    259 extern const FFCodec ff_phm_decoder;
    260 extern const FFCodec ff_photocd_decoder;
    261 extern const FFCodec ff_pictor_decoder;
    262 extern const FFCodec ff_pixlet_decoder;
    263 extern const FFCodec ff_png_encoder;
    264 extern const FFCodec ff_png_decoder;
    265 extern const FFCodec ff_ppm_encoder;
    266 extern const FFCodec ff_ppm_decoder;
    267 extern const FFCodec ff_prores_encoder;
    268 extern const FFCodec ff_prores_decoder;
    269 extern const FFCodec ff_prores_aw_encoder;
    270 extern const FFCodec ff_prores_ks_encoder;
    271 extern const FFCodec ff_prosumer_decoder;
    272 extern const FFCodec ff_psd_decoder;
    273 extern const FFCodec ff_ptx_decoder;
    274 extern const FFCodec ff_qdraw_decoder;
    275 extern const FFCodec ff_qoi_encoder;
    276 extern const FFCodec ff_qoi_decoder;
    277 extern const FFCodec ff_qpeg_decoder;
    278 extern const FFCodec ff_qtrle_encoder;
    279 extern const FFCodec ff_qtrle_decoder;
    280 extern const FFCodec ff_r10k_encoder;
    281 extern const FFCodec ff_r10k_decoder;
    282 extern const FFCodec ff_r210_encoder;
    283 extern const FFCodec ff_r210_decoder;
    284 extern const FFCodec ff_rasc_decoder;
    285 extern const FFCodec ff_rawvideo_encoder;
    286 extern const FFCodec ff_rawvideo_decoder;
    287 extern const FFCodec ff_rka_decoder;
    288 extern const FFCodec ff_rl2_decoder;
    289 extern const FFCodec ff_roq_encoder;
    290 extern const FFCodec ff_roq_decoder;
    291 extern const FFCodec ff_rpza_encoder;
    292 extern const FFCodec ff_rpza_decoder;
    293 extern const FFCodec ff_rscc_decoder;
    294 extern const FFCodec ff_rtv1_decoder;
    295 extern const FFCodec ff_rv10_encoder;
    296 extern const FFCodec ff_rv10_decoder;
    297 extern const FFCodec ff_rv20_encoder;
    298 extern const FFCodec ff_rv20_decoder;
    299 extern const FFCodec ff_rv30_decoder;
    300 extern const FFCodec ff_rv40_decoder;
    301 extern const FFCodec ff_rv60_decoder;
    302 extern const FFCodec ff_s302m_encoder;
    303 extern const FFCodec ff_s302m_decoder;
    304 extern const FFCodec ff_sanm_decoder;
    305 extern const FFCodec ff_scpr_decoder;
    306 extern const FFCodec ff_screenpresso_decoder;
    307 extern const FFCodec ff_sga_decoder;
    308 extern const FFCodec ff_sgi_encoder;
    309 extern const FFCodec ff_sgi_decoder;
    310 extern const FFCodec ff_sgirle_decoder;
    311 extern const FFCodec ff_sheervideo_decoder;
    312 extern const FFCodec ff_simbiosis_imx_decoder;
    313 extern const FFCodec ff_smacker_decoder;
    314 extern const FFCodec ff_smc_encoder;
    315 extern const FFCodec ff_smc_decoder;
    316 extern const FFCodec ff_smvjpeg_decoder;
    317 extern const FFCodec ff_snow_encoder;
    318 extern const FFCodec ff_snow_decoder;
    319 extern const FFCodec ff_sp5x_decoder;
    320 extern const FFCodec ff_speedhq_decoder;
    321 extern const FFCodec ff_speedhq_encoder;
    322 extern const FFCodec ff_speex_decoder;
    323 extern const FFCodec ff_srgc_decoder;
    324 extern const FFCodec ff_sunrast_encoder;
    325 extern const FFCodec ff_sunrast_decoder;
    326 extern const FFCodec ff_svq1_encoder;
    327 extern const FFCodec ff_svq1_decoder;
    328 extern const FFCodec ff_svq3_decoder;
    329 extern const FFCodec ff_targa_encoder;
    330 extern const FFCodec ff_targa_decoder;
    331 extern const FFCodec ff_targa_y216_decoder;
    332 extern const FFCodec ff_tdsc_decoder;
    333 extern const FFCodec ff_theora_decoder;
    334 extern const FFCodec ff_thp_decoder;
    335 extern const FFCodec ff_tiertexseqvideo_decoder;
    336 extern const FFCodec ff_tiff_encoder;
    337 extern const FFCodec ff_tiff_decoder;
    338 extern const FFCodec ff_tmv_decoder;
    339 extern const FFCodec ff_truemotion1_decoder;
    340 extern const FFCodec ff_truemotion2_decoder;
    341 extern const FFCodec ff_truemotion2rt_decoder;
    342 extern const FFCodec ff_tscc_decoder;
    343 extern const FFCodec ff_tscc2_decoder;
    344 extern const FFCodec ff_txd_decoder;
    345 extern const FFCodec ff_ulti_decoder;
    346 extern const FFCodec ff_utvideo_encoder;
    347 extern const FFCodec ff_utvideo_decoder;
    348 extern const FFCodec ff_v210_encoder;
    349 extern const FFCodec ff_v210_decoder;
    350 extern const FFCodec ff_v210x_decoder;
    351 #if FF_API_V408_CODECID
    352 extern const FFCodec ff_v308_encoder;
    353 extern const FFCodec ff_v308_decoder;
    354 extern const FFCodec ff_v408_encoder;
    355 extern const FFCodec ff_v408_decoder;
    356 extern const FFCodec ff_v410_encoder;
    357 extern const FFCodec ff_v410_decoder;
    358 #endif
    359 extern const FFCodec ff_vb_decoder;
    360 extern const FFCodec ff_vbn_encoder;
    361 extern const FFCodec ff_vbn_decoder;
    362 extern const FFCodec ff_vble_decoder;
    363 extern const FFCodec ff_vc1_decoder;
    364 extern const FFCodec ff_vc1image_decoder;
    365 extern const FFCodec ff_vc1_mmal_decoder;
    366 extern const FFCodec ff_vc1_qsv_decoder;
    367 extern const FFCodec ff_vc1_v4l2m2m_decoder;
    368 extern const FFCodec ff_vc2_encoder;
    369 extern const FFCodec ff_vcr1_decoder;
    370 extern const FFCodec ff_vmdvideo_decoder;
    371 extern const FFCodec ff_vmix_decoder;
    372 extern const FFCodec ff_vmnc_decoder;
    373 extern const FFCodec ff_vp3_decoder;
    374 extern const FFCodec ff_vp4_decoder;
    375 extern const FFCodec ff_vp5_decoder;
    376 extern const FFCodec ff_vp6_decoder;
    377 extern const FFCodec ff_vp6a_decoder;
    378 extern const FFCodec ff_vp6f_decoder;
    379 extern const FFCodec ff_vp7_decoder;
    380 extern const FFCodec ff_vp8_decoder;
    381 extern const FFCodec ff_vp8_rkmpp_decoder;
    382 extern const FFCodec ff_vp8_v4l2m2m_decoder;
    383 extern const FFCodec ff_vp9_decoder;
    384 extern const FFCodec ff_vp9_rkmpp_decoder;
    385 extern const FFCodec ff_vp9_v4l2m2m_decoder;
    386 extern const FFCodec ff_vqa_decoder;
    387 extern const FFCodec ff_vqc_decoder;
    388 extern const FFCodec ff_vvc_decoder;
    389 extern const FFCodec ff_wbmp_decoder;
    390 extern const FFCodec ff_wbmp_encoder;
    391 extern const FFCodec ff_webp_decoder;
    392 extern const FFCodec ff_wcmv_decoder;
    393 extern const FFCodec ff_wrapped_avframe_encoder;
    394 extern const FFCodec ff_wrapped_avframe_decoder;
    395 extern const FFCodec ff_wmv1_encoder;
    396 extern const FFCodec ff_wmv1_decoder;
    397 extern const FFCodec ff_wmv2_encoder;
    398 extern const FFCodec ff_wmv2_decoder;
    399 extern const FFCodec ff_wmv3_decoder;
    400 extern const FFCodec ff_wmv3image_decoder;
    401 extern const FFCodec ff_wnv1_decoder;
    402 extern const FFCodec ff_xan_wc3_decoder;
    403 extern const FFCodec ff_xan_wc4_decoder;
    404 extern const FFCodec ff_xbm_encoder;
    405 extern const FFCodec ff_xbm_decoder;
    406 extern const FFCodec ff_xface_encoder;
    407 extern const FFCodec ff_xface_decoder;
    408 extern const FFCodec ff_xl_decoder;
    409 extern const FFCodec ff_xpm_decoder;
    410 extern const FFCodec ff_xwd_encoder;
    411 extern const FFCodec ff_xwd_decoder;
    412 extern const FFCodec ff_y41p_encoder;
    413 extern const FFCodec ff_y41p_decoder;
    414 extern const FFCodec ff_ylc_decoder;
    415 extern const FFCodec ff_yop_decoder;
    416 extern const FFCodec ff_yuv4_encoder;
    417 extern const FFCodec ff_yuv4_decoder;
    418 extern const FFCodec ff_zero12v_decoder;
    419 extern const FFCodec ff_zerocodec_decoder;
    420 extern const FFCodec ff_zlib_encoder;
    421 extern const FFCodec ff_zlib_decoder;
    422 extern const FFCodec ff_zmbv_encoder;
    423 extern const FFCodec ff_zmbv_decoder;
    424 
    425 /* audio codecs */
    426 extern const FFCodec ff_aac_encoder;
    427 extern const FFCodec ff_aac_decoder;
    428 extern const FFCodec ff_aac_fixed_decoder;
    429 extern const FFCodec ff_aac_latm_decoder;
    430 extern const FFCodec ff_ac3_encoder;
    431 extern const FFCodec ff_ac3_decoder;
    432 extern const FFCodec ff_ac3_fixed_encoder;
    433 extern const FFCodec ff_ac3_fixed_decoder;
    434 extern const FFCodec ff_acelp_kelvin_decoder;
    435 extern const FFCodec ff_alac_encoder;
    436 extern const FFCodec ff_alac_decoder;
    437 extern const FFCodec ff_als_decoder;
    438 extern const FFCodec ff_amrnb_decoder;
    439 extern const FFCodec ff_amrwb_decoder;
    440 extern const FFCodec ff_apac_decoder;
    441 extern const FFCodec ff_ape_decoder;
    442 extern const FFCodec ff_aptx_encoder;
    443 extern const FFCodec ff_aptx_decoder;
    444 extern const FFCodec ff_aptx_hd_encoder;
    445 extern const FFCodec ff_aptx_hd_decoder;
    446 extern const FFCodec ff_atrac1_decoder;
    447 extern const FFCodec ff_atrac3_decoder;
    448 extern const FFCodec ff_atrac3al_decoder;
    449 extern const FFCodec ff_atrac3p_decoder;
    450 extern const FFCodec ff_atrac3pal_decoder;
    451 extern const FFCodec ff_atrac9_decoder;
    452 extern const FFCodec ff_binkaudio_dct_decoder;
    453 extern const FFCodec ff_binkaudio_rdft_decoder;
    454 extern const FFCodec ff_bmv_audio_decoder;
    455 extern const FFCodec ff_bonk_decoder;
    456 extern const FFCodec ff_cook_decoder;
    457 extern const FFCodec ff_dca_encoder;
    458 extern const FFCodec ff_dca_decoder;
    459 extern const FFCodec ff_dfpwm_encoder;
    460 extern const FFCodec ff_dfpwm_decoder;
    461 extern const FFCodec ff_dolby_e_decoder;
    462 extern const FFCodec ff_dsd_lsbf_decoder;
    463 extern const FFCodec ff_dsd_msbf_decoder;
    464 extern const FFCodec ff_dsd_lsbf_planar_decoder;
    465 extern const FFCodec ff_dsd_msbf_planar_decoder;
    466 extern const FFCodec ff_dsicinaudio_decoder;
    467 extern const FFCodec ff_dss_sp_decoder;
    468 extern const FFCodec ff_dst_decoder;
    469 extern const FFCodec ff_eac3_encoder;
    470 extern const FFCodec ff_eac3_decoder;
    471 extern const FFCodec ff_evrc_decoder;
    472 extern const FFCodec ff_fastaudio_decoder;
    473 extern const FFCodec ff_ffwavesynth_decoder;
    474 extern const FFCodec ff_flac_encoder;
    475 extern const FFCodec ff_flac_decoder;
    476 extern const FFCodec ff_ftr_decoder;
    477 extern const FFCodec ff_g723_1_encoder;
    478 extern const FFCodec ff_g723_1_decoder;
    479 extern const FFCodec ff_g729_decoder;
    480 extern const FFCodec ff_gsm_decoder;
    481 extern const FFCodec ff_gsm_ms_decoder;
    482 extern const FFCodec ff_hca_decoder;
    483 extern const FFCodec ff_hcom_decoder;
    484 extern const FFCodec ff_hdr_encoder;
    485 extern const FFCodec ff_hdr_decoder;
    486 extern const FFCodec ff_iac_decoder;
    487 extern const FFCodec ff_ilbc_decoder;
    488 extern const FFCodec ff_imc_decoder;
    489 extern const FFCodec ff_interplay_acm_decoder;
    490 extern const FFCodec ff_mace3_decoder;
    491 extern const FFCodec ff_mace6_decoder;
    492 extern const FFCodec ff_metasound_decoder;
    493 extern const FFCodec ff_misc4_decoder;
    494 extern const FFCodec ff_mlp_encoder;
    495 extern const FFCodec ff_mlp_decoder;
    496 extern const FFCodec ff_mp1_decoder;
    497 extern const FFCodec ff_mp1float_decoder;
    498 extern const FFCodec ff_mp2_encoder;
    499 extern const FFCodec ff_mp2_decoder;
    500 extern const FFCodec ff_mp2float_decoder;
    501 extern const FFCodec ff_mp2fixed_encoder;
    502 extern const FFCodec ff_mp3float_decoder;
    503 extern const FFCodec ff_mp3_decoder;
    504 extern const FFCodec ff_mp3adufloat_decoder;
    505 extern const FFCodec ff_mp3adu_decoder;
    506 extern const FFCodec ff_mp3on4float_decoder;
    507 extern const FFCodec ff_mp3on4_decoder;
    508 extern const FFCodec ff_mpc7_decoder;
    509 extern const FFCodec ff_mpc8_decoder;
    510 extern const FFCodec ff_msnsiren_decoder;
    511 extern const FFCodec ff_nellymoser_encoder;
    512 extern const FFCodec ff_nellymoser_decoder;
    513 extern const FFCodec ff_on2avc_decoder;
    514 extern const FFCodec ff_opus_encoder;
    515 extern const FFCodec ff_opus_decoder;
    516 extern const FFCodec ff_osq_decoder;
    517 extern const FFCodec ff_paf_audio_decoder;
    518 extern const FFCodec ff_qcelp_decoder;
    519 extern const FFCodec ff_qdm2_decoder;
    520 extern const FFCodec ff_qdmc_decoder;
    521 extern const FFCodec ff_qoa_decoder;
    522 extern const FFCodec ff_ra_144_encoder;
    523 extern const FFCodec ff_ra_144_decoder;
    524 extern const FFCodec ff_ra_288_decoder;
    525 extern const FFCodec ff_ralf_decoder;
    526 extern const FFCodec ff_sbc_encoder;
    527 extern const FFCodec ff_sbc_decoder;
    528 extern const FFCodec ff_shorten_decoder;
    529 extern const FFCodec ff_sipr_decoder;
    530 extern const FFCodec ff_siren_decoder;
    531 extern const FFCodec ff_smackaud_decoder;
    532 extern const FFCodec ff_sonic_encoder;
    533 extern const FFCodec ff_sonic_decoder;
    534 extern const FFCodec ff_sonic_ls_encoder;
    535 extern const FFCodec ff_tak_decoder;
    536 extern const FFCodec ff_truehd_encoder;
    537 extern const FFCodec ff_truehd_decoder;
    538 extern const FFCodec ff_truespeech_decoder;
    539 extern const FFCodec ff_tta_encoder;
    540 extern const FFCodec ff_tta_decoder;
    541 extern const FFCodec ff_twinvq_decoder;
    542 extern const FFCodec ff_vmdaudio_decoder;
    543 extern const FFCodec ff_vorbis_encoder;
    544 extern const FFCodec ff_vorbis_decoder;
    545 extern const FFCodec ff_wavarc_decoder;
    546 extern const FFCodec ff_wavpack_encoder;
    547 extern const FFCodec ff_wavpack_decoder;
    548 extern const FFCodec ff_wmalossless_decoder;
    549 extern const FFCodec ff_wmapro_decoder;
    550 extern const FFCodec ff_wmav1_encoder;
    551 extern const FFCodec ff_wmav1_decoder;
    552 extern const FFCodec ff_wmav2_encoder;
    553 extern const FFCodec ff_wmav2_decoder;
    554 extern const FFCodec ff_wmavoice_decoder;
    555 extern const FFCodec ff_ws_snd1_decoder;
    556 extern const FFCodec ff_xma1_decoder;
    557 extern const FFCodec ff_xma2_decoder;
    558 
    559 /* PCM codecs */
    560 extern const FFCodec ff_pcm_alaw_encoder;
    561 extern const FFCodec ff_pcm_alaw_decoder;
    562 extern const FFCodec ff_pcm_bluray_encoder;
    563 extern const FFCodec ff_pcm_bluray_decoder;
    564 extern const FFCodec ff_pcm_dvd_encoder;
    565 extern const FFCodec ff_pcm_dvd_decoder;
    566 extern const FFCodec ff_pcm_f16le_decoder;
    567 extern const FFCodec ff_pcm_f24le_decoder;
    568 extern const FFCodec ff_pcm_f32be_encoder;
    569 extern const FFCodec ff_pcm_f32be_decoder;
    570 extern const FFCodec ff_pcm_f32le_encoder;
    571 extern const FFCodec ff_pcm_f32le_decoder;
    572 extern const FFCodec ff_pcm_f64be_encoder;
    573 extern const FFCodec ff_pcm_f64be_decoder;
    574 extern const FFCodec ff_pcm_f64le_encoder;
    575 extern const FFCodec ff_pcm_f64le_decoder;
    576 extern const FFCodec ff_pcm_lxf_decoder;
    577 extern const FFCodec ff_pcm_mulaw_encoder;
    578 extern const FFCodec ff_pcm_mulaw_decoder;
    579 extern const FFCodec ff_pcm_s8_encoder;
    580 extern const FFCodec ff_pcm_s8_decoder;
    581 extern const FFCodec ff_pcm_s8_planar_encoder;
    582 extern const FFCodec ff_pcm_s8_planar_decoder;
    583 extern const FFCodec ff_pcm_s16be_encoder;
    584 extern const FFCodec ff_pcm_s16be_decoder;
    585 extern const FFCodec ff_pcm_s16be_planar_encoder;
    586 extern const FFCodec ff_pcm_s16be_planar_decoder;
    587 extern const FFCodec ff_pcm_s16le_encoder;
    588 extern const FFCodec ff_pcm_s16le_decoder;
    589 extern const FFCodec ff_pcm_s16le_planar_encoder;
    590 extern const FFCodec ff_pcm_s16le_planar_decoder;
    591 extern const FFCodec ff_pcm_s24be_encoder;
    592 extern const FFCodec ff_pcm_s24be_decoder;
    593 extern const FFCodec ff_pcm_s24daud_encoder;
    594 extern const FFCodec ff_pcm_s24daud_decoder;
    595 extern const FFCodec ff_pcm_s24le_encoder;
    596 extern const FFCodec ff_pcm_s24le_decoder;
    597 extern const FFCodec ff_pcm_s24le_planar_encoder;
    598 extern const FFCodec ff_pcm_s24le_planar_decoder;
    599 extern const FFCodec ff_pcm_s32be_encoder;
    600 extern const FFCodec ff_pcm_s32be_decoder;
    601 extern const FFCodec ff_pcm_s32le_encoder;
    602 extern const FFCodec ff_pcm_s32le_decoder;
    603 extern const FFCodec ff_pcm_s32le_planar_encoder;
    604 extern const FFCodec ff_pcm_s32le_planar_decoder;
    605 extern const FFCodec ff_pcm_s64be_encoder;
    606 extern const FFCodec ff_pcm_s64be_decoder;
    607 extern const FFCodec ff_pcm_s64le_encoder;
    608 extern const FFCodec ff_pcm_s64le_decoder;
    609 extern const FFCodec ff_pcm_sga_decoder;
    610 extern const FFCodec ff_pcm_u8_encoder;
    611 extern const FFCodec ff_pcm_u8_decoder;
    612 extern const FFCodec ff_pcm_u16be_encoder;
    613 extern const FFCodec ff_pcm_u16be_decoder;
    614 extern const FFCodec ff_pcm_u16le_encoder;
    615 extern const FFCodec ff_pcm_u16le_decoder;
    616 extern const FFCodec ff_pcm_u24be_encoder;
    617 extern const FFCodec ff_pcm_u24be_decoder;
    618 extern const FFCodec ff_pcm_u24le_encoder;
    619 extern const FFCodec ff_pcm_u24le_decoder;
    620 extern const FFCodec ff_pcm_u32be_encoder;
    621 extern const FFCodec ff_pcm_u32be_decoder;
    622 extern const FFCodec ff_pcm_u32le_encoder;
    623 extern const FFCodec ff_pcm_u32le_decoder;
    624 extern const FFCodec ff_pcm_vidc_encoder;
    625 extern const FFCodec ff_pcm_vidc_decoder;
    626 
    627 /* DPCM codecs */
    628 extern const FFCodec ff_cbd2_dpcm_decoder;
    629 extern const FFCodec ff_derf_dpcm_decoder;
    630 extern const FFCodec ff_gremlin_dpcm_decoder;
    631 extern const FFCodec ff_interplay_dpcm_decoder;
    632 extern const FFCodec ff_roq_dpcm_encoder;
    633 extern const FFCodec ff_roq_dpcm_decoder;
    634 extern const FFCodec ff_sdx2_dpcm_decoder;
    635 extern const FFCodec ff_sol_dpcm_decoder;
    636 extern const FFCodec ff_xan_dpcm_decoder;
    637 extern const FFCodec ff_wady_dpcm_decoder;
    638 
    639 /* ADPCM codecs */
    640 extern const FFCodec ff_adpcm_4xm_decoder;
    641 extern const FFCodec ff_adpcm_adx_encoder;
    642 extern const FFCodec ff_adpcm_adx_decoder;
    643 extern const FFCodec ff_adpcm_afc_decoder;
    644 extern const FFCodec ff_adpcm_agm_decoder;
    645 extern const FFCodec ff_adpcm_aica_decoder;
    646 extern const FFCodec ff_adpcm_argo_decoder;
    647 extern const FFCodec ff_adpcm_argo_encoder;
    648 extern const FFCodec ff_adpcm_ct_decoder;
    649 extern const FFCodec ff_adpcm_dtk_decoder;
    650 extern const FFCodec ff_adpcm_ea_decoder;
    651 extern const FFCodec ff_adpcm_ea_maxis_xa_decoder;
    652 extern const FFCodec ff_adpcm_ea_r1_decoder;
    653 extern const FFCodec ff_adpcm_ea_r2_decoder;
    654 extern const FFCodec ff_adpcm_ea_r3_decoder;
    655 extern const FFCodec ff_adpcm_ea_xas_decoder;
    656 extern const FFCodec ff_adpcm_g722_encoder;
    657 extern const FFCodec ff_adpcm_g722_decoder;
    658 extern const FFCodec ff_adpcm_g726_encoder;
    659 extern const FFCodec ff_adpcm_g726_decoder;
    660 extern const FFCodec ff_adpcm_g726le_encoder;
    661 extern const FFCodec ff_adpcm_g726le_decoder;
    662 extern const FFCodec ff_adpcm_ima_acorn_decoder;
    663 extern const FFCodec ff_adpcm_ima_amv_decoder;
    664 extern const FFCodec ff_adpcm_ima_amv_encoder;
    665 extern const FFCodec ff_adpcm_ima_alp_decoder;
    666 extern const FFCodec ff_adpcm_ima_alp_encoder;
    667 extern const FFCodec ff_adpcm_ima_apc_decoder;
    668 extern const FFCodec ff_adpcm_ima_apm_decoder;
    669 extern const FFCodec ff_adpcm_ima_apm_encoder;
    670 extern const FFCodec ff_adpcm_ima_cunning_decoder;
    671 extern const FFCodec ff_adpcm_ima_dat4_decoder;
    672 extern const FFCodec ff_adpcm_ima_dk3_decoder;
    673 extern const FFCodec ff_adpcm_ima_dk4_decoder;
    674 extern const FFCodec ff_adpcm_ima_ea_eacs_decoder;
    675 extern const FFCodec ff_adpcm_ima_ea_sead_decoder;
    676 extern const FFCodec ff_adpcm_ima_iss_decoder;
    677 extern const FFCodec ff_adpcm_ima_moflex_decoder;
    678 extern const FFCodec ff_adpcm_ima_mtf_decoder;
    679 extern const FFCodec ff_adpcm_ima_oki_decoder;
    680 extern const FFCodec ff_adpcm_ima_qt_encoder;
    681 extern const FFCodec ff_adpcm_ima_qt_decoder;
    682 extern const FFCodec ff_adpcm_ima_rad_decoder;
    683 extern const FFCodec ff_adpcm_ima_ssi_decoder;
    684 extern const FFCodec ff_adpcm_ima_ssi_encoder;
    685 extern const FFCodec ff_adpcm_ima_smjpeg_decoder;
    686 extern const FFCodec ff_adpcm_ima_wav_encoder;
    687 extern const FFCodec ff_adpcm_ima_wav_decoder;
    688 extern const FFCodec ff_adpcm_ima_ws_encoder;
    689 extern const FFCodec ff_adpcm_ima_ws_decoder;
    690 extern const FFCodec ff_adpcm_ima_xbox_decoder;
    691 extern const FFCodec ff_adpcm_ms_encoder;
    692 extern const FFCodec ff_adpcm_ms_decoder;
    693 extern const FFCodec ff_adpcm_mtaf_decoder;
    694 extern const FFCodec ff_adpcm_psx_decoder;
    695 extern const FFCodec ff_adpcm_sbpro_2_decoder;
    696 extern const FFCodec ff_adpcm_sbpro_3_decoder;
    697 extern const FFCodec ff_adpcm_sbpro_4_decoder;
    698 extern const FFCodec ff_adpcm_swf_encoder;
    699 extern const FFCodec ff_adpcm_swf_decoder;
    700 extern const FFCodec ff_adpcm_thp_decoder;
    701 extern const FFCodec ff_adpcm_thp_le_decoder;
    702 extern const FFCodec ff_adpcm_vima_decoder;
    703 extern const FFCodec ff_adpcm_xa_decoder;
    704 extern const FFCodec ff_adpcm_xmd_decoder;
    705 extern const FFCodec ff_adpcm_yamaha_encoder;
    706 extern const FFCodec ff_adpcm_yamaha_decoder;
    707 extern const FFCodec ff_adpcm_zork_decoder;
    708 
    709 /* subtitles */
    710 extern const FFCodec ff_ssa_encoder;
    711 extern const FFCodec ff_ssa_decoder;
    712 extern const FFCodec ff_ass_encoder;
    713 extern const FFCodec ff_ass_decoder;
    714 extern const FFCodec ff_ccaption_decoder;
    715 extern const FFCodec ff_dvbsub_encoder;
    716 extern const FFCodec ff_dvbsub_decoder;
    717 extern const FFCodec ff_dvdsub_encoder;
    718 extern const FFCodec ff_dvdsub_decoder;
    719 extern const FFCodec ff_jacosub_decoder;
    720 extern const FFCodec ff_microdvd_decoder;
    721 extern const FFCodec ff_movtext_encoder;
    722 extern const FFCodec ff_movtext_decoder;
    723 extern const FFCodec ff_mpl2_decoder;
    724 extern const FFCodec ff_pgssub_decoder;
    725 extern const FFCodec ff_pjs_decoder;
    726 extern const FFCodec ff_realtext_decoder;
    727 extern const FFCodec ff_sami_decoder;
    728 extern const FFCodec ff_srt_encoder;
    729 extern const FFCodec ff_srt_decoder;
    730 extern const FFCodec ff_stl_decoder;
    731 extern const FFCodec ff_subrip_encoder;
    732 extern const FFCodec ff_subrip_decoder;
    733 extern const FFCodec ff_subviewer_decoder;
    734 extern const FFCodec ff_subviewer1_decoder;
    735 extern const FFCodec ff_text_encoder;
    736 extern const FFCodec ff_text_decoder;
    737 extern const FFCodec ff_ttml_encoder;
    738 extern const FFCodec ff_vplayer_decoder;
    739 extern const FFCodec ff_webvtt_encoder;
    740 extern const FFCodec ff_webvtt_decoder;
    741 extern const FFCodec ff_xsub_encoder;
    742 extern const FFCodec ff_xsub_decoder;
    743 
    744 /* external libraries */
    745 extern const FFCodec ff_aac_at_encoder;
    746 extern const FFCodec ff_aac_at_decoder;
    747 extern const FFCodec ff_ac3_at_decoder;
    748 extern const FFCodec ff_adpcm_ima_qt_at_decoder;
    749 extern const FFCodec ff_alac_at_encoder;
    750 extern const FFCodec ff_alac_at_decoder;
    751 extern const FFCodec ff_amr_nb_at_decoder;
    752 extern const FFCodec ff_eac3_at_decoder;
    753 extern const FFCodec ff_gsm_ms_at_decoder;
    754 extern const FFCodec ff_ilbc_at_encoder;
    755 extern const FFCodec ff_ilbc_at_decoder;
    756 extern const FFCodec ff_mp1_at_decoder;
    757 extern const FFCodec ff_mp2_at_decoder;
    758 extern const FFCodec ff_mp3_at_decoder;
    759 extern const FFCodec ff_pcm_alaw_at_encoder;
    760 extern const FFCodec ff_pcm_alaw_at_decoder;
    761 extern const FFCodec ff_pcm_mulaw_at_encoder;
    762 extern const FFCodec ff_pcm_mulaw_at_decoder;
    763 extern const FFCodec ff_qdmc_at_decoder;
    764 extern const FFCodec ff_qdm2_at_decoder;
    765 extern FFCodec ff_libaom_av1_encoder;
    766 /* preferred over libaribb24 */
    767 extern const FFCodec ff_libaribcaption_decoder;
    768 extern const FFCodec ff_libaribb24_decoder;
    769 extern const FFCodec ff_libcelt_decoder;
    770 extern const FFCodec ff_libcodec2_encoder;
    771 extern const FFCodec ff_libcodec2_decoder;
    772 extern const FFCodec ff_libdav1d_decoder;
    773 extern const FFCodec ff_libdavs2_decoder;
    774 extern const FFCodec ff_libfdk_aac_encoder;
    775 extern const FFCodec ff_libfdk_aac_decoder;
    776 extern const FFCodec ff_libgsm_encoder;
    777 extern const FFCodec ff_libgsm_decoder;
    778 extern const FFCodec ff_libgsm_ms_encoder;
    779 extern const FFCodec ff_libgsm_ms_decoder;
    780 extern const FFCodec ff_libilbc_encoder;
    781 extern const FFCodec ff_libilbc_decoder;
    782 extern const FFCodec ff_libjxl_anim_decoder;
    783 extern const FFCodec ff_libjxl_anim_encoder;
    784 extern const FFCodec ff_libjxl_decoder;
    785 extern const FFCodec ff_libjxl_encoder;
    786 extern const FFCodec ff_liblc3_encoder;
    787 extern const FFCodec ff_liblc3_decoder;
    788 extern const FFCodec ff_libmp3lame_encoder;
    789 extern const FFCodec ff_libopencore_amrnb_encoder;
    790 extern const FFCodec ff_libopencore_amrnb_decoder;
    791 extern const FFCodec ff_libopencore_amrwb_decoder;
    792 extern const FFCodec ff_libopenjpeg_encoder;
    793 extern const FFCodec ff_libopus_encoder;
    794 extern const FFCodec ff_libopus_decoder;
    795 extern const FFCodec ff_librav1e_encoder;
    796 extern const FFCodec ff_librsvg_decoder;
    797 extern const FFCodec ff_libshine_encoder;
    798 extern const FFCodec ff_libspeex_encoder;
    799 extern const FFCodec ff_libspeex_decoder;
    800 extern const FFCodec ff_libsvtav1_encoder;
    801 extern const FFCodec ff_libtheora_encoder;
    802 extern const FFCodec ff_libtwolame_encoder;
    803 extern const FFCodec ff_libuavs3d_decoder;
    804 extern const FFCodec ff_libvo_amrwbenc_encoder;
    805 extern const FFCodec ff_libvorbis_encoder;
    806 extern const FFCodec ff_libvorbis_decoder;
    807 extern const FFCodec ff_libvpx_vp8_encoder;
    808 extern const FFCodec ff_libvpx_vp8_decoder;
    809 extern FFCodec ff_libvpx_vp9_encoder;
    810 extern const FFCodec ff_libvpx_vp9_decoder;
    811 extern const FFCodec ff_libvvenc_encoder;
    812 /* preferred over libwebp */
    813 extern const FFCodec ff_libwebp_anim_encoder;
    814 extern const FFCodec ff_libwebp_encoder;
    815 extern const FFCodec ff_libx262_encoder;
    816 extern const FFCodec ff_libx264_encoder;
    817 extern const FFCodec ff_libx264rgb_encoder;
    818 extern FFCodec ff_libx265_encoder;
    819 extern const FFCodec ff_libxeve_encoder;
    820 extern const FFCodec ff_libxevd_decoder;
    821 extern const FFCodec ff_libxavs_encoder;
    822 extern const FFCodec ff_libxavs2_encoder;
    823 extern const FFCodec ff_libxvid_encoder;
    824 extern const FFCodec ff_libzvbi_teletext_decoder;
    825 
    826 /* text */
    827 extern const FFCodec ff_bintext_decoder;
    828 extern const FFCodec ff_xbin_decoder;
    829 extern const FFCodec ff_idf_decoder;
    830 
    831 /* external libraries, that shouldn't be used by default if one of the
    832 * above is available */
    833 extern const FFCodec ff_aac_mediacodec_decoder;
    834 extern const FFCodec ff_aac_mf_encoder;
    835 extern const FFCodec ff_ac3_mf_encoder;
    836 extern const FFCodec ff_amrnb_mediacodec_decoder;
    837 extern const FFCodec ff_amrwb_mediacodec_decoder;
    838 extern const FFCodec ff_h263_v4l2m2m_encoder;
    839 extern const FFCodec ff_libaom_av1_decoder;
    840 /* hwaccel hooks only, so prefer external decoders */
    841 extern const FFCodec ff_av1_decoder;
    842 extern const FFCodec ff_av1_cuvid_decoder;
    843 extern const FFCodec ff_av1_mediacodec_decoder;
    844 extern const FFCodec ff_av1_mediacodec_encoder;
    845 extern const FFCodec ff_av1_nvenc_encoder;
    846 extern const FFCodec ff_av1_qsv_decoder;
    847 extern const FFCodec ff_av1_qsv_encoder;
    848 extern const FFCodec ff_av1_amf_encoder;
    849 extern const FFCodec ff_av1_mf_encoder;
    850 extern const FFCodec ff_av1_vaapi_encoder;
    851 extern const FFCodec ff_libopenh264_encoder;
    852 extern const FFCodec ff_libopenh264_decoder;
    853 extern const FFCodec ff_h264_amf_encoder;
    854 extern const FFCodec ff_h264_cuvid_decoder;
    855 extern const FFCodec ff_h264_mf_encoder;
    856 extern const FFCodec ff_h264_nvenc_encoder;
    857 extern const FFCodec ff_h264_omx_encoder;
    858 extern const FFCodec ff_h264_qsv_encoder;
    859 extern const FFCodec ff_h264_v4l2m2m_encoder;
    860 extern const FFCodec ff_h264_vaapi_encoder;
    861 extern const FFCodec ff_h264_videotoolbox_encoder;
    862 extern const FFCodec ff_h264_vulkan_encoder;
    863 extern const FFCodec ff_hevc_amf_encoder;
    864 extern const FFCodec ff_hevc_cuvid_decoder;
    865 extern const FFCodec ff_hevc_d3d12va_encoder;
    866 extern const FFCodec ff_hevc_mediacodec_decoder;
    867 extern const FFCodec ff_hevc_mediacodec_encoder;
    868 extern const FFCodec ff_hevc_mf_encoder;
    869 extern const FFCodec ff_hevc_nvenc_encoder;
    870 extern const FFCodec ff_hevc_qsv_encoder;
    871 extern const FFCodec ff_hevc_v4l2m2m_encoder;
    872 extern const FFCodec ff_hevc_vaapi_encoder;
    873 extern const FFCodec ff_hevc_videotoolbox_encoder;
    874 extern const FFCodec ff_hevc_vulkan_encoder;
    875 extern const FFCodec ff_libkvazaar_encoder;
    876 extern const FFCodec ff_mjpeg_cuvid_decoder;
    877 extern const FFCodec ff_mjpeg_qsv_encoder;
    878 extern const FFCodec ff_mjpeg_qsv_decoder;
    879 extern const FFCodec ff_mjpeg_vaapi_encoder;
    880 extern const FFCodec ff_mp3_mediacodec_decoder;
    881 extern const FFCodec ff_mp3_mf_encoder;
    882 extern const FFCodec ff_mpeg1_cuvid_decoder;
    883 extern const FFCodec ff_mpeg2_cuvid_decoder;
    884 extern const FFCodec ff_mpeg2_qsv_encoder;
    885 extern const FFCodec ff_mpeg2_vaapi_encoder;
    886 extern const FFCodec ff_mpeg4_cuvid_decoder;
    887 extern const FFCodec ff_mpeg4_mediacodec_decoder;
    888 extern const FFCodec ff_mpeg4_mediacodec_encoder;
    889 extern const FFCodec ff_mpeg4_omx_encoder;
    890 extern const FFCodec ff_mpeg4_v4l2m2m_encoder;
    891 extern const FFCodec ff_prores_videotoolbox_encoder;
    892 extern const FFCodec ff_vc1_cuvid_decoder;
    893 extern const FFCodec ff_vp8_cuvid_decoder;
    894 extern const FFCodec ff_vp8_mediacodec_decoder;
    895 extern const FFCodec ff_vp8_mediacodec_encoder;
    896 extern const FFCodec ff_vp8_qsv_decoder;
    897 extern const FFCodec ff_vp8_v4l2m2m_encoder;
    898 extern const FFCodec ff_vp8_vaapi_encoder;
    899 extern const FFCodec ff_vp9_cuvid_decoder;
    900 extern const FFCodec ff_vp9_mediacodec_decoder;
    901 extern const FFCodec ff_vp9_mediacodec_encoder;
    902 extern const FFCodec ff_vp9_qsv_decoder;
    903 extern const FFCodec ff_vp9_vaapi_encoder;
    904 extern const FFCodec ff_vp9_qsv_encoder;
    905 extern const FFCodec ff_vvc_qsv_decoder;
    906 
    907 // null codecs
    908 extern const FFCodec ff_vnull_decoder;
    909 extern const FFCodec ff_vnull_encoder;
    910 extern const FFCodec ff_anull_decoder;
    911 extern const FFCodec ff_anull_encoder;
    912 
    913 // The iterate API is not usable with ossfuzz due to the excessive size of binaries created
    914 #if CONFIG_OSSFUZZ
    915 const FFCodec * codec_list[] = {
    916    NULL,
    917    NULL,
    918    NULL
    919 };
    920 #else
    921 #include "libavcodec/codec_list.c"
    922 #endif
    923 
    924 static AVOnce av_codec_static_init = AV_ONCE_INIT;
    925 static void av_codec_init_static(void)
    926 {
    927    int dummy;
    928    for (int i = 0; codec_list[i]; i++) {
    929        /* Backward compatibility with deprecated public fields */
    930        const FFCodec *codec = codec_list[i];
    931        if (!codec->get_supported_config)
    932            continue;
    933 
    934 FF_DISABLE_DEPRECATION_WARNINGS
    935        switch (codec->p.type) {
    936        case AVMEDIA_TYPE_VIDEO:
    937            codec->get_supported_config(NULL, &codec->p,
    938                                        AV_CODEC_CONFIG_PIX_FORMAT, 0,
    939                                        (const void **) &codec->p.pix_fmts,
    940                                        &dummy);
    941            codec->get_supported_config(NULL, &codec->p,
    942                                        AV_CODEC_CONFIG_FRAME_RATE, 0,
    943                                        (const void **) &codec->p.supported_framerates,
    944                                        &dummy);
    945            break;
    946        case AVMEDIA_TYPE_AUDIO:
    947            codec->get_supported_config(NULL, &codec->p,
    948                                        AV_CODEC_CONFIG_SAMPLE_FORMAT, 0,
    949                                        (const void **) &codec->p.sample_fmts,
    950                                        &dummy);
    951            codec->get_supported_config(NULL, &codec->p,
    952                                        AV_CODEC_CONFIG_SAMPLE_RATE, 0,
    953                                        (const void **) &codec->p.supported_samplerates,
    954                                        &dummy);
    955            codec->get_supported_config(NULL, &codec->p,
    956                                        AV_CODEC_CONFIG_CHANNEL_LAYOUT, 0,
    957                                        (const void **) &codec->p.ch_layouts,
    958                                        &dummy);
    959            break;
    960        default:
    961            break;
    962        }
    963 FF_ENABLE_DEPRECATION_WARNINGS
    964    }
    965 }
    966 
    967 const AVCodec *av_codec_iterate(void **opaque)
    968 {
    969    uintptr_t i = (uintptr_t)*opaque;
    970    const FFCodec *c = codec_list[i];
    971 
    972    ff_thread_once(&av_codec_static_init, av_codec_init_static);
    973 
    974    if (c) {
    975        *opaque = (void*)(i + 1);
    976        return &c->p;
    977    }
    978    return NULL;
    979 }
    980 
    981 static enum AVCodecID remap_deprecated_codec_id(enum AVCodecID id)
    982 {
    983    switch(id){
    984        //This is for future deprecatec codec ids, its empty since
    985        //last major bump but will fill up again over time, please don't remove it
    986        default                                         : return id;
    987    }
    988 }
    989 
    990 static const AVCodec *find_codec(enum AVCodecID id, int (*x)(const AVCodec *))
    991 {
    992    const AVCodec *p, *experimental = NULL;
    993    void *i = 0;
    994 
    995    id = remap_deprecated_codec_id(id);
    996 
    997    while ((p = av_codec_iterate(&i))) {
    998        if (!x(p))
    999            continue;
   1000        if (p->id == id) {
   1001            if (p->capabilities & AV_CODEC_CAP_EXPERIMENTAL && !experimental) {
   1002                experimental = p;
   1003            } else
   1004                return p;
   1005        }
   1006    }
   1007 
   1008    return experimental;
   1009 }
   1010 
   1011 const AVCodec *avcodec_find_encoder(enum AVCodecID id)
   1012 {
   1013    return find_codec(id, av_codec_is_encoder);
   1014 }
   1015 
   1016 const AVCodec *avcodec_find_decoder(enum AVCodecID id)
   1017 {
   1018    return find_codec(id, av_codec_is_decoder);
   1019 }
   1020 
   1021 static const AVCodec *find_codec_by_name(const char *name, int (*x)(const AVCodec *))
   1022 {
   1023    void *i = 0;
   1024    const AVCodec *p;
   1025 
   1026    if (!name)
   1027        return NULL;
   1028 
   1029    while ((p = av_codec_iterate(&i))) {
   1030        if (!x(p))
   1031            continue;
   1032        if (strcmp(name, p->name) == 0)
   1033            return p;
   1034    }
   1035 
   1036    return NULL;
   1037 }
   1038 
   1039 const AVCodec *avcodec_find_encoder_by_name(const char *name)
   1040 {
   1041    return find_codec_by_name(name, av_codec_is_encoder);
   1042 }
   1043 
   1044 const AVCodec *avcodec_find_decoder_by_name(const char *name)
   1045 {
   1046    return find_codec_by_name(name, av_codec_is_decoder);
   1047 }