[FFmpeg-devel] Marking internal symbols hidden (was: Re: Why 'You can only build one library type at once on MinGW'?)

Uoti Urpala uoti.urpala
Sun May 13 09:18:45 CEST 2007


On Sat, 2007-05-12 at 04:48 +0300, Uoti Urpala wrote:
> On Sat, 2007-05-12 at 03:16 +0200, Michael Niedermayer wrote:
> > so simply adding a #pragma at the begin and end of all internal headers
> > would make them hidden from outside and avoid the silly double indirection
> > when they are accessed?
> 
> I think so, though it's slightly less trivial than beginning and end;
> you need to make sure not to #include any other headers between the
> #pragmas. Grepping for "extern" also shows a couple of declarations
> outside headers.

I tested this with one header, dsputil.h.
I added one pair of
#pragma GCC visibility push (hidden)
#pragma GCC visibility pop
from after the avcodec.h include at the beginning of the file to the
altivec.h include in the middle of the file, and another from there to
before the final #endif.

I then tried compiling ffmpeg with PIC enabled and verified that the
resulting library worked in MPlayer compiled with external libavcodec.
"objdump -T libavcodec.so" confirmed that fewer symbols appeared in the
external API.

MPlayer worked fine with the modified library, but compiling vhook/fish
in FFmpeg failed. That file uses ff_cropTbl which was now not marked a
part of the API usable from outside libavcodec.

I think doing this for other headers too would be practically doable. As
the vhook/fish example shows some problems will likely appear, but
overall changing one of the bigger headers was pretty easy. I'm not
volunteering for the job myself though.



While checking the lists of generated symbols I noticed they contain
quite a bit of crud, including lots of symbols without a prefix. Marking
the visibility correctly should clean up most of them from shared
libraries of course. In fact adding prefixes to them all for static
linking is probably a lot more work than marking the visibility...

Attached is a list of public symbols in the the libavcodec I compiled,
organized by section. These are from the version without visibility
defined in dsputil.h; marking the dsputil.h symbols hidden reduced the
number of public symbols by about 100.

-------------- next part --------------
.rodata:
DCtab_chrom
DCtab_lum
cbpy_tab
ff_ac3_baptab
ff_ac3_bitratetab
ff_ac3_bndsz
ff_ac3_channels
ff_ac3_frame_sizes
ff_ac3_freqs
ff_ac3_hth
ff_ac3_latab
ff_ac3_window
ff_aic_dc_scale_table
ff_alternate_horizontal_scan
ff_alternate_vertical_scan
ff_dbkneetab
ff_div6
ff_fdecaytab
ff_fgaintab
ff_floortab
ff_frame_rate_tab
ff_golomb_vlc_len
ff_h263_chroma_qscale_table
ff_h263_loop_filter_strength
ff_h264_norm_shift
ff_interleaved_golomb_vlc_len
ff_interleaved_se_golomb_vlc_code
ff_interleaved_ue_golomb_vlc_code
ff_inverse
ff_lzw_encode_state_size
ff_mba_length
ff_mba_max
ff_mpeg1_dc_scale_table
ff_mpeg1_default_intra_matrix
ff_mpeg1_default_non_intra_matrix
ff_mpeg4_c_dc_scale_table
ff_mpeg4_default_intra_matrix
ff_mpeg4_default_non_intra_matrix
ff_mpeg4_resync_prefix
ff_mpeg4_y_dc_scale_table
ff_msmp4_mb_i_table
ff_rem6
ff_reverse
ff_sdecaytab
ff_se_golomb_vlc_code
ff_sgaintab
ff_ue_golomb_len
ff_ue_golomb_vlc_code
ff_vc1_4mv_block_pattern_bits
ff_vc1_4mv_block_pattern_codes
ff_vc1_adv_interlaced_4x4_zz
ff_vc1_adv_interlaced_4x8_zz
ff_vc1_adv_interlaced_8x4_zz
ff_vc1_adv_interlaced_8x8_zz
ff_vc1_adv_progressive_4x8_zz
ff_vc1_adv_progressive_8x4_zz
ff_vc1_bfraction_bits
ff_vc1_bfraction_codes
ff_vc1_bfraction_lut
ff_vc1_cbpcy_p_bits
ff_vc1_cbpcy_p_codes
ff_vc1_dqscale
ff_vc1_fps_dr
ff_vc1_fps_nr
ff_vc1_horizontal_zz
ff_vc1_imode_bits
ff_vc1_imode_codes
ff_vc1_mv_diff_bits
ff_vc1_mv_diff_codes
ff_vc1_mv_pmode_table
ff_vc1_mv_pmode_table2
ff_vc1_norm2_bits
ff_vc1_norm2_codes
ff_vc1_norm6_bits
ff_vc1_norm6_codes
ff_vc1_norm6_spec
ff_vc1_normal_zz
ff_vc1_pixel_aspect
ff_vc1_pquant_table
ff_vc1_simple_progressive_4x4_zz
ff_vc1_simple_progressive_4x8_zz
ff_vc1_simple_progressive_8x4_zz
ff_vc1_simple_progressive_8x8_zz
ff_vc1_subblkpat_bits
ff_vc1_subblkpat_codes
ff_vc1_ttblk_bits
ff_vc1_ttblk_codes
ff_vc1_ttblk_to_tt
ff_vc1_ttfrm_to_tt
ff_vc1_ttmb_bits
ff_vc1_ttmb_codes
ff_vc1_vertical_zz
ff_vorbis_floor1_inverse_db_table
ff_wma_hgain_huffbits
ff_wma_hgain_huffcodes
ff_wma_lsp_codebook
ff_wma_scale_huffbits
ff_wma_scale_huffcodes
ff_zigzag248_direct
ff_zigzag_direct
inter_MCBPC_bits
inter_MCBPC_code
inter_level
inter_run
inter_vlc
intra_MCBPC_bits
intra_MCBPC_code
intra_level
intra_run
intra_vlc
mpa_bitrate_tab
mpa_enwindow
mpa_freq_tab
mvtab
quant_bits
quant_steps
sblimit_table
vp56_b6to3
vp56_b6to4
vp56_coeff_bias
vp56_coeff_bit_length
vp56_coeff_parse_table
vp56_def_mb_types_stats
vp56_pc_tree
vp56_pva_tree
wmv3_dc_scale_table


