[devel] ffmpeg update: help needed.

Led =?iso-8859-1?q?led_=CE=C1_altlinux=2Eru?=
Пн Сен 11 11:54:24 MSD 2006


В сообщении от 10 сентября 2006 02:31 Pavlov Konstantin написал(a):
> Всем привет.
>
> Вот такая ситуация:
> с одной стороны, надо включать в ffmpeg поддержку swscaler.
> с другой, если ее включить, то все становится плохо:
> 17.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
>
> --- libavcodec-0.5.0-alt1.svn5987.1/libavcodec.so.51    2006-09-09 14:36:29
> +0400
> +++ libavcodec-0.5.0-alt1.svn6217/libavcodec.so.51      2006-09-10 02:01:52
> +0400
> @@ -64,3 +64,2 @@
>  alac_decoder   D
> -align_get_bits T
>  align_put_bits T
> @@ -74,2 +73,3 @@
>  audio_resample_init    T
> +av_audio_convert       T
>  av_bitstream_filter_close      T
> @@ -159,3 +159,2 @@
>  cavsvideo_parser       D
> -check_marker   T
>  cinepak_decoder        D
> @@ -408,3 +407,2 @@
>  free_vlc       T
> -get_bits_long  T
>  h261_decoder   D
> @@ -430,3 +428,2 @@
>  idcin_decoder  D
> -img_convert    T
>  img_copy       T
> @@ -435,6 +432,2 @@
>  img_pad        T
> -img_resample   T
> -img_resample_close     T
> -img_resample_full_init T
> -img_resample_init      T
>  indeo2_decoder D
> @@ -583,3 +576,2 @@
>  shorten_decoder        D
> -show_bits_long T
>  simple_idct    T
> @@ -603,5 +595,2 @@
>  svq3_decoder   D
> -sws_freeContext        T
> -sws_getContext T
> -sws_scale      T
>  tab_frw_01234567_sse2  D
> @@ -618,2 +607,3 @@
>  vmdvideo_decoder       D
> +vmnc_decoder   D
>  vorbis_decoder D
> @@ -621,2 +611,9 @@
>  vp3_decoder    D
> +vp56_decode_frame      T
> +vp56_free      T
> +vp56_init      T
> +vp56_init_dequant      T
> +vp5_decoder    D
> +vp6_decoder    D
> +vp6f_decoder   D
>  vqa_decoder    D
>
>         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
>
>         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
>
> # template for libavcodec.so.51 version script
> LIBAVCODEC_0.5.0 {
>     global:
>         av_audio_convert;
>         vmnc_decoder;
>         vp56_decode_frame;
>         vp56_free;
>         vp56_init;
>         vp56_init_dequant;
>         vp5_decoder;
>         vp6_decoder;
>         vp6f_decoder;
> };
>
> libavutil.so.49 definitions unchanged
>
> vim:ft=diff
> thresh на exchange repo/i686/RPMS.hasher $
>
> Т.е., как видим, удалены функции из public api, но soname не изменился.
> хуже того, обьявления этих функций все еще есть в avcodec.h.
> Из-за этого становятся нерабочими все программы, которые используют 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
>
> --- libavcodec-0.5.0-alt1.svn5987.1/libavcodec.so.51    2006-09-09 14:36:29
> +0400
> +++ libavcodec-0.5.0-alt1.svn6217.1/libavcodec.so.51    2006-09-10 02:21:11
> +0400
> @@ -64,3 +64,2 @@
>  alac_decoder   D
> -align_get_bits T
>  align_put_bits T
> @@ -74,2 +73,3 @@
>  audio_resample_init    T
> +av_audio_convert       T
>  av_bitstream_filter_close      T
> @@ -159,3 +159,2 @@
>  cavsvideo_parser       D
> -check_marker   T
>  cinepak_decoder        D
> @@ -408,3 +407,2 @@
>  free_vlc       T
> -get_bits_long  T
>  h261_decoder   D
> @@ -583,3 +581,2 @@
>  shorten_decoder        D
> -show_bits_long T
>  simple_idct    T
> @@ -618,2 +615,3 @@
>  vmdvideo_decoder       D
> +vmnc_decoder   D
>  vorbis_decoder D
> @@ -621,2 +619,9 @@
>  vp3_decoder    D
> +vp56_decode_frame      T
> +vp56_free      T
> +vp56_init      T
> +vp56_init_dequant      T
> +vp5_decoder    D
> +vp6_decoder    D
> +vp6f_decoder   D
>  vqa_decoder    D
>
>         4 symbols removed
> T align_get_bits
> T check_marker
> T get_bits_long
> T show_bits_long
>
>         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
>
> # template for libavcodec.so.51 version script
> LIBAVCODEC_0.5.0 {
>     global:
>         av_audio_convert;
>         vmnc_decoder;
>         vp56_decode_frame;
>         vp56_free;
>         vp56_init;
>         vp56_init_dequant;
>         vp5_decoder;
>         vp6_decoder;
>         vp6f_decoder;
> };
>
> libavutil.so.49 definitions unchanged
>
> vim:ft=diff
>
>
> Подскажите, что мне с этим делать?
>
> Апстрим невменяем, если что.

Может попробовать при сборке "запихнуть" libswscale.a в libavcodec.so.* (до 
смены soname у последней в апстриме)?

-- 
Led.



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