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