From: Stuart Henderson Subject: Re: graphics/ffmpeg: update to 8.0.2 (-stable) and 8.1.1 (-current) To: ports@openbsd.org Date: Wed, 6 May 2026 17:02:20 +0100 On 2026/05/06 12:11, Kirill A. Korinsky wrote: > ports, > > I'd like to update graphics/ffmpeg to 8.0.2 (-stable) and 8.1.1 > (-current) after port unlock. > > /usr/src/lib/check_sym said "No dynamic export changes" on 8.0.1 -> > 8.0.2 upgrade with one exception: libavfilter has added new reference > ``trunc` but I think it not justify any shlib bump. That tool is meant for investigating changes in libraries in base. It can be used with other libraries but some of the information that it provides is not really relevant for bumps in ports. For the 8.0.2 update: ---- $ diffsyms /usr/local/lib/libavcodec.so.27.1 --> /usr/obj/ports/ffmpeg-8.0.2/fake-amd64//usr/local/lib/libavcodec.so.27.1 No dynamic export changes /usr/local/lib/libavdevice.so.15.1 --> /usr/obj/ports/ffmpeg-8.0.2/fake-amd64//usr/local/lib/libavdevice.so.15.1 No dynamic export changes /usr/local/lib/libavfilter.so.13.1 --> /usr/obj/ports/ffmpeg-8.0.2/fake-amd64//usr/local/lib/libavfilter.so.13.1 No dynamic export changes External reference changes: added: trunc /usr/local/lib/libavformat.so.24.1 --> /usr/obj/ports/ffmpeg-8.0.2/fake-amd64//usr/local/lib/libavformat.so.24.1 No dynamic export changes /usr/local/lib/libavutil.so.17.1 --> /usr/obj/ports/ffmpeg-8.0.2/fake-amd64//usr/local/lib/libavutil.so.17.1 No dynamic export changes /usr/local/lib/libswresample.so.6.1 --> /usr/obj/ports/ffmpeg-8.0.2/fake-amd64//usr/local/lib/libswresample.so.6.1 No dynamic export changes /usr/local/lib/libswscale.so.9.1 --> /usr/obj/ports/ffmpeg-8.0.2/fake-amd64//usr/local/lib/libswscale.so.9.1 No dynamic export changes ---- -> "External reference changes" is not of interest here. Diffing installed headers doesn't show any struct changes etc. Upstream has macros for their idea of library major/minor versions in the headers and those have not changed (only micro). libavutil/bswap.h does not look like an api/abi change. I agree with no bumps for 8.0.2. For the 8.1.1 update, there are new exports in: libavcodec, libavfilter, libavformat, libavutil, libswscale None of the libraries have removed exports. Looking at header diffs, everything seems consistent with backwards compatible additions, i.e. just minor bumps for the libraries with export changes. $ diffsyms /usr/local/lib/libavcodec.so.27.1 --> /usr/obj/ports/ffmpeg-8.1.1/fake-amd64//usr/local/lib/libavcodec.so.28.0 Dynamic export changes: added: av_exif_clone_ifd@@LIBAVCODEC_62 av_exif_free@@LIBAVCODEC_62 av_exif_get_entry@@LIBAVCODEC_62 av_exif_get_tag_id@@LIBAVCODEC_62 av_exif_get_tag_name@@LIBAVCODEC_62 av_exif_ifd_to_dict@@LIBAVCODEC_62 av_exif_matrix_to_orientation@@LIBAVCODEC_62 av_exif_orientation_to_matrix@@LIBAVCODEC_62 av_exif_parse_buffer@@LIBAVCODEC_62 av_exif_remove_entry@@LIBAVCODEC_62 av_exif_set_entry@@LIBAVCODEC_62 av_exif_write@@LIBAVCODEC_62 av_packet_side_data_from_frame@@LIBAVCODEC_62 av_packet_side_data_to_frame@@LIBAVCODEC_62 avcodec_receive_frame_flags@@LIBAVCODEC_62 External reference changes: added: aom_img_get_metadata aom_img_num_metadata av_alpha_mode_name@LIBAVUTIL_60 av_csp_approximate_eotf_gamma@LIBAVUTIL_60 av_display_rotation_get@LIBAVUTIL_60 av_dynamic_hdr_plus_to_t35@LIBAVUTIL_60 svt_av1_enc_get_stream_info removed: av_csp_approximate_trc_gamma@LIBAVUTIL_60 av_dict_copy@LIBAVUTIL_60 /usr/local/lib/libavdevice.so.15.1 --> /usr/obj/ports/ffmpeg-8.1.1/fake-amd64//usr/local/lib/libavdevice.so.16.0 No dynamic export changes External reference changes: added: malloc pthread_getspecific pthread_key_create pthread_mutex_lock pthread_mutex_unlock pthread_once pthread_setspecific realloc /usr/local/lib/libavfilter.so.13.1 --> /usr/obj/ports/ffmpeg-8.1.1/fake-amd64//usr/local/lib/libavfilter.so.14.0 Dynamic export changes: added: av_buffersink_get_alpha_mode@@LIBAVFILTER_11 av_buffersrc_get_status@@LIBAVFILTER_11 External reference changes: added: av_alpha_mode_from_name@LIBAVUTIL_60 av_alpha_mode_name@LIBAVUTIL_60 av_bprint_append_data@LIBAVUTIL_60 av_channel_layout_custom_init@LIBAVUTIL_60 fputs trunc /usr/local/lib/libavformat.so.24.1 --> /usr/obj/ports/ffmpeg-8.1.1/fake-amd64//usr/local/lib/libavformat.so.25.0 Dynamic export changes: added: av_mime_codec_str@@LIBAVFORMAT_62 avformat_receive_command_reply@@LIBAVFORMAT_62 avformat_send_command@@LIBAVFORMAT_62 External reference changes: added: ASN1_INTEGER_set_uint64 av_csp_approximate_eotf_gamma@LIBAVUTIL_60 av_exif_free@LIBAVCODEC_62 av_exif_get_tag_id@LIBAVCODEC_62 av_exif_ifd_to_dict@LIBAVCODEC_62 av_exif_parse_buffer@LIBAVCODEC_62 av_exif_remove_entry@LIBAVCODEC_62 av_exif_write@LIBAVCODEC_62 av_image_fill_plane_sizes@LIBAVUTIL_60 av_opt_find@LIBAVUTIL_60 av_packet_unpack_dictionary@LIBAVCODEC_62 av_pix_fmt_count_planes@LIBAVUTIL_60 xmlEncodeSpecialChars removed: ASN1_INTEGER_set EVP_sha1 av_csp_approximate_trc_gamma@LIBAVUTIL_60 avpriv_exif_decode_ifd@LIBAVCODEC_62 free /usr/local/lib/libavutil.so.17.1 --> /usr/obj/ports/ffmpeg-8.1.1/fake-amd64//usr/local/lib/libavutil.so.18.0 Dynamic export changes: added: av_alpha_mode_from_name@@LIBAVUTIL_60 av_alpha_mode_name@@LIBAVUTIL_60 av_csp_approximate_eotf_gamma@@LIBAVUTIL_60 /usr/local/lib/libswresample.so.6.1 --> /usr/obj/ports/ffmpeg-8.1.1/fake-amd64//usr/local/lib/libswresample.so.7.0 No dynamic export changes /usr/local/lib/libswscale.so.9.1 --> /usr/obj/ports/ffmpeg-8.1.1/fake-amd64//usr/local/lib/libswscale.so.10.0 Dynamic export changes: added: sws_test_hw_format@@LIBSWSCALE_9 External reference changes: added: av_buffer_alloc@LIBAVUTIL_60 av_cpu_max_align@LIBAVUTIL_60 av_dynarray2_add@LIBAVUTIL_60 av_image_check_size2@LIBAVUTIL_60 av_image_fill_linesizes@LIBAVUTIL_60 av_image_fill_plane_sizes@LIBAVUTIL_60 av_memdup@LIBAVUTIL_60 av_pix_fmt_count_planes@LIBAVUTIL_60 av_refstruct_alloc_ext_c@LIBAVUTIL_60 av_refstruct_ref@LIBAVUTIL_60 av_refstruct_unref@LIBAVUTIL_60 av_strlcat@LIBAVUTIL_60 av_strlcatf@LIBAVUTIL_60 av_strlcpy@LIBAVUTIL_60 qsort snprintf