#if !(defined(GO) && defined(GOM) && defined(GO2) && defined(DATA))
#error Meh...
#endif

//GOM(av_add_index_entry, iFEpIIiii)
//GOM(av_append_packet, iFEppi)
GO(av_codec_get_id, uFpu)
GO(av_codec_get_tag, uFpu)
GO(av_codec_get_tag2, iFpup)
GO(av_demuxer_iterate, pFp) // return AVInputFormat* that might need wrapping
GO(av_disposition_from_string, iFp)
GO(av_disposition_to_string, pFi)
//GOM(av_dump_format, vFEpipi)
GO(av_filename_number_test, iFp)
//GOM(av_find_best_stream, iFEpiiipi)
GO(av_find_default_stream_index, iFp)
GO(av_find_input_format, pFp)   // return AVInputFormat* wich might need wrapping
//GOM(av_find_program_from_stream, pFEppi)
//GOM(av_fmt_ctx_get_duration_estimation_method, uFEp)
GO(avformat_alloc_context, pFv) // return AVFormatContext* wich might needs some wrapping?
//GOM(avformat_alloc_output_context2, iFEpppp)
GO(avformat_close_input, vFp)
GO(avformat_configuration, pFv)
DATA(av_format_ffversion, 8) // Warning: failed to confirm
GO(avformat_find_stream_info, iFpp)    // AVFormatContext* might need some wrapping
//GOM(avformat_flush, iFEp)
GO(avformat_free_context, vFp)
//GOM(avformat_get_class, pFEv)
GO(avformat_get_mov_audio_tags, pFv)
GO(avformat_get_mov_video_tags, pFv)
GO(avformat_get_riff_audio_tags, pFv)
GO(avformat_get_riff_video_tags, pFv)
//GOM(avformat_index_get_entries_count, iFEp)
//GOM(avformat_index_get_entry, pFEpi)
//GOM(avformat_index_get_entry_from_timestamp, pFEpIi)
//GOM(avformat_init_output, iFEpp)
//GOM(av_format_inject_global_side_data, vFEp)
GO(avformat_license, pFv)
//GOM(avformat_match_stream_specifier, iFEppp)
GO(avformat_network_deinit, iFv)
GO(avformat_network_init, iFv)
GO(avformat_new_stream, pFpp)
GO(avformat_open_input, iFpppp) // many strucure might need wrapping here
//GOM(avformat_query_codec, iFEpui)
//GOM(avformat_queue_attached_pictures, iFEp)
GO(avformat_seek_file, iFpiIIIi)
//GOM(avformat_stream_group_add_stream, iFEpp)
//GOM(avformat_stream_group_create, pFEpup)
GO(avformat_stream_group_name, pFu)
//GOM(avformat_transfer_internal_stream_timing_info, iFEpppi)
GO(avformat_version, uFv)
GO(avformat_write_header, iFpp)
GO(av_get_frame_filename, iFpipi)
GO(av_get_frame_filename2, iFpipii)
//GOM(av_get_output_timestamp, iFEpipp)
//GOM(av_get_packet, iFEppi)
//GOM(av_guess_codec, uFEppppi)
//GOM(av_guess_format, pFEppp)
//GOM(av_guess_frame_rate, UFEppp)
//GOM(av_guess_sample_aspect_ratio, UFEppp)
GO(av_hex_dump, vFSpi)
GO(av_hex_dump_log, vFpipi)
GO(av_index_search_timestamp, iFpIi)
//GOM(av_interleaved_write_frame, iFEpp)
//GOM(av_interleaved_write_uncoded_frame, iFEpip)
//GOM(avio_accept, iFEpp)
GOM(avio_alloc_context, pFEpiipppp)
GO(avio_check, iFpi)
//GOM(avio_close, iFEp)
GO(avio_close_dir, iFp)
//GOM(avio_close_dyn_buf, iFEpp)
//GOM(avio_closep, iFEp)
GO(avio_context_free, vFp)
GO(avio_enum_protocols, pFpi)
//GOM(avio_feof, iFEp)
GO(avio_find_protocol_name, pFp)
GO(avio_flush, vFp)
GO(avio_free_directory_entry, vFp)
//GOM(avio_get_dyn_buf, iFEpp)
//GOM(avio_get_str, iFEpipi)
//GOM(avio_get_str16be, iFEpipi)
//GOM(avio_get_str16le, iFEpipi)
//GOM(avio_handshake, iFEp)
GO(avio_open, iFppi)
//GOM(avio_open2, iFEppipp)
GO(avio_open_dir, iFppp)
//GOM(avio_open_dyn_buf, iFEp)
//GOM(avio_pause, iFEpi)
//GOM(avio_printf, iFEppV)
//GOM(avio_print_string_array, vFEpp)
//GOM(avio_protocol_get_class, pFEp)
//GOM(avio_put_str, iFEpp)
//GOM(avio_put_str16be, iFEpp)
//GOM(avio_put_str16le, iFEpp)
//GOM(avio_r8, iFEp)
//GOM(avio_rb16, uFEp)
//GOM(avio_rb24, uFEp)
//GOM(avio_rb32, uFEp)
//GOM(avio_rb64, UFEp)
//GOM(avio_read, iFEppi)
GO(avio_read_dir, iFpp)
//GOM(avio_read_partial, iFEppi)
//GOM(avio_read_to_bprint, iFEppL)
//GOM(avio_rl16, uFEp)
//GOM(avio_rl24, uFEp)
//GOM(avio_rl32, uFEp)
//GOM(avio_rl64, UFEp)
//GOM(avio_seek, IFEpIi)
//GOM(avio_seek_time, IFEpiIi)
//GOM(avio_size, IFEp)
//GOM(avio_skip, IFEpI)
//GOM(avio_vprintf, iFEppA)
//GOM(avio_w8, vFEpi)
//GOM(avio_wb16, vFEpu)
//GOM(avio_wb24, vFEpu)
//GOM(avio_wb32, vFEpu)
//GOM(avio_wb64, vFEpU)
//GOM(avio_wl16, vFEpu)
//GOM(avio_wl24, vFEpu)
//GOM(avio_wl32, vFEpu)
//GOM(avio_wl64, vFEpU)
//GOM(avio_write, vFEppi)
//GOM(avio_write_marker, vFEpIu)
GO(av_match_ext, iFpp)
GO(av_muxer_iterate, pFp)
//GOM(av_new_program, pFEpi)
//GOM(av_pkt_dump2, vFESpip)
//GOM(av_pkt_dump_log2, vFEpipip)
//GO(avpriv_dv_get_packet, 
//GO(avpriv_dv_init_demux, 
//GO(avpriv_dv_produce_packet, 
//GO(avpriv_mpegts_parse_close, 
//GO(avpriv_mpegts_parse_open, 
//GO(avpriv_mpegts_parse_packet, 
//GO(avpriv_new_chapter, 
//GO(avpriv_register_devices, 
//GO(avpriv_set_pts_info, 
//GO(avpriv_stream_set_need_parsing, 
//GO(avpriv_update_cur_dts, 
//GOM(av_probe_input_buffer, iFEppppuu)
//GOM(av_probe_input_buffer2, iFEppppuu)
//GOM(av_probe_input_format, pFEpi)
//GOM(av_probe_input_format2, pFEpip)
//GOM(av_probe_input_format3, pFEpip)
//GOM(av_program_add_stream_index, vFEpiu)
GO(av_read_frame, iFpp) // use AVFormatContext wich might needs some wrapping   
//GOM(av_read_pause, iFEp)
//GOM(av_read_play, iFEp)
//GOM(av_sdp_create, iFEpipi)
GO(av_seek_frame, iFpiIi)
//GOM(av_stream_add_side_data, iFEpupL)
//GOM(av_stream_get_class, pFEv)
//GOM(av_stream_get_codec_timebase, UFEp)
//GOM(av_stream_get_parser, pFEp)
//GOM(av_stream_get_side_data, pFEpup)
//GOM(av_stream_group_get_class, pFEv)
//GOM(av_stream_new_side_data, pFEpuL)
GO(av_url_split, vFpipipippip)
GO(av_write_frame, iFpp)
GO(av_write_trailer, iFp)
//GOM(av_write_uncoded_frame, iFEpip)
//GOM(av_write_uncoded_frame_query, iFEpi)