.bss:
av_first_parser
ff_cropTbl
ff_h264_lps_range
ff_h264_lps_state
ff_h264_mlps_state
ff_h264_mps_state
ff_msmp4_dc_chroma_vlc
ff_msmp4_dc_luma_vlc
ff_msmp4_mb_i_vlc
ff_squareTbl
ff_vc1_4mv_block_pattern_vlc
ff_vc1_ac_coeff_table
ff_vc1_bfraction_vlc
ff_vc1_cbpcy_p_vlc
ff_vc1_imode_vlc
ff_vc1_mv_diff_vlc
ff_vc1_norm2_vlc
ff_vc1_norm6_vlc
ff_vc1_subblkpat_vlc
ff_vc1_ttblk_vlc
ff_vc1_ttmb_vlc
first_avcodec
first_bitstream_filter
inv_zigzag_direct16
mm_flags


.data:
aac_parser
aasc_decoder
ac3_encoder
ac3_parser
adpcm_4xm_decoder
adpcm_4xm_encoder
adpcm_adx_decoder
adpcm_adx_encoder
adpcm_ct_decoder
adpcm_ct_encoder
adpcm_ea_decoder
adpcm_ea_encoder
adpcm_g726_decoder
adpcm_g726_encoder
adpcm_ima_dk3_decoder
adpcm_ima_dk3_encoder
adpcm_ima_dk4_decoder
adpcm_ima_dk4_encoder
adpcm_ima_qt_decoder
adpcm_ima_qt_encoder
adpcm_ima_smjpeg_decoder
adpcm_ima_smjpeg_encoder
adpcm_ima_wav_decoder
adpcm_ima_wav_encoder
adpcm_ima_ws_decoder
adpcm_ima_ws_encoder
adpcm_ms_decoder
adpcm_ms_encoder
adpcm_sbpro_2_decoder
adpcm_sbpro_2_encoder
adpcm_sbpro_3_decoder
adpcm_sbpro_3_encoder
adpcm_sbpro_4_decoder
adpcm_sbpro_4_encoder
adpcm_swf_decoder
adpcm_swf_encoder
adpcm_thp_decoder
adpcm_thp_encoder
adpcm_xa_decoder
adpcm_xa_encoder
adpcm_yamaha_decoder
adpcm_yamaha_encoder
alac_decoder
alloc_tables
asv1_decoder
asv1_encoder
asv2_decoder
asv2_encoder
atrac3_decoder
avs_decoder
bethsoftvid_decoder
bitalloc_12
bitalloc_a_12
bitalloc_a_129
bitalloc_a_13
bitalloc_a_17
bitalloc_a_25
bitalloc_a_3
bitalloc_a_33
bitalloc_a_4
bitalloc_a_5
bitalloc_a_65
bitalloc_a_7
bitalloc_a_9
bitalloc_b_12
bitalloc_b_129
bitalloc_b_13
bitalloc_b_17
bitalloc_b_25
bitalloc_b_33
bitalloc_b_4
bitalloc_b_5
bitalloc_b_65
bitalloc_b_7
bitalloc_b_9
bitalloc_c_12
bitalloc_c_129
bitalloc_c_13
bitalloc_c_17
bitalloc_c_25
bitalloc_c_33
bitalloc_c_4
bitalloc_c_5
bitalloc_c_65
bitalloc_c_7
bitalloc_c_9
bitalloc_d_12
bitalloc_d_129
bitalloc_d_17
bitalloc_d_25
bitalloc_d_33
bitalloc_d_4
bitalloc_d_65
bitalloc_e_12
bitalloc_e_129
bitalloc_e_17
bitalloc_e_25
bitalloc_e_33
bitalloc_e_65
bitalloc_f_129
bitalloc_f_17
bitalloc_f_25
bitalloc_f_33
bitalloc_f_65
bitalloc_g_129
bitalloc_g_17
bitalloc_g_25
bitalloc_g_33
bitalloc_g_65
bitalloc_select
bmp_decoder
bmp_encoder
c93_decoder
cavs_decoder
cavsvideo_parser
cinepak_decoder
cljr_decoder
cook_decoder
cscd_decoder
cyuv_decoder
dca_decoder
dca_parser
dnxhd_decoder
draw_edges
dsicinaudio_decoder
dsicinvideo_decoder
dump_extradata_bsf
dvbsub_decoder
dvbsub_encoder
dvbsub_parser
dvdsub_decoder
dvdsub_encoder
dvdsub_parser
dvvideo_decoder
dvvideo_encoder
dxa_decoder
eightbps_decoder
ff_vorbis_vwin
ff_yuv420p_list
ffv1_decoder
ffv1_encoder
ffvhuff_decoder
ffvhuff_encoder
fir_32bands_nonperfect
fir_32bands_perfect
flac_decoder
flac_encoder
flashsv_decoder
flashsv_encoder
flic_decoder
flv_decoder
flv_encoder
fourxm_decoder
fraps_decoder
gif_decoder
gif_encoder
h261_decoder
h261_encoder
h261_parser
h263_decoder
h263_encoder
h263_parser
h263i_decoder
h263p_encoder
h264_decoder
h264_parser
huffyuv_decoder
huffyuv_encoder
idcin_decoder
imc_decoder
imx_dump_header_bsf
indeo2_decoder
indeo3_decoder
interplay_dpcm_decoder
interplay_video_decoder
jpegls_encoder
kmvc_decoder
lfe_fir_128
lfe_fir_64
liba52_decoder
libdts_decoder
ljpeg_encoder
loco_decoder
lossless_quant
lossless_quant_d
lossy_quant
lossy_quant_d
mace3_decoder
mace6_decoder
mdec_decoder
mjpeg_decoder
mjpeg_encoder
mjpeg_parser
mjpega_dump_header_bsf
mjpegb_decoder
mmvideo_decoder
mp2_decoder
mp2_encoder
mp3_decoder
mp3_header_compress_bsf
mp3_header_decompress_bsf
mp3adu_decoder
mp3on4_decoder
mpc7_decoder
mpeg1video_decoder
mpeg1video_encoder
mpeg2video_decoder
mpeg2video_encoder
mpeg4_decoder
mpeg4_encoder
mpeg4video_parser
mpegaudio_parser
mpegvideo_decoder
mpegvideo_parser
msmpeg4v1_decoder
msmpeg4v1_encoder
msmpeg4v2_decoder
msmpeg4v2_encoder
msmpeg4v3_decoder
msmpeg4v3_encoder
msrle_decoder
msvideo1_decoder
mszh_decoder
noise_bsf
nuv_decoder
pam_encoder
pbm_encoder
pcm_alaw_decoder
pcm_alaw_encoder
pcm_mulaw_decoder
pcm_mulaw_encoder
pcm_s16be_decoder
pcm_s16be_encoder
pcm_s16le_decoder
pcm_s16le_encoder
pcm_s24be_decoder
pcm_s24be_encoder
pcm_s24daud_decoder
pcm_s24daud_encoder
pcm_s24le_decoder
pcm_s24le_encoder
pcm_s32be_decoder
pcm_s32be_encoder
pcm_s32le_decoder
pcm_s32le_encoder
pcm_s8_decoder
pcm_s8_encoder
pcm_u16be_decoder
pcm_u16be_encoder
pcm_u16le_decoder
pcm_u16le_encoder
pcm_u24be_decoder
pcm_u24be_encoder
pcm_u24le_decoder
pcm_u24le_encoder
pcm_u32be_decoder
pcm_u32be_encoder
pcm_u32le_decoder
pcm_u32le_encoder
pcm_u8_decoder
pcm_u8_encoder
pgm_encoder
pgmyuv_encoder
png_decoder
png_encoder
pnm_parser
ppm_encoder
ptx_decoder
qdm2_decoder
qdraw_decoder
qpeg_decoder
qtrle_decoder
ra_144_decoder
ra_288_decoder
rawvideo_decoder
rawvideo_encoder
remove_extradata_bsf
roq_decoder
roq_dpcm_decoder
roq_dpcm_encoder
rpza_decoder
rv10_decoder
rv10_encoder
rv20_decoder
rv20_encoder
scale_factor_quant6
scale_factor_quant7
scales_129
scales_a_129
scales_b_129
scales_c_129
scales_d_129
scales_e_129
sgi_decoder
sgi_encoder
shorten_decoder
smackaud_decoder
smacker_decoder
smc_decoder
snow_decoder
snow_encoder
sol_dpcm_decoder
sonic_decoder
sonic_encoder
sonic_ls_encoder
sp5x_decoder
svq1_decoder
svq1_encoder
svq3_decoder
targa_decoder
targa_encoder
theora_decoder
thp_decoder
tiertexseqvideo_decoder
tiff_decoder
tiff_encoder
tmode
truemotion1_decoder
truemotion2_decoder
truespeech_decoder
tscc_decoder
tta_decoder
txd_decoder
ulti_decoder
vc1_decoder
vc1_parser
vcr1_decoder
vmdaudio_decoder
vmdvideo_decoder
vmnc_decoder
vorbis_decoder
vorbis_encoder
vp3_decoder
vp5_decoder
vp6_decoder
vp6f_decoder
vqa_decoder
wavpack_decoder
wmav1_decoder
wmav1_encoder
wmav2_decoder
wmav2_encoder
wmv1_decoder
wmv1_encoder
wmv2_decoder
wmv2_encoder
wmv3_decoder
wnv1_decoder
ws_snd1_decoder
xan_dpcm_decoder
xan_wc3_decoder
xl_decoder
zlib_decoder
zlib_encoder
zmbv_decoder
zmbv_encoder


