Projects
home:darix:branches:Multimedia
A_tw-ffmpeg-8
work-around-abi-break.patch
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File work-around-abi-break.patch of Package A_tw-ffmpeg-8
From: Jan Engelhardt <jengelh@inai.de> Date: 2020-07-04 23:56:54.411950316 +0200 References: http://ffmpeg.org/pipermail/ffmpeg-devel/2020-July/265694.html References: https://bugzilla.opensuse.org/1261836 User frispete wrote on 2020-06-26 22:13+0000 at https://build.opensuse.org/package/show/multimedia:libs/ffmpeg-4#comment-1257440 : """Unfortunately, this version is binary incompatible to 4.2.3 in some aspects. [...]""" Further discussion on the mailing list explored this topic, and revealed that ELF symbol versioning is lacklusterly implemented in ffmpeg, which can cause inadvertent mixing of library versions on openSUSE, and precompiled Linux distributions in general. Upstream says "we only add new functions" - which is ok in its own right. New symbols must be in a new verdef section though, existing sections *must*not* change under *any* circumstances, but that is what they broke: the set of symbols included in the "LIBAVFORMAT_59" verdef changed between 5.0 and 5.1. $ abidiff /usr/lib64/libavformat.so.59.16.100 usr/lib64/libavformat.so.59.27.100 Functions changes summary: 0 Removed, 0 Changed, 0 Added function Variables changes summary: 0 Removed, 0 Changed, 0 Added variable Function symbols changes summary: 0 Removed, 1 Added function symbol not referenced by debug info Variable symbols changes summary: 0 Removed, 0 Added variable symbol not referenced by debug info 1 Added function symbol not referenced by debug info: [A] avio_vprintf@@LIBAVFORMAT_59 ] Do what upstream could not do, and provide some proper verdefs in the .v files. [The work to keep this up to date seems managable; I've done this previously for SDL2 which released more often than ffmpeg. -jengelh] --- libavcodec/libavcodec.v | 214 +++++++++++++ libavdevice/libavdevice.v | 34 +- libavfilter/libavfilter.v | 94 +++++- libavformat/libavformat.v | 178 +++++++++++ libavutil/libavutil.v | 657 +++++++++++++++++++++++++++++++++++++++++- libswresample/libswresample.v | 42 ++ libswscale/libswscale.v | 63 +++- 7 files changed, 1240 insertions(+), 42 deletions(-) Index: ffmpeg-8.1/libavcodec/libavcodec.v =================================================================== --- ffmpeg-8.1.orig/libavcodec/libavcodec.v +++ ffmpeg-8.1/libavcodec/libavcodec.v @@ -1,9 +1,207 @@ -LIBAVCODEC_MAJOR { - global: - av_*; - avcodec_*; - avpriv_*; - avsubtitle_free; - local: - *; +LIBAVCODEC_62.10 { +global: + av_ac3_parse_header; + av_adts_header_parse; + av_bsf_alloc; + av_bsf_flush; + av_bsf_free; + av_bsf_get_by_name; + av_bsf_get_class; + av_bsf_get_null_filter; + av_bsf_init; + av_bsf_iterate; + av_bsf_list_alloc; + av_bsf_list_append2; + av_bsf_list_append; + av_bsf_list_finalize; + av_bsf_list_free; + av_bsf_list_parse_str; + av_bsf_receive_packet; + av_bsf_send_packet; + av_codec_ffversion; + av_codec_is_decoder; + av_codec_is_encoder; + av_codec_iterate; + av_container_fifo_alloc_avpacket; + av_cpb_properties_alloc; + av_d3d11va_alloc_context; + av_dirac_parse_sequence_header; + av_dv_codec_profile2; + av_dv_codec_profile; + av_dv_frame_profile; + av_fast_padded_malloc; + av_fast_padded_mallocz; + av_get_audio_frame_duration2; + av_get_audio_frame_duration; + av_get_bits_per_sample; + av_get_exact_bits_per_sample; + av_get_pcm_codec; + av_get_profile_name; + av_grow_packet; + av_init_packet; + av_jni_get_java_vm; + av_jni_set_java_vm; + av_mediacodec_alloc_context; + av_mediacodec_default_free; + av_mediacodec_default_init; + av_mediacodec_release_buffer; + av_mediacodec_render_buffer_at_time; + av_new_packet; + av_packet_add_side_data; + av_packet_alloc; + av_packet_clone; + av_packet_copy_props; + av_packet_free; + av_packet_free_side_data; + av_packet_from_data; + av_packet_get_side_data; + av_packet_make_refcounted; + av_packet_make_writable; + av_packet_move_ref; + av_packet_new_side_data; + av_packet_pack_dictionary; + av_packet_ref; + av_packet_rescale_ts; + av_packet_shrink_side_data; + av_packet_side_data_add; + av_packet_side_data_free; + av_packet_side_data_get; + av_packet_side_data_name; + av_packet_side_data_new; + av_packet_side_data_remove; + av_packet_unpack_dictionary; + av_packet_unref; + av_parser_close; + av_parser_init; + av_parser_iterate; + av_parser_parse2; + av_qsv_alloc_context; + av_shrink_packet; + av_smpte_291m_anc_8bit_decode; + av_smpte_291m_anc_8bit_encode; + av_smpte_291m_anc_8bit_extract_cta_708; + av_smpte_291m_anc_8bit_fill_checksum; + av_smpte_291m_anc_8bit_get_sample_count; + av_smpte_436m_anc_append; + av_smpte_436m_anc_encode; + av_smpte_436m_anc_iter_init; + av_smpte_436m_anc_iter_next; + av_smpte_436m_coded_anc_payload_size; + av_smpte_436m_coded_anc_validate; + av_vdpau_bind_context; + av_vdpau_get_surface_parameters; + av_vorbis_parse_frame; + av_vorbis_parse_frame_flags; + av_vorbis_parse_free; + av_vorbis_parse_init; + av_vorbis_parse_reset; + av_xiphlacing; + avcodec_align_dimensions2; + avcodec_align_dimensions; + avcodec_alloc_context3; + avcodec_configuration; + avcodec_dct_alloc; + avcodec_dct_get_class; + avcodec_dct_init; + avcodec_decode_subtitle2; + avcodec_default_execute2; + avcodec_default_execute; + avcodec_default_get_buffer2; + avcodec_default_get_encode_buffer; + avcodec_default_get_format; + avcodec_descriptor_get; + avcodec_descriptor_get_by_name; + avcodec_descriptor_next; + avcodec_encode_subtitle; + avcodec_fill_audio_frame; + avcodec_find_best_pix_fmt_of_list; + avcodec_find_decoder; + avcodec_find_decoder_by_name; + avcodec_find_encoder; + avcodec_find_encoder_by_name; + avcodec_flush_buffers; + avcodec_free_context; + avcodec_get_class; + avcodec_get_hw_config; + avcodec_get_hw_frames_parameters; + avcodec_get_name; + avcodec_get_subtitle_rect_class; + avcodec_get_supported_config; + avcodec_get_type; + avcodec_is_open; + avcodec_license; + avcodec_open2; + avcodec_parameters_alloc; + avcodec_parameters_copy; + avcodec_parameters_free; + avcodec_parameters_from_context; + avcodec_parameters_to_context; + avcodec_pix_fmt_to_codec_tag; + avcodec_profile_name; + avcodec_receive_frame; + avcodec_receive_packet; + avcodec_send_frame; + avcodec_send_packet; + avcodec_string; + avcodec_version; + avpriv_ac3_parse_header; + avpriv_adts_header_parse; + avpriv_codec_get_cap_skip_frame_fill_param; + avpriv_dca_convert_bitstream; + avpriv_dca_parse_core_frame_header; + avpriv_elbg_do; + avpriv_elbg_free; + avpriv_exif_decode_ifd; + avpriv_find_start_code; + avpriv_fits_header_init; + avpriv_fits_header_parse_line; + avpriv_h264_has_num_reorder_frames; + avpriv_mpeg4audio_get_config2; + avpriv_mpegaudio_decode_header; + avpriv_packet_list_free; + avpriv_packet_list_get; + avpriv_packet_list_put; + avpriv_pix_fmt_find; + avpriv_split_xiph_headers; + avpriv_tak_parse_streaminfo; + avsubtitle_free; }; + +LIBAVCODEC_62.13 { +global: + av_exif_clone_ifd; + av_exif_free; + av_exif_get_entry; + av_exif_get_tag_id; + av_exif_get_tag_name; + av_exif_ifd_to_dict; + av_exif_matrix_to_orientation; + av_exif_orientation_to_matrix; + av_exif_parse_buffer; + av_exif_remove_entry; + av_exif_set_entry; + av_exif_write; +} LIBAVCODEC_62.10; + +LIBAVCODEC_62.17 { +global: + av_packet_side_data_from_frame; + av_packet_side_data_to_frame; +} LIBAVCODEC_62.13; + +LIBAVCODEC_62.22 { +global: + avcodec_receive_frame_flags; +} LIBAVCODEC_62.17; + +LIBAVCODEC_UNTRACKED { +global: + av_*; + avcodec_*; + avpriv_*; +} LIBAVCODEC_62.22; + +LIBAVCODEC_PRIVATE { +local: + *; +} LIBAVCODEC_62.22; Index: ffmpeg-8.1/libavdevice/libavdevice.v =================================================================== --- ffmpeg-8.1.orig/libavdevice/libavdevice.v +++ ffmpeg-8.1/libavdevice/libavdevice.v @@ -1,7 +1,29 @@ -LIBAVDEVICE_MAJOR { - global: - avdevice_*; - av_*; - local: - *; +LIBAVDEVICE_62.1 { +global: + av_device_ffversion; + av_input_audio_device_next; + av_input_video_device_next; + av_output_audio_device_next; + av_output_video_device_next; + avdevice_app_to_dev_control_message; + avdevice_configuration; + avdevice_dev_to_app_control_message; + avdevice_free_list_devices; + avdevice_license; + avdevice_list_devices; + avdevice_list_input_sources; + avdevice_list_output_sinks; + avdevice_register_all; + avdevice_version; }; + +LIBAVDEVICE_UNTRACKED { +global: + avdevice_*; + av_*; +} LIBAVDEVICE_62.1; + +LIBAVDEVICE_PRIVATE { +local: + *; +} LIBAVDEVICE_62.1; Index: ffmpeg-8.1/libavfilter/libavfilter.v =================================================================== --- ffmpeg-8.1.orig/libavfilter/libavfilter.v +++ ffmpeg-8.1/libavfilter/libavfilter.v @@ -1,7 +1,89 @@ -LIBAVFILTER_MAJOR { - global: - avfilter_*; - av_*; - local: - *; +LIBAVFILTER_11.4 { +global: + av_buffersink_get_ch_layout; + av_buffersink_get_channels; + av_buffersink_get_color_range; + av_buffersink_get_colorspace; + av_buffersink_get_format; + av_buffersink_get_frame; + av_buffersink_get_frame_flags; + av_buffersink_get_frame_rate; + av_buffersink_get_h; + av_buffersink_get_hw_frames_ctx; + av_buffersink_get_sample_aspect_ratio; + av_buffersink_get_sample_rate; + av_buffersink_get_samples; + av_buffersink_get_side_data; + av_buffersink_get_time_base; + av_buffersink_get_type; + av_buffersink_get_w; + av_buffersink_set_frame_size; + av_buffersrc_add_frame; + av_buffersrc_add_frame_flags; + av_buffersrc_close; + av_buffersrc_get_nb_failed_requests; + av_buffersrc_parameters_alloc; + av_buffersrc_parameters_set; + av_buffersrc_write_frame; + av_filter_ffversion; + av_filter_iterate; + avfilter_configuration; + avfilter_filter_pad_count; + avfilter_free; + avfilter_get_by_name; + avfilter_get_class; + avfilter_graph_alloc; + avfilter_graph_alloc_filter; + avfilter_graph_config; + avfilter_graph_create_filter; + avfilter_graph_dump; + avfilter_graph_free; + avfilter_graph_get_filter; + avfilter_graph_parse2; + avfilter_graph_parse; + avfilter_graph_parse_ptr; + avfilter_graph_queue_command; + avfilter_graph_request_oldest; + avfilter_graph_segment_apply; + avfilter_graph_segment_apply_opts; + avfilter_graph_segment_create_filters; + avfilter_graph_segment_free; + avfilter_graph_segment_init; + avfilter_graph_segment_link; + avfilter_graph_segment_parse; + avfilter_graph_send_command; + avfilter_graph_set_auto_convert; + avfilter_init_dict; + avfilter_init_str; + avfilter_inout_alloc; + avfilter_inout_free; + avfilter_insert_filter; + avfilter_license; + avfilter_link; + avfilter_link_get_hw_frames_ctx; + avfilter_pad_get_name; + avfilter_pad_get_type; + avfilter_process_command; + avfilter_version; }; + +LIBAVFILTER_11.7 { +global: + av_buffersink_get_alpha_mode; +} LIBAVFILTER_11.4; + +LIBAVFILTER_11.10 { +global: + av_buffersrc_get_status; +} LIBAVFILTER_11.7; + +LIBAVFILTER_UNTRACKED { +global: + avfilter_*; + av_*; +} LIBAVFILTER_11.10; + +LIBAVFILTER_PRIVATE { +local: + *; +} LIBAVFILTER_11.10; Index: ffmpeg-8.1/libavformat/libavformat.v =================================================================== --- ffmpeg-8.1.orig/libavformat/libavformat.v +++ ffmpeg-8.1/libavformat/libavformat.v @@ -1,6 +1,174 @@ -LIBAVFORMAT_MAJOR { - global: - av*; - local: - *; +LIBAVFORMAT_62.3 { +global: + av_add_index_entry; + av_append_packet; + av_codec_get_id; + av_codec_get_tag2; + av_codec_get_tag; + av_demuxer_iterate; + av_disposition_from_string; + av_disposition_to_string; + av_dump_format; + av_filename_number_test; + av_find_best_stream; + av_find_default_stream_index; + av_find_input_format; + av_find_program_from_stream; + av_format_ffversion; + av_get_frame_filename2; + av_get_frame_filename; + av_get_output_timestamp; + av_get_packet; + av_guess_codec; + av_guess_format; + av_guess_frame_rate; + av_guess_sample_aspect_ratio; + av_hex_dump; + av_hex_dump_log; + av_index_search_timestamp; + av_interleaved_write_frame; + av_interleaved_write_uncoded_frame; + av_match_ext; + av_muxer_iterate; + av_new_program; + av_pkt_dump2; + av_pkt_dump_log2; + av_probe_input_buffer2; + av_probe_input_buffer; + av_probe_input_format2; + av_probe_input_format3; + av_probe_input_format; + av_program_add_stream_index; + av_read_frame; + av_read_pause; + av_read_play; + av_sdp_create; + av_seek_frame; + av_stream_get_class; + av_stream_get_codec_timebase; + av_stream_get_first_dts; + av_stream_get_parser; + av_stream_group_get_class; + av_url_split; + av_write_frame; + av_write_trailer; + av_write_uncoded_frame; + av_write_uncoded_frame_query; + avformat_alloc_context; + avformat_alloc_output_context2; + avformat_close_input; + avformat_configuration; + avformat_find_stream_info; + avformat_flush; + avformat_free_context; + avformat_get_class; + avformat_get_mov_audio_tags; + avformat_get_mov_video_tags; + avformat_get_riff_audio_tags; + avformat_get_riff_video_tags; + avformat_index_get_entries_count; + avformat_index_get_entry; + avformat_index_get_entry_from_timestamp; + avformat_init_output; + avformat_license; + avformat_match_stream_specifier; + avformat_network_deinit; + avformat_network_init; + avformat_new_stream; + avformat_open_input; + avformat_query_codec; + avformat_queue_attached_pictures; + avformat_seek_file; + avformat_stream_group_add_stream; + avformat_stream_group_create; + avformat_stream_group_name; + avformat_transfer_internal_stream_timing_info; + avformat_version; + avformat_write_header; + avio_accept; + avio_alloc_context; + avio_check; + avio_close; + avio_close_dir; + avio_close_dyn_buf; + avio_closep; + avio_context_free; + avio_enum_protocols; + avio_feof; + avio_find_protocol_name; + avio_flush; + avio_free_directory_entry; + avio_get_dyn_buf; + avio_get_str16be; + avio_get_str16le; + avio_get_str; + avio_handshake; + avio_open2; + avio_open; + avio_open_dir; + avio_open_dyn_buf; + avio_pause; + avio_print_string_array; + avio_printf; + avio_protocol_get_class; + avio_put_str16be; + avio_put_str16le; + avio_put_str; + avio_r8; + avio_rb16; + avio_rb24; + avio_rb32; + avio_rb64; + avio_read; + avio_read_dir; + avio_read_partial; + avio_read_to_bprint; + avio_rl16; + avio_rl24; + avio_rl32; + avio_rl64; + avio_seek; + avio_seek_time; + avio_size; + avio_skip; + avio_vprintf; + avio_w8; + avio_wb16; + avio_wb24; + avio_wb32; + avio_wb64; + avio_wl16; + avio_wl24; + avio_wl32; + avio_wl64; + avio_write; + avio_write_marker; + avpriv_dv_get_packet; + avpriv_dv_init_demux; + avpriv_dv_produce_packet; + avpriv_mpegts_parse_close; + avpriv_mpegts_parse_open; + avpriv_mpegts_parse_packet; + avpriv_new_chapter; + avpriv_register_devices; + avpriv_set_pts_info; + avpriv_stream_set_need_parsing; + avpriv_update_cur_dts; }; + +LIBAVFORMAT_62.12 { +global: + av_mime_codec_str; + avformat_receive_command_reply; + avformat_send_command; +} LIBAVFORMAT_62.3; + +LIBAVFORMAT_UNTRACKED { +global: + av*; +} LIBAVFORMAT_62.12; + +LIBAVFORMAT_PRIVATE { +local: + *; +} LIBAVFORMAT_62.12; Index: ffmpeg-8.1/libavutil/libavutil.v =================================================================== --- ffmpeg-8.1.orig/libavutil/libavutil.v +++ ffmpeg-8.1/libavutil/libavutil.v @@ -1,6 +1,653 @@ -LIBAVUTIL_MAJOR { - global: - av*; - local: - *; +LIBAVUTIL_60.8 { +global: + av_add_i; + av_add_q; + av_add_stable; + av_adler32_update; + av_aes_alloc; + av_aes_crypt; + av_aes_ctr_alloc; + av_aes_ctr_crypt; + av_aes_ctr_free; + av_aes_ctr_get_iv; + av_aes_ctr_increment_iv; + av_aes_ctr_init; + av_aes_ctr_set_full_iv; + av_aes_ctr_set_iv; + av_aes_ctr_set_random_iv; + av_aes_init; + av_aes_size; + av_ambient_viewing_environment_alloc; + av_ambient_viewing_environment_create_side_data; + av_amf_to_av_format; + av_append_path_component; + av_asprintf; + av_assert0_fpu; + av_audio_fifo_alloc; + av_audio_fifo_drain; + av_audio_fifo_free; + av_audio_fifo_peek; + av_audio_fifo_peek_at; + av_audio_fifo_read; + av_audio_fifo_realloc; + av_audio_fifo_reset; + av_audio_fifo_size; + av_audio_fifo_space; + av_audio_fifo_write; + av_av_to_amf_format; + av_base64_decode; + av_base64_encode; + av_basename; + av_bessel_i0; + av_blowfish_alloc; + av_blowfish_crypt; + av_blowfish_crypt_ecb; + av_blowfish_init; + av_bmg_get; + av_bprint_append_data; + av_bprint_chars; + av_bprint_clear; + av_bprint_escape; + av_bprint_finalize; + av_bprint_get_buffer; + av_bprint_init; + av_bprint_init_for_buffer; + av_bprint_strftime; + av_bprintf; + av_buffer_alloc; + av_buffer_allocz; + av_buffer_create; + av_buffer_default_free; + av_buffer_get_opaque; + av_buffer_get_ref_count; + av_buffer_is_writable; + av_buffer_make_writable; + av_buffer_pool_buffer_get_opaque; + av_buffer_pool_get; + av_buffer_pool_init2; + av_buffer_pool_init; + av_buffer_pool_uninit; + av_buffer_realloc; + av_buffer_ref; + av_buffer_replace; + av_buffer_unref; + av_calloc; + av_camellia_alloc; + av_camellia_crypt; + av_camellia_init; + av_camellia_size; + av_cast5_alloc; + av_cast5_crypt2; + av_cast5_crypt; + av_cast5_init; + av_cast5_size; + av_channel_description; + av_channel_description_bprint; + av_channel_from_string; + av_channel_layout_ambisonic_order; + av_channel_layout_channel_from_index; + av_channel_layout_channel_from_string; + av_channel_layout_check; + av_channel_layout_compare; + av_channel_layout_copy; + av_channel_layout_custom_init; + av_channel_layout_default; + av_channel_layout_describe; + av_channel_layout_describe_bprint; + av_channel_layout_from_mask; + av_channel_layout_from_string; + av_channel_layout_index_from_channel; + av_channel_layout_index_from_string; + av_channel_layout_retype; + av_channel_layout_standard; + av_channel_layout_subset; + av_channel_layout_uninit; + av_channel_name; + av_channel_name_bprint; + av_chroma_location_enum_to_pos; + av_chroma_location_from_name; + av_chroma_location_name; + av_chroma_location_pos_to_enum; + av_cmp_i; + av_color_primaries_from_name; + av_color_primaries_name; + av_color_range_from_name; + av_color_range_name; + av_color_space_from_name; + av_color_space_name; + av_color_transfer_from_name; + av_color_transfer_name; + av_compare_mod; + av_compare_ts; + av_container_fifo_alloc; + av_container_fifo_alloc_avframe; + av_container_fifo_can_read; + av_container_fifo_drain; + av_container_fifo_free; + av_container_fifo_peek; + av_container_fifo_read; + av_container_fifo_write; + av_content_light_metadata_alloc; + av_content_light_metadata_create_side_data; + av_cpu_count; + av_cpu_force_count; + av_cpu_max_align; + av_crc; + av_crc_get_table; + av_crc_init; + av_csp_approximate_trc_gamma; + av_csp_itu_eotf; + av_csp_itu_eotf_inv; + av_csp_luma_coeffs_from_avcsp; + av_csp_primaries_desc_from_id; + av_csp_primaries_id_from_desc; + av_csp_trc_func_from_id; + av_csp_trc_func_inv_from_id; + av_d2q; + av_default_get_category; + av_default_item_name; + av_des_alloc; + av_des_crypt; + av_des_init; + av_des_mac; + av_detection_bbox_alloc; + av_detection_bbox_create_side_data; + av_dict_copy; + av_dict_count; + av_dict_free; + av_dict_get; + av_dict_get_string; + av_dict_iterate; + av_dict_parse_string; + av_dict_set; + av_dict_set_int; + av_dirname; + av_display_matrix_flip; + av_display_rotation_get; + av_display_rotation_set; + av_div_i; + av_div_q; + av_dovi_alloc; + av_dovi_find_level; + av_dovi_metadata_alloc; + av_downmix_info_update_side_data; + av_dynamic_hdr_plus_alloc; + av_dynamic_hdr_plus_create_side_data; + av_dynamic_hdr_plus_from_t35; + av_dynamic_hdr_plus_to_t35; + av_dynamic_hdr_vivid_alloc; + av_dynamic_hdr_vivid_create_side_data; + av_dynarray2_add; + av_dynarray_add; + av_dynarray_add_nofree; + av_encryption_info_add_side_data; + av_encryption_info_alloc; + av_encryption_info_clone; + av_encryption_info_free; + av_encryption_info_get_side_data; + av_encryption_init_info_add_side_data; + av_encryption_init_info_alloc; + av_encryption_init_info_free; + av_encryption_init_info_get_side_data; + av_escape; + av_executor_alloc; + av_executor_execute; + av_executor_free; + av_expr_count_func; + av_expr_count_vars; + av_expr_eval; + av_expr_free; + av_expr_parse; + av_expr_parse_and_eval; + av_fast_malloc; + av_fast_mallocz; + av_fast_realloc; + av_fifo_alloc2; + av_fifo_auto_grow_limit; + av_fifo_can_read; + av_fifo_can_write; + av_fifo_drain2; + av_fifo_elem_size; + av_fifo_freep2; + av_fifo_grow2; + av_fifo_peek; + av_fifo_peek_to_cb; + av_fifo_read; + av_fifo_read_to_cb; + av_fifo_reset2; + av_fifo_write; + av_fifo_write_from_cb; + av_file_map; + av_file_unmap; + av_film_grain_params_alloc; + av_film_grain_params_create_side_data; + av_film_grain_params_select; + av_find_best_pix_fmt_of_2; + av_find_info_tag; + av_find_nearest_q_idx; + av_force_cpu_flags; + av_fourcc_make_string; + av_frame_alloc; + av_frame_apply_cropping; + av_frame_clone; + av_frame_copy; + av_frame_copy_props; + av_frame_free; + av_frame_get_buffer; + av_frame_get_plane_buffer; + av_frame_get_side_data; + av_frame_is_writable; + av_frame_make_writable; + av_frame_move_ref; + av_frame_new_side_data; + av_frame_new_side_data_from_buf; + av_frame_ref; + av_frame_remove_side_data; + av_frame_replace; + av_frame_side_data_add; + av_frame_side_data_clone; + av_frame_side_data_desc; + av_frame_side_data_free; + av_frame_side_data_get_c; + av_frame_side_data_name; + av_frame_side_data_new; + av_frame_side_data_remove; + av_frame_side_data_remove_by_props; + av_frame_unref; + av_free; + av_freep; + av_gcd; + av_gcd_q; + av_get_alt_sample_fmt; + av_get_bits_per_pixel; + av_get_bytes_per_sample; + av_get_cpu_flags; + av_get_known_color_name; + av_get_media_type_string; + av_get_packed_sample_fmt; + av_get_padded_bits_per_pixel; + av_get_picture_type_char; + av_get_pix_fmt; + av_get_pix_fmt_loss; + av_get_pix_fmt_name; + av_get_pix_fmt_string; + av_get_planar_sample_fmt; + av_get_random_seed; + av_get_sample_fmt; + av_get_sample_fmt_name; + av_get_sample_fmt_string; + av_get_time_base_q; + av_get_token; + av_gettime; + av_gettime_relative; + av_gettime_relative_is_monotonic; + av_hash_alloc; + av_hash_final; + av_hash_final_b64; + av_hash_final_bin; + av_hash_final_hex; + av_hash_freep; + av_hash_get_name; + av_hash_get_size; + av_hash_init; + av_hash_names; + av_hash_update; + av_hmac_alloc; + av_hmac_calc; + av_hmac_final; + av_hmac_free; + av_hmac_init; + av_hmac_update; + av_hwdevice_ctx_alloc; + av_hwdevice_ctx_create; + av_hwdevice_ctx_create_derived; + av_hwdevice_ctx_create_derived_opts; + av_hwdevice_ctx_init; + av_hwdevice_find_type_by_name; + av_hwdevice_get_hwframe_constraints; + av_hwdevice_get_type_name; + av_hwdevice_hwconfig_alloc; + av_hwdevice_iterate_types; + av_hwframe_constraints_free; + av_hwframe_ctx_alloc; + av_hwframe_ctx_create_derived; + av_hwframe_ctx_init; + av_hwframe_get_buffer; + av_hwframe_map; + av_hwframe_transfer_data; + av_hwframe_transfer_get_formats; + av_i2int; + av_iamf_audio_element_add_layer; + av_iamf_audio_element_alloc; + av_iamf_audio_element_free; + av_iamf_audio_element_get_class; + av_iamf_mix_presentation_add_submix; + av_iamf_mix_presentation_alloc; + av_iamf_mix_presentation_free; + av_iamf_mix_presentation_get_class; + av_iamf_param_definition_alloc; + av_iamf_param_definition_get_class; + av_iamf_submix_add_element; + av_iamf_submix_add_layout; + av_image_alloc; + av_image_check_sar; + av_image_check_size2; + av_image_check_size; + av_image_copy; + av_image_copy_plane; + av_image_copy_plane_uc_from; + av_image_copy_to_buffer; + av_image_copy_uc_from; + av_image_fill_arrays; + av_image_fill_black; + av_image_fill_color; + av_image_fill_linesizes; + av_image_fill_max_pixsteps; + av_image_fill_plane_sizes; + av_image_fill_pointers; + av_image_get_buffer_size; + av_image_get_linesize; + av_int2i; + av_int_list_length_for_size; + av_lfg_init; + av_lfg_init_from_data; + av_log2; + av_log2_16bit; + av_log2_i; + av_log; + av_log_default_callback; + av_log_format_line2; + av_log_format_line; + av_log_get_flags; + av_log_get_level; + av_log_once; + av_log_set_callback; + av_log_set_flags; + av_log_set_level; + av_lzo1x_decode; + av_malloc; + av_malloc_array; + av_mallocz; + av_mastering_display_metadata_alloc; + av_mastering_display_metadata_alloc_size; + av_mastering_display_metadata_create_side_data; + av_match_list; + av_match_name; + av_max_alloc; + av_md5_alloc; + av_md5_final; + av_md5_init; + av_md5_size; + av_md5_sum; + av_md5_update; + av_memcpy_backptr; + av_memdup; + av_mod_i; + av_mul_i; + av_mul_q; + av_murmur3_alloc; + av_murmur3_final; + av_murmur3_init; + av_murmur3_init_seeded; + av_murmur3_update; + av_nearer_q; + av_opt_child_class_iterate; + av_opt_child_next; + av_opt_copy; + av_opt_eval_double; + av_opt_eval_flags; + av_opt_eval_float; + av_opt_eval_int64; + av_opt_eval_int; + av_opt_eval_q; + av_opt_eval_uint; + av_opt_find2; + av_opt_find; + av_opt_flag_is_set; + av_opt_free; + av_opt_freep_ranges; + av_opt_get; + av_opt_get_array; + av_opt_get_array_size; + av_opt_get_chlayout; + av_opt_get_dict_val; + av_opt_get_double; + av_opt_get_image_size; + av_opt_get_int; + av_opt_get_key_value; + av_opt_get_pixel_fmt; + av_opt_get_q; + av_opt_get_sample_fmt; + av_opt_get_video_rate; + av_opt_is_set_to_default; + av_opt_is_set_to_default_by_name; + av_opt_next; + av_opt_ptr; + av_opt_query_ranges; + av_opt_query_ranges_default; + av_opt_serialize; + av_opt_set; + av_opt_set_array; + av_opt_set_bin; + av_opt_set_chlayout; + av_opt_set_defaults2; + av_opt_set_defaults; + av_opt_set_dict2; + av_opt_set_dict; + av_opt_set_dict_val; + av_opt_set_double; + av_opt_set_from_string; + av_opt_set_image_size; + av_opt_set_int; + av_opt_set_pixel_fmt; + av_opt_set_q; + av_opt_set_sample_fmt; + av_opt_set_video_rate; + av_opt_show2; + av_parse_color; + av_parse_cpu_caps; + av_parse_ratio; + av_parse_time; + av_parse_video_rate; + av_parse_video_size; + av_pix_fmt_count_planes; + av_pix_fmt_desc_get; + av_pix_fmt_desc_get_id; + av_pix_fmt_desc_next; + av_pix_fmt_get_chroma_sub_sample; + av_pix_fmt_swap_endianness; + av_pixelutils_get_sad_fn; + av_q2intfloat; + av_random_bytes; + av_rc4_alloc; + av_rc4_crypt; + av_rc4_init; + av_read_image_line2; + av_read_image_line; + av_realloc; + av_realloc_array; + av_realloc_f; + av_reallocp; + av_reallocp_array; + av_reduce; + av_refstruct_alloc_ext_c; + av_refstruct_exclusive; + av_refstruct_pool_alloc; + av_refstruct_pool_alloc_ext_c; + av_refstruct_pool_get; + av_refstruct_ref; + av_refstruct_ref_c; + av_refstruct_replace; + av_refstruct_unref; + av_rescale; + av_rescale_delta; + av_rescale_q; + av_rescale_q_rnd; + av_rescale_rnd; + av_ripemd_alloc; + av_ripemd_final; + av_ripemd_init; + av_ripemd_size; + av_ripemd_update; + av_sample_fmt_is_planar; + av_samples_alloc; + av_samples_alloc_array_and_samples; + av_samples_copy; + av_samples_fill_arrays; + av_samples_get_buffer_size; + av_samples_set_silence; + av_set_options_string; + av_sha512_alloc; + av_sha512_final; + av_sha512_init; + av_sha512_size; + av_sha512_update; + av_sha_alloc; + av_sha_final; + av_sha_init; + av_sha_size; + av_sha_update; + av_shr_i; + av_size_mult; + av_small_strptime; + av_spherical_alloc; + av_spherical_from_name; + av_spherical_projection_name; + av_spherical_tile_bounds; + av_sscanf; + av_stereo3d_alloc; + av_stereo3d_alloc_size; + av_stereo3d_create_side_data; + av_stereo3d_from_name; + av_stereo3d_primary_eye_from_name; + av_stereo3d_primary_eye_name; + av_stereo3d_type_name; + av_stereo3d_view_from_name; + av_stereo3d_view_name; + av_strcasecmp; + av_strdup; + av_strerror; + av_strireplace; + av_stristart; + av_stristr; + av_strlcat; + av_strlcatf; + av_strlcpy; + av_strncasecmp; + av_strndup; + av_strnstr; + av_strstart; + av_strtod; + av_strtok; + av_sub_i; + av_sub_q; + av_tdrdi_alloc; + av_tea_alloc; + av_tea_crypt; + av_tea_init; + av_tea_size; + av_thread_message_flush; + av_thread_message_queue_alloc; + av_thread_message_queue_free; + av_thread_message_queue_nb_elems; + av_thread_message_queue_recv; + av_thread_message_queue_send; + av_thread_message_queue_set_err_recv; + av_thread_message_queue_set_err_send; + av_thread_message_queue_set_free_func; + av_timecode_adjust_ntsc_framenum2; + av_timecode_check_frame_rate; + av_timecode_get_smpte; + av_timecode_get_smpte_from_framenum; + av_timecode_init; + av_timecode_init_from_components; + av_timecode_init_from_string; + av_timecode_make_mpeg_tc_string; + av_timecode_make_smpte_tc_string2; + av_timecode_make_smpte_tc_string; + av_timecode_make_string; + av_timegm; + av_tree_destroy; + av_tree_enumerate; + av_tree_find; + av_tree_insert; + av_tree_node_alloc; + av_tree_node_size; + av_ts_make_time_string2; + av_twofish_alloc; + av_twofish_crypt; + av_twofish_init; + av_twofish_size; + av_tx_init; + av_tx_uninit; + av_usleep; + av_utf8_decode; + av_util_ffversion; + av_uuid_parse; + av_uuid_parse_range; + av_uuid_unparse; + av_uuid_urn_parse; + av_vbprintf; + av_version_info; + av_video_enc_params_alloc; + av_video_enc_params_create_side_data; + av_video_hint_alloc; + av_video_hint_create_side_data; + av_vk_frame_alloc; + av_vkfmt_from_pixfmt; + av_vlog; + av_write_image_line2; + av_write_image_line; + av_xtea_alloc; + av_xtea_crypt; + av_xtea_init; + av_xtea_le_crypt; + av_xtea_le_init; + avpriv_alloc_fixed_dsp; + avpriv_cga_font; + avpriv_cga_font_get; + avpriv_float_dsp_alloc; + avpriv_fopen_utf8; + avpriv_init_lls; + avpriv_open; + avpriv_report_missing_feature; + avpriv_request_sample; + avpriv_set_systematic_pal2; + avpriv_slicethread_create; + avpriv_slicethread_execute; + avpriv_slicethread_free; + avpriv_solve_lls; + avpriv_tempfile; + avpriv_vga16_font; + avpriv_vga16_font_get; + avutil_configuration; + avutil_license; + avutil_version; }; + +LIBAVUTIL_60.14 { +global: + av_csp_approximate_eotf_gamma; +} LIBAVUTIL_60.8; + +LIBAVUTIL_60.20 { +global: + av_vk_get_optional_device_extensions; + av_vk_get_optional_instance_extensions; +} LIBAVUTIL_60.14; + +LIBAVUTIL_60.26 { +global: + av_alpha_mode_from_name; + av_alpha_mode_name; +} LIBAVUTIL_60.20; + +LIBAVUTIL_UNTRACKED { +global: + av*; +} LIBAVUTIL_60.26; + +LIBAVUTIL_PRIVATE { +local: + *; +} LIBAVUTIL_60.26; Index: ffmpeg-8.1/libswresample/libswresample.v =================================================================== --- ffmpeg-8.1.orig/libswresample/libswresample.v +++ ffmpeg-8.1/libswresample/libswresample.v @@ -1,7 +1,37 @@ -LIBSWRESAMPLE_MAJOR { - global: - swr_*; - swresample_*; - local: - *; +LIBSWRESAMPLE_6.1 { +global: + swr_ffversion; + swr_alloc; + swr_alloc_set_opts2; + swr_build_matrix2; + swr_close; + swr_config_frame; + swr_convert; + swr_convert_frame; + swr_drop_output; + swr_free; + swr_get_class; + swr_get_delay; + swr_get_out_samples; + swr_init; + swr_inject_silence; + swr_is_initialized; + swr_next_pts; + swr_set_channel_mapping; + swr_set_compensation; + swr_set_matrix; + swresample_configuration; + swresample_license; + swresample_version; }; + +LIBSWRESAMPLE_UNTRACKED { +global: + swr_*; + swresample_*; +} LIBSWRESAMPLE_6.1; + +LIBSWRESAMPLE_PRIVATE { +local: + *; +} LIBSWRESAMPLE_6.1; Index: ffmpeg-8.1/libswscale/libswscale.v =================================================================== --- ffmpeg-8.1.orig/libswscale/libswscale.v +++ ffmpeg-8.1/libswscale/libswscale.v @@ -1,7 +1,58 @@ -LIBSWSCALE_MAJOR { - global: - swscale_*; - sws_*; - local: - *; +LIBSWSCALE_9.1 { +global: + sws_allocVec; + sws_alloc_context; + sws_convertPalette8ToPacked24; + sws_convertPalette8ToPacked32; + sws_frame_end; + sws_frame_setup; + sws_frame_start; + sws_freeContext; + sws_freeFilter; + sws_freeVec; + sws_free_context; + sws_getCachedContext; + sws_getCoefficients; + sws_getColorspaceDetails; + sws_getContext; + sws_getDefaultFilter; + sws_getGaussianVec; + sws_get_class; + sws_init_context; + sws_isSupportedEndiannessConversion; + sws_isSupportedInput; + sws_isSupportedOutput; + sws_is_noop; + sws_normalizeVec; + sws_receive_slice; + sws_receive_slice_alignment; + sws_scale; + sws_scaleVec; + sws_scale_frame; + sws_send_slice; + sws_setColorspaceDetails; + sws_test_colorspace; + sws_test_format; + sws_test_frame; + sws_test_primaries; + sws_test_transfer; + swscale_configuration; + swscale_license; + swscale_version; }; + +LIBSWSCALE_9.4 { +global: + sws_test_hw_format; +} LIBSWSCALE_9.1; + +LIBSWSCALE_UNTRACKED { +global: + swscale_*; + sws_*; +} LIBSWSCALE_9.4; + +LIBSWSCALE_PRIVATE { +local: + *; +} LIBSWSCALE_9.4;
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.