On Sunday 10 September 2006 13:55, Alexey Tourbin wrote: > On Sun, Sep 10, 2006 at 03:31:54AM +0400, Pavlov Konstantin wrote: > > Вот такая ситуация: > > с одной стороны, надо включать в ffmpeg поддержку swscaler. > > с другой, если ее включить, то все становится плохо: > > > > 12 symbols removed > > T align_get_bits > > T check_marker > > T get_bits_long > > T img_convert > > T img_resample > > T img_resample_close > > T img_resample_full_init > > T img_resample_init > > T show_bits_long > > T sws_freeContext > > T sws_getContext > > T sws_scale > > К сожалению эти символы уже используются различными программами в > репозитарии. Ну, это я заметил. :) > > Т.е., как видим, удалены функции из public api, но soname не изменился. > > хуже того, обьявления этих функций все еще есть в avcodec.h. > > Из-за этого становятся нерабочими все программы, которые используют > > ffmpeg. Пересборка, конечно, помогает, но... > > Не ясно, каков механизм, что после пересборки эти функции перестают > использоваться. Там в хедерах простыни ifdef/define'ов что ли? В хедерах как раз нет. Они есть в исходных кодах самой библиотеки. К фатальным последствиям приводит включение swscale-библиотеки в сборке ffmpeg (которая, в принципе, довольно нужна). > > Пересобираем без swscaler, становится несколько лучше, но все же: > > > > thresh@exchange repo/i686/RPMS.hasher $ rpmsodiff > > libavcodec-0.5.0-alt1.svn5987.1.i686.rpm > > libavcodec-0.5.0-alt1.svn6217.1.i686.rpm > > common sonames: > > libavcodec.so.51 /usr/lib/libavcodec.so.51.11.0 > > /usr/lib/libavcodec.so.51.14.0 libavutil.so.49 > > /usr/lib/libavutil.so.49.0.0 /usr/lib/libavutil.so.49.0.0 > > > > 4 symbols removed > > T align_get_bits > > T check_marker > > T get_bits_long > > T show_bits_long > > А вот эти почти не используются: > > $ grep -f ffmpeg-minus2 ref > libavformat /usr/lib/libavformat.so.50.5.0 U get_bits_long > $ > > т.е. это из того же исходного пакета, что и libavcodec. > > > 9 symbols added > > D vmnc_decoder > > D vp5_decoder > > D vp6_decoder > > D vp6f_decoder > > T av_audio_convert > > T vp56_decode_frame > > T vp56_free > > T vp56_init > > T vp56_init_dequant > > > > Подскажите, что мне с этим делать? > > Ну, надо разбираться. :) на http://87.236.24.51/hasher/sisyphus32/ есть собранные пакеты и src.rpm к ним. 5987.1 -- "старая версия" 6217 -- "новая" с swscaler:on 6217.1 -- "новая" с swscaler:off. -- Pavlov Konstantin, ALT Linux Team, VideoLAN Team, jid: thresh@altlinux.org