[FFmpeg-devel] On software using non-public symbols

Diego Elio Pettenò flameeyes
Sun Jan 23 12:11:28 CET 2011

Il giorno sab, 22/01/2011 alle 23.55 -0800, Jason Garrett-Glaser ha
> 18:53 < j^> also ffmpeg/libavformat/output-example.c should not use
>             it if its not public

Okay it seems like not all of the public API is already prefixed with
av_ so my elfgrep caught a bunch of false positives; I'll be happy to
run the tests once somebody can provide me with a further list of
symbols to ignore ;)

In the mean time you might want to look at this list as well:

/usr/lib64/libavformat.so B first_protocol@
/usr/lib64/libavformat.so B RTPFirstDynamicPayloadHandler@
/usr/lib64/libavformat.so B first_oformat@
/usr/lib64/libavformat.so B first_iformat@
/usr/lib64/libavcodec.so B ff_vc1_ttblk_vlc@
/usr/lib64/libavcodec.so B ff_h263_static_rl_table_store@
/usr/lib64/libavcodec.so B ff_vc1_ac_coeff_table@
/usr/lib64/libavcodec.so B ff_mpa_synth_window@
/usr/lib64/libavcodec.so B ff_vc1_imode_vlc@
/usr/lib64/libavcodec.so B ff_squareTbl@
/usr/lib64/libavcodec.so B ff_h264_mps_state@
/usr/lib64/libavcodec.so B ff_h263_intra_MCBPC_vlc@
/usr/lib64/libavcodec.so B ff_vc1_ttmb_vlc@
/usr/lib64/libavcodec.so B ff_aac_kbd_short_128@
/usr/lib64/libavcodec.so B inv_zigzag_direct16@
/usr/lib64/libavcodec.so B ff_msmp4_dc_luma_vlc@
/usr/lib64/libavcodec.so B ff_h264_lps_state@
/usr/lib64/libavcodec.so B ff_vc1_bfraction_vlc@
/usr/lib64/libavcodec.so B ff_msmp4_dc_chroma_vlc@
/usr/lib64/libavcodec.so B ff_mpa_synth_window_float@
/usr/lib64/libavcodec.so B ff_vc1_subblkpat_vlc@
/usr/lib64/libavcodec.so B ff_h264_mlps_state@
/usr/lib64/libavcodec.so B ff_vc1_mv_diff_vlc@
/usr/lib64/libavcodec.so B ff_lockmgr_cb@
/usr/lib64/libavcodec.so B ff_vc1_4mv_block_pattern_vlc@
/usr/lib64/libavcodec.so B ff_ivi_mb_vlc_tabs@
/usr/lib64/libavcodec.so B ff_h264_lps_range@
/usr/lib64/libavcodec.so B ff_vc1_cbpcy_p_vlc@
/usr/lib64/libavcodec.so B ff_h263_cbpy_vlc@
/usr/lib64/libavcodec.so B ff_msmp4_mb_i_vlc@
/usr/lib64/libavcodec.so B ff_mpeg4_static_rl_table_store@
/usr/lib64/libavcodec.so B ff_aac_kbd_long_1024@
/usr/lib64/libavcodec.so B ff_inter_intra_vlc@
/usr/lib64/libavcodec.so B ff_h263_inter_MCBPC_vlc@
/usr/lib64/libavcodec.so B ff_ivi_blk_vlc_tabs@
/usr/lib64/libavcodec.so B ff_h261_rl_table_store@
/usr/lib64/libavcodec.so B ff_mb_non_intra_vlc@
/usr/lib64/libavcodec.so B ff_vc1_norm6_vlc@
/usr/lib64/libavcodec.so B ff_vc1_norm2_vlc@
/usr/lib64/libavcodec.so B ff_mpeg12_static_rl_table_store@
/usr/lib64/libavcodec.so B ff_cropTbl@
/usr/lib64/libavcodec.so B qmf_window@
/usr/lib64/libavcodec.so B sf_table@

these are all the symbols exported, but which are unlikely to be public,
that are lacking a version at all (which probably makes the whole
elfgrep output just the tip of the iceberg, beside being considered from
the wrong side).

Diego Elio Petten? ? Flameeyes

More information about the ffmpeg-devel mailing list