]> git.sesse.net Git - ffmpeg/blobdiff - doc/APIchanges
vdpau: deprecate old codec-specific pixel formats
[ffmpeg] / doc / APIchanges
index 889156e0bc05dd09d94301ddaca3c73e3ad58326..3a222da9a9f05071966d18c7e2adb0baa41a0fa6 100644 (file)
@@ -2,22 +2,314 @@ 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:  2012-01-27
-libavdevice: 2011-04-18
-libavfilter: 2011-04-18
-libavformat: 2012-01-27
-libswscale:  2011-06-20
-libavutil:   2011-04-18
+libavcodec:    2013-03-xx
+libavdevice:   2013-03-xx
+libavfilter:   2012-06-22
+libavformat:   2013-03-xx
+libavresample: 2012-10-05
+libswscale:    2011-06-20
+libavutil:     2012-10-22
 
 
 API changes, most recent first:
 
-2012-xx-xx - xxxxxxx - lavu 51.27.0 - samplefmt.h
+2013-08-xx - xxxxxxx - lavu 52.14.0 - pixfmt.h
+  Deprecate AV_PIX_FMT_VDPAU_*. Use AV_PIX_FMT_VDPAU instead.
+
+2013-08-xx - xxxxxxx - lavc 55.11.0 - avcodec.h
+  Add output_picture_number to AVCodecParserContext.
+
+2013-06-xx - xxxxxxx - lavc 55.10.0 - avcodec.h
+  Add MPEG-2 AAC profiles
+
+2013-06-xx - xxxxxxx - lavu 52.13.0 - mem.h
+  Add av_realloc_array and av_reallocp_array
+
+2013-05-xx - xxxxxxx - lavfi 3.10.0 - avfilter.h
+  Add support for slice multithreading to lavfi. Filters supporting threading
+  are marked with AVFILTER_FLAG_SLICE_THREADS.
+  New fields AVFilterContext.thread_type, AVFilterGraph.thread_type and
+  AVFilterGraph.nb_threads (accessible directly or through AVOptions) may be
+  used to configure multithreading.
+
+2013-xx-xx - xxxxxxx - lavu 52.12.0 - cpu.h
+  Add av_cpu_count() function for getting the number of logical CPUs.
+
+2013-05-xx - xxxxxxx - lavc 55.7.0 - avcodec.h
+  Add picture_structure to AVCodecParserContext.
+
+2013-05-xx - xxxxxxx - lavu 52.11.0 - pixdesc.h
+  Replace PIX_FMT_* flags with AV_PIX_FMT_FLAG_*.
+
+2013-04-xx - xxxxxxx - lavc 55.4.0 - avcodec.h
+  Add field_order to AVCodecParserContext.
+
+2013-03-xx - xxxxxxx - lavc 55.2.0 - avcodec.h
+  Add CODEC_FLAG_UNALIGNED to allow decoders to produce unaligned output.
+
+2013-04-11 - lavfi 3.8.0
+  38f0c07 - Move all content from avfiltergraph.h to avfilter.h. Deprecate
+            avfilterhraph.h, user applications should include just avfilter.h
+  bc1a985 - Add avfilter_graph_alloc_filter(), deprecate avfilter_open() and
+            avfilter_graph_add_filter().
+  1113672 - Add AVFilterContext.graph pointing to the AVFilterGraph that contains the
+            filter.
+  48a5ada - Add avfilter_init_str(), deprecate avfilter_init_filter().
+  1ba95a9 - Add avfilter_init_dict().
+  7cdd737 - Add AVFilter.flags field and AVFILTER_FLAG_DYNAMIC_{INPUTS,OUTPUTS} flags.
+  7e8fe4b - Add avfilter_pad_count() for counting filter inputs/outputs.
+  fa2a34c - Add avfilter_next(), deprecate av_filter_next().
+            Deprecate avfilter_uninit().
+
+2013-04-09 - lavfi 3.7.0 - avfilter.h
+  b439c99 - Add AVFilter.priv_class for exporting filter options through the
+            AVOptions API in the similar way private options work in lavc and lavf.
+  8114c10 - Add avfilter_get_class().
+  Switch all filters to use AVOptions.
+
+2013-03-19 - 2c328a9 - lavu 52.9.0 - pixdesc.h
+  Add av_pix_fmt_count_planes() function for counting planes in a pixel format.
+
+2013-03-16 - 42c7c61 - lavfi 3.6.0
+  Add AVFilterGraph.nb_filters, deprecate AVFilterGraph.filter_count.
+
+2013-03-08 - Reference counted buffers - lavu 52.8.0, lavc 55.0.0, lavf 55.0.0,
+lavd 54.0.0, lavfi 3.5.0
+  8e401db, 1cec062 - add a new API for reference counted buffers and buffer
+                     pools (new header libavutil/buffer.h).
+  1afddbe - add AVPacket.buf to allow reference counting for the AVPacket data.
+            Add av_packet_from_data() function for constructing packets from
+            av_malloc()ed data.
+  7ecc2d4 - move AVFrame from lavc to lavu (new header libavutil/frame.h), add
+            AVFrame.buf/extended_buf to allow reference counting for the AVFrame
+            data. Add new API for working with reference-counted AVFrames.
+  759001c - add the refcounted_frames field to AVCodecContext to make audio and
+            video decoders return reference-counted frames. Add get_buffer2()
+            callback to AVCodecContext which allocates reference-counted frames.
+            Add avcodec_default_get_buffer2() as the default get_buffer2()
+            implementation.
+            Deprecate AVCodecContext.get_buffer() / release_buffer() /
+            reget_buffer(), avcodec_default_get_buffer(),
+            avcodec_default_reget_buffer(), avcodec_default_release_buffer().
+            Remove avcodec_default_free_buffers(), which should not have ever
+            been called from outside of lavc.
+            Deprecate the following AVFrame fields:
+                * base -- is now stored in AVBufferRef
+                * reference, type, buffer_hints -- are unnecessary in the new API
+                * hwaccel_picture_private, owner, thread_opaque -- should not
+                  have been acessed from outside of lavc
+                * qscale_table, qstride, qscale_type, mbskip_table, motion_val,
+                  mb_type, dct_coeff, ref_index -- mpegvideo-specific tables,
+                  which are not exported anymore.
+  7e35037 - switch libavfilter to use AVFrame instead of AVFilterBufferRef. Add
+            av_buffersrc_add_frame(), deprecate av_buffersrc_buffer().
+            Add av_buffersink_get_frame() and av_buffersink_get_samples(),
+            deprecate av_buffersink_read() and av_buffersink_read_samples().
+            Deprecate AVFilterBufferRef and all functions for working with it.
+
+2013-03-17 - 12c5c1d - lavu 52.8.0 - avstring.h
+  Add av_isdigit, av_isgraph, av_isspace, av_isxdigit.
+
+2013-02-23 - 9f12235 - lavfi 3.4.0 - avfiltergraph.h
+  Add resample_lavr_opts to AVFilterGraph for setting libavresample options
+  for auto-inserted resample filters.
+
+2013-01-25 - 38c1466 - lavu 52.7.0 - dict.h
+  Add av_dict_parse_string() to set multiple key/value pairs at once from a
+  string.
+
+2013-01-25 - b85a5e8 - lavu 52.6.0 - avstring.h
+  Add av_strnstr()
+
+2013-01-15 - 8ee288d - lavu 52.5.0 - hmac.h
+  Add AVHMAC.
+
+2013-01-13 - 44e065d - lavc 54.36.0 - vdpau.h
+  Add AVVDPAUContext struct for VDPAU hardware-accelerated decoding.
+
+2013-01-12 - 169fb94 - lavu 52.4.0 - pixdesc.h
+  Add AV_PIX_FMT_VDPAU flag.
+
+2013-01-07 - 074a00d - lavr 1.1.0
+  Add avresample_set_channel_mapping() for input channel reordering,
+  duplication, and silencing.
+
+2012-12-29 - d8fd06c - lavu 52.3.0 - avstring.h
+  Add av_basename() and av_dirname().
+
+2012-11-11 - 5980f5d - lavu 52.2.0 - audioconvert.h
+  Rename audioconvert.h to channel_layout.h. audioconvert.h is now deprecated.
+
+2012-11-05 - dfde8a3 - lavu 52.1.0 - intmath.h
+  Add av_ctz() for trailing zero bit count
+
+2012-10-21 - a893655 - lavu 51.45.0 - error.h
+  Add AVERROR_EXPERIMENTAL
+
+2012-10-12 - d2fcb35 - lavu 51.44.0 - pixdesc.h
+  Add functions for accessing pixel format descriptors.
+  Accessing the av_pix_fmt_descriptors array directly is now
+  deprecated.
+
+2012-10-11 - 9a92aea - lavu 51.43.0 - aes.h, md5.h, sha.h, tree.h
+  Add functions for allocating the opaque contexts for the algorithms,
+  deprecate the context size variables.
+
+2012-10-10 - b522000 - lavf 54.18.0 - avio.h
+  Add avio_closep to complement avio_close.
+
+2012-10-08 - 78071a1 - lavu 51.42.0 - pixfmt.h
+  Rename PixelFormat to AVPixelFormat and all PIX_FMT_* to AV_PIX_FMT_*.
+  To provide backwards compatibility, PixelFormat is now #defined as
+  AVPixelFormat.
+  Note that this can break user code that includes pixfmt.h and uses the
+  'PixelFormat' identifier. Such code should either #undef PixelFormat
+  or stop using the PixelFormat name.
+
+2012-10-05 - e7ba5b1 - lavr 1.0.0 - avresample.h
+  Data planes parameters to avresample_convert() and
+  avresample_read() are now uint8_t** instead of void**.
+  Libavresample is now stable.
+
+2012-09-24 - a42aada - lavc 54.28.0 - avcodec.h
+  Add avcodec_free_frame(). This function must now
+  be used for freeing an AVFrame.
+
+2012-09-12 - 8919fee - lavu 51.41.0 - audioconvert.h
+  Added AV_CH_LOW_FREQUENCY_2 channel mask value.
+
+2012-09-04 - 686a329 - lavu 51.40.0 - opt.h
+  Reordered the fields in default_val in AVOption, changed which
+  default_val field is used for which AVOptionType.
+
+2012-08-30 - a231832 - lavc 54.26.1 - avcodec.h
+  Add codec descriptor properties AV_CODEC_PROP_LOSSY and
+  AV_CODEC_PROP_LOSSLESS.
+
+2012-08-18 - lavc 54.26 - avcodec.h
+  Add codec descriptors for accessing codec properties without having
+  to refer to a specific decoder or encoder.
+
+  c223d79 - Add an AVCodecDescriptor struct and functions
+            avcodec_descriptor_get() and avcodec_descriptor_next().
+  51efed1 - Add AVCodecDescriptor.props and AV_CODEC_PROP_INTRA_ONLY.
+  91e59fe - Add avcodec_descriptor_get_by_name().
+
+
+2012-08-08 - 1d9c2dc - lavu 51.39 - avutil.h
+  Don't implicitly include libavutil/common.h in avutil.h
+
+2012-08-08 - 987170c - lavu 51.38 - dict.h
+  Add av_dict_count().
+
+2012-08-07 - 104e10f - lavc 54.25 - avcodec.h
+  Rename CodecID to AVCodecID and all CODEC_ID_* to AV_CODEC_ID_*.
+  To provide backwards compatibility, CodecID is now #defined as AVCodecID.
+  Note that this can break user code that includes avcodec.h and uses the
+  'CodecID' identifier. Such code should either #undef CodecID or stop using the
+  CodecID name.
+
+2012-08-03 - 239fdf1 - lavu 51.37.1 - cpu.h
+                       lsws 2.1.1   - swscale.h
+  Rename AV_CPU_FLAG_MMX2  ---> AV_CPU_FLAG_MMXEXT.
+  Rename SWS_CPU_CAPS_MMX2 ---> SWS_CPU_CAPS_MMXEXT.
+
+2012-07-29 - 681ed00 - lavf 54.13.0 - avformat.h
+  Add AVFMT_FLAG_NOBUFFER for low latency use cases.
+
+2012-07-20 - b70d89a - lavfi 3.0.0 - avfilter.h
+  Add avfilter_unref_bufferp().
+
+2012-07-10 - 5fade8a - lavu 51.37.0
+  Add av_malloc_array() and av_mallocz_array()
+
+2012-06-22 - d3d3a32 - lavu 51.34.0
+  Add av_usleep()
+
+2012-06-20 - ae0a301 - lavu 51.33.0
+  Move av_gettime() to libavutil, add libavutil/time.h
+
+2012-06-09 - 3971be0 - lavr 0.0.3
+  Add a parameter to avresample_build_matrix() for Dolby/DPLII downmixing.
+
+2012-06-12 - 9baeff9 - lavfi 2.23.0 - avfilter.h
+  Add AVFilterContext.nb_inputs/outputs. Deprecate
+  AVFilterContext.input/output_count.
+
+2012-06-12 - 84b9fbe - lavfi 2.22.0 - avfilter.h
+  Add avfilter_pad_get_type() and avfilter_pad_get_name(). Those
+  should now be used instead of accessing AVFilterPad members
+  directly.
+
+2012-06-12 - b0f0dfc - lavu 51.32.0 - audioconvert.h
+  Add av_get_channel_layout_channel_index(), av_get_channel_name()
+  and av_channel_layout_extract_channel().
+
+2012-05-25 - 154486f - lavu 51.31.0 - opt.h
+  Add av_opt_set_bin()
+
+2012-05-26 - e9cef89 - lavf 54.3.0
+  Add AVFMT_TS_NONSTRICT format flag to indicate that a muxer supports
+  non-increasing monotone timestamps.
+
+2012-05-15 - lavfi 2.17.0
+  Add support for audio filters
+  ac71230/a2cd9be - add video/audio buffer sink in a new installed
+                    header buffersink.h
+  720c6b7 - add av_buffersrc_write_frame(), deprecate
+            av_vsrc_buffer_add_frame()
+  ab16504 - add avfilter_copy_buf_props()
+  9453c9e - add extended_data to AVFilterBuffer
+  1b8c927 - add avfilter_get_audio_buffer_ref_from_arrays()
+
+2012-05-09 - lavu 51.30.0 - samplefmt.h
+  142e740 - add av_samples_copy()
+  6d7f617 - add av_samples_set_silence()
+
+2012-05-09 - a5117a2 - lavc 54.13.1
+  For audio formats with fixed frame size, the last frame
+  no longer needs to be padded with silence, libavcodec
+  will handle this internally (effectively all encoders
+  behave as if they had CODEC_CAP_SMALL_LAST_FRAME set).
+
+2012-05-07 - 828bd08 - lavc 54.13.0 - avcodec.h
+  Add sample_rate and channel_layout fields to AVFrame.
+
+2012-05-01 - 4010d72 - lavr 0.0.1
+  Change AV_MIX_COEFF_TYPE_Q6 to AV_MIX_COEFF_TYPE_Q8.
+
+2012-04-25 - 3527a73 - lavu 51.29.0 - cpu.h
+  Add av_parse_cpu_flags()
+
+2012-04-24 - c8af852 - lavr 0.0.0
+  Add libavresample audio conversion library
+
+2012-04-20 - 0c0d1bc - lavu 51.28.0 - audio_fifo.h
+  Add audio FIFO functions:
+    av_audio_fifo_free()
+    av_audio_fifo_alloc()
+    av_audio_fifo_realloc()
+    av_audio_fifo_write()
+    av_audio_fifo_read()
+    av_audio_fifo_drain()
+    av_audio_fifo_reset()
+    av_audio_fifo_size()
+    av_audio_fifo_space()
+
+2012-04-14 - lavfi 2.16.0 - avfiltergraph.h
+  d7bcc71 Add avfilter_graph_parse2().
+  91d3cbe Add avfilter_inout_alloc() and avfilter_inout_free().
+
+2012-04-08 - 4d693b0 - lavu 51.27.0 - samplefmt.h
   Add av_get_packed_sample_fmt() and av_get_planar_sample_fmt()
 
-2012-xx-xx - xxxxxxx - lavu 51.26.0 - audioconvert.h
+2012-04-05 - 5cc51a5 - lavu 51.26.0 - audioconvert.h
   Add av_get_default_channel_layout()
 
+2012-03-20 - 3c90cc2 - lavfo 54.2.0
+  Deprecate av_read_packet(), use av_read_frame() with
+  AVFMT_FLAG_NOPARSE | AVFMT_FLAG_NOFILLIN in AVFormatContext.flags
+
 2012-03-06 - 4d851f8 - lavu 51.25.0 - cpu.h
   Add av_set_cpu_flags_mask().