.text:
DCT_common_init
InverseQ
MPV_common_end
MPV_common_init
MPV_common_init_mmx
MPV_decode_defaults
MPV_decode_mb
MPV_encode_end
MPV_encode_init
MPV_encode_picture
MPV_frame_end
MPV_frame_start
ac3_common_init
ac3_parametric_bit_allocation
add_pixels_clamped_mmx
align_put_bits
audio_resample
audio_resample_close
audio_resample_init
av_audio_convert
av_bitstream_filter_close
av_bitstream_filter_filter
av_bitstream_filter_init
av_build_filter
av_fast_realloc
av_find_opt
av_free_static
av_get_bits_per_sample
av_get_double
av_get_int
av_get_pict_type_char
av_get_q
av_get_string
av_mallocz_static
av_next_option
av_opt_set_defaults
av_opt_set_defaults2
av_opt_show
av_parser_change
av_parser_close
av_parser_init
av_parser_parse
av_picture_copy
av_picture_crop
av_picture_pad
av_register_bitstream_filter
av_register_codec_parser
av_resample
av_resample_close
av_resample_compensate
av_resample_init
av_set_double
av_set_int
av_set_q
av_set_string
av_tempfile
av_xiphlacing
avcodec_align_dimensions
avcodec_alloc_context
avcodec_alloc_context2
avcodec_alloc_frame
avcodec_build
avcodec_check_dimensions
avcodec_close
avcodec_decode_audio
avcodec_decode_audio2
avcodec_decode_subtitle
avcodec_decode_video
avcodec_default_execute
avcodec_default_free_buffers
avcodec_default_get_buffer
avcodec_default_get_format
avcodec_default_reget_buffer
avcodec_default_release_buffer
avcodec_encode_audio
avcodec_encode_subtitle
avcodec_encode_video
avcodec_find_best_pix_fmt
avcodec_find_decoder
avcodec_find_decoder_by_name
avcodec_find_encoder
avcodec_find_encoder_by_name
avcodec_flush_buffers
avcodec_get_chroma_sub_sample
avcodec_get_context_defaults
avcodec_get_context_defaults2
avcodec_get_frame_defaults
avcodec_get_pix_fmt
avcodec_get_pix_fmt_loss
avcodec_get_pix_fmt_name
avcodec_init
avcodec_open
avcodec_pix_fmt_to_codec_tag
avcodec_register_all
avcodec_set_dimensions
avcodec_string
avcodec_thread_init
avcodec_version
avpicture_alloc
avpicture_deinterlace
avpicture_fill
avpicture_free
avpicture_get_size
avpicture_layout
dsputil_init
dsputil_init_mmx
dsputil_init_pix_mmx
dsputil_static_init
dts_bitstream_get_bh
dts_bitstream_init
dts_block
dts_blocks_num
dts_downmix
dts_downmix_coeff
dts_downmix_init
dts_dynrng
dts_frame
dts_free
dts_init
dts_samples
dts_subframe_footer
dts_subframe_header
dts_subsubframe
dts_syncinfo
dts_upmix
fdct_ifast
fdct_ifast248
ff_aac_ac3_parse
ff_ac3_bit_alloc_calc_bap
ff_ac3_bit_alloc_calc_mask
ff_ac3_bit_alloc_calc_psd
ff_ac3_parse_header
ff_avg_cavs_qpel16_mc00_c
ff_avg_cavs_qpel16_mc00_mmx2
ff_avg_cavs_qpel8_mc00_c
ff_avg_cavs_qpel8_mc00_mmx2
ff_avg_qpel16_mc11_old_c
ff_avg_qpel16_mc12_old_c
ff_avg_qpel16_mc13_old_c
ff_avg_qpel16_mc31_old_c
ff_avg_qpel16_mc32_old_c
ff_avg_qpel16_mc33_old_c
ff_avg_qpel8_mc11_old_c
ff_avg_qpel8_mc12_old_c
ff_avg_qpel8_mc13_old_c
ff_avg_qpel8_mc31_old_c
ff_avg_qpel8_mc32_old_c
ff_avg_qpel8_mc33_old_c
ff_block_permute
ff_build_rac_states
ff_cavsdsp_init
ff_cavsdsp_init_3dnow
ff_cavsdsp_init_mmx2
ff_check_alignment
ff_clean_h263_qscales
ff_clean_intra_table_entries
ff_clean_mpeg4_qscales
ff_combine_frame
ff_copy_bits
ff_decode_dxt1
ff_decode_dxt3
ff_draw_horiz_band
ff_emulated_edge_mc
ff_epzs_motion_search
ff_er_add_slice
ff_er_frame_end
ff_er_frame_start
ff_estimate_b_frame_motion
ff_estimate_p_frame_motion
ff_eval
ff_eval2
ff_eval_free
ff_faandct
ff_faandct248
ff_fdct248_islow
ff_fdct_mmx
ff_fdct_mmx2
ff_fdct_sse2
ff_fft_calc_3dn
ff_fft_calc_3dn2
ff_fft_calc_c
ff_fft_calc_sse
ff_fft_end
ff_fft_init
ff_fft_permute
ff_find_start_code
ff_find_unused_picture
ff_fix_long_mvs
ff_fix_long_p_mvs
ff_float_to_int16_c
ff_flv_encode_picture_header
ff_get_2pass_fcode
ff_get_best_fcode
ff_get_mb_score
ff_gmc_c
ff_h261_encode_init
ff_h261_encode_mb
ff_h261_encode_picture_header
ff_h261_get_picture_format
ff_h261_loop_filter
ff_h261_reorder_mb_index
ff_h263_decode_end
ff_h263_decode_frame
ff_h263_decode_init
ff_h263_decode_mb
ff_h263_decode_mba
ff_h263_encode_mba
ff_h263_encode_motion
ff_h263_find_frame_end
ff_h263_get_gob_height
ff_h263_loop_filter
ff_h263_resync
ff_h263_round_chroma
ff_h263_update_motion_val
ff_h264_find_frame_end
ff_h264_idct8_add_c
ff_h264_idct8_dc_add_c
ff_h264_idct_add_c
ff_h264_idct_dc_add_c
ff_h264_lowres_idct_add_c
ff_h264_lowres_idct_put_c
ff_idct_xvid_mmx
ff_idct_xvid_mmx2
ff_imdct_calc
ff_imdct_calc_3dn2
ff_imdct_calc_sse
ff_img_copy_plane
ff_init_block_index
ff_init_cabac_decoder
ff_init_cabac_encoder
ff_init_cabac_states
ff_init_me
ff_init_range_decoder
ff_init_range_encoder
ff_init_scantable
ff_jpeg_fdct_islow
ff_lzw_cur_ptr
ff_lzw_decode
ff_lzw_decode_close
ff_lzw_decode_init
ff_lzw_decode_open
ff_lzw_decode_tail
ff_lzw_encode
ff_lzw_encode_flush
ff_lzw_encode_init
ff_mdct_calc
ff_mdct_end
ff_mdct_init
ff_mjpeg_stuffing
ff_mmx_idct
ff_mmxext_idct
ff_mpa_synth_filter
ff_mpa_synth_init
ff_mpeg1_clean_buffers
ff_mpeg1_encode_init
ff_mpeg1_encode_slice_header
ff_mpeg1_find_frame_end
ff_mpeg4_clean_buffers
ff_mpeg4_decode_mb
ff_mpeg4_decode_partitions
ff_mpeg4_decode_picture_header
ff_mpeg4_encode_video_packet_header
ff_mpeg4_find_frame_end
ff_mpeg4_get_video_packet_prefix_length
ff_mpeg4_init_direct_mv
ff_mpeg4_init_partitions
ff_mpeg4_merge_partitions
ff_mpeg4_set_direct_mv
ff_mpeg4_stuffing
ff_mpeg4video_split
ff_mpeg_flush
ff_msmpeg4_decode_init
ff_msmpeg4_encode_init
ff_mspel_motion
ff_parse
ff_parse1_close
ff_parse_close
ff_parse_eval
ff_pnm_decode_header
ff_pre_estimate_p_frame_motion
ff_pred16x16_128_dc_c
ff_pred16x16_dc_c
ff_pred16x16_horizontal_c
ff_pred16x16_plane_c
ff_pred16x16_vertical_c
ff_pred8x8_128_dc_c
ff_pred8x8_dc_c
ff_pred8x8_horizontal_c
ff_pred8x8_plane_c
ff_pred8x8_vertical_c
ff_print_debug_info
ff_put_cavs_qpel16_mc00_c
ff_put_cavs_qpel16_mc00_mmx2
ff_put_cavs_qpel8_mc00_c
ff_put_cavs_qpel8_mc00_mmx2
ff_put_no_rnd_qpel16_mc11_old_c
ff_put_no_rnd_qpel16_mc12_old_c
ff_put_no_rnd_qpel16_mc13_old_c
ff_put_no_rnd_qpel16_mc31_old_c
ff_put_no_rnd_qpel16_mc32_old_c
ff_put_no_rnd_qpel16_mc33_old_c
ff_put_no_rnd_qpel8_mc11_old_c
ff_put_no_rnd_qpel8_mc12_old_c
ff_put_no_rnd_qpel8_mc13_old_c
ff_put_no_rnd_qpel8_mc31_old_c
ff_put_no_rnd_qpel8_mc32_old_c
ff_put_no_rnd_qpel8_mc33_old_c
ff_put_qpel16_mc11_old_c
ff_put_qpel16_mc12_old_c
ff_put_qpel16_mc13_old_c
ff_put_qpel16_mc31_old_c
ff_put_qpel16_mc32_old_c
ff_put_qpel16_mc33_old_c
ff_put_qpel8_mc11_old_c
ff_put_qpel8_mc12_old_c
ff_put_qpel8_mc13_old_c
ff_put_qpel8_mc31_old_c
ff_put_qpel8_mc32_old_c
ff_put_qpel8_mc33_old_c
ff_put_string
ff_put_vc1_mspel_mc00_c
ff_rac_terminate
ff_rate_control_init
ff_rate_control_uninit
ff_rate_estimate_qscale
ff_realloc_static
ff_rle_encode
ff_set_cmp
ff_set_mpeg4_time
ff_set_qscale
ff_shrink22
ff_shrink44
ff_shrink88
ff_simple_idct_add_mmx
ff_simple_idct_mmx
ff_simple_idct_put_mmx
ff_snow_horizontal_compose97i
ff_snow_horizontal_compose97i_mmx
ff_snow_horizontal_compose97i_sse2
ff_snow_inner_add_yblock
ff_snow_inner_add_yblock_mmx
ff_snow_inner_add_yblock_sse2
ff_snow_vertical_compose97i
ff_snow_vertical_compose97i_mmx
ff_snow_vertical_compose97i_sse2
ff_spatial_dwt
ff_split_xiph_headers
ff_update_duplicate_context
ff_vbv_update
ff_vc1dsp_init
ff_vector_fmul_add_add_c
ff_vorbis_floor1_render_list
ff_vorbis_len2vlc
ff_vorbis_nth_root
ff_vorbis_ready_floor1_list
ff_vp3_dsp_init_mmx
ff_vp3_idct_add_c
ff_vp3_idct_c
ff_vp3_idct_mmx
ff_vp3_idct_put_c
ff_vp3_idct_sse2
ff_wma_end
ff_wma_init
ff_wma_total_gain_to_bits
ff_wmv2_add_mb
ff_wmv2_decode_picture_header
ff_wmv2_decode_secondary_picture_header
ff_wmv2_encode_mb
ff_wmv2_encode_picture_header
ff_write_pass1_stats
ff_write_quant_matrix
flv_h263_decode_picture_header
free_vlc
h263_decode_init_vlc
h263_decode_picture_header
h263_encode_gob_header
h263_encode_init
h263_encode_mb
h263_encode_picture_header
h263_get_picture_format
h263_pred_motion
img_copy
img_crop
img_get_alpha_info
img_pad
init_rl
init_vlc
init_vlc_rl
intel_h263_decode_picture_header
j_rev_dct
j_rev_dct1
j_rev_dct2
j_rev_dct4
l2_select_table
mjpeg_close
mjpeg_encode_mb
mjpeg_init
mjpeg_picture_header
mjpeg_picture_trailer
mm_support
mpa_decode_header
mpeg1_encode_mb
mpeg1_encode_picture_header
mpeg4_encode_mb
mpeg4_encode_picture_header
mpeg4_pred_ac
msmpeg4_decode_ext_header
msmpeg4_decode_picture_header
msmpeg4_encode_ext_header
msmpeg4_encode_mb
msmpeg4_encode_picture_header
put_pixels_clamped_mmx
put_signed_pixels_clamped_mmx
register_avcodec
rtjpeg_decode_frame_yuv420
rtjpeg_decode_init
rv10_encode_picture_header
rv20_encode_picture_header
rv_decode_dc
simple_idct
simple_idct248_put
simple_idct48_add
simple_idct84_add
simple_idct_add
simple_idct_put
vorbis_inverse_coupling
vp56_decode_frame
vp56_free
vp56_init
vp56_init_dequant
w53_32_c
w97_32_c



More information about the ffmpeg-devel mailing list