# access=rwi # r read (get) # w write (set) # i read/write indexed (get/setAtIndex) struct field:rename=studly-caps func:rename=camel-case access=rw { } struct AVFormatContext default=none func:rename=s/^(avformat_|av_)//,camel-case field:rename=studly-caps { iformat access=r rename=InputFormat oformat access=r rename=OutputFormat pb rename=IOContext ctx_flags access=r nb_streams access=r rename=NumStreams streams array-size=nb_streams start_time access=r duration access=r bit_rate access=r interrupt_callback func:avformat_open_input static constructor=byref constructor-result=0 success=0 func:avformat_find_stream_info rename=findStreamInfo instance=0 func:av_read_frame } struct AVStream default=none field:rename=studly-caps { index access=r id access=r rename=ID time_base start_time duration nb_frames rename=NumFrames discard avg_frame_rate rename=AverageFrameRate sample_aspect_ratio codecpar rename=CodecParameters } struct AVCodec access=r default=none func:rename=s/^avcodec_//,camel-case field:rename=studly-caps { id rename=ID name long_name type capabilities max_lowres # need some sort of length=null-terminated here i suppose supported_framerates rename=framerates pix_fmts rename=pixelFormats func:av_codec_next static rename=next func:avcodec_find_decoder static func:avcodec_find_decoder_by_name static # here or on AVCodecContext? func:avcodec_alloc_context3 rename=allocContext define:AVCodecBits } struct AVCodecContext default=none func:rename=s/^avcodec_//,camel-case field:rename=studly-caps { codec_id rename=CodecID skip_loop_filter skip_idct skip_frame func:avcodec_alloc_context3 static rename=alloc func:avcodec_open2 rename=open func:avcodec_send_packet func:avcodec_receive_packet func:avcodec_send_frame func:avcodec_receive_frame define:AVCodecContextBits } struct AVFrame default=all func:rename=s/^av_frame_//,camel-case field:rename=studly-caps { func:av_frame_alloc static func:av_frame_free } struct AVFrameSideData default=none { } struct AVRational field:rename=studly-caps { } struct AVCodecParameters func:rename=s/^avcodec_parameters_//,camel-case field:rename=studly-caps { codec_id rename=CodecID func:avcodec_parameters_alloc static func:avcodec_parameters_free func:avcodec_parameters_copy func:avcodec_parameters_to_context instance=1 func:avcodec_parameters_from_context } struct AVPacket default=all func:rename=s/^av_packet_//,camel-case field:rename=studly-caps { pts|dts rename=upper-leadin data array-size=size func:av_packet_alloc static func:av_packet_free func:av_init_packet rename=init } struct SwsContext func:rename=s/^sws_// { # func:/^sws_/ func:sws_getContext static func:sws_freeContext func:sws_scale define:sws } struct SwsFilter { } struct SwsVector { } struct AVPixFmtDescriptor { } struct AVComponentDescriptor access=rwi { } library AVUtil { func:/^av_image_/ } struct AVProbeData default=none field:rename=studly-caps { } struct AVBufferRef access=rwi default=none { } struct AVPacketSideData default=none { } struct AVIOContext default=none { } struct AVIOInterruptCB default=none { } struct AVDictionaryEntry { } struct AVDictionary func:rename=s/^av_dict_//,camel-case { define:dict func:/av_dict_/ } struct AVInputFormat default=none access=r field:rename=studly-caps { name long_name mime_type flags extensions # want to define functions here func:av_iformat_next static rename=next func:av_register_input_format instance=0 rename=register } struct AVOutputFormat default=none field:rename=studly-caps { name long_name mime_type flags extensions audio_codec video_codec subtitle_codec } define dict ffmpeg.h { /AV_DICT_/ } define AVChannelLayoutBits ffmpeg.h { /^AV_CH_LAYOUT_/ x64 } define AVErrorBits ffmpeg.h { /^AVERROR_/ x32 } define AVCodecContextBits ffmpeg.h { /^AV_CODEC_FLAG_|AV_CODEC_FLAG2_/ u32 /^AV_INPUT_BUFFER_/ i32 } define AVCodecBits ffmpeg.h { /^AV_CODEC_CAP_/ x32 } define AVIOContextBits ffmpeg.h { /^AVSEEK_|AVIO_FLAG_|AVIO_SEEKABLE_/ } define AVOptionsBits ffmpeg.h { /^AV_OPT_/ } define sws ffmpeg.h { /^SWS_/ } # This is used to define 'char *' arguments which are not strings. # ... a bit clumsy func av_image_copy_plane { src|dst array } func av_image_copy_to_buffer { dst array } func av_image_fill_arrays { src array } func av_image_fill_pointers { ptr array }