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