[FFmpeg-devel] [PATCH] intmath: remove av_ctz.

Andreas Cadhalpun andreas.cadhalpun at googlemail.com
Mon Oct 12 20:15:10 CEST 2015


On 11.10.2015 23:37, James Almer wrote:
> On 10/11/2015 6:26 PM, Andreas Cadhalpun wrote:
>> Anyway, please also remove the entry for av_ctz from APIchanges.
>> It's not public API, so it never belonged there.
> 
> Huh, even an APIChanges line? Wonder if intmath.h was public at some
> point, or if whoever added this wasn't aware it was an internal header.

I guess it's slightly embarrassing, but this is unfortunately not the
only exported symbol, which is not declared in an installed header.

It seems several headers are intended to be installed, but actually aren't:
libavutil/des.h:
 av_des_alloc
 av_des_crypt
 av_des_init
 av_des_mac
libavutil/rc4.h:
 av_rc4_alloc
 av_rc4_crypt
 av_rc4_init
libavutil/tree.h
 av_tree_destroy
 av_tree_enumerate
 av_tree_find
 av_tree_insert
 av_tree_node_alloc
 av_tree_node_size
libavcodec/avdct.h:
 avcodec_dct_alloc
 avcodec_dct_get_class
 avcodec_dct_init
libavcodec/audioconvert.h: (deprecated: better remove FF_API_AUDIO_CONVERT)
 av_audio_convert
 av_audio_convert_alloc
 av_audio_convert_free
libavformat/avlanguage.h:
 av_convert_lang_to
libavfilter/transform.h (not entirely sure if this was intended to be public):
 avfilter_add_matrix
 avfilter_get_matrix
 avfilter_mul_matrix
 avfilter_sub_matrix
 avfilter_transform

On the other hand apparently nobody missed these headers...
Maybe these functions don't need to be public?

Then some avpriv functions don't need to be exported:
libavcodec/ac3_parser.h:
 avpriv_ac3_parse_header (replaced by avpriv_ac3_parse_header2)
libavcodec/internal.h:
 avpriv_color_frame (only used in libavcodec)
libavcodec/mpegaudiodecheader.h:
 avpriv_mpa_decode_header2 (libavformat/mp3dec.c uses avpriv_mpa_decode_header)
libavcodec/put_bits.h:
 avpriv_put_string (only used in libavcodec)
libavutil/float_dsp.h:
 avpriv_float_dsp_init (only used in libavutil/float_dsp.c)

Finally several seemingly internal symbols are needlessly exported:
libavformat/url.h:
 ffurl_read_complete
 ffurl_seek
 ffurl_size
libswscale/swscale_internal.h:
 sws_alloc_set_opts
 sws_context_class
 sws_rgb2rgb_init
libavfilter/formats.h:
 avfilter_make_format64_list
libavfilter/formats.c:
 avfilter_all_channel_layouts

Or did I miss something?

Best regards,
Andreas


More information about the ffmpeg-devel mailing list