VERS_1
{
# visible functions
global:
	av_base64_decode;
	av_base64_encode;
	av_bitstream_filter_init;
	av_bitstream_filter_close;
	av_bitstream_filter_filter;
	av_buffersink_get_frame;
    av_buffersrc_add_frame_flags;
	avfilter_link;
	av_codec_next;
	av_copy_packet;
	av_dict_count;
	av_dict_get;
	av_dict_set;
	av_dict_free;
	av_dump_format;
	av_find_best_stream;
	av_find_default_stream_index;
	av_find_input_format;
	av_find_program_from_stream;
	av_frame_alloc;
	av_frame_clone;
	av_frame_free;
	av_frame_is_writable;
	av_frame_ref;
	av_frame_unref;
	av_free;
	av_freep;
	av_get_bits_per_pixel;
	av_get_bytes_per_sample;
	av_get_bits_per_sample;
	av_get_channel_layout_nb_channels;
	av_get_codec_tag_string;
	av_get_default_channel_layout;
	av_grow_packet;
	av_guess_frame_rate;
	av_guess_sample_aspect_ratio;
	av_iformat_next;
	av_image_alloc;
	av_image_copy;
	av_init_packet;
	av_log;
	av_log_set_callback;
	av_malloc;
	av_mallocz;
	av_mallocz_array;
	av_new_packet;
	av_packet_copy_props;
	av_packet_ref;
	av_packet_unref;
	av_pix_fmt_count_planes;
	av_pix_fmt_desc_get;
	av_read_frame;
	av_read_pause;
	av_read_play;
	av_rescale;
	av_rescale_q;
	av_rescale_rnd;
	av_rescale_q_rnd;
	av_sample_fmt_is_planar;
	av_samples_get_buffer_size;
	av_seek_frame;
	av_shrink_packet;
	av_strdup;
	avcodec_close;
	avcodec_decode_subtitle2;
	avcodec_find_decoder;
	avcodec_flush_buffers;
	avcodec_get_name;
	avcodec_get_type;
#	avcodec_profile_name;
	av_get_profile_name;
	avcodec_open2;
	avfilter_inout_alloc;
	avfilter_inout_free;
	avfilter_get_by_name;
	avfilter_graph_alloc;
	avfilter_graph_config;
	avfilter_graph_create_filter;
	avfilter_graph_free;
	avfilter_graph_parse_ptr;
	avformat_alloc_context;
	avformat_close_input;
	avformat_find_stream_info;
	avformat_network_init;
	avformat_open_input;
	avformat_seek_file;
	avio_alloc_context;
	avio_enum_protocols;
	avio_feof;
	avio_flush;
	avio_size;
	avsubtitle_free;
	ff_add_format;
	ff_check_interrupt;
	ff_log2_tab;
	ff_isom_write_avcc;
	ff_isom_write_av1c;
	ff_isom_write_hvcc;
	swr_alloc_set_opts;
	swr_convert;
	swr_free;
	swr_init;
	sws_freeContext;
	sws_getCachedContext;
	sws_scale;

	# For MX0
	# avcodec_get_frame_defaults;

    avcodec_whitelist;

    #export the latest api symbols
    avcodec_send_packet;
    avcodec_receive_frame;
    avcodec_alloc_context3;
    avcodec_parameters_to_context;
    avcodec_parameters_alloc;
    avcodec_parameters_free;
    avcodec_free_context;
    av_dict_set_int;
    avcodec_profile_name;
    av_codec_set_pkt_timebase;
    ff_urldecode;
    av_md5_sum;
    av_jni_set_java_vm;
    av_jni_set_android_app_ctx;
    
    #export the api symbols for mxv
    av_stereo3d_alloc;
    av_stream_add_side_data;
    av_stream_get_side_data;
    av_aes_alloc;
    av_aes_init;
    av_aes_crypt;
    av_sha_alloc;
    av_sha_init;
    av_sha_update;
    av_sha_final;
    av_crc_get_table;
    av_crc;
    avio_read;
    avio_seek;
    avio_rb64;
    avio_rb32;
    avio_r8;
    avio_skip;
    ff_packet_list_get;
    ff_packet_list_free;
    ff_packet_list_put;
    av_packet_new_side_data;
    av_add_index_entry;
    av_index_search_timestamp;
    ff_update_cur_dts;
    av_realloc;
    av_malloc_array;
    av_realloc_array;
    av_lzo1x_decode;
    ffio_limit;
    ffio_fill;
    av_buffer_create;
    av_buffer_realloc;
    av_buffer_unref;
    av_buffer_ref;
    ffio_init_context;
    ff_reduce_index;
    ff_rm_reorder_sipr_data;
    avio_rl32;
    avpriv_report_missing_feature;
    avpriv_dict_set_timestamp;
    avpriv_mpeg4audio_sample_rates;
    avpriv_mpeg4audio_get_config;
    avpriv_split_xiph_headers;
    ff_vorbis_comment;
    avformat_new_stream;
    ff_codec_bmp_tags;
    ff_codec_get_id;
    ff_codec_get_tag;
    ff_get_wav_header;
    ff_codec_movvideo_tags;
    ff_codec_movaudio_tags;
    ff_codec_wav_tags;
    ff_put_wav_header;
    ff_put_bmp_header;
    avio_rb16;
    ff_sipr_subpk_size;
    ff_parse_creation_time_metadata;
    ff_stream_add_bitstream_filter;
    avio_write;
    avio_wl16;
    avio_wl32;
    avio_w8;
    avio_wb16;
    avio_wb32;
    avio_wb64;
    avio_printf;
    avio_write_marker;
    avio_open_dyn_buf;
    avio_get_dyn_buf;
    avio_close_dyn_buf;
    av_lfg_init;
    av_get_random_seed;
    av_fourcc_make_string;
    ff_get_qtpalette;
    avpriv_set_pts_info;
    ff_alloc_extradata;
    av_reduce;
    avcodec_chroma_pos_to_enum;
    av_content_light_metadata_alloc;
    av_stream_new_side_data;
    av_spherical_alloc;
    ff_alloc_extradata;
    avformat_new_stream;
    avpriv_new_chapter;
    av_strlcpy;
    av_strlcat;
    av_strcasecmp;
    ff_metadata_conv;
    ff_metadata_conv_ctx;
    ff_flac_is_native_layout;
    ff_flac_write_header;
    ff_vorbiscomment_length;
    ff_vorbiscomment_write;
    ff_convert_lang_to;
    ff_hevc_annexb2mp4_buf;
    ff_wv_parse_header;
    ff_avc_parse_nal_units_buf;
    ff_av1_filter_obus_buf;
    av_reallocp;
    av_strndup;
    av_dict_copy;
    avio_context_free;
    avio_open2;
    avcodec_parameters_copy;
    av_int_list_length_for_size;
    av_opt_set_bin;
    avformat_alloc_output_context2;
    avcodec_find_encoder;
    avformat_write_header;
    av_guess_codec;
    av_interleaved_write_frame;
    av_write_trailer;
    avcodec_encode_subtitle;
    avcodec_enum_to_chroma_pos;
    av_strerror;
    avformat_free_context;
    avio_closep;
    ff_ass_subtitle_header_default;
    ff_ass_bprint_text_event;
    ff_ass_add_rect;
    av_bprint_init;
    av_bprint_finalize;

    ff_alloc_dir_entry;
    avio_open_dir;
    avio_read_dir;
    avio_free_directory_entry;
    avio_close_dir;

    # for audio converter
    av_packet_alloc;
    av_get_sample_fmt_name;
    av_packet_free;
    av_packet_clone;
    av_packet_get_side_data;
    avio_open;
    avcodec_parameters_from_context;
    swr_alloc;
    av_opt_set_int;
    av_opt_set_sample_fmt;
    av_frame_get_buffer;
    swr_get_delay;
    av_frame_make_writable;
    avcodec_send_frame;
    avcodec_receive_packet;
    av_packet_rescale_ts;
    av_packet_free;

    sws_getContext;
    av_default_item_name;
    av_parser_init;
    av_parser_close;
    av_parser_parse2;
    av_parse_time;
    av_frame_get_best_effort_timestamp;
    av_image_get_buffer_size;
    avcodec_decode_video2;
    av_image_fill_arrays;
    av_frame_get_pkt_duration;
    av_opt_free;
    av_application_closep;
    av_opt_set_defaults;
    av_application_open;
    av_application_on_async_statistic;
    av_application_on_async_read_speed;
    av_application_on_io_control;
    avio_find_protocol_name;
    av_md5_alloc;
    av_md5_size;
    av_md5_init;
    av_md5_update;
    av_md5_final;
    ijkav_register_ijkio_protocol;
    ijkav_register_ijklongurl_protocol;
    ijkav_register_ijkhttphook_protocol;
    av_strstart;
    av_stristart;
    av_fifo_alloc;
    ffurl_open_whitelist;
    ffurl_read;
    ffurl_size;
    ffurl_close;
    ffurl_seek;
    ffurl_write;
    ffurl_closep;
    av_fifo_freep;
    av_fifo_size;
    av_fifo_reset;
    av_fifo_space;
    av_fifo_generic_write;
    av_fifo_generic_peek_at;
    av_fifo_drain;
    av_gettime_relative;
    av_log_set_level;
    av_stristr;
    av_strlcatf;
    ff_webvtt_secondary_decoder;

# hide everything else
local: *;
};
