Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
F
ffmpeg
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
submodule
ffmpeg
Commits
7e8eba2d
Commit
7e8eba2d
authored
Dec 22, 2017
by
Josh de Kock
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
lavc: add new API for iterating codecs and codec parsers
Based on an unfinished patch by atomnuker.
parent
caa4bd7a
Show whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
966 additions
and
738 deletions
+966
-738
Makefile
Makefile
+2
-1
configure
configure
+9
-3
APIchanges
doc/APIchanges
+4
-0
.gitignore
libavcodec/.gitignore
+2
-0
allcodecs.c
libavcodec/allcodecs.c
+841
-625
avcodec.h
libavcodec/avcodec.h
+31
-0
parser.c
libavcodec/parser.c
+74
-10
utils.c
libavcodec/utils.c
+0
-99
version.h
libavcodec/version.h
+3
-0
No files found.
Makefile
View file @
7e8eba2d
...
@@ -142,7 +142,8 @@ distclean:: clean
...
@@ -142,7 +142,8 @@ distclean:: clean
$(RM)
.version avversion.h config.asm config.h
mapfile
\
$(RM)
.version avversion.h config.asm config.h
mapfile
\
ffbuild/.config ffbuild/config.
*
libavutil/avconfig.h
\
ffbuild/.config ffbuild/config.
*
libavutil/avconfig.h
\
version.h libavutil/ffversion.h libavcodec/codec_names.h
\
version.h libavutil/ffversion.h libavcodec/codec_names.h
\
libavcodec/bsf_list.c libavformat/protocol_list.c
libavcodec/bsf_list.c libavformat/protocol_list.c
\
libavcodec/codec_list.c libavcodec/parser_list.c
ifeq
($(SRC_LINK),src)
ifeq
($(SRC_LINK),src)
$(RM)
src
$(RM)
src
endif
endif
...
...
configure
View file @
7e8eba2d
...
@@ -3525,9 +3525,6 @@ find_things(){
...
@@ -3525,9 +3525,6 @@ find_things(){
sed
-n
"s/^[^#]*
$pattern
.*([^,]*, *
\(
[^,]*
\)\(
,.*
\)
*).*/
\1
_
$thing
/p"
"
$file
"
sed
-n
"s/^[^#]*
$pattern
.*([^,]*, *
\(
[^,]*
\)\(
,.*
\)
*).*/
\1
_
$thing
/p"
"
$file
"
}
}
ENCODER_LIST
=
$(
find_things encoder ENC libavcodec/allcodecs.c
)
DECODER_LIST
=
$(
find_things decoder DEC libavcodec/allcodecs.c
)
PARSER_LIST
=
$(
find_things parser PARSER libavcodec/allcodecs.c
)
MUXER_LIST
=
$(
find_things muxer _MUX libavformat/allformats.c
)
MUXER_LIST
=
$(
find_things muxer _MUX libavformat/allformats.c
)
DEMUXER_LIST
=
$(
find_things demuxer DEMUX libavformat/allformats.c
)
DEMUXER_LIST
=
$(
find_things demuxer DEMUX libavformat/allformats.c
)
OUTDEV_LIST
=
$(
find_things outdev OUTDEV libavdevice/alldevices.c
)
OUTDEV_LIST
=
$(
find_things outdev OUTDEV libavdevice/alldevices.c
)
...
@@ -3541,6 +3538,13 @@ find_things_extern(){
...
@@ -3541,6 +3538,13 @@ find_things_extern(){
sed
-n
"s/^[^#]*extern.*
$pattern
*ff_
\(
[^ ]*
\)
_
$thing
;/
\1
_
$thing
/p"
"
$file
"
sed
-n
"s/^[^#]*extern.*
$pattern
*ff_
\(
[^ ]*
\)
_
$thing
;/
\1
_
$thing
/p"
"
$file
"
}
}
ENCODER_LIST
=
$(
find_things_extern encoder AVCodec libavcodec/allcodecs.c
)
DECODER_LIST
=
$(
find_things_extern decoder AVCodec libavcodec/allcodecs.c
)
CODEC_LIST
=
"
$ENCODER_LIST
$DECODER_LIST
"
PARSER_LIST
=
$(
find_things_extern parser AVCodecParser libavcodec/parser.c
)
BSF_LIST
=
$(
find_things_extern bsf AVBitStreamFilter libavcodec/bitstream_filters.c
)
BSF_LIST
=
$(
find_things_extern bsf AVBitStreamFilter libavcodec/bitstream_filters.c
)
HWACCEL_LIST
=
$(
find_things_extern hwaccel AVHWAccel libavcodec/hwaccels.h
)
HWACCEL_LIST
=
$(
find_things_extern hwaccel AVHWAccel libavcodec/hwaccels.h
)
PROTOCOL_LIST
=
$(
find_things_extern protocol URLProtocol libavformat/protocols.c
)
PROTOCOL_LIST
=
$(
find_things_extern protocol URLProtocol libavformat/protocols.c
)
...
@@ -7029,6 +7033,8 @@ print_enabled_components(){
...
@@ -7029,6 +7033,8 @@ print_enabled_components(){
cp_if_changed
$TMPH
$file
cp_if_changed
$TMPH
$file
}
}
print_enabled_components libavcodec/codec_list.c AVCodec codec_list
$CODEC_LIST
print_enabled_components libavcodec/parser_list.c AVCodecParser parser_list
$PARSER_LIST
print_enabled_components libavcodec/bsf_list.c AVBitStreamFilter bitstream_filters
$BSF_LIST
print_enabled_components libavcodec/bsf_list.c AVBitStreamFilter bitstream_filters
$BSF_LIST
print_enabled_components libavformat/protocol_list.c URLProtocol url_protocols
$PROTOCOL_LIST
print_enabled_components libavformat/protocol_list.c URLProtocol url_protocols
$PROTOCOL_LIST
...
...
doc/APIchanges
View file @
7e8eba2d
...
@@ -15,6 +15,10 @@ libavutil: 2017-10-21
...
@@ -15,6 +15,10 @@ libavutil: 2017-10-21
API changes, most recent first:
API changes, most recent first:
2018-01-xx - xxxxxxx - lavc 58.9.100 - avcodec.h
Deprecate use of avcodec_register(), avcodec_register_all(), and
av_codec_next(). Add av_codec_iterate().
2018-02-xx - xxxxxxx - lavf 58.8.100 - avformat.h
2018-02-xx - xxxxxxx - lavf 58.8.100 - avformat.h
Deprecate the current names of the RTSP "timeout", "stimeout", "user-agent"
Deprecate the current names of the RTSP "timeout", "stimeout", "user-agent"
options. Introduce "listen_timeout" as replacement for the current "timeout"
options. Introduce "listen_timeout" as replacement for the current "timeout"
...
...
libavcodec/.gitignore
View file @
7e8eba2d
...
@@ -2,3 +2,5 @@
...
@@ -2,3 +2,5 @@
/*_tables.c
/*_tables.c
/*_tables.h
/*_tables.h
/bsf_list.c
/bsf_list.c
/codec_list.c
/parser_list.c
libavcodec/allcodecs.c
View file @
7e8eba2d
...
@@ -29,641 +29,857 @@
...
@@ -29,641 +29,857 @@
#include "avcodec.h"
#include "avcodec.h"
#include "version.h"
#include "version.h"
#define REGISTER_ENCODER(X, x) \
extern
AVCodec
ff_a64multi_encoder
;
{ \
extern
AVCodec
ff_a64multi5_encoder
;
extern AVCodec ff_##x##_encoder; \
extern
AVCodec
ff_aasc_decoder
;
if (CONFIG_##X##_ENCODER) \
extern
AVCodec
ff_aic_decoder
;
avcodec_register(&ff_##x##_encoder); \
extern
AVCodec
ff_alias_pix_encoder
;
}
extern
AVCodec
ff_alias_pix_decoder
;
extern
AVCodec
ff_amv_encoder
;
extern
AVCodec
ff_amv_decoder
;
extern
AVCodec
ff_anm_decoder
;
extern
AVCodec
ff_ansi_decoder
;
extern
AVCodec
ff_apng_encoder
;
extern
AVCodec
ff_apng_decoder
;
extern
AVCodec
ff_asv1_encoder
;
extern
AVCodec
ff_asv1_decoder
;
extern
AVCodec
ff_asv2_encoder
;
extern
AVCodec
ff_asv2_decoder
;
extern
AVCodec
ff_aura_decoder
;
extern
AVCodec
ff_aura2_decoder
;
extern
AVCodec
ff_avrp_encoder
;
extern
AVCodec
ff_avrp_decoder
;
extern
AVCodec
ff_avrn_decoder
;
extern
AVCodec
ff_avs_decoder
;
extern
AVCodec
ff_avui_encoder
;
extern
AVCodec
ff_avui_decoder
;
extern
AVCodec
ff_ayuv_encoder
;
extern
AVCodec
ff_ayuv_decoder
;
extern
AVCodec
ff_bethsoftvid_decoder
;
extern
AVCodec
ff_bfi_decoder
;
extern
AVCodec
ff_bink_decoder
;
extern
AVCodec
ff_bmp_encoder
;
extern
AVCodec
ff_bmp_decoder
;
extern
AVCodec
ff_bmv_video_decoder
;
extern
AVCodec
ff_brender_pix_decoder
;
extern
AVCodec
ff_c93_decoder
;
extern
AVCodec
ff_cavs_decoder
;
extern
AVCodec
ff_cdgraphics_decoder
;
extern
AVCodec
ff_cdxl_decoder
;
extern
AVCodec
ff_cfhd_decoder
;
extern
AVCodec
ff_cinepak_encoder
;
extern
AVCodec
ff_cinepak_decoder
;
extern
AVCodec
ff_clearvideo_decoder
;
extern
AVCodec
ff_cljr_encoder
;
extern
AVCodec
ff_cljr_decoder
;
extern
AVCodec
ff_cllc_decoder
;
extern
AVCodec
ff_comfortnoise_encoder
;
extern
AVCodec
ff_comfortnoise_decoder
;
extern
AVCodec
ff_cpia_decoder
;
extern
AVCodec
ff_cscd_decoder
;
extern
AVCodec
ff_cyuv_decoder
;
extern
AVCodec
ff_dds_decoder
;
extern
AVCodec
ff_dfa_decoder
;
extern
AVCodec
ff_dirac_decoder
;
extern
AVCodec
ff_dnxhd_encoder
;
extern
AVCodec
ff_dnxhd_decoder
;
extern
AVCodec
ff_dpx_encoder
;
extern
AVCodec
ff_dpx_decoder
;
extern
AVCodec
ff_dsicinvideo_decoder
;
extern
AVCodec
ff_dvaudio_decoder
;
extern
AVCodec
ff_dvvideo_encoder
;
extern
AVCodec
ff_dvvideo_decoder
;
extern
AVCodec
ff_dxa_decoder
;
extern
AVCodec
ff_dxtory_decoder
;
extern
AVCodec
ff_dxv_decoder
;
extern
AVCodec
ff_eacmv_decoder
;
extern
AVCodec
ff_eamad_decoder
;
extern
AVCodec
ff_eatgq_decoder
;
extern
AVCodec
ff_eatgv_decoder
;
extern
AVCodec
ff_eatqi_decoder
;
extern
AVCodec
ff_eightbps_decoder
;
extern
AVCodec
ff_eightsvx_exp_decoder
;
extern
AVCodec
ff_eightsvx_fib_decoder
;
extern
AVCodec
ff_escape124_decoder
;
extern
AVCodec
ff_escape130_decoder
;
extern
AVCodec
ff_exr_decoder
;
extern
AVCodec
ff_ffv1_encoder
;
extern
AVCodec
ff_ffv1_decoder
;
extern
AVCodec
ff_ffvhuff_encoder
;
extern
AVCodec
ff_ffvhuff_decoder
;
extern
AVCodec
ff_fic_decoder
;
extern
AVCodec
ff_fits_encoder
;
extern
AVCodec
ff_fits_decoder
;
extern
AVCodec
ff_flashsv_encoder
;
extern
AVCodec
ff_flashsv_decoder
;
extern
AVCodec
ff_flashsv2_encoder
;
extern
AVCodec
ff_flashsv2_decoder
;
extern
AVCodec
ff_flic_decoder
;
extern
AVCodec
ff_flv_encoder
;
extern
AVCodec
ff_flv_decoder
;
extern
AVCodec
ff_fmvc_decoder
;
extern
AVCodec
ff_fourxm_decoder
;
extern
AVCodec
ff_fraps_decoder
;
extern
AVCodec
ff_frwu_decoder
;
extern
AVCodec
ff_g2m_decoder
;
extern
AVCodec
ff_gdv_decoder
;
extern
AVCodec
ff_gif_encoder
;
extern
AVCodec
ff_gif_decoder
;
extern
AVCodec
ff_h261_encoder
;
extern
AVCodec
ff_h261_decoder
;
extern
AVCodec
ff_h263_encoder
;
extern
AVCodec
ff_h263_decoder
;
extern
AVCodec
ff_h263i_decoder
;
extern
AVCodec
ff_h263p_encoder
;
extern
AVCodec
ff_h263p_decoder
;
extern
AVCodec
ff_h263_v4l2m2m_decoder
;
extern
AVCodec
ff_h264_decoder
;
extern
AVCodec
ff_h264_crystalhd_decoder
;
extern
AVCodec
ff_h264_v4l2m2m_decoder
;
extern
AVCodec
ff_h264_mediacodec_decoder
;
extern
AVCodec
ff_h264_mmal_decoder
;
extern
AVCodec
ff_h264_qsv_decoder
;
extern
AVCodec
ff_h264_rkmpp_decoder
;
extern
AVCodec
ff_hap_encoder
;
extern
AVCodec
ff_hap_decoder
;
extern
AVCodec
ff_hevc_decoder
;
extern
AVCodec
ff_hevc_qsv_decoder
;
extern
AVCodec
ff_hevc_rkmpp_decoder
;
extern
AVCodec
ff_hevc_v4l2m2m_decoder
;
extern
AVCodec
ff_hnm4_video_decoder
;
extern
AVCodec
ff_hq_hqa_decoder
;
extern
AVCodec
ff_hqx_decoder
;
extern
AVCodec
ff_huffyuv_encoder
;
extern
AVCodec
ff_huffyuv_decoder
;
extern
AVCodec
ff_idcin_decoder
;
extern
AVCodec
ff_iff_ilbm_decoder
;
extern
AVCodec
ff_indeo2_decoder
;
extern
AVCodec
ff_indeo3_decoder
;
extern
AVCodec
ff_indeo4_decoder
;
extern
AVCodec
ff_indeo5_decoder
;
extern
AVCodec
ff_interplay_video_decoder
;
extern
AVCodec
ff_jpeg2000_encoder
;
extern
AVCodec
ff_jpeg2000_decoder
;
extern
AVCodec
ff_jpegls_encoder
;
extern
AVCodec
ff_jpegls_decoder
;
extern
AVCodec
ff_jv_decoder
;
extern
AVCodec
ff_kgv1_decoder
;
extern
AVCodec
ff_kmvc_decoder
;
extern
AVCodec
ff_lagarith_decoder
;
extern
AVCodec
ff_ljpeg_encoder
;
extern
AVCodec
ff_loco_decoder
;
extern
AVCodec
ff_m101_decoder
;
extern
AVCodec
ff_magicyuv_encoder
;
extern
AVCodec
ff_magicyuv_decoder
;
extern
AVCodec
ff_mdec_decoder
;
extern
AVCodec
ff_mimic_decoder
;
extern
AVCodec
ff_mjpeg_encoder
;
extern
AVCodec
ff_mjpeg_decoder
;
extern
AVCodec
ff_mjpegb_decoder
;
extern
AVCodec
ff_mmvideo_decoder
;
extern
AVCodec
ff_motionpixels_decoder
;
extern
AVCodec
ff_mpeg1video_encoder
;
extern
AVCodec
ff_mpeg1video_decoder
;
extern
AVCodec
ff_mpeg2video_encoder
;
extern
AVCodec
ff_mpeg2video_decoder
;
extern
AVCodec
ff_mpeg4_encoder
;
extern
AVCodec
ff_mpeg4_decoder
;
extern
AVCodec
ff_mpeg4_crystalhd_decoder
;
extern
AVCodec
ff_mpeg4_v4l2m2m_decoder
;
extern
AVCodec
ff_mpeg4_mmal_decoder
;
extern
AVCodec
ff_mpegvideo_decoder
;
extern
AVCodec
ff_mpeg1_v4l2m2m_decoder
;
extern
AVCodec
ff_mpeg2_mmal_decoder
;
extern
AVCodec
ff_mpeg2_crystalhd_decoder
;
extern
AVCodec
ff_mpeg2_v4l2m2m_decoder
;
extern
AVCodec
ff_mpeg2_qsv_decoder
;
extern
AVCodec
ff_mpeg2_mediacodec_decoder
;
extern
AVCodec
ff_msa1_decoder
;
extern
AVCodec
ff_mscc_decoder
;
extern
AVCodec
ff_msmpeg4v1_decoder
;
extern
AVCodec
ff_msmpeg4v2_encoder
;
extern
AVCodec
ff_msmpeg4v2_decoder
;
extern
AVCodec
ff_msmpeg4v3_encoder
;
extern
AVCodec
ff_msmpeg4v3_decoder
;
extern
AVCodec
ff_msmpeg4_crystalhd_decoder
;
extern
AVCodec
ff_msrle_decoder
;
extern
AVCodec
ff_mss1_decoder
;
extern
AVCodec
ff_mss2_decoder
;
extern
AVCodec
ff_msvideo1_encoder
;
extern
AVCodec
ff_msvideo1_decoder
;
extern
AVCodec
ff_mszh_decoder
;
extern
AVCodec
ff_mts2_decoder
;
extern
AVCodec
ff_mvc1_decoder
;
extern
AVCodec
ff_mvc2_decoder
;
extern
AVCodec
ff_mxpeg_decoder
;
extern
AVCodec
ff_nuv_decoder
;
extern
AVCodec
ff_paf_video_decoder
;
extern
AVCodec
ff_pam_encoder
;
extern
AVCodec
ff_pam_decoder
;
extern
AVCodec
ff_pbm_encoder
;
extern
AVCodec
ff_pbm_decoder
;
extern
AVCodec
ff_pcx_encoder
;
extern
AVCodec
ff_pcx_decoder
;
extern
AVCodec
ff_pgm_encoder
;
extern
AVCodec
ff_pgm_decoder
;
extern
AVCodec
ff_pgmyuv_encoder
;
extern
AVCodec
ff_pgmyuv_decoder
;
extern
AVCodec
ff_pictor_decoder
;
extern
AVCodec
ff_pixlet_decoder
;
extern
AVCodec
ff_png_encoder
;
extern
AVCodec
ff_png_decoder
;
extern
AVCodec
ff_ppm_encoder
;
extern
AVCodec
ff_ppm_decoder
;
extern
AVCodec
ff_prores_encoder
;
extern
AVCodec
ff_prores_decoder
;
extern
AVCodec
ff_prores_aw_encoder
;
extern
AVCodec
ff_prores_ks_encoder
;
extern
AVCodec
ff_prores_lgpl_decoder
;
extern
AVCodec
ff_psd_decoder
;
extern
AVCodec
ff_ptx_decoder
;
extern
AVCodec
ff_qdraw_decoder
;
extern
AVCodec
ff_qpeg_decoder
;
extern
AVCodec
ff_qtrle_encoder
;
extern
AVCodec
ff_qtrle_decoder
;
extern
AVCodec
ff_r10k_encoder
;
extern
AVCodec
ff_r10k_decoder
;
extern
AVCodec
ff_r210_encoder
;
extern
AVCodec
ff_r210_decoder
;
extern
AVCodec
ff_rawvideo_encoder
;
extern
AVCodec
ff_rawvideo_decoder
;
extern
AVCodec
ff_rl2_decoder
;
extern
AVCodec
ff_roq_encoder
;
extern
AVCodec
ff_roq_decoder
;
extern
AVCodec
ff_rpza_decoder
;
extern
AVCodec
ff_rscc_decoder
;
extern
AVCodec
ff_rv10_encoder
;
extern
AVCodec
ff_rv10_decoder
;
extern
AVCodec
ff_rv20_encoder
;
extern
AVCodec
ff_rv20_decoder
;
extern
AVCodec
ff_rv30_decoder
;
extern
AVCodec
ff_rv40_decoder
;
extern
AVCodec
ff_s302m_encoder
;
extern
AVCodec
ff_s302m_decoder
;
extern
AVCodec
ff_sanm_decoder
;
extern
AVCodec
ff_scpr_decoder
;
extern
AVCodec
ff_screenpresso_decoder
;
extern
AVCodec
ff_sdx2_dpcm_decoder
;
extern
AVCodec
ff_sgi_encoder
;
extern
AVCodec
ff_sgi_decoder
;
extern
AVCodec
ff_sgirle_decoder
;
extern
AVCodec
ff_sheervideo_decoder
;
extern
AVCodec
ff_smacker_decoder
;
extern
AVCodec
ff_smc_decoder
;
extern
AVCodec
ff_smvjpeg_decoder
;
extern
AVCodec
ff_snow_encoder
;
extern
AVCodec
ff_snow_decoder
;
extern
AVCodec
ff_sp5x_decoder
;
extern
AVCodec
ff_speedhq_decoder
;
extern
AVCodec
ff_srgc_decoder
;
extern
AVCodec
ff_sunrast_encoder
;
extern
AVCodec
ff_sunrast_decoder
;
extern
AVCodec
ff_svq1_encoder
;
extern
AVCodec
ff_svq1_decoder
;
extern
AVCodec
ff_svq3_decoder
;
extern
AVCodec
ff_targa_encoder
;
extern
AVCodec
ff_targa_decoder
;
extern
AVCodec
ff_targa_y216_decoder
;
extern
AVCodec
ff_tdsc_decoder
;
extern
AVCodec
ff_theora_decoder
;
extern
AVCodec
ff_thp_decoder
;
extern
AVCodec
ff_tiertexseqvideo_decoder
;
extern
AVCodec
ff_tiff_encoder
;
extern
AVCodec
ff_tiff_decoder
;
extern
AVCodec
ff_tmv_decoder
;
extern
AVCodec
ff_truemotion1_decoder
;
extern
AVCodec
ff_truemotion2_decoder
;
extern
AVCodec
ff_truemotion2rt_decoder
;
extern
AVCodec
ff_tscc_decoder
;
extern
AVCodec
ff_tscc2_decoder
;
extern
AVCodec
ff_txd_decoder
;
extern
AVCodec
ff_ulti_decoder
;
extern
AVCodec
ff_utvideo_encoder
;
extern
AVCodec
ff_utvideo_decoder
;
extern
AVCodec
ff_v210_encoder
;
extern
AVCodec
ff_v210_decoder
;
extern
AVCodec
ff_v210x_decoder
;
extern
AVCodec
ff_v308_encoder
;
extern
AVCodec
ff_v308_decoder
;
extern
AVCodec
ff_v408_encoder
;
extern
AVCodec
ff_v408_decoder
;
extern
AVCodec
ff_v410_encoder
;
extern
AVCodec
ff_v410_decoder
;
extern
AVCodec
ff_vb_decoder
;
extern
AVCodec
ff_vble_decoder
;
extern
AVCodec
ff_vc1_decoder
;
extern
AVCodec
ff_vc1_crystalhd_decoder
;
extern
AVCodec
ff_vc1image_decoder
;
extern
AVCodec
ff_vc1_mmal_decoder
;
extern
AVCodec
ff_vc1_qsv_decoder
;
extern
AVCodec
ff_vc1_v4l2m2m_decoder
;
extern
AVCodec
ff_vc2_encoder
;
extern
AVCodec
ff_vcr1_decoder
;
extern
AVCodec
ff_vmdvideo_decoder
;
extern
AVCodec
ff_vmnc_decoder
;
extern
AVCodec
ff_vp3_decoder
;
extern
AVCodec
ff_vp5_decoder
;
extern
AVCodec
ff_vp6_decoder
;
extern
AVCodec
ff_vp6a_decoder
;
extern
AVCodec
ff_vp6f_decoder
;
extern
AVCodec
ff_vp7_decoder
;
extern
AVCodec
ff_vp8_decoder
;
extern
AVCodec
ff_vp8_rkmpp_decoder
;
extern
AVCodec
ff_vp8_v4l2m2m_decoder
;
extern
AVCodec
ff_vp9_decoder
;
extern
AVCodec
ff_vp9_rkmpp_decoder
;
extern
AVCodec
ff_vp9_v4l2m2m_decoder
;
extern
AVCodec
ff_vqa_decoder
;
extern
AVCodec
ff_bitpacked_decoder
;
extern
AVCodec
ff_webp_decoder
;
extern
AVCodec
ff_wrapped_avframe_encoder
;
extern
AVCodec
ff_wrapped_avframe_decoder
;
extern
AVCodec
ff_wmv1_encoder
;
extern
AVCodec
ff_wmv1_decoder
;
extern
AVCodec
ff_wmv2_encoder
;
extern
AVCodec
ff_wmv2_decoder
;
extern
AVCodec
ff_wmv3_decoder
;
extern
AVCodec
ff_wmv3_crystalhd_decoder
;
extern
AVCodec
ff_wmv3image_decoder
;
extern
AVCodec
ff_wnv1_decoder
;
extern
AVCodec
ff_xan_wc3_decoder
;
extern
AVCodec
ff_xan_wc4_decoder
;
extern
AVCodec
ff_xbm_encoder
;
extern
AVCodec
ff_xbm_decoder
;
extern
AVCodec
ff_xface_encoder
;
extern
AVCodec
ff_xface_decoder
;
extern
AVCodec
ff_xl_decoder
;
extern
AVCodec
ff_xpm_decoder
;
extern
AVCodec
ff_xwd_encoder
;
extern
AVCodec
ff_xwd_decoder
;
extern
AVCodec
ff_y41p_encoder
;
extern
AVCodec
ff_y41p_decoder
;
extern
AVCodec
ff_ylc_decoder
;
extern
AVCodec
ff_yop_decoder
;
extern
AVCodec
ff_yuv4_encoder
;
extern
AVCodec
ff_yuv4_decoder
;
extern
AVCodec
ff_zero12v_decoder
;
extern
AVCodec
ff_zerocodec_decoder
;
extern
AVCodec
ff_zlib_encoder
;
extern
AVCodec
ff_zlib_decoder
;
extern
AVCodec
ff_zmbv_encoder
;
extern
AVCodec
ff_zmbv_decoder
;
#define REGISTER_DECODER(X, x) \
/* audio codecs */
{ \
extern
AVCodec
ff_aac_encoder
;
extern AVCodec ff_##x##_decoder; \
extern
AVCodec
ff_aac_decoder
;
if (CONFIG_##X##_DECODER) \
extern
AVCodec
ff_aac_fixed_decoder
;
avcodec_register(&ff_##x##_decoder); \
extern
AVCodec
ff_aac_latm_decoder
;
}
extern
AVCodec
ff_ac3_encoder
;
extern
AVCodec
ff_ac3_decoder
;
extern
AVCodec
ff_ac3_fixed_encoder
;
extern
AVCodec
ff_ac3_fixed_decoder
;
extern
AVCodec
ff_alac_encoder
;
extern
AVCodec
ff_alac_decoder
;
extern
AVCodec
ff_als_decoder
;
extern
AVCodec
ff_amrnb_decoder
;
extern
AVCodec
ff_amrwb_decoder
;
extern
AVCodec
ff_ape_decoder
;
extern
AVCodec
ff_aptx_encoder
;
extern
AVCodec
ff_aptx_decoder
;
extern
AVCodec
ff_atrac1_decoder
;
extern
AVCodec
ff_atrac3_decoder
;
extern
AVCodec
ff_atrac3al_decoder
;
extern
AVCodec
ff_atrac3p_decoder
;
extern
AVCodec
ff_atrac3pal_decoder
;
extern
AVCodec
ff_binkaudio_dct_decoder
;
extern
AVCodec
ff_binkaudio_rdft_decoder
;
extern
AVCodec
ff_bmv_audio_decoder
;
extern
AVCodec
ff_cook_decoder
;
extern
AVCodec
ff_dca_encoder
;
extern
AVCodec
ff_dca_decoder
;
extern
AVCodec
ff_dolby_e_decoder
;
extern
AVCodec
ff_dsd_lsbf_decoder
;
extern
AVCodec
ff_dsd_msbf_decoder
;
extern
AVCodec
ff_dsd_lsbf_planar_decoder
;
extern
AVCodec
ff_dsd_msbf_planar_decoder
;
extern
AVCodec
ff_dsicinaudio_decoder
;
extern
AVCodec
ff_dss_sp_decoder
;
extern
AVCodec
ff_dst_decoder
;
extern
AVCodec
ff_eac3_encoder
;
extern
AVCodec
ff_eac3_decoder
;
extern
AVCodec
ff_evrc_decoder
;
extern
AVCodec
ff_ffwavesynth_decoder
;
extern
AVCodec
ff_flac_encoder
;
extern
AVCodec
ff_flac_decoder
;
extern
AVCodec
ff_g723_1_encoder
;
extern
AVCodec
ff_g723_1_decoder
;
extern
AVCodec
ff_g729_decoder
;
extern
AVCodec
ff_gsm_decoder
;
extern
AVCodec
ff_gsm_ms_decoder
;
extern
AVCodec
ff_iac_decoder
;
extern
AVCodec
ff_imc_decoder
;
extern
AVCodec
ff_interplay_acm_decoder
;
extern
AVCodec
ff_mace3_decoder
;
extern
AVCodec
ff_mace6_decoder
;
extern
AVCodec
ff_metasound_decoder
;
extern
AVCodec
ff_mlp_encoder
;
extern
AVCodec
ff_mlp_decoder
;
extern
AVCodec
ff_mp1_decoder
;
extern
AVCodec
ff_mp1float_decoder
;
extern
AVCodec
ff_mp2_encoder
;
extern
AVCodec
ff_mp2_decoder
;
extern
AVCodec
ff_mp2float_decoder
;
extern
AVCodec
ff_mp2fixed_encoder
;
extern
AVCodec
ff_mp3_decoder
;
extern
AVCodec
ff_mp3float_decoder
;
extern
AVCodec
ff_mp3adu_decoder
;
extern
AVCodec
ff_mp3adufloat_decoder
;
extern
AVCodec
ff_mp3on4_decoder
;
extern
AVCodec
ff_mp3on4float_decoder
;
extern
AVCodec
ff_mpc7_decoder
;
extern
AVCodec
ff_mpc8_decoder
;
extern
AVCodec
ff_nellymoser_encoder
;
extern
AVCodec
ff_nellymoser_decoder
;
extern
AVCodec
ff_on2avc_decoder
;
extern
AVCodec
ff_opus_encoder
;
extern
AVCodec
ff_opus_decoder
;
extern
AVCodec
ff_paf_audio_decoder
;
extern
AVCodec
ff_qcelp_decoder
;
extern
AVCodec
ff_qdm2_decoder
;
extern
AVCodec
ff_qdmc_decoder
;
extern
AVCodec
ff_ra_144_encoder
;
extern
AVCodec
ff_ra_144_decoder
;
extern
AVCodec
ff_ra_288_decoder
;
extern
AVCodec
ff_ralf_decoder
;
extern
AVCodec
ff_shorten_decoder
;
extern
AVCodec
ff_sipr_decoder
;
extern
AVCodec
ff_smackaud_decoder
;
extern
AVCodec
ff_sonic_encoder
;
extern
AVCodec
ff_sonic_decoder
;
extern
AVCodec
ff_sonic_ls_encoder
;
extern
AVCodec
ff_tak_decoder
;
extern
AVCodec
ff_truehd_encoder
;
extern
AVCodec
ff_truehd_decoder
;
extern
AVCodec
ff_truespeech_decoder
;
extern
AVCodec
ff_tta_encoder
;
extern
AVCodec
ff_tta_decoder
;
extern
AVCodec
ff_twinvq_decoder
;
extern
AVCodec
ff_vmdaudio_decoder
;
extern
AVCodec
ff_vorbis_encoder
;
extern
AVCodec
ff_vorbis_decoder
;
extern
AVCodec
ff_wavpack_encoder
;
extern
AVCodec
ff_wavpack_decoder
;
extern
AVCodec
ff_wmalossless_decoder
;
extern
AVCodec
ff_wmapro_decoder
;
extern
AVCodec
ff_wmav1_encoder
;
extern
AVCodec
ff_wmav1_decoder
;
extern
AVCodec
ff_wmav2_encoder
;
extern
AVCodec
ff_wmav2_decoder
;
extern
AVCodec
ff_wmavoice_decoder
;
extern
AVCodec
ff_ws_snd1_decoder
;
extern
AVCodec
ff_xma1_decoder
;
extern
AVCodec
ff_xma2_decoder
;
#define REGISTER_ENCDEC(X, x) REGISTER_ENCODER(X, x); REGISTER_DECODER(X, x)
/* PCM codecs */
extern
AVCodec
ff_pcm_alaw_encoder
;
extern
AVCodec
ff_pcm_alaw_decoder
;
extern
AVCodec
ff_pcm_bluray_decoder
;
extern
AVCodec
ff_pcm_dvd_decoder
;
extern
AVCodec
ff_pcm_f16le_decoder
;
extern
AVCodec
ff_pcm_f24le_decoder
;
extern
AVCodec
ff_pcm_f32be_encoder
;
extern
AVCodec
ff_pcm_f32be_decoder
;
extern
AVCodec
ff_pcm_f32le_encoder
;
extern
AVCodec
ff_pcm_f32le_decoder
;
extern
AVCodec
ff_pcm_f64be_encoder
;
extern
AVCodec
ff_pcm_f64be_decoder
;
extern
AVCodec
ff_pcm_f64le_encoder
;
extern
AVCodec
ff_pcm_f64le_decoder
;
extern
AVCodec
ff_pcm_lxf_decoder
;
extern
AVCodec
ff_pcm_mulaw_encoder
;
extern
AVCodec
ff_pcm_mulaw_decoder
;
extern
AVCodec
ff_pcm_s8_encoder
;
extern
AVCodec
ff_pcm_s8_decoder
;
extern
AVCodec
ff_pcm_s8_planar_encoder
;
extern
AVCodec
ff_pcm_s8_planar_decoder
;
extern
AVCodec
ff_pcm_s16be_encoder
;
extern
AVCodec
ff_pcm_s16be_decoder
;
extern
AVCodec
ff_pcm_s16be_planar_encoder
;
extern
AVCodec
ff_pcm_s16be_planar_decoder
;
extern
AVCodec
ff_pcm_s16le_encoder
;
extern
AVCodec
ff_pcm_s16le_decoder
;
extern
AVCodec
ff_pcm_s16le_planar_encoder
;
extern
AVCodec
ff_pcm_s16le_planar_decoder
;
extern
AVCodec
ff_pcm_s24be_encoder
;
extern
AVCodec
ff_pcm_s24be_decoder
;
extern
AVCodec
ff_pcm_s24daud_encoder
;
extern
AVCodec
ff_pcm_s24daud_decoder
;
extern
AVCodec
ff_pcm_s24le_encoder
;
extern
AVCodec
ff_pcm_s24le_decoder
;
extern
AVCodec
ff_pcm_s24le_planar_encoder
;
extern
AVCodec
ff_pcm_s24le_planar_decoder
;
extern
AVCodec
ff_pcm_s32be_encoder
;
extern
AVCodec
ff_pcm_s32be_decoder
;
extern
AVCodec
ff_pcm_s32le_encoder
;
extern
AVCodec
ff_pcm_s32le_decoder
;
extern
AVCodec
ff_pcm_s32le_planar_encoder
;
extern
AVCodec
ff_pcm_s32le_planar_decoder
;
extern
AVCodec
ff_pcm_s64be_encoder
;
extern
AVCodec
ff_pcm_s64be_decoder
;
extern
AVCodec
ff_pcm_s64le_encoder
;
extern
AVCodec
ff_pcm_s64le_decoder
;
extern
AVCodec
ff_pcm_u8_encoder
;
extern
AVCodec
ff_pcm_u8_decoder
;
extern
AVCodec
ff_pcm_u16be_encoder
;
extern
AVCodec
ff_pcm_u16be_decoder
;
extern
AVCodec
ff_pcm_u16le_encoder
;
extern
AVCodec
ff_pcm_u16le_decoder
;
extern
AVCodec
ff_pcm_u24be_encoder
;
extern
AVCodec
ff_pcm_u24be_decoder
;
extern
AVCodec
ff_pcm_u24le_encoder
;
extern
AVCodec
ff_pcm_u24le_decoder
;
extern
AVCodec
ff_pcm_u32be_encoder
;
extern
AVCodec
ff_pcm_u32be_decoder
;
extern
AVCodec
ff_pcm_u32le_encoder
;
extern
AVCodec
ff_pcm_u32le_decoder
;
extern
AVCodec
ff_pcm_zork_decoder
;
#define REGISTER_PARSER(X, x) \
/* DPCM codecs */
{ \
extern
AVCodec
ff_gremlin_dpcm_decoder
;
extern AVCodecParser ff_##x##_parser; \
extern
AVCodec
ff_interplay_dpcm_decoder
;
if (CONFIG_##X##_PARSER) \
extern
AVCodec
ff_roq_dpcm_encoder
;
av_register_codec_parser(&ff_##x##_parser); \
extern
AVCodec
ff_roq_dpcm_decoder
;
}
extern
AVCodec
ff_sol_dpcm_decoder
;
extern
AVCodec
ff_xan_dpcm_decoder
;
static
void
register_all
(
void
)
/* ADPCM codecs */
{
extern
AVCodec
ff_adpcm_4xm_decoder
;
/* video codecs */
extern
AVCodec
ff_adpcm_adx_encoder
;
REGISTER_ENCODER
(
A64MULTI
,
a64multi
);
extern
AVCodec
ff_adpcm_adx_decoder
;
REGISTER_ENCODER
(
A64MULTI5
,
a64multi5
);
extern
AVCodec
ff_adpcm_afc_decoder
;
REGISTER_DECODER
(
AASC
,
aasc
);
extern
AVCodec
ff_adpcm_aica_decoder
;
REGISTER_DECODER
(
AIC
,
aic
);
extern
AVCodec
ff_adpcm_ct_decoder
;
REGISTER_ENCDEC
(
ALIAS_PIX
,
alias_pix
);
extern
AVCodec
ff_adpcm_dtk_decoder
;
REGISTER_ENCDEC
(
AMV
,
amv
);
extern
AVCodec
ff_adpcm_ea_decoder
;
REGISTER_DECODER
(
ANM
,
anm
);
extern
AVCodec
ff_adpcm_ea_maxis_xa_decoder
;
REGISTER_DECODER
(
ANSI
,
ansi
);
extern
AVCodec
ff_adpcm_ea_r1_decoder
;
REGISTER_ENCDEC
(
APNG
,
apng
);
extern
AVCodec
ff_adpcm_ea_r2_decoder
;
REGISTER_ENCDEC
(
ASV1
,
asv1
);
extern
AVCodec
ff_adpcm_ea_r3_decoder
;
REGISTER_ENCDEC
(
ASV2
,
asv2
);
extern
AVCodec
ff_adpcm_ea_xas_decoder
;
REGISTER_DECODER
(
AURA
,
aura
);
extern
AVCodec
ff_adpcm_g722_encoder
;
REGISTER_DECODER
(
AURA2
,
aura2
);
extern
AVCodec
ff_adpcm_g722_decoder
;
REGISTER_ENCDEC
(
AVRP
,
avrp
);
extern
AVCodec
ff_adpcm_g726_encoder
;
REGISTER_DECODER
(
AVRN
,
avrn
);
extern
AVCodec
ff_adpcm_g726_decoder
;
REGISTER_DECODER
(
AVS
,
avs
);
extern
AVCodec
ff_adpcm_g726le_encoder
;
REGISTER_ENCDEC
(
AVUI
,
avui
);
extern
AVCodec
ff_adpcm_g726le_decoder
;
REGISTER_ENCDEC
(
AYUV
,
ayuv
);
extern
AVCodec
ff_adpcm_ima_amv_decoder
;
REGISTER_DECODER
(
BETHSOFTVID
,
bethsoftvid
);
extern
AVCodec
ff_adpcm_ima_apc_decoder
;
REGISTER_DECODER
(
BFI
,
bfi
);
extern
AVCodec
ff_adpcm_ima_dat4_decoder
;
REGISTER_DECODER
(
BINK
,
bink
);
extern
AVCodec
ff_adpcm_ima_dk3_decoder
;
REGISTER_ENCDEC
(
BMP
,
bmp
);
extern
AVCodec
ff_adpcm_ima_dk4_decoder
;
REGISTER_DECODER
(
BMV_VIDEO
,
bmv_video
);
extern
AVCodec
ff_adpcm_ima_ea_eacs_decoder
;
REGISTER_DECODER
(
BRENDER_PIX
,
brender_pix
);
extern
AVCodec
ff_adpcm_ima_ea_sead_decoder
;
REGISTER_DECODER
(
C93
,
c93
);
extern
AVCodec
ff_adpcm_ima_iss_decoder
;
REGISTER_DECODER
(
CAVS
,
cavs
);
extern
AVCodec
ff_adpcm_ima_oki_decoder
;
REGISTER_DECODER
(
CDGRAPHICS
,
cdgraphics
);
extern
AVCodec
ff_adpcm_ima_qt_encoder
;
REGISTER_DECODER
(
CDXL
,
cdxl
);
extern
AVCodec
ff_adpcm_ima_qt_decoder
;
REGISTER_DECODER
(
CFHD
,
cfhd
);
extern
AVCodec
ff_adpcm_ima_rad_decoder
;
REGISTER_ENCDEC
(
CINEPAK
,
cinepak
);
extern
AVCodec
ff_adpcm_ima_smjpeg_decoder
;
REGISTER_DECODER
(
CLEARVIDEO
,
clearvideo
);
extern
AVCodec
ff_adpcm_ima_wav_encoder
;
REGISTER_ENCDEC
(
CLJR
,
cljr
);
extern
AVCodec
ff_adpcm_ima_wav_decoder
;
REGISTER_DECODER
(
CLLC
,
cllc
);
extern
AVCodec
ff_adpcm_ima_ws_decoder
;
REGISTER_ENCDEC
(
COMFORTNOISE
,
comfortnoise
);
extern
AVCodec
ff_adpcm_ms_encoder
;
REGISTER_DECODER
(
CPIA
,
cpia
);
extern
AVCodec
ff_adpcm_ms_decoder
;
REGISTER_DECODER
(
CSCD
,
cscd
);
extern
AVCodec
ff_adpcm_mtaf_decoder
;
REGISTER_DECODER
(
CYUV
,
cyuv
);
extern
AVCodec
ff_adpcm_psx_decoder
;
REGISTER_DECODER
(
DDS
,
dds
);
extern
AVCodec
ff_adpcm_sbpro_2_decoder
;
REGISTER_DECODER
(
DFA
,
dfa
);
extern
AVCodec
ff_adpcm_sbpro_3_decoder
;
REGISTER_DECODER
(
DIRAC
,
dirac
);
extern
AVCodec
ff_adpcm_sbpro_4_decoder
;
REGISTER_ENCDEC
(
DNXHD
,
dnxhd
);
extern
AVCodec
ff_adpcm_swf_encoder
;
REGISTER_ENCDEC
(
DPX
,
dpx
);
extern
AVCodec
ff_adpcm_swf_decoder
;
REGISTER_DECODER
(
DSICINVIDEO
,
dsicinvideo
);
extern
AVCodec
ff_adpcm_thp_decoder
;
REGISTER_DECODER
(
DVAUDIO
,
dvaudio
);
extern
AVCodec
ff_adpcm_thp_le_decoder
;
REGISTER_ENCDEC
(
DVVIDEO
,
dvvideo
);
extern
AVCodec
ff_adpcm_vima_decoder
;
REGISTER_DECODER
(
DXA
,
dxa
);
extern
AVCodec
ff_adpcm_xa_decoder
;
REGISTER_DECODER
(
DXTORY
,
dxtory
);
extern
AVCodec
ff_adpcm_yamaha_encoder
;
REGISTER_DECODER
(
DXV
,
dxv
);
extern
AVCodec
ff_adpcm_yamaha_decoder
;
REGISTER_DECODER
(
EACMV
,
eacmv
);
REGISTER_DECODER
(
EAMAD
,
eamad
);
/* subtitles */
REGISTER_DECODER
(
EATGQ
,
eatgq
);
extern
AVCodec
ff_ssa_encoder
;
REGISTER_DECODER
(
EATGV
,
eatgv
);
extern
AVCodec
ff_ssa_decoder
;
REGISTER_DECODER
(
EATQI
,
eatqi
);
extern
AVCodec
ff_ass_encoder
;
REGISTER_DECODER
(
EIGHTBPS
,
eightbps
);
extern
AVCodec
ff_ass_decoder
;
REGISTER_DECODER
(
EIGHTSVX_EXP
,
eightsvx_exp
);
extern
AVCodec
ff_ccaption_decoder
;
REGISTER_DECODER
(
EIGHTSVX_FIB
,
eightsvx_fib
);
extern
AVCodec
ff_dvbsub_encoder
;
REGISTER_DECODER
(
ESCAPE124
,
escape124
);
extern
AVCodec
ff_dvbsub_decoder
;
REGISTER_DECODER
(
ESCAPE130
,
escape130
);
extern
AVCodec
ff_dvdsub_encoder
;
REGISTER_DECODER
(
EXR
,
exr
);
extern
AVCodec
ff_dvdsub_decoder
;
REGISTER_ENCDEC
(
FFV1
,
ffv1
);
extern
AVCodec
ff_jacosub_decoder
;
REGISTER_ENCDEC
(
FFVHUFF
,
ffvhuff
);
extern
AVCodec
ff_microdvd_decoder
;
REGISTER_DECODER
(
FIC
,
fic
);
extern
AVCodec
ff_movtext_encoder
;
REGISTER_ENCDEC
(
FITS
,
fits
);
extern
AVCodec
ff_movtext_decoder
;
REGISTER_ENCDEC
(
FLASHSV
,
flashsv
);
extern
AVCodec
ff_mpl2_decoder
;
REGISTER_ENCDEC
(
FLASHSV2
,
flashsv2
);
extern
AVCodec
ff_pgssub_decoder
;
REGISTER_DECODER
(
FLIC
,
flic
);
extern
AVCodec
ff_pjs_decoder
;
REGISTER_ENCDEC
(
FLV
,
flv
);
extern
AVCodec
ff_realtext_decoder
;
REGISTER_DECODER
(
FMVC
,
fmvc
);
extern
AVCodec
ff_sami_decoder
;
REGISTER_DECODER
(
FOURXM
,
fourxm
);
extern
AVCodec
ff_srt_encoder
;
REGISTER_DECODER
(
FRAPS
,
fraps
);
extern
AVCodec
ff_srt_decoder
;
REGISTER_DECODER
(
FRWU
,
frwu
);
extern
AVCodec
ff_stl_decoder
;
REGISTER_DECODER
(
G2M
,
g2m
);
extern
AVCodec
ff_subrip_encoder
;
REGISTER_DECODER
(
GDV
,
gdv
);
extern
AVCodec
ff_subrip_decoder
;
REGISTER_ENCDEC
(
GIF
,
gif
);
extern
AVCodec
ff_subviewer_decoder
;
REGISTER_ENCDEC
(
H261
,
h261
);
extern
AVCodec
ff_subviewer1_decoder
;
REGISTER_ENCDEC
(
H263
,
h263
);
extern
AVCodec
ff_text_encoder
;
REGISTER_DECODER
(
H263I
,
h263i
);
extern
AVCodec
ff_text_decoder
;
REGISTER_ENCDEC
(
H263P
,
h263p
);
extern
AVCodec
ff_vplayer_decoder
;
REGISTER_DECODER
(
H263_V4L2M2M
,
h263_v4l2m2m
);
extern
AVCodec
ff_webvtt_encoder
;
REGISTER_DECODER
(
H264
,
h264
);
extern
AVCodec
ff_webvtt_decoder
;
REGISTER_DECODER
(
H264_CRYSTALHD
,
h264_crystalhd
);
extern
AVCodec
ff_xsub_encoder
;
REGISTER_DECODER
(
H264_V4L2M2M
,
h264_v4l2m2m
);
extern
AVCodec
ff_xsub_decoder
;
REGISTER_DECODER
(
H264_MEDIACODEC
,
h264_mediacodec
);
REGISTER_DECODER
(
H264_MMAL
,
h264_mmal
);
/* external libraries */
REGISTER_DECODER
(
H264_QSV
,
h264_qsv
);
extern
AVCodec
ff_aac_at_encoder
;
REGISTER_DECODER
(
H264_RKMPP
,
h264_rkmpp
);
extern
AVCodec
ff_aac_at_decoder
;
REGISTER_ENCDEC
(
HAP
,
hap
);
extern
AVCodec
ff_ac3_at_decoder
;
REGISTER_DECODER
(
HEVC
,
hevc
);
extern
AVCodec
ff_adpcm_ima_qt_at_decoder
;
REGISTER_DECODER
(
HEVC_QSV
,
hevc_qsv
);
extern
AVCodec
ff_alac_at_encoder
;
REGISTER_DECODER
(
HEVC_RKMPP
,
hevc_rkmpp
);
extern
AVCodec
ff_alac_at_decoder
;
REGISTER_DECODER
(
HEVC_V4L2M2M
,
hevc_v4l2m2m
);
extern
AVCodec
ff_amr_nb_at_decoder
;
REGISTER_DECODER
(
HNM4_VIDEO
,
hnm4_video
);
extern
AVCodec
ff_eac3_at_decoder
;
REGISTER_DECODER
(
HQ_HQA
,
hq_hqa
);
extern
AVCodec
ff_gsm_ms_at_decoder
;
REGISTER_DECODER
(
HQX
,
hqx
);
extern
AVCodec
ff_ilbc_at_encoder
;
REGISTER_ENCDEC
(
HUFFYUV
,
huffyuv
);
extern
AVCodec
ff_ilbc_at_decoder
;
REGISTER_DECODER
(
IDCIN
,
idcin
);
extern
AVCodec
ff_mp1_at_decoder
;
REGISTER_DECODER
(
IFF_ILBM
,
iff_ilbm
);
extern
AVCodec
ff_mp2_at_decoder
;
REGISTER_DECODER
(
INDEO2
,
indeo2
);
extern
AVCodec
ff_mp3_at_decoder
;
REGISTER_DECODER
(
INDEO3
,
indeo3
);
extern
AVCodec
ff_pcm_alaw_at_encoder
;
REGISTER_DECODER
(
INDEO4
,
indeo4
);
extern
AVCodec
ff_pcm_alaw_at_decoder
;
REGISTER_DECODER
(
INDEO5
,
indeo5
);
extern
AVCodec
ff_pcm_mulaw_at_encoder
;
REGISTER_DECODER
(
INTERPLAY_VIDEO
,
interplay_video
);
extern
AVCodec
ff_pcm_mulaw_at_decoder
;
REGISTER_ENCDEC
(
JPEG2000
,
jpeg2000
);
extern
AVCodec
ff_qdmc_at_decoder
;
REGISTER_ENCDEC
(
JPEGLS
,
jpegls
);
extern
AVCodec
ff_qdm2_at_decoder
;
REGISTER_DECODER
(
JV
,
jv
);
extern
AVCodec
ff_libcelt_decoder
;
REGISTER_DECODER
(
KGV1
,
kgv1
);
extern
AVCodec
ff_libfdk_aac_encoder
;
REGISTER_DECODER
(
KMVC
,
kmvc
);
extern
AVCodec
ff_libfdk_aac_decoder
;
REGISTER_DECODER
(
LAGARITH
,
lagarith
);
extern
AVCodec
ff_libgsm_encoder
;
REGISTER_ENCODER
(
LJPEG
,
ljpeg
);
extern
AVCodec
ff_libgsm_decoder
;
REGISTER_DECODER
(
LOCO
,
loco
);
extern
AVCodec
ff_libgsm_ms_encoder
;
REGISTER_DECODER
(
M101
,
m101
);
extern
AVCodec
ff_libgsm_ms_decoder
;
REGISTER_ENCDEC
(
MAGICYUV
,
magicyuv
);
extern
AVCodec
ff_libilbc_encoder
;
REGISTER_DECODER
(
MDEC
,
mdec
);
extern
AVCodec
ff_libilbc_decoder
;
REGISTER_DECODER
(
MIMIC
,
mimic
);
extern
AVCodec
ff_libmp3lame_encoder
;
REGISTER_ENCDEC
(
MJPEG
,
mjpeg
);
extern
AVCodec
ff_libopencore_amrnb_encoder
;
REGISTER_DECODER
(
MJPEGB
,
mjpegb
);
extern
AVCodec
ff_libopencore_amrnb_decoder
;
REGISTER_DECODER
(
MMVIDEO
,
mmvideo
);
extern
AVCodec
ff_libopencore_amrwb_decoder
;
REGISTER_DECODER
(
MOTIONPIXELS
,
motionpixels
);
extern
AVCodec
ff_libopenjpeg_encoder
;
REGISTER_ENCDEC
(
MPEG1VIDEO
,
mpeg1video
);
extern
AVCodec
ff_libopenjpeg_decoder
;
REGISTER_ENCDEC
(
MPEG2VIDEO
,
mpeg2video
);
extern
AVCodec
ff_libopus_encoder
;
REGISTER_ENCDEC
(
MPEG4
,
mpeg4
);
extern
AVCodec
ff_libopus_decoder
;
REGISTER_DECODER
(
MPEG4_CRYSTALHD
,
mpeg4_crystalhd
);
extern
AVCodec
ff_librsvg_decoder
;
REGISTER_DECODER
(
MPEG4_V4L2M2M
,
mpeg4_v4l2m2m
);
extern
AVCodec
ff_libshine_encoder
;
REGISTER_DECODER
(
MPEG4_MMAL
,
mpeg4_mmal
);
extern
AVCodec
ff_libspeex_encoder
;
REGISTER_DECODER
(
MPEGVIDEO
,
mpegvideo
);
extern
AVCodec
ff_libspeex_decoder
;
REGISTER_DECODER
(
MPEG1_V4L2M2M
,
mpeg1_v4l2m2m
);
extern
AVCodec
ff_libtheora_encoder
;
REGISTER_DECODER
(
MPEG2_MMAL
,
mpeg2_mmal
);
extern
AVCodec
ff_libtwolame_encoder
;
REGISTER_DECODER
(
MPEG2_CRYSTALHD
,
mpeg2_crystalhd
);
extern
AVCodec
ff_libvo_amrwbenc_encoder
;
REGISTER_DECODER
(
MPEG2_V4L2M2M
,
mpeg2_v4l2m2m
);
extern
AVCodec
ff_libvorbis_encoder
;
REGISTER_DECODER
(
MPEG2_QSV
,
mpeg2_qsv
);
extern
AVCodec
ff_libvorbis_decoder
;
REGISTER_DECODER
(
MPEG2_MEDIACODEC
,
mpeg2_mediacodec
);
extern
AVCodec
ff_libvpx_vp8_encoder
;
REGISTER_DECODER
(
MSA1
,
msa1
);
extern
AVCodec
ff_libvpx_vp8_decoder
;
REGISTER_DECODER
(
MSCC
,
mscc
);
extern
AVCodec
ff_libvpx_vp9_encoder
;
REGISTER_DECODER
(
MSMPEG4V1
,
msmpeg4v1
);
extern
AVCodec
ff_libvpx_vp9_decoder
;
REGISTER_ENCDEC
(
MSMPEG4V2
,
msmpeg4v2
);
extern
AVCodec
ff_libwavpack_encoder
;
REGISTER_ENCDEC
(
MSMPEG4V3
,
msmpeg4v3
);
/* preferred over libwebp */
REGISTER_DECODER
(
MSMPEG4_CRYSTALHD
,
msmpeg4_crystalhd
);
extern
AVCodec
ff_libwebp_anim_encoder
;
REGISTER_DECODER
(
MSRLE
,
msrle
);
extern
AVCodec
ff_libwebp_encoder
;
REGISTER_DECODER
(
MSS1
,
mss1
);
extern
AVCodec
ff_libx262_encoder
;
REGISTER_DECODER
(
MSS2
,
mss2
);
extern
AVCodec
ff_libx264_encoder
;
REGISTER_ENCDEC
(
MSVIDEO1
,
msvideo1
);
extern
AVCodec
ff_libx264rgb_encoder
;
REGISTER_DECODER
(
MSZH
,
mszh
);
extern
AVCodec
ff_libx265_encoder
;
REGISTER_DECODER
(
MTS2
,
mts2
);
extern
AVCodec
ff_libxavs_encoder
;
REGISTER_DECODER
(
MVC1
,
mvc1
);
extern
AVCodec
ff_libxvid_encoder
;
REGISTER_DECODER
(
MVC2
,
mvc2
);
extern
AVCodec
ff_libzvbi_teletext_decoder
;
REGISTER_DECODER
(
MXPEG
,
mxpeg
);
REGISTER_DECODER
(
NUV
,
nuv
);
/* text */
REGISTER_DECODER
(
PAF_VIDEO
,
paf_video
);
extern
AVCodec
ff_bintext_decoder
;
REGISTER_ENCDEC
(
PAM
,
pam
);
extern
AVCodec
ff_xbin_decoder
;
REGISTER_ENCDEC
(
PBM
,
pbm
);
extern
AVCodec
ff_idf_decoder
;
REGISTER_ENCDEC
(
PCX
,
pcx
);
REGISTER_ENCDEC
(
PGM
,
pgm
);
/* external libraries, that shouldn't be used by default if one of the
REGISTER_ENCDEC
(
PGMYUV
,
pgmyuv
);
REGISTER_DECODER
(
PICTOR
,
pictor
);
REGISTER_DECODER
(
PIXLET
,
pixlet
);
REGISTER_ENCDEC
(
PNG
,
png
);
REGISTER_ENCDEC
(
PPM
,
ppm
);
REGISTER_ENCDEC
(
PRORES
,
prores
);
REGISTER_ENCODER
(
PRORES_AW
,
prores_aw
);
REGISTER_ENCODER
(
PRORES_KS
,
prores_ks
);
REGISTER_DECODER
(
PRORES_LGPL
,
prores_lgpl
);
REGISTER_DECODER
(
PSD
,
psd
);
REGISTER_DECODER
(
PTX
,
ptx
);
REGISTER_DECODER
(
QDRAW
,
qdraw
);
REGISTER_DECODER
(
QPEG
,
qpeg
);
REGISTER_ENCDEC
(
QTRLE
,
qtrle
);
REGISTER_ENCDEC
(
R10K
,
r10k
);
REGISTER_ENCDEC
(
R210
,
r210
);
REGISTER_ENCDEC
(
RAWVIDEO
,
rawvideo
);
REGISTER_DECODER
(
RL2
,
rl2
);
REGISTER_ENCDEC
(
ROQ
,
roq
);
REGISTER_DECODER
(
RPZA
,
rpza
);
REGISTER_DECODER
(
RSCC
,
rscc
);
REGISTER_ENCDEC
(
RV10
,
rv10
);
REGISTER_ENCDEC
(
RV20
,
rv20
);
REGISTER_DECODER
(
RV30
,
rv30
);
REGISTER_DECODER
(
RV40
,
rv40
);
REGISTER_ENCDEC
(
S302M
,
s302m
);
REGISTER_DECODER
(
SANM
,
sanm
);
REGISTER_DECODER
(
SCPR
,
scpr
);
REGISTER_DECODER
(
SCREENPRESSO
,
screenpresso
);
REGISTER_DECODER
(
SDX2_DPCM
,
sdx2_dpcm
);
REGISTER_ENCDEC
(
SGI
,
sgi
);
REGISTER_DECODER
(
SGIRLE
,
sgirle
);
REGISTER_DECODER
(
SHEERVIDEO
,
sheervideo
);
REGISTER_DECODER
(
SMACKER
,
smacker
);
REGISTER_DECODER
(
SMC
,
smc
);
REGISTER_DECODER
(
SMVJPEG
,
smvjpeg
);
REGISTER_ENCDEC
(
SNOW
,
snow
);
REGISTER_DECODER
(
SP5X
,
sp5x
);
REGISTER_DECODER
(
SPEEDHQ
,
speedhq
);
REGISTER_DECODER
(
SRGC
,
srgc
);
REGISTER_ENCDEC
(
SUNRAST
,
sunrast
);
REGISTER_ENCDEC
(
SVQ1
,
svq1
);
REGISTER_DECODER
(
SVQ3
,
svq3
);
REGISTER_ENCDEC
(
TARGA
,
targa
);
REGISTER_DECODER
(
TARGA_Y216
,
targa_y216
);
REGISTER_DECODER
(
TDSC
,
tdsc
);
REGISTER_DECODER
(
THEORA
,
theora
);
REGISTER_DECODER
(
THP
,
thp
);
REGISTER_DECODER
(
TIERTEXSEQVIDEO
,
tiertexseqvideo
);
REGISTER_ENCDEC
(
TIFF
,
tiff
);
REGISTER_DECODER
(
TMV
,
tmv
);
REGISTER_DECODER
(
TRUEMOTION1
,
truemotion1
);
REGISTER_DECODER
(
TRUEMOTION2
,
truemotion2
);
REGISTER_DECODER
(
TRUEMOTION2RT
,
truemotion2rt
);
REGISTER_DECODER
(
TSCC
,
tscc
);
REGISTER_DECODER
(
TSCC2
,
tscc2
);
REGISTER_DECODER
(
TXD
,
txd
);
REGISTER_DECODER
(
ULTI
,
ulti
);
REGISTER_ENCDEC
(
UTVIDEO
,
utvideo
);
REGISTER_ENCDEC
(
V210
,
v210
);
REGISTER_DECODER
(
V210X
,
v210x
);
REGISTER_ENCDEC
(
V308
,
v308
);
REGISTER_ENCDEC
(
V408
,
v408
);
REGISTER_ENCDEC
(
V410
,
v410
);
REGISTER_DECODER
(
VB
,
vb
);
REGISTER_DECODER
(
VBLE
,
vble
);
REGISTER_DECODER
(
VC1
,
vc1
);
REGISTER_DECODER
(
VC1_CRYSTALHD
,
vc1_crystalhd
);
REGISTER_DECODER
(
VC1IMAGE
,
vc1image
);
REGISTER_DECODER
(
VC1_MMAL
,
vc1_mmal
);
REGISTER_DECODER
(
VC1_QSV
,
vc1_qsv
);
REGISTER_DECODER
(
VC1_V4L2M2M
,
vc1_v4l2m2m
);
REGISTER_ENCODER
(
VC2
,
vc2
);
REGISTER_DECODER
(
VCR1
,
vcr1
);
REGISTER_DECODER
(
VMDVIDEO
,
vmdvideo
);
REGISTER_DECODER
(
VMNC
,
vmnc
);
REGISTER_DECODER
(
VP3
,
vp3
);
REGISTER_DECODER
(
VP5
,
vp5
);
REGISTER_DECODER
(
VP6
,
vp6
);
REGISTER_DECODER
(
VP6A
,
vp6a
);
REGISTER_DECODER
(
VP6F
,
vp6f
);
REGISTER_DECODER
(
VP7
,
vp7
);
REGISTER_DECODER
(
VP8
,
vp8
);
REGISTER_DECODER
(
VP8_RKMPP
,
vp8_rkmpp
);
REGISTER_DECODER
(
VP8_V4L2M2M
,
vp8_v4l2m2m
);
REGISTER_DECODER
(
VP9
,
vp9
);
REGISTER_DECODER
(
VP9_RKMPP
,
vp9_rkmpp
);
REGISTER_DECODER
(
VP9_V4L2M2M
,
vp9_v4l2m2m
);
REGISTER_DECODER
(
VQA
,
vqa
);
REGISTER_DECODER
(
BITPACKED
,
bitpacked
);
REGISTER_DECODER
(
WEBP
,
webp
);
REGISTER_ENCDEC
(
WRAPPED_AVFRAME
,
wrapped_avframe
);
REGISTER_ENCDEC
(
WMV1
,
wmv1
);
REGISTER_ENCDEC
(
WMV2
,
wmv2
);
REGISTER_DECODER
(
WMV3
,
wmv3
);
REGISTER_DECODER
(
WMV3_CRYSTALHD
,
wmv3_crystalhd
);
REGISTER_DECODER
(
WMV3IMAGE
,
wmv3image
);
REGISTER_DECODER
(
WNV1
,
wnv1
);
REGISTER_DECODER
(
XAN_WC3
,
xan_wc3
);
REGISTER_DECODER
(
XAN_WC4
,
xan_wc4
);
REGISTER_ENCDEC
(
XBM
,
xbm
);
REGISTER_ENCDEC
(
XFACE
,
xface
);
REGISTER_DECODER
(
XL
,
xl
);
REGISTER_DECODER
(
XPM
,
xpm
);
REGISTER_ENCDEC
(
XWD
,
xwd
);
REGISTER_ENCDEC
(
Y41P
,
y41p
);
REGISTER_DECODER
(
YLC
,
ylc
);
REGISTER_DECODER
(
YOP
,
yop
);
REGISTER_ENCDEC
(
YUV4
,
yuv4
);
REGISTER_DECODER
(
ZERO12V
,
zero12v
);
REGISTER_DECODER
(
ZEROCODEC
,
zerocodec
);
REGISTER_ENCDEC
(
ZLIB
,
zlib
);
REGISTER_ENCDEC
(
ZMBV
,
zmbv
);
/* audio codecs */
REGISTER_ENCDEC
(
AAC
,
aac
);
REGISTER_DECODER
(
AAC_FIXED
,
aac_fixed
);
REGISTER_DECODER
(
AAC_LATM
,
aac_latm
);
REGISTER_ENCDEC
(
AC3
,
ac3
);
REGISTER_ENCDEC
(
AC3_FIXED
,
ac3_fixed
);
REGISTER_ENCDEC
(
ALAC
,
alac
);
REGISTER_DECODER
(
ALS
,
als
);
REGISTER_DECODER
(
AMRNB
,
amrnb
);
REGISTER_DECODER
(
AMRWB
,
amrwb
);
REGISTER_DECODER
(
APE
,
ape
);
REGISTER_ENCDEC
(
APTX
,
aptx
);
REGISTER_DECODER
(
ATRAC1
,
atrac1
);
REGISTER_DECODER
(
ATRAC3
,
atrac3
);
REGISTER_DECODER
(
ATRAC3AL
,
atrac3al
);
REGISTER_DECODER
(
ATRAC3P
,
atrac3p
);
REGISTER_DECODER
(
ATRAC3PAL
,
atrac3pal
);
REGISTER_DECODER
(
BINKAUDIO_DCT
,
binkaudio_dct
);
REGISTER_DECODER
(
BINKAUDIO_RDFT
,
binkaudio_rdft
);
REGISTER_DECODER
(
BMV_AUDIO
,
bmv_audio
);
REGISTER_DECODER
(
COOK
,
cook
);
REGISTER_ENCDEC
(
DCA
,
dca
);
REGISTER_DECODER
(
DOLBY_E
,
dolby_e
);
REGISTER_DECODER
(
DSD_LSBF
,
dsd_lsbf
);
REGISTER_DECODER
(
DSD_MSBF
,
dsd_msbf
);
REGISTER_DECODER
(
DSD_LSBF_PLANAR
,
dsd_lsbf_planar
);
REGISTER_DECODER
(
DSD_MSBF_PLANAR
,
dsd_msbf_planar
);
REGISTER_DECODER
(
DSICINAUDIO
,
dsicinaudio
);
REGISTER_DECODER
(
DSS_SP
,
dss_sp
);
REGISTER_DECODER
(
DST
,
dst
);
REGISTER_ENCDEC
(
EAC3
,
eac3
);
REGISTER_DECODER
(
EVRC
,
evrc
);
REGISTER_DECODER
(
FFWAVESYNTH
,
ffwavesynth
);
REGISTER_ENCDEC
(
FLAC
,
flac
);
REGISTER_ENCDEC
(
G723_1
,
g723_1
);
REGISTER_DECODER
(
G729
,
g729
);
REGISTER_DECODER
(
GSM
,
gsm
);
REGISTER_DECODER
(
GSM_MS
,
gsm_ms
);
REGISTER_DECODER
(
IAC
,
iac
);
REGISTER_DECODER
(
IMC
,
imc
);
REGISTER_DECODER
(
INTERPLAY_ACM
,
interplay_acm
);
REGISTER_DECODER
(
MACE3
,
mace3
);
REGISTER_DECODER
(
MACE6
,
mace6
);
REGISTER_DECODER
(
METASOUND
,
metasound
);
REGISTER_ENCDEC
(
MLP
,
mlp
);
REGISTER_DECODER
(
MP1
,
mp1
);
REGISTER_DECODER
(
MP1FLOAT
,
mp1float
);
REGISTER_ENCDEC
(
MP2
,
mp2
);
REGISTER_DECODER
(
MP2FLOAT
,
mp2float
);
REGISTER_ENCODER
(
MP2FIXED
,
mp2fixed
);
REGISTER_DECODER
(
MP3
,
mp3
);
REGISTER_DECODER
(
MP3FLOAT
,
mp3float
);
REGISTER_DECODER
(
MP3ADU
,
mp3adu
);
REGISTER_DECODER
(
MP3ADUFLOAT
,
mp3adufloat
);
REGISTER_DECODER
(
MP3ON4
,
mp3on4
);
REGISTER_DECODER
(
MP3ON4FLOAT
,
mp3on4float
);
REGISTER_DECODER
(
MPC7
,
mpc7
);
REGISTER_DECODER
(
MPC8
,
mpc8
);
REGISTER_ENCDEC
(
NELLYMOSER
,
nellymoser
);
REGISTER_DECODER
(
ON2AVC
,
on2avc
);
REGISTER_ENCDEC
(
OPUS
,
opus
);
REGISTER_DECODER
(
PAF_AUDIO
,
paf_audio
);
REGISTER_DECODER
(
QCELP
,
qcelp
);
REGISTER_DECODER
(
QDM2
,
qdm2
);
REGISTER_DECODER
(
QDMC
,
qdmc
);
REGISTER_ENCDEC
(
RA_144
,
ra_144
);
REGISTER_DECODER
(
RA_288
,
ra_288
);
REGISTER_DECODER
(
RALF
,
ralf
);
REGISTER_DECODER
(
SHORTEN
,
shorten
);
REGISTER_DECODER
(
SIPR
,
sipr
);
REGISTER_DECODER
(
SMACKAUD
,
smackaud
);
REGISTER_ENCDEC
(
SONIC
,
sonic
);
REGISTER_ENCODER
(
SONIC_LS
,
sonic_ls
);
REGISTER_DECODER
(
TAK
,
tak
);
REGISTER_ENCDEC
(
TRUEHD
,
truehd
);
REGISTER_DECODER
(
TRUESPEECH
,
truespeech
);
REGISTER_ENCDEC
(
TTA
,
tta
);
REGISTER_DECODER
(
TWINVQ
,
twinvq
);
REGISTER_DECODER
(
VMDAUDIO
,
vmdaudio
);
REGISTER_ENCDEC
(
VORBIS
,
vorbis
);
REGISTER_ENCDEC
(
WAVPACK
,
wavpack
);
REGISTER_DECODER
(
WMALOSSLESS
,
wmalossless
);
REGISTER_DECODER
(
WMAPRO
,
wmapro
);
REGISTER_ENCDEC
(
WMAV1
,
wmav1
);
REGISTER_ENCDEC
(
WMAV2
,
wmav2
);
REGISTER_DECODER
(
WMAVOICE
,
wmavoice
);
REGISTER_DECODER
(
WS_SND1
,
ws_snd1
);
REGISTER_DECODER
(
XMA1
,
xma1
);
REGISTER_DECODER
(
XMA2
,
xma2
);
/* PCM codecs */
REGISTER_ENCDEC
(
PCM_ALAW
,
pcm_alaw
);
REGISTER_DECODER
(
PCM_BLURAY
,
pcm_bluray
);
REGISTER_DECODER
(
PCM_DVD
,
pcm_dvd
);
REGISTER_DECODER
(
PCM_F16LE
,
pcm_f16le
);
REGISTER_DECODER
(
PCM_F24LE
,
pcm_f24le
);
REGISTER_ENCDEC
(
PCM_F32BE
,
pcm_f32be
);
REGISTER_ENCDEC
(
PCM_F32LE
,
pcm_f32le
);
REGISTER_ENCDEC
(
PCM_F64BE
,
pcm_f64be
);
REGISTER_ENCDEC
(
PCM_F64LE
,
pcm_f64le
);
REGISTER_DECODER
(
PCM_LXF
,
pcm_lxf
);
REGISTER_ENCDEC
(
PCM_MULAW
,
pcm_mulaw
);
REGISTER_ENCDEC
(
PCM_S8
,
pcm_s8
);
REGISTER_ENCDEC
(
PCM_S8_PLANAR
,
pcm_s8_planar
);
REGISTER_ENCDEC
(
PCM_S16BE
,
pcm_s16be
);
REGISTER_ENCDEC
(
PCM_S16BE_PLANAR
,
pcm_s16be_planar
);
REGISTER_ENCDEC
(
PCM_S16LE
,
pcm_s16le
);
REGISTER_ENCDEC
(
PCM_S16LE_PLANAR
,
pcm_s16le_planar
);
REGISTER_ENCDEC
(
PCM_S24BE
,
pcm_s24be
);
REGISTER_ENCDEC
(
PCM_S24DAUD
,
pcm_s24daud
);
REGISTER_ENCDEC
(
PCM_S24LE
,
pcm_s24le
);
REGISTER_ENCDEC
(
PCM_S24LE_PLANAR
,
pcm_s24le_planar
);
REGISTER_ENCDEC
(
PCM_S32BE
,
pcm_s32be
);
REGISTER_ENCDEC
(
PCM_S32LE
,
pcm_s32le
);
REGISTER_ENCDEC
(
PCM_S32LE_PLANAR
,
pcm_s32le_planar
);
REGISTER_ENCDEC
(
PCM_S64BE
,
pcm_s64be
);
REGISTER_ENCDEC
(
PCM_S64LE
,
pcm_s64le
);
REGISTER_ENCDEC
(
PCM_U8
,
pcm_u8
);
REGISTER_ENCDEC
(
PCM_U16BE
,
pcm_u16be
);
REGISTER_ENCDEC
(
PCM_U16LE
,
pcm_u16le
);
REGISTER_ENCDEC
(
PCM_U24BE
,
pcm_u24be
);
REGISTER_ENCDEC
(
PCM_U24LE
,
pcm_u24le
);
REGISTER_ENCDEC
(
PCM_U32BE
,
pcm_u32be
);
REGISTER_ENCDEC
(
PCM_U32LE
,
pcm_u32le
);
REGISTER_DECODER
(
PCM_ZORK
,
pcm_zork
);
/* DPCM codecs */
REGISTER_DECODER
(
GREMLIN_DPCM
,
gremlin_dpcm
);
REGISTER_DECODER
(
INTERPLAY_DPCM
,
interplay_dpcm
);
REGISTER_ENCDEC
(
ROQ_DPCM
,
roq_dpcm
);
REGISTER_DECODER
(
SOL_DPCM
,
sol_dpcm
);
REGISTER_DECODER
(
XAN_DPCM
,
xan_dpcm
);
/* ADPCM codecs */
REGISTER_DECODER
(
ADPCM_4XM
,
adpcm_4xm
);
REGISTER_ENCDEC
(
ADPCM_ADX
,
adpcm_adx
);
REGISTER_DECODER
(
ADPCM_AFC
,
adpcm_afc
);
REGISTER_DECODER
(
ADPCM_AICA
,
adpcm_aica
);
REGISTER_DECODER
(
ADPCM_CT
,
adpcm_ct
);
REGISTER_DECODER
(
ADPCM_DTK
,
adpcm_dtk
);
REGISTER_DECODER
(
ADPCM_EA
,
adpcm_ea
);
REGISTER_DECODER
(
ADPCM_EA_MAXIS_XA
,
adpcm_ea_maxis_xa
);
REGISTER_DECODER
(
ADPCM_EA_R1
,
adpcm_ea_r1
);
REGISTER_DECODER
(
ADPCM_EA_R2
,
adpcm_ea_r2
);
REGISTER_DECODER
(
ADPCM_EA_R3
,
adpcm_ea_r3
);
REGISTER_DECODER
(
ADPCM_EA_XAS
,
adpcm_ea_xas
);
REGISTER_ENCDEC
(
ADPCM_G722
,
adpcm_g722
);
REGISTER_ENCDEC
(
ADPCM_G726
,
adpcm_g726
);
REGISTER_ENCDEC
(
ADPCM_G726LE
,
adpcm_g726le
);
REGISTER_DECODER
(
ADPCM_IMA_AMV
,
adpcm_ima_amv
);
REGISTER_DECODER
(
ADPCM_IMA_APC
,
adpcm_ima_apc
);
REGISTER_DECODER
(
ADPCM_IMA_DAT4
,
adpcm_ima_dat4
);
REGISTER_DECODER
(
ADPCM_IMA_DK3
,
adpcm_ima_dk3
);
REGISTER_DECODER
(
ADPCM_IMA_DK4
,
adpcm_ima_dk4
);
REGISTER_DECODER
(
ADPCM_IMA_EA_EACS
,
adpcm_ima_ea_eacs
);
REGISTER_DECODER
(
ADPCM_IMA_EA_SEAD
,
adpcm_ima_ea_sead
);
REGISTER_DECODER
(
ADPCM_IMA_ISS
,
adpcm_ima_iss
);
REGISTER_DECODER
(
ADPCM_IMA_OKI
,
adpcm_ima_oki
);
REGISTER_ENCDEC
(
ADPCM_IMA_QT
,
adpcm_ima_qt
);
REGISTER_DECODER
(
ADPCM_IMA_RAD
,
adpcm_ima_rad
);
REGISTER_DECODER
(
ADPCM_IMA_SMJPEG
,
adpcm_ima_smjpeg
);
REGISTER_ENCDEC
(
ADPCM_IMA_WAV
,
adpcm_ima_wav
);
REGISTER_DECODER
(
ADPCM_IMA_WS
,
adpcm_ima_ws
);
REGISTER_ENCDEC
(
ADPCM_MS
,
adpcm_ms
);
REGISTER_DECODER
(
ADPCM_MTAF
,
adpcm_mtaf
);
REGISTER_DECODER
(
ADPCM_PSX
,
adpcm_psx
);
REGISTER_DECODER
(
ADPCM_SBPRO_2
,
adpcm_sbpro_2
);
REGISTER_DECODER
(
ADPCM_SBPRO_3
,
adpcm_sbpro_3
);
REGISTER_DECODER
(
ADPCM_SBPRO_4
,
adpcm_sbpro_4
);
REGISTER_ENCDEC
(
ADPCM_SWF
,
adpcm_swf
);
REGISTER_DECODER
(
ADPCM_THP
,
adpcm_thp
);
REGISTER_DECODER
(
ADPCM_THP_LE
,
adpcm_thp_le
);
REGISTER_DECODER
(
ADPCM_VIMA
,
adpcm_vima
);
REGISTER_DECODER
(
ADPCM_XA
,
adpcm_xa
);
REGISTER_ENCDEC
(
ADPCM_YAMAHA
,
adpcm_yamaha
);
/* subtitles */
REGISTER_ENCDEC
(
SSA
,
ssa
);
REGISTER_ENCDEC
(
ASS
,
ass
);
REGISTER_DECODER
(
CCAPTION
,
ccaption
);
REGISTER_ENCDEC
(
DVBSUB
,
dvbsub
);
REGISTER_ENCDEC
(
DVDSUB
,
dvdsub
);
REGISTER_DECODER
(
JACOSUB
,
jacosub
);
REGISTER_DECODER
(
MICRODVD
,
microdvd
);
REGISTER_ENCDEC
(
MOVTEXT
,
movtext
);
REGISTER_DECODER
(
MPL2
,
mpl2
);
REGISTER_DECODER
(
PGSSUB
,
pgssub
);
REGISTER_DECODER
(
PJS
,
pjs
);
REGISTER_DECODER
(
REALTEXT
,
realtext
);
REGISTER_DECODER
(
SAMI
,
sami
);
REGISTER_ENCDEC
(
SRT
,
srt
);
REGISTER_DECODER
(
STL
,
stl
);
REGISTER_ENCDEC
(
SUBRIP
,
subrip
);
REGISTER_DECODER
(
SUBVIEWER
,
subviewer
);
REGISTER_DECODER
(
SUBVIEWER1
,
subviewer1
);
REGISTER_ENCDEC
(
TEXT
,
text
);
REGISTER_DECODER
(
VPLAYER
,
vplayer
);
REGISTER_ENCDEC
(
WEBVTT
,
webvtt
);
REGISTER_ENCDEC
(
XSUB
,
xsub
);
/* external libraries */
REGISTER_ENCDEC
(
AAC_AT
,
aac_at
);
REGISTER_DECODER
(
AC3_AT
,
ac3_at
);
REGISTER_DECODER
(
ADPCM_IMA_QT_AT
,
adpcm_ima_qt_at
);
REGISTER_ENCDEC
(
ALAC_AT
,
alac_at
);
REGISTER_DECODER
(
AMR_NB_AT
,
amr_nb_at
);
REGISTER_DECODER
(
EAC3_AT
,
eac3_at
);
REGISTER_DECODER
(
GSM_MS_AT
,
gsm_ms_at
);
REGISTER_ENCDEC
(
ILBC_AT
,
ilbc_at
);
REGISTER_DECODER
(
MP1_AT
,
mp1_at
);
REGISTER_DECODER
(
MP2_AT
,
mp2_at
);
REGISTER_DECODER
(
MP3_AT
,
mp3_at
);
REGISTER_ENCDEC
(
PCM_ALAW_AT
,
pcm_alaw_at
);
REGISTER_ENCDEC
(
PCM_MULAW_AT
,
pcm_mulaw_at
);
REGISTER_DECODER
(
QDMC_AT
,
qdmc_at
);
REGISTER_DECODER
(
QDM2_AT
,
qdm2_at
);
REGISTER_DECODER
(
LIBCELT
,
libcelt
);
REGISTER_ENCDEC
(
LIBFDK_AAC
,
libfdk_aac
);
REGISTER_ENCDEC
(
LIBGSM
,
libgsm
);
REGISTER_ENCDEC
(
LIBGSM_MS
,
libgsm_ms
);
REGISTER_ENCDEC
(
LIBILBC
,
libilbc
);
REGISTER_ENCODER
(
LIBMP3LAME
,
libmp3lame
);
REGISTER_ENCDEC
(
LIBOPENCORE_AMRNB
,
libopencore_amrnb
);
REGISTER_DECODER
(
LIBOPENCORE_AMRWB
,
libopencore_amrwb
);
REGISTER_ENCDEC
(
LIBOPENJPEG
,
libopenjpeg
);
REGISTER_ENCDEC
(
LIBOPUS
,
libopus
);
REGISTER_DECODER
(
LIBRSVG
,
librsvg
);
REGISTER_ENCODER
(
LIBSHINE
,
libshine
);
REGISTER_ENCDEC
(
LIBSPEEX
,
libspeex
);
REGISTER_ENCODER
(
LIBTHEORA
,
libtheora
);
REGISTER_ENCODER
(
LIBTWOLAME
,
libtwolame
);
REGISTER_ENCODER
(
LIBVO_AMRWBENC
,
libvo_amrwbenc
);
REGISTER_ENCDEC
(
LIBVORBIS
,
libvorbis
);
REGISTER_ENCDEC
(
LIBVPX_VP8
,
libvpx_vp8
);
REGISTER_ENCDEC
(
LIBVPX_VP9
,
libvpx_vp9
);
REGISTER_ENCODER
(
LIBWAVPACK
,
libwavpack
);
REGISTER_ENCODER
(
LIBWEBP_ANIM
,
libwebp_anim
);
/* preferred over libwebp */
REGISTER_ENCODER
(
LIBWEBP
,
libwebp
);
REGISTER_ENCODER
(
LIBX262
,
libx262
);
REGISTER_ENCODER
(
LIBX264
,
libx264
);
REGISTER_ENCODER
(
LIBX264RGB
,
libx264rgb
);
REGISTER_ENCODER
(
LIBX265
,
libx265
);
REGISTER_ENCODER
(
LIBXAVS
,
libxavs
);
REGISTER_ENCODER
(
LIBXVID
,
libxvid
);
REGISTER_DECODER
(
LIBZVBI_TELETEXT
,
libzvbi_teletext
);
/* text */
REGISTER_DECODER
(
BINTEXT
,
bintext
);
REGISTER_DECODER
(
XBIN
,
xbin
);
REGISTER_DECODER
(
IDF
,
idf
);
/* external libraries, that shouldn't be used by default if one of the
* above is available */
* above is available */
REGISTER_ENCODER
(
H263_V4L2M2M
,
h263_v4l2m2m
);
extern
AVCodec
ff_h263_v4l2m2m_encoder
;
REGISTER_ENCDEC
(
LIBOPENH264
,
libopenh264
);
extern
AVCodec
ff_libopenh264_encoder
;
REGISTER_ENCODER
(
H264_AMF
,
h264_amf
);
extern
AVCodec
ff_libopenh264_decoder
;
REGISTER_DECODER
(
H264_CUVID
,
h264_cuvid
);
extern
AVCodec
ff_h264_amf_encoder
;
REGISTER_ENCODER
(
H264_NVENC
,
h264_nvenc
);
extern
AVCodec
ff_h264_cuvid_decoder
;
REGISTER_ENCODER
(
H264_OMX
,
h264_omx
);
extern
AVCodec
ff_h264_nvenc_encoder
;
REGISTER_ENCODER
(
H264_QSV
,
h264_qsv
);
extern
AVCodec
ff_h264_omx_encoder
;
REGISTER_ENCODER
(
H264_V4L2M2M
,
h264_v4l2m2m
);
extern
AVCodec
ff_h264_qsv_encoder
;
REGISTER_ENCODER
(
H264_VAAPI
,
h264_vaapi
);
extern
AVCodec
ff_h264_v4l2m2m_encoder
;
REGISTER_ENCODER
(
H264_VIDEOTOOLBOX
,
h264_videotoolbox
);
extern
AVCodec
ff_h264_vaapi_encoder
;
extern
AVCodec
ff_h264_videotoolbox_encoder
;
#if FF_API_NVENC_OLD_NAME
#if FF_API_NVENC_OLD_NAME
REGISTER_ENCODER
(
NVENC
,
nvenc
)
;
extern
AVCodec
ff_nvenc_encoder
;
REGISTER_ENCODER
(
NVENC_H264
,
nvenc_h264
)
;
extern
AVCodec
ff_nvenc_h264_encoder
;
REGISTER_ENCODER
(
NVENC_HEVC
,
nvenc_hevc
)
;
extern
AVCodec
ff_nvenc_hevc_encoder
;
#endif
#endif
REGISTER_ENCODER
(
HEVC_AMF
,
hevc_amf
);
extern
AVCodec
ff_hevc_amf_encoder
;
REGISTER_DECODER
(
HEVC_CUVID
,
hevc_cuvid
);
extern
AVCodec
ff_hevc_cuvid_decoder
;
REGISTER_DECODER
(
HEVC_MEDIACODEC
,
hevc_mediacodec
);
extern
AVCodec
ff_hevc_mediacodec_decoder
;
REGISTER_ENCODER
(
HEVC_NVENC
,
hevc_nvenc
);
extern
AVCodec
ff_hevc_nvenc_encoder
;
REGISTER_ENCODER
(
HEVC_QSV
,
hevc_qsv
);
extern
AVCodec
ff_hevc_qsv_encoder
;
REGISTER_ENCODER
(
HEVC_V4L2M2M
,
hevc_v4l2m2m
);
extern
AVCodec
ff_hevc_v4l2m2m_encoder
;
REGISTER_ENCODER
(
HEVC_VAAPI
,
hevc_vaapi
);
extern
AVCodec
ff_hevc_vaapi_encoder
;
REGISTER_ENCODER
(
HEVC_VIDEOTOOLBOX
,
hevc_videotoolbox
);
extern
AVCodec
ff_hevc_videotoolbox_encoder
;
REGISTER_ENCODER
(
LIBKVAZAAR
,
libkvazaar
);
extern
AVCodec
ff_libkvazaar_encoder
;
REGISTER_DECODER
(
MJPEG_CUVID
,
mjpeg_cuvid
);
extern
AVCodec
ff_mjpeg_cuvid_decoder
;
REGISTER_ENCODER
(
MJPEG_QSV
,
mjpeg_qsv
);
extern
AVCodec
ff_mjpeg_qsv_encoder
;
REGISTER_ENCODER
(
MJPEG_VAAPI
,
mjpeg_vaapi
);
extern
AVCodec
ff_mjpeg_vaapi_encoder
;
REGISTER_DECODER
(
MPEG1_CUVID
,
mpeg1_cuvid
);
extern
AVCodec
ff_mpeg1_cuvid_decoder
;
REGISTER_DECODER
(
MPEG2_CUVID
,
mpeg2_cuvid
);
extern
AVCodec
ff_mpeg2_cuvid_decoder
;
REGISTER_ENCODER
(
MPEG2_QSV
,
mpeg2_qsv
);
extern
AVCodec
ff_mpeg2_qsv_encoder
;
REGISTER_ENCODER
(
MPEG2_VAAPI
,
mpeg2_vaapi
);
extern
AVCodec
ff_mpeg2_vaapi_encoder
;
REGISTER_DECODER
(
MPEG4_CUVID
,
mpeg4_cuvid
);
extern
AVCodec
ff_mpeg4_cuvid_decoder
;
REGISTER_DECODER
(
MPEG4_MEDIACODEC
,
mpeg4_mediacodec
);
extern
AVCodec
ff_mpeg4_mediacodec_decoder
;
REGISTER_ENCODER
(
MPEG4_V4L2M2M
,
mpeg4_v4l2m2m
);
extern
AVCodec
ff_mpeg4_v4l2m2m_encoder
;
REGISTER_DECODER
(
VC1_CUVID
,
vc1_cuvid
);
extern
AVCodec
ff_vc1_cuvid_decoder
;
REGISTER_DECODER
(
VP8_CUVID
,
vp8_cuvid
);
extern
AVCodec
ff_vp8_cuvid_decoder
;
REGISTER_DECODER
(
VP8_MEDIACODEC
,
vp8_mediacodec
);
extern
AVCodec
ff_vp8_mediacodec_decoder
;
REGISTER_DECODER
(
VP8_QSV
,
vp8_qsv
);
extern
AVCodec
ff_vp8_qsv_decoder
;
REGISTER_ENCODER
(
VP8_V4L2M2M
,
vp8_v4l2m2m
);
extern
AVCodec
ff_vp8_v4l2m2m_encoder
;
REGISTER_ENCODER
(
VP8_VAAPI
,
vp8_vaapi
);
extern
AVCodec
ff_vp8_vaapi_encoder
;
REGISTER_DECODER
(
VP9_CUVID
,
vp9_cuvid
);
extern
AVCodec
ff_vp9_cuvid_decoder
;
REGISTER_DECODER
(
VP9_MEDIACODEC
,
vp9_mediacodec
);
extern
AVCodec
ff_vp9_mediacodec_decoder
;
REGISTER_ENCODER
(
VP9_VAAPI
,
vp9_vaapi
);
extern
AVCodec
ff_vp9_vaapi_encoder
;
/* parsers */
#include "libavcodec/codec_list.c"
REGISTER_PARSER
(
AAC
,
aac
);
REGISTER_PARSER
(
AAC_LATM
,
aac_latm
);
static
AVOnce
av_codec_static_init
=
AV_ONCE_INIT
;
REGISTER_PARSER
(
AC3
,
ac3
);
static
void
av_codec_init_static
(
void
)
REGISTER_PARSER
(
ADX
,
adx
);
{
REGISTER_PARSER
(
BMP
,
bmp
);
for
(
int
i
=
0
;
codec_list
[
i
];
i
++
)
{
REGISTER_PARSER
(
CAVSVIDEO
,
cavsvideo
);
if
(
codec_list
[
i
]
->
init_static_data
)
REGISTER_PARSER
(
COOK
,
cook
);
codec_list
[
i
]
->
init_static_data
((
AVCodec
*
)
codec_list
[
i
]);
REGISTER_PARSER
(
DCA
,
dca
);
}
REGISTER_PARSER
(
DIRAC
,
dirac
);
}
REGISTER_PARSER
(
DNXHD
,
dnxhd
);
REGISTER_PARSER
(
DPX
,
dpx
);
const
AVCodec
*
av_codec_iterate
(
void
**
opaque
)
REGISTER_PARSER
(
DVAUDIO
,
dvaudio
);
{
REGISTER_PARSER
(
DVBSUB
,
dvbsub
);
uintptr_t
i
=
(
uintptr_t
)
*
opaque
;
REGISTER_PARSER
(
DVDSUB
,
dvdsub
);
const
AVCodec
*
c
=
codec_list
[
i
];
REGISTER_PARSER
(
DVD_NAV
,
dvd_nav
);
REGISTER_PARSER
(
FLAC
,
flac
);
ff_thread_once
(
&
av_codec_static_init
,
av_codec_init_static
);
REGISTER_PARSER
(
G729
,
g729
);
REGISTER_PARSER
(
GSM
,
gsm
);
if
(
c
)
REGISTER_PARSER
(
H261
,
h261
);
*
opaque
=
(
void
*
)(
i
+
1
);
REGISTER_PARSER
(
H263
,
h263
);
REGISTER_PARSER
(
H264
,
h264
);
return
c
;
REGISTER_PARSER
(
HEVC
,
hevc
);
}
REGISTER_PARSER
(
MJPEG
,
mjpeg
);
REGISTER_PARSER
(
MLP
,
mlp
);
#if FF_API_NEXT
REGISTER_PARSER
(
MPEG4VIDEO
,
mpeg4video
);
FF_DISABLE_DEPRECATION_WARNINGS
REGISTER_PARSER
(
MPEGAUDIO
,
mpegaudio
);
static
AVOnce
av_codec_next_init
=
AV_ONCE_INIT
;
REGISTER_PARSER
(
MPEGVIDEO
,
mpegvideo
);
REGISTER_PARSER
(
OPUS
,
opus
);
static
void
av_codec_init_next
(
void
)
REGISTER_PARSER
(
PNG
,
png
);
{
REGISTER_PARSER
(
PNM
,
pnm
);
AVCodec
*
prev
=
NULL
,
*
p
;
REGISTER_PARSER
(
RV30
,
rv30
);
void
*
i
=
0
;
REGISTER_PARSER
(
RV40
,
rv40
);
while
((
p
=
(
AVCodec
*
)
av_codec_iterate
(
&
i
)))
{
REGISTER_PARSER
(
SIPR
,
sipr
);
if
(
prev
)
REGISTER_PARSER
(
TAK
,
tak
);
prev
->
next
=
p
;
REGISTER_PARSER
(
VC1
,
vc1
);
prev
=
p
;
REGISTER_PARSER
(
VORBIS
,
vorbis
);
}
REGISTER_PARSER
(
VP3
,
vp3
);
}
REGISTER_PARSER
(
VP8
,
vp8
);
REGISTER_PARSER
(
VP9
,
vp9
);
REGISTER_PARSER
(
XMA
,
xma
);
av_cold
void
avcodec_register
(
AVCodec
*
codec
)
{
ff_thread_once
(
&
av_codec_next_init
,
av_codec_init_next
);
}
AVCodec
*
av_codec_next
(
const
AVCodec
*
c
)
{
ff_thread_once
(
&
av_codec_next_init
,
av_codec_init_next
);
if
(
c
)
return
c
->
next
;
else
return
(
AVCodec
*
)
codec_list
[
0
];
}
}
void
avcodec_register_all
(
void
)
void
avcodec_register_all
(
void
)
{
{
static
AVOnce
control
=
AV_ONCE_INIT
;
ff_thread_once
(
&
av_codec_next_init
,
av_codec_init_next
);
}
FF_ENABLE_DEPRECATION_WARNINGS
#endif
static
enum
AVCodecID
remap_deprecated_codec_id
(
enum
AVCodecID
id
)
{
switch
(
id
){
//This is for future deprecatec codec ids, its empty since
//last major bump but will fill up again over time, please don't remove it
default
:
return
id
;
}
}
static
AVCodec
*
find_codec
(
enum
AVCodecID
id
,
int
(
*
x
)(
const
AVCodec
*
))
{
const
AVCodec
*
p
,
*
experimental
=
NULL
;
void
*
i
=
0
;
ff_thread_once
(
&
control
,
register_all
);
id
=
remap_deprecated_codec_id
(
id
);
while
((
p
=
av_codec_iterate
(
&
i
)))
{
if
(
!
x
(
p
))
continue
;
if
(
p
->
id
==
id
)
{
if
(
p
->
capabilities
&
AV_CODEC_CAP_EXPERIMENTAL
&&
!
experimental
)
{
experimental
=
p
;
}
else
return
(
AVCodec
*
)
p
;
}
}
return
(
AVCodec
*
)
experimental
;
}
AVCodec
*
avcodec_find_encoder
(
enum
AVCodecID
id
)
{
return
find_codec
(
id
,
av_codec_is_encoder
);
}
AVCodec
*
avcodec_find_decoder
(
enum
AVCodecID
id
)
{
return
find_codec
(
id
,
av_codec_is_decoder
);
}
static
AVCodec
*
find_codec_by_name
(
const
char
*
name
,
int
(
*
x
)(
const
AVCodec
*
))
{
void
*
i
=
0
;
const
AVCodec
*
p
;
if
(
!
name
)
return
NULL
;
while
((
p
=
av_codec_iterate
(
&
i
)))
{
if
(
!
x
(
p
))
continue
;
if
(
strcmp
(
name
,
p
->
name
)
==
0
)
return
(
AVCodec
*
)
p
;
}
return
NULL
;
}
AVCodec
*
avcodec_find_encoder_by_name
(
const
char
*
name
)
{
return
find_codec_by_name
(
name
,
av_codec_is_encoder
);
}
AVCodec
*
avcodec_find_decoder_by_name
(
const
char
*
name
)
{
return
find_codec_by_name
(
name
,
av_codec_is_decoder
);
}
}
libavcodec/avcodec.h
View file @
7e8eba2d
...
@@ -3978,12 +3978,26 @@ typedef struct AVCodecParameters {
...
@@ -3978,12 +3978,26 @@ typedef struct AVCodecParameters {
int
seek_preroll
;
int
seek_preroll
;
}
AVCodecParameters
;
}
AVCodecParameters
;
/**
* Iterate over all registered codecs.
*
* @param opaque a pointer where libavcodec will store the iteration state. Must
* point to NULL to start the iteration.
*
* @return the next registered codec or NULL when the iteration is
* finished
*/
const
AVCodec
*
av_codec_iterate
(
void
**
opaque
);
#if FF_API_NEXT
/**
/**
* If c is NULL, returns the first registered codec,
* If c is NULL, returns the first registered codec,
* if c is non-NULL, returns the next registered codec after c,
* if c is non-NULL, returns the next registered codec after c,
* or NULL if c is the last one.
* or NULL if c is the last one.
*/
*/
attribute_deprecated
AVCodec
*
av_codec_next
(
const
AVCodec
*
c
);
AVCodec
*
av_codec_next
(
const
AVCodec
*
c
);
#endif
/**
/**
* Return the LIBAVCODEC_VERSION_INT constant.
* Return the LIBAVCODEC_VERSION_INT constant.
...
@@ -4000,6 +4014,7 @@ const char *avcodec_configuration(void);
...
@@ -4000,6 +4014,7 @@ const char *avcodec_configuration(void);
*/
*/
const
char
*
avcodec_license
(
void
);
const
char
*
avcodec_license
(
void
);
#if FF_API_NEXT
/**
/**
* Register the codec codec and initialize libavcodec.
* Register the codec codec and initialize libavcodec.
*
*
...
@@ -4008,6 +4023,7 @@ const char *avcodec_license(void);
...
@@ -4008,6 +4023,7 @@ const char *avcodec_license(void);
*
*
* @see avcodec_register_all()
* @see avcodec_register_all()
*/
*/
attribute_deprecated
void
avcodec_register
(
AVCodec
*
codec
);
void
avcodec_register
(
AVCodec
*
codec
);
/**
/**
...
@@ -4020,7 +4036,9 @@ void avcodec_register(AVCodec *codec);
...
@@ -4020,7 +4036,9 @@ void avcodec_register(AVCodec *codec);
* @see av_register_codec_parser
* @see av_register_codec_parser
* @see av_register_bitstream_filter
* @see av_register_bitstream_filter
*/
*/
attribute_deprecated
void
avcodec_register_all
(
void
);
void
avcodec_register_all
(
void
);
#endif
/**
/**
* Allocate an AVCodecContext and set its fields to default values. The
* Allocate an AVCodecContext and set its fields to default values. The
...
@@ -5120,8 +5138,21 @@ typedef struct AVCodecParser {
...
@@ -5120,8 +5138,21 @@ typedef struct AVCodecParser {
struct
AVCodecParser
*
next
;
struct
AVCodecParser
*
next
;
}
AVCodecParser
;
}
AVCodecParser
;
/**
* Iterate over all registered codec parsers.
*
* @param opaque a pointer where libavcodec will store the iteration state. Must
* point to NULL to start the iteration.
*
* @return the next registered codec parser or NULL when the iteration is
* finished
*/
const
AVCodecParser
*
av_parser_iterate
(
void
**
opaque
);
attribute_deprecated
AVCodecParser
*
av_parser_next
(
const
AVCodecParser
*
c
);
AVCodecParser
*
av_parser_next
(
const
AVCodecParser
*
c
);
attribute_deprecated
void
av_register_codec_parser
(
AVCodecParser
*
parser
);
void
av_register_codec_parser
(
AVCodecParser
*
parser
);
AVCodecParserContext
*
av_parser_init
(
int
codec_id
);
AVCodecParserContext
*
av_parser_init
(
int
codec_id
);
...
...
libavcodec/parser.c
View file @
7e8eba2d
...
@@ -32,36 +32,100 @@
...
@@ -32,36 +32,100 @@
#include "internal.h"
#include "internal.h"
#include "parser.h"
#include "parser.h"
static
AVCodecParser
*
av_first_parser
=
NULL
;
/* Parsers */
extern
AVCodecParser
ff_aac_parser
;
extern
AVCodecParser
ff_aac_latm_parser
;
extern
AVCodecParser
ff_ac3_parser
;
extern
AVCodecParser
ff_adx_parser
;
extern
AVCodecParser
ff_bmp_parser
;
extern
AVCodecParser
ff_cavsvideo_parser
;
extern
AVCodecParser
ff_cook_parser
;
extern
AVCodecParser
ff_dca_parser
;
extern
AVCodecParser
ff_dirac_parser
;
extern
AVCodecParser
ff_dnxhd_parser
;
extern
AVCodecParser
ff_dpx_parser
;
extern
AVCodecParser
ff_dvaudio_parser
;
extern
AVCodecParser
ff_dvbsub_parser
;
extern
AVCodecParser
ff_dvdsub_parser
;
extern
AVCodecParser
ff_dvd_nav_parser
;
extern
AVCodecParser
ff_flac_parser
;
extern
AVCodecParser
ff_g729_parser
;
extern
AVCodecParser
ff_gsm_parser
;
extern
AVCodecParser
ff_h261_parser
;
extern
AVCodecParser
ff_h263_parser
;
extern
AVCodecParser
ff_h264_parser
;
extern
AVCodecParser
ff_hevc_parser
;
extern
AVCodecParser
ff_mjpeg_parser
;
extern
AVCodecParser
ff_mlp_parser
;
extern
AVCodecParser
ff_mpeg4video_parser
;
extern
AVCodecParser
ff_mpegaudio_parser
;
extern
AVCodecParser
ff_mpegvideo_parser
;
extern
AVCodecParser
ff_opus_parser
;
extern
AVCodecParser
ff_png_parser
;
extern
AVCodecParser
ff_pnm_parser
;
extern
AVCodecParser
ff_rv30_parser
;
extern
AVCodecParser
ff_rv40_parser
;
extern
AVCodecParser
ff_sipr_parser
;
extern
AVCodecParser
ff_tak_parser
;
extern
AVCodecParser
ff_vc1_parser
;
extern
AVCodecParser
ff_vorbis_parser
;
extern
AVCodecParser
ff_vp3_parser
;
extern
AVCodecParser
ff_vp8_parser
;
extern
AVCodecParser
ff_vp9_parser
;
extern
AVCodecParser
ff_xma_parser
;
#include "libavcodec/parser_list.c"
static
AVOnce
av_parser_next_init
=
AV_ONCE_INIT
;
static
void
av_parser_init_next
(
void
)
{
AVCodecParser
*
prev
=
NULL
,
*
p
;
int
i
=
0
;
while
((
p
=
(
AVCodecParser
*
)
parser_list
[
i
++
]))
{
if
(
prev
)
prev
->
next
=
p
;
prev
=
p
;
}
}
AVCodecParser
*
av_parser_next
(
const
AVCodecParser
*
p
)
AVCodecParser
*
av_parser_next
(
const
AVCodecParser
*
p
)
{
{
ff_thread_once
(
&
av_parser_next_init
,
av_parser_init_next
);
if
(
p
)
if
(
p
)
return
p
->
next
;
return
p
->
next
;
else
else
return
av_first_parser
;
return
(
AVCodecParser
*
)
parser_list
[
0
]
;
}
}
static
AVMutex
parser_register_mutex
=
AV_MUTEX_INITIALIZER
;
const
AVCodecParser
*
av_parser_iterate
(
void
**
opaque
)
{
uintptr_t
i
=
(
uintptr_t
)
*
opaque
;
const
AVCodecParser
*
p
=
parser_list
[
i
];
if
(
p
)
*
opaque
=
(
void
*
)(
i
+
1
);
return
p
;
}
void
av_register_codec_parser
(
AVCodecParser
*
parser
)
void
av_register_codec_parser
(
AVCodecParser
*
parser
)
{
{
ff_mutex_lock
(
&
parser_register_mutex
);
ff_thread_once
(
&
av_parser_next_init
,
av_parser_init_next
);
parser
->
next
=
av_first_parser
;
av_first_parser
=
parser
;
ff_mutex_unlock
(
&
parser_register_mutex
);
}
}
AVCodecParserContext
*
av_parser_init
(
int
codec_id
)
AVCodecParserContext
*
av_parser_init
(
int
codec_id
)
{
{
AVCodecParserContext
*
s
=
NULL
;
AVCodecParserContext
*
s
=
NULL
;
AVCodecParser
*
parser
;
const
AVCodecParser
*
parser
;
void
*
i
=
0
;
int
ret
;
int
ret
;
if
(
codec_id
==
AV_CODEC_ID_NONE
)
if
(
codec_id
==
AV_CODEC_ID_NONE
)
return
NULL
;
return
NULL
;
for
(
parser
=
av_first_parser
;
parser
;
parser
=
parser
->
next
)
{
while
((
parser
=
av_parser_iterate
(
&
i
))
)
{
if
(
parser
->
codec_ids
[
0
]
==
codec_id
||
if
(
parser
->
codec_ids
[
0
]
==
codec_id
||
parser
->
codec_ids
[
1
]
==
codec_id
||
parser
->
codec_ids
[
1
]
==
codec_id
||
parser
->
codec_ids
[
2
]
==
codec_id
||
parser
->
codec_ids
[
2
]
==
codec_id
||
...
@@ -75,7 +139,7 @@ found:
...
@@ -75,7 +139,7 @@ found:
s
=
av_mallocz
(
sizeof
(
AVCodecParserContext
));
s
=
av_mallocz
(
sizeof
(
AVCodecParserContext
));
if
(
!
s
)
if
(
!
s
)
goto
err_out
;
goto
err_out
;
s
->
parser
=
parser
;
s
->
parser
=
(
AVCodecParser
*
)
parser
;
s
->
priv_data
=
av_mallocz
(
parser
->
priv_data_size
);
s
->
priv_data
=
av_mallocz
(
parser
->
priv_data_size
);
if
(
!
s
->
priv_data
)
if
(
!
s
->
priv_data
)
goto
err_out
;
goto
err_out
;
...
...
libavcodec/utils.c
View file @
7e8eba2d
...
@@ -46,7 +46,6 @@
...
@@ -46,7 +46,6 @@
#include "decode.h"
#include "decode.h"
#include "hwaccel.h"
#include "hwaccel.h"
#include "libavutil/opt.h"
#include "libavutil/opt.h"
#include "me_cmp.h"
#include "mpegvideo.h"
#include "mpegvideo.h"
#include "thread.h"
#include "thread.h"
#include "frame_thread_encoder.h"
#include "frame_thread_encoder.h"
...
@@ -92,18 +91,6 @@ void av_fast_padded_mallocz(void *ptr, unsigned int *size, size_t min_size)
...
@@ -92,18 +91,6 @@ void av_fast_padded_mallocz(void *ptr, unsigned int *size, size_t min_size)
memset
(
*
p
,
0
,
min_size
+
AV_INPUT_BUFFER_PADDING_SIZE
);
memset
(
*
p
,
0
,
min_size
+
AV_INPUT_BUFFER_PADDING_SIZE
);
}
}
/* encoder management */
static
AVCodec
*
first_avcodec
=
NULL
;
static
AVCodec
**
last_avcodec
=
&
first_avcodec
;
AVCodec
*
av_codec_next
(
const
AVCodec
*
c
)
{
if
(
c
)
return
c
->
next
;
else
return
first_avcodec
;
}
int
av_codec_is_encoder
(
const
AVCodec
*
codec
)
int
av_codec_is_encoder
(
const
AVCodec
*
codec
)
{
{
return
codec
&&
(
codec
->
encode_sub
||
codec
->
encode2
||
codec
->
send_frame
);
return
codec
&&
(
codec
->
encode_sub
||
codec
->
encode2
||
codec
->
send_frame
);
...
@@ -114,27 +101,6 @@ int av_codec_is_decoder(const AVCodec *codec)
...
@@ -114,27 +101,6 @@ int av_codec_is_decoder(const AVCodec *codec)
return
codec
&&
(
codec
->
decode
||
codec
->
receive_frame
);
return
codec
&&
(
codec
->
decode
||
codec
->
receive_frame
);
}
}
static
AVMutex
codec_register_mutex
=
AV_MUTEX_INITIALIZER
;
av_cold
void
avcodec_register
(
AVCodec
*
codec
)
{
AVCodec
**
p
;
ff_mutex_lock
(
&
codec_register_mutex
);
p
=
last_avcodec
;
while
(
*
p
)
p
=
&
(
*
p
)
->
next
;
*
p
=
codec
;
codec
->
next
=
NULL
;
last_avcodec
=
&
codec
->
next
;
ff_mutex_unlock
(
&
codec_register_mutex
);
if
(
codec
->
init_static_data
)
codec
->
init_static_data
(
codec
);
}
int
ff_set_dimensions
(
AVCodecContext
*
s
,
int
width
,
int
height
)
int
ff_set_dimensions
(
AVCodecContext
*
s
,
int
width
,
int
height
)
{
{
int
ret
=
av_image_check_size2
(
width
,
height
,
s
->
max_pixels
,
AV_PIX_FMT_NONE
,
0
,
s
);
int
ret
=
av_image_check_size2
(
width
,
height
,
s
->
max_pixels
,
AV_PIX_FMT_NONE
,
0
,
s
);
...
@@ -1155,71 +1121,6 @@ FF_ENABLE_DEPRECATION_WARNINGS
...
@@ -1155,71 +1121,6 @@ FF_ENABLE_DEPRECATION_WARNINGS
return
0
;
return
0
;
}
}
static
enum
AVCodecID
remap_deprecated_codec_id
(
enum
AVCodecID
id
)
{
switch
(
id
){
//This is for future deprecatec codec ids, its empty since
//last major bump but will fill up again over time, please don't remove it
default
:
return
id
;
}
}
static
AVCodec
*
find_encdec
(
enum
AVCodecID
id
,
int
encoder
)
{
AVCodec
*
p
,
*
experimental
=
NULL
;
p
=
first_avcodec
;
id
=
remap_deprecated_codec_id
(
id
);
while
(
p
)
{
if
((
encoder
?
av_codec_is_encoder
(
p
)
:
av_codec_is_decoder
(
p
))
&&
p
->
id
==
id
)
{
if
(
p
->
capabilities
&
AV_CODEC_CAP_EXPERIMENTAL
&&
!
experimental
)
{
experimental
=
p
;
}
else
return
p
;
}
p
=
p
->
next
;
}
return
experimental
;
}
AVCodec
*
avcodec_find_encoder
(
enum
AVCodecID
id
)
{
return
find_encdec
(
id
,
1
);
}
AVCodec
*
avcodec_find_encoder_by_name
(
const
char
*
name
)
{
AVCodec
*
p
;
if
(
!
name
)
return
NULL
;
p
=
first_avcodec
;
while
(
p
)
{
if
(
av_codec_is_encoder
(
p
)
&&
strcmp
(
name
,
p
->
name
)
==
0
)
return
p
;
p
=
p
->
next
;
}
return
NULL
;
}
AVCodec
*
avcodec_find_decoder
(
enum
AVCodecID
id
)
{
return
find_encdec
(
id
,
0
);
}
AVCodec
*
avcodec_find_decoder_by_name
(
const
char
*
name
)
{
AVCodec
*
p
;
if
(
!
name
)
return
NULL
;
p
=
first_avcodec
;
while
(
p
)
{
if
(
av_codec_is_decoder
(
p
)
&&
strcmp
(
name
,
p
->
name
)
==
0
)
return
p
;
p
=
p
->
next
;
}
return
NULL
;
}
const
char
*
avcodec_get_name
(
enum
AVCodecID
id
)
const
char
*
avcodec_get_name
(
enum
AVCodecID
id
)
{
{
const
AVCodecDescriptor
*
cd
;
const
AVCodecDescriptor
*
cd
;
...
...
libavcodec/version.h
View file @
7e8eba2d
...
@@ -129,6 +129,9 @@
...
@@ -129,6 +129,9 @@
#ifndef FF_API_LOCKMGR
#ifndef FF_API_LOCKMGR
#define FF_API_LOCKMGR (LIBAVCODEC_VERSION_MAJOR < 59)
#define FF_API_LOCKMGR (LIBAVCODEC_VERSION_MAJOR < 59)
#endif
#endif
#ifndef FF_API_NEXT
#define FF_API_NEXT (LIBAVCODEC_VERSION_MAJOR < 59)
#endif
#endif
/* AVCODEC_VERSION_H */
#endif
/* AVCODEC_VERSION_H */
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment