-Never assume the API of libav* to be stable unless at least 1 week has passed since
-the last major version increase.
+Never assume the API of libav* to be stable unless at least 1 month has passed
+since the last major version increase.
+
The last version increases were:
-libavcodec: ?
-libavcore: 2010-07-21
-libavdevice: ?
-libavfilter: 2009-10-18
-libavformat: ?
-libpostproc: ?
-libswscale: ?
-libavutil: 2009-03-08
+libavcodec: 2011-04-18
+libavdevice: 2011-04-18
+libavfilter: 2011-04-18
+libavformat: 2011-04-18
+libpostproc: 2011-04-18
+libswscale: 2011-04-18
+libavutil: 2011-04-18
API changes, most recent first:
-2010-11-04 - r25700 - lavfi 1.57.0 - AVFilterInOut
+2011-04-xx - xxxxxx - lavfi 2.2.0 - vsrc_buffer
+ Add sample_aspect_ratio fields to vsrc_buffer arguments
+
+2011-04-21 - 94f7451 - lavc 53.1.0 - avcodec.h
+ Add CODEC_CAP_SLICE_THREADS for codecs supporting sliced threading.
+
+2011-04-15 - lavc 52.120.0 - avcodec.h
+ AVPacket structure got additional members for passing side information:
+ 4de339e introduce side information for AVPacket
+ 2d8591c make containers pass palette change in AVPacket
+
+2011-04-12 - lavf 52.107.0 - avio.h
+ Avio cleanup, part II - deprecate the entire URLContext API:
+ 175389c add avio_check as a replacement for url_exist
+ ff1ec0c add avio_pause and avio_seek_time as replacements
+ for _av_url_read_fseek/fpause
+ cdc6a87 deprecate av_protocol_next(), avio_enum_protocols
+ should be used instead.
+ 80c6e23 rename url_set_interrupt_cb->avio_set_interrupt_cb.
+ f87b1b3 rename open flags: URL_* -> AVIO_*
+ f8270bb add avio_enum_protocols.
+ 5593f03 deprecate URLProtocol.
+ c486dad deprecate URLContext.
+ 026e175 deprecate the typedef for URLInterruptCB
+ 8e76a19 deprecate av_register_protocol2.
+ b840484 deprecate URL_PROTOCOL_FLAG_NESTED_SCHEME
+ 1305d93 deprecate av_url_read_seek
+ fa104e1 deprecate av_url_read_pause
+ 727c7aa deprecate url_get_filename().
+ 5958df3 deprecate url_max_packet_size().
+ 1869ea0 deprecate url_get_file_handle().
+ 32a97d4 deprecate url_filesize().
+ e52a914 deprecate url_close().
+ 58a48c6 deprecate url_seek().
+ 925e908 deprecate url_write().
+ dce3756 deprecate url_read_complete().
+ bc371ac deprecate url_read().
+ 0589da0 deprecate url_open().
+ 62eaaea deprecate url_connect.
+ 5652bb9 deprecate url_alloc.
+ 333e894 deprecate url_open_protocol
+ e230705 deprecate url_poll and URLPollEntry
+
+2011-04-10 - lavu 50.40.0 - pixfmt.h
+ Add PIX_FMT_BGR48LE and PIX_FMT_BGR48BE pixel formats
+
+2011-04-08 - lavf 52.106.0 - avformat.h
+ Minor avformat.h cleanup:
+ a9bf9d8 deprecate av_guess_image2_codec
+ c3675df rename avf_sdp_create->av_sdp_create
+
+2011-04-03 - lavf 52.105.0 - avio.h
+ Large-scale renaming/deprecating of AVIOContext-related functions:
+ 724f6a0 deprecate url_fdopen
+ 403ee83 deprecate url_open_dyn_packet_buf
+ 6dc7d80 rename url_close_dyn_buf -> avio_close_dyn_buf
+ b92c545 rename url_open_dyn_buf -> avio_open_dyn_buf
+ 8978fed introduce an AVIOContext.seekable field as a replacement for
+ AVIOContext.is_streamed and url_is_streamed()
+ b64030f deprecate get_checksum()
+ 4c4427a deprecate init_checksum()
+ 4ec153b deprecate udp_set_remote_url/get_local_port
+ 933e90a deprecate av_url_read_fseek/fpause
+ 8d9769a deprecate url_fileno
+ b7f2fdd rename put_flush_packet -> avio_flush
+ 35f1023 deprecate url_close_buf
+ 83fddae deprecate url_open_buf
+ d9d86e0 rename url_fprintf -> avio_printf
+ 59f65d9 deprecate url_setbufsize
+ 3e68b3b deprecate url_ferror
+ 66e5b1d deprecate url_feof
+ e8bb2e2 deprecate url_fget_max_packet_size
+ 76aa876 rename url_fsize -> avio_size
+ e519753 deprecate url_fgetc
+ 655e45e deprecate url_fgets
+ a2704c9 rename url_ftell -> avio_tell
+ e16ead0 deprecate get_strz() in favor of avio_get_str
+ 0300db8,2af07d3 rename url_fskip -> avio_skip
+ 6b4aa5d rename url_fseek -> avio_seek
+ 61840b4 deprecate put_tag
+ 22a3212 rename url_fopen/fclose -> avio_open/close.
+ 0ac8e2b deprecate put_nbyte
+ 77eb550 rename put_byte -> avio_w8
+ put_[b/l]e<type> -> avio_w[b/l]<type>
+ put_buffer -> avio_write
+ b7effd4 rename get_byte -> avio_r8,
+ get_[b/l]e<type> -> avio_r[b/l]<type>
+ get_buffer -> avio_read
+ b3db9ce deprecate get_partial_buffer
+ 8d9ac96 rename av_alloc_put_byte -> avio_alloc_context
+
+2011-03-25 - 34b47d7 - lavc 52.115.0 - AVCodecContext.audio_service_type
+ Add audio_service_type field to AVCodecContext.
+
+2011-03-02 - 863c471 - lavf 52.103.0 - av_pkt_dump2, av_pkt_dump_log2
+ Add new functions av_pkt_dump2, av_pkt_dump_log2 that uses the
+ source stream timebase for outputting timestamps. Deprecate
+ av_pkt_dump and av_pkt_dump_log.
+
+2011-02-20 - e731b8d - lavf 52.102.0 - avio.h
+ * e731b8d - rename init_put_byte() to ffio_init_context(), deprecating the
+ original, and move it to a private header so it is no longer
+ part of our public API. Instead, use av_alloc_put_byte().
+ * ae628ec - rename ByteIOContext to AVIOContext.
+
+2011-02-16 - 09d171b - lavf 52.101.0 - avformat.h
+ lavu 52.39.0 - parseutils.h
+ * 610219a - Add av_ prefix to dump_format().
+ * f6c7375 - Replace parse_date() in lavf with av_parse_time() in lavu.
+ * ab0287f - Move find_info_tag from lavf to lavu and add av_prefix to it.
+
+2011-02-15 - lavu 52.38.0 - merge libavcore
+ libavcore is merged back completely into libavutil
+
+2011-02-10 - 55bad0c - lavc 52.113.0 - vbv_delay
+ Add vbv_delay field to AVCodecContext
+
+2011-02-14 - 24a83bd - lavf 52.100.0 - AV_DISPOSITION_CLEAN_EFFECTS
+ Add AV_DISPOSITION_CLEAN_EFFECTS disposition flag.
+
+2011-02-14 - 910b5b8 - lavfi 1.76.0 - AVFilterLink sample_aspect_ratio
+ Add sample_aspect_ratio field to AVFilterLink.
+
+2011-02-10 - 12c14cd - lavf 52.99.0 - AVStream.disposition
+ Add AV_DISPOSITION_HEARING_IMPAIRED and AV_DISPOSITION_VISUAL_IMPAIRED.
+
+2011-02-09 - 5592734 - lavc 52.112.0 - avcodec_thread_init()
+ Deprecate avcodec_thread_init()/avcodec_thread_free() use; instead
+ set thread_count before calling avcodec_open.
+
+2011-02-09 - 778b08a - lavc 52.111.0 - threading API
+ Add CODEC_CAP_FRAME_THREADS with new restrictions on get_buffer()/
+ release_buffer()/draw_horiz_band() callbacks for appropriate codecs.
+ Add thread_type and active_thread_type fields to AVCodecContext.
+
+2011-02-08 - 3940caa - lavf 52.98.0 - av_probe_input_buffer
+ Add av_probe_input_buffer() to avformat.h for probing format from a
+ ByteIOContext.
+
+2011-02-06 - fe174fc - lavf 52.97.0 - avio.h
+ Add flag for non-blocking protocols: URL_FLAG_NONBLOCK
+
+2011-02-04 - f124b08 - lavf 52.96.0 - avformat_free_context()
+ Add avformat_free_context() in avformat.h.
+
+2011-02-03 - f5b82f4 - lavc 52.109.0 - add CODEC_ID_PRORES
+ Add CODEC_ID_PRORES to avcodec.h.
+
+2011-02-03 - fe9a3fb - lavc 52.109.0 - H.264 profile defines
+ Add defines for H.264 * Constrained Baseline and Intra profiles
+
+2011-02-02 - lavf 52.95.0
+ * 50196a9 - add a new installed header version.h.
+ * 4efd5cf, dccbd97, 93b78d1 - add several variants of public
+ avio_{put,get}_str* functions. Deprecate corresponding semi-public
+ {put,get}_str*.
+
+2011-02-02 - dfd2a00 - lavu 50.37.0 - log.h
+ Make av_dlog public.
+
+2011-01-15 - r26374 - lavfi 1.74.0 - AVFilterBufferRefAudioProps
+ Rename AVFilterBufferRefAudioProps.samples_nb to nb_samples.
+
+2011-01-14 - r26330 - lavf 52.93.0 - av_metadata_copy()
+ Add av_metadata_copy() in avformat.h.
+
+2011-01-07 - r26262 - lavc 52.107.0 - deprecate reordered_opaque
+ Deprecate reordered_opaque in favor of pkt_pts/dts.
+
+2011-01-07 - r26261 - lavc 52.106.0 - pkt_dts
+ Add pkt_dts to AVFrame, this will in the future allow multithreading decoders
+ to not mess up dts.
+
+2011-01-07 - r26260 - lavc 52.105.0 - pkt_pts
+ Add pkt_pts to AVFrame.
+
+2011-01-07 - r26259 - lavc 52.104.0 - av_get_profile_name()
+ Add av_get_profile_name to libavcodec/avcodec.h.
+
+2010-12-27 - r26108 - lavfi 1.71.0 - AV_PERM_NEG_LINESIZES
+ Add AV_PERM_NEG_LINESIZES in avfilter.h.
+
+2010-12-27 - r26104 - lavf 52.91.0 - av_find_best_stream()
+ Add av_find_best_stream to libavformat/avformat.h.
+
+2010-12-27 - r26103 - lavf 52.90.0
+ Add AVFMT_NOSTREAMS flag for formats with no streams,
+ like e.g. text metadata.
+
+2010-12-22 - r26073 - lavu 50.36.0 - file.h
+ Add functions av_file_map() and av_file_unmap() in file.h.
+
+2010-12-19 - r26056 - lavu 50.35.0 - error.h
+ Add "not found" error codes:
+ AVERROR_DEMUXER_NOT_FOUND
+ AVERROR_MUXER_NOT_FOUND
+ AVERROR_DECODER_NOT_FOUND
+ AVERROR_ENCODER_NOT_FOUND
+ AVERROR_PROTOCOL_NOT_FOUND
+ AVERROR_FILTER_NOT_FOUND
+ AVERROR_BSF_NOT_FOUND
+ AVERROR_STREAM_NOT_FOUND
+
+2010-12-09 - r25923 - lavcore 0.16.0 - avcore.h
+ Move AV_NOPTS_VALUE, AV_TIME_BASE, AV_TIME_BASE_Q symbols from
+ avcodec.h to avcore.h.
+
+2010-12-04 - r25886 - lavc 52.98.0 - CODEC_CAP_NEG_LINESIZES
+ Add CODEC_CAP_NEG_LINESIZES codec capability flag in avcodec.h.
+
+2010-12-04 - r25879 - lavu 50.34.0 - av_get_pix_fmt_string()
+ Deprecate avcodec_pix_fmt_string() in favor of
+ pixdesc.h/av_get_pix_fmt_string().
+
+2010-12-04 - r25878 - lavcore 0.15.0 - av_image_alloc()
+ Add av_image_alloc() to libavcore/imgutils.h.
+
+2010-12-02 - r25862 - lavfi 1.67.0 - avfilter_graph_create_filter()
+ Add function avfilter_graph_create_filter() in avfiltergraph.h.
+
+2010-11-25 - r25826 - lavfi 1.65.0 - avfilter_get_video_buffer_ref_from_arrays()
+ Add function avfilter_get_video_buffer_ref_from_arrays() in
+ avfilter.h.
+
+2010-11-21 - r25787 - lavcore 0.14.0 - audioconvert.h
+ Add a public audio channel API in audioconvert.h, and deprecate the
+ corresponding functions in libavcodec:
+ avcodec_get_channel_name()
+ avcodec_get_channel_layout()
+ avcodec_get_channel_layout_string()
+ avcodec_channel_layout_num_channels()
+ and the CH_* macros defined in libavcodec/avcodec.h.
+
+2010-11-21 - r25777 - lavf 52.85.0 - avformat.h
+ Add av_append_packet().
+
+2010-11-21 - r25776 - lavc 52.97.0 - avcodec.h
+ Add av_grow_packet().
+
+2010-11-17 - r25761 - lavcore 0.13.0 - parseutils.h
+ Add av_parse_color() declared in libavcore/parseutils.h.
+
+2010-11-13 - r25745 - lavc 52.95.0 - AVCodecContext
+ Add AVCodecContext.subtitle_header and AVCodecContext.subtitle_header_size
+ fields.
+
+2010-11-13 - r25740 - lavfi 1.62.0 - avfiltergraph.h
+ Make avfiltergraph.h public.
+
+2010-11-13 - r25737 - lavfi 1.61.0 - avfiltergraph.h
+ Remove declarations from avfiltergraph.h for the functions:
+ avfilter_graph_check_validity()
+ avfilter_graph_config_links()
+ avfilter_graph_config_formats()
+ which are now internal.
+ Use avfilter_graph_config() instead.
+
+2010-11-08 - r25708 - lavu 50.33.0 - eval.h
+ Deprecate functions:
+ av_parse_and_eval_expr(),
+ av_parse_expr(),
+ av_eval_expr(),
+ av_free_expr(),
+ in favor of the functions:
+ av_expr_parse_and_eval(),
+ av_expr_parse(),
+ av_expr_eval(),
+ av_expr_free().
+
+2010-11-08 - r25707 - lavfi 1.59.0 - avfilter_free()
+ Rename avfilter_destroy() to avfilter_free().
+ This change breaks libavfilter API/ABI.
+
+2010-11-07 - r25705 - lavfi 1.58.0 - avfiltergraph.h
+ Remove graphparser.h header, move AVFilterInOut and
+ avfilter_graph_parse() declarations to libavfilter/avfiltergraph.h.
+
+2010-11-07 - r25700 - lavfi 1.57.0 - AVFilterInOut
Rename field AVFilterInOut.filter to AVFilterInOut.filter_ctx.
This change breaks libavfilter API.
2010-05-26 - r23334 - lavc 52.72.0 - CODEC_CAP_EXPERIMENTAL
Add CODEC_CAP_EXPERIMENTAL flag.
+ NOTE: this was backported to 0.6
2010-05-23 - r23255 - lavu 50.16.0 - av_get_random_seed()
Add av_get_random_seed().
2010-05-18 - r23161 - lavf 52.63.0 - AVFMT_FLAG_RTP_HINT
Add AVFMT_FLAG_RTP_HINT as possible value for AVFormatContext.flags.
+ NOTE: this was backported to 0.6
2010-05-09 - r23066 - lavfi 1.20.0 - AVFilterPicRef
Add interlaced and top_field_first fields to AVFilterPicRef.
+------------------------------8<-------------------------------------
+ 0.6 branch was cut here
+----------------------------->8--------------------------------------
+
2010-05-01 - r23002 - lavf 52.62.0 - probe function
Add av_probe_input_format2 to API, it allows ignoring probe
results below given score and returns the actual probe score.