[devel] ffmpeg update: help needed.

Alexey Tourbin =?iso-8859-1?q?at_=CE=C1_altlinux=2Eru?=
Вс Сен 10 13:55:55 MSD 2006


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

К сожалению эти символы уже используются различными программами в
репозитарии.

at на mash ~/.qa-robot/bad_elf_symbols $ cat ffmpeg-minus
align_get_bits
check_marker
get_bits_long
img_convert
img_resample
img_resample_close
img_resample_full_init
img_resample_init
show_bits_long
sws_freeContext
sws_getContext
sws_scale
at на mash ~/.qa-robot/bad_elf_symbols $ grep -f ffmpeg-minus ref
libavformat     /usr/lib/libavformat.so.50.5.0  U       get_bits_long
cinelerra       /usr/bin/cinelerra      U       img_convert
ffmpeg-vhook    /usr/lib/vhook/fish.so  U       img_convert
ffmpeg-vhook    /usr/lib/vhook/imlib2.so        U       img_convert
ffmpeg-vhook    /usr/lib/vhook/null.so  U       img_convert
ffmpeg-vhook    /usr/lib/vhook/ppm.so   U       img_convert
ffmpeg-vhook    /usr/lib/vhook/watermark.so     U       img_convert
ffmpeg2theora   /usr/bin/ffmpeg2theora  U       img_convert
mpeg4ip-player-plugins  /usr/lib/mp4player/ffmpeg_video_plugin.so       U       img_convert
transcode       /usr/lib/transcode/export_ffmpeg.so     U       img_convert
vdr-osdpip      /usr/lib/vdr/libvdr-osdpip.so.1.3.22    U       img_convert
vlc-plugin-ffmpeg       /usr/lib/vlc/codec/libffmpeg_plugin.so  U       img_convert
ffmpeg2theora   /usr/bin/ffmpeg2theora  U       img_resample
vdr-osdpip      /usr/lib/vdr/libvdr-osdpip.so.1.3.22    U       img_resample
vlc-plugin-ffmpeg       /usr/lib/vlc/codec/libffmpeg_plugin.so  U       img_resample
vdr-osdpip      /usr/lib/vdr/libvdr-osdpip.so.1.3.22    U       img_resample_close
vlc-plugin-ffmpeg       /usr/lib/vlc/codec/libffmpeg_plugin.so  U       img_resample_close
ffmpeg2theora   /usr/bin/ffmpeg2theora  U       img_resample_full_init
vdr-osdpip      /usr/lib/vdr/libvdr-osdpip.so.1.3.22    U       img_resample_full_init
vlc-plugin-ffmpeg       /usr/lib/vlc/codec/libffmpeg_plugin.so  U       img_resample_full_init
vlc-plugin-ffmpeg       /usr/lib/vlc/codec/libffmpeg_plugin.so  U       img_resample_init
ffmpeg  /usr/bin/ffmpeg U       sws_freeContext
ffmpeg  /usr/bin/ffmpeg U       sws_getContext
ffplay  /usr/bin/ffplay U       sws_getContext
ffmpeg  /usr/bin/ffmpeg U       sws_scale
ffplay  /usr/bin/ffplay U       sws_scale
at на mash ~/.qa-robot/bad_elf_symbols $ 

>         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

> Т.е., как видим, удалены функции из public api, но soname не изменился. хуже 
> того, обьявления этих функций все еще есть в avcodec.h.
> Из-за этого становятся нерабочими все программы, которые используют ffmpeg. 
> Пересборка, конечно, помогает, но...

Не ясно, каков механизм, что после пересборки эти функции перестают
использоваться.  Там в хедерах простыни ifdef/define'ов что ли?

> Пересобираем без 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

> Подскажите, что мне с этим делать?

Ну, надо разбираться. :)
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип     : application/pgp-signature
Размер  : 189 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20060910/7f59c8f6/attachment-0001.bin>


Подробная информация о списке рассылки Devel