lavf: add AVFMT_FLAG_BITEXACT.
[ffmpeg.git] / doc / APIchanges
index e4597b9..57ef04f 100644 (file)
@@ -4,38 +4,241 @@ since the last major version increase.
 The last version increases were:
 libavcodec:    2013-03-xx
 libavdevice:   2013-03-xx
-libavfilter:   2012-06-22
+libavfilter:   2013-12-xx
 libavformat:   2013-03-xx
 libavresample: 2012-10-05
 libswscale:    2011-06-20
-libavutil:     2012-10-22
+libavutil:     2013-12-xx
 
 
 API changes, most recent first:
 
-2013-xx-xx - lavfi 3.7.0 - avfilter.h
-  Add AVFilter.priv_class for exporting filter options through the AVOptions API
-  in the similar way private options work in lavc and lavf.
-  Add avfilter_get_class().
+2014-05-xx - xxxxxxx - lavf 55.17.0 - avformat.h
+  Add AVMFT_FLAG_BITEXACT flag. Muxers now use it instead of checking
+  CODEC_FLAG_BITEXACT on the first stream.
+
+2014-xx-xx - xxxxxxx - lavu 53.14.0 - pixfmt.h
+  Add AV_PIX_FMT_VDA for new-style VDA acceleration.
+
+2014-04-xx - xxxxxxx - lavc 55.50.3 - avcodec.h
+  Deprecate CODEC_FLAG_MV0. It is replaced by the flag "mv0" in the
+  "mpv_flags" private option of the mpegvideo encoders.
+
+2014-04-xx - xxxxxxx - lavc 55.50.2 - avcodec.h
+  Deprecate CODEC_FLAG_GMC. It is replaced by the "gmc" private option of the
+  libxvid encoder.
+
+2014-04-xx - xxxxxxx - lavc 55.50.1 - avcodec.h
+  Deprecate CODEC_FLAG_NORMALIZE_AQP. It is replaced by the flag "naq" in the
+  "mpv_flags" private option of the mpegvideo encoders.
+
+2014-04-xx - xxxxxxx - avcodec.h
+  Deprecate CODEC_FLAG_INPUT_PRESERVED. Its functionality is replaced by passing
+  reference-counted frames to encoders.
+
+2014-04-xx - xxxxxxx - lavc 55.50.0 - dxva2.h
+  Add FF_DXVA2_WORKAROUND_INTEL_CLEARVIDEO for old Intel GPUs.
+
+2014-04-xx - xxxxxxx - lavu 53.13.0 - avutil.h
+  Add av_get_time_base_q().
+
+2014-04-xx - xxxxxxx - lavu 53.12.0 - crc.h
+  Add AV_CRC_16_ANSI_LE crc variant.
+
+2014-04-xx - xxxxxxx - lavu 53.11.0 - pixfmt.h
+  Add AV_PIX_FMT_YVYU422 pixel format.
+
+2014-04-xx - xxxxxxx - lavu 53.10.0 - replaygain.h
+  Full scale for peak values is now 100000 (instead of UINT32_MAX) and values
+  may overflow.
+
+2014-04-xx - xxxxxxx - lavu 53.09.0 - log.h
+  Add AV_LOG(c) macro to have 256 color debug messages.
+
+2014-02-xx - xxxxxxx - lavu 53.08.0 - frame.h
+  Add av_frame_remove_side_data() for removing a single side data
+  instance from a frame.
+
+2014-02-xx - xxxxxxx - lavu 53.07.0 - frame.h, replaygain.h
+  Add AV_FRAME_DATA_REPLAYGAIN for exporting replaygain tags.
+  Add a new header replaygain.h with the AVReplayGain struct.
+
+2014-02-xx - xxxxxxx - lavc 55.36.0 - avcodec.h
+  Add AV_PKT_DATA_REPLAYGAIN for exporting replaygain tags.
+
+2014-02-xx - xxxxxxx - lavf 55.13.0 - avformat.h
+  Add AVStream.side_data and AVStream.nb_side_data for exporting stream-global
+  side data (e.g. replaygain tags, video rotation)
+
+2014-02-xx - xxxxxxx - lavc 55.35.0 - avcodec.h
+  Give the name AVPacketSideData to the previously anonymous struct used for
+  AVPacket.side_data.
+
+2014-xx-xx - xxxxxxx - lavu 53.06.0 - pixfmt.h
+  Add RGBA64 pixel format and variants.
+
+2014-xx-xx - xxxxxxx - lavu 53.05.0 - frame.h
+  Add av_frame_copy() for copying the frame data.
+
+2014-02-xx - xxxxxxx - lavr 1.2.0 - avresample.h
+  Add avresample_is_open() for checking whether a resample context is open.
+
+2014-xx-xx - xxxxxxx - lavu 53.04.0  - opt.h
+  Add AV_OPT_FLAG_EXPORT and AV_OPT_FLAG_READONLY to mark options meant (only)
+  for reading.
+
+2014-xx-xx - xxxxxxx - lavu 53.03.01 - opt.h
+  Deprecate unused AV_OPT_FLAG_METADATA.
+
+2014-02-xx - xxxxxxx - lavu 53.3.0 - frame.h
+  Add AV_FRAME_DATA_DOWNMIX_INFO value to the AVFrameSideDataType enum and
+  downmix_info.h API, which identify downmix-related metadata.
+
+2014-02-04 - d9ae103 - lavf 55.11.0 - avformat.h
+  Add AVFormatContext.max_interleave_delta for controlling amount of buffering
+  when interleaving.
+
+2014-01-20 - 93c553c - lavc 55.32.1 - avcodec.h
+  Edges are not required anymore on video buffers allocated by get_buffer2()
+  (i.e. as if the CODEC_FLAG_EMU_EDGE flag was always on). Deprecate
+  CODEC_FLAG_EMU_EDGE and avcodec_get_edge_width().
+
+2014-01-05 - 5b4797a - lavu 53.2.0 - frame.h
+  Add AV_FRAME_DATA_MATRIXENCODING value to the AVFrameSideDataType enum, which
+  identifies AVMatrixEncoding data.
+
+2014-01-05 - 5c437fb - lavu 53.1.0 - channel_layout.h
+  Add values for various Dolby flags to the AVMatrixEncoding enum.
+
+2013-12-20 - 2a41826 - lavc 55.30.0 - avcodec.h
+  Add HEVC profiles
+
+2013-12-11 - b9fb59d,9431356,d7b3ee9 - lavc 55.28.1 - avcodec.h
+  av_frame_alloc(), av_frame_unref() and av_frame_free() now can and should be
+  used instead of avcodec_alloc_frame(), avcodec_get_frame_defaults() and
+  avcodec_free_frame() respectively. The latter three functions are deprecated.
+
+2013-12-09 - 7e244c6- - lavu 52.20.0 - frame.h
+  Add AV_FRAME_DATA_STEREO3D value to the AVFrameSideDataType enum and
+  stereo3d.h API, that identify codec-independent stereo3d information.
+
+2013-11-26 - 1eaac1d- - lavu 52.19.0 - frame.h
+  Add AV_FRAME_DATA_A53_CC value to the AVFrameSideDataType enum, which
+  identifies ATSC A53 Part 4 Closed Captions data.
+
+2013-11-14 - cce3e0a - lavu 52.18.0 - mem.h
+  Move av_fast_malloc() and av_fast_realloc() for libavcodec to libavutil.
+
+2013-11-14 - 8941971 - lavc 55.27.0 - avcodec.h
+  Deprecate AVCodecContext.error_rate, it is replaced by the 'error_rate'
+  private option of the mpegvideo encoder family.
+
+2013-11-14 - 728c465 - lavc 55.26.0 - vdpau.h
+  Add av_vdpau_get_profile().
+  Add av_vdpau_alloc_context(). This function must from now on be
+  used for allocating AVVDPAUContext.
+
+2013-11-04 - cd8f772 - lavc 55.25.0 - avcodec.h
+  Add ITU-R BT.2020 and other not yet included values to color primaries,
+  transfer characteristics and colorspaces.
+
+2013-10-31 - 28096e0 - lavu 52.17.0 - frame.h
+  Add AVFrame.flags and AV_FRAME_FLAG_CORRUPT.
+
+2013-09-28 - 0767bfd - lavfi 3.11.0 - avfilter.h
+  Add AVFilterGraph.execute and AVFilterGraph.opaque for custom slice threading
+  implementations.
+
+2013-09-21 - e208e6d - lavu 52.16.0 - pixfmt.h
+  Add interleaved 4:2:2 8/10-bit formats AV_PIX_FMT_NV16 and
+  AV_PIX_FMT_NV20.
+
+2013-09-16 - 3feb3d6 - lavu 52.15.0 - mem.h
+  Add av_reallocp.
+
+2013-08-10 - 5a9a9d4 - lavc 55.16.0 - avcodec.h
+  Extend AVPacket API with av_packet_unref, av_packet_ref,
+  av_packet_move_ref, av_packet_copy_props, av_packet_free_side_data.
+
+2013-08-05 - f824535 - lavc 55.13.0 - avcodec.h
+  Deprecate the bitstream-related members from struct AVVDPAUContext.
+  The bistream buffers no longer need to be explicitly freed.
+
+2013-08-05 - 549294f - lavc 55.12.0 - avcodec.h
+  Deprecate the CODEC_CAP_HWACCEL_VDPAU codec capability. Use CODEC_CAP_HWACCEL
+  and select the AV_PIX_FMT_VDPAU format with get_format() instead.
+
+2013-08-05 - a0ad5d0 - lavu 52.14.0 - pixfmt.h
+  Deprecate AV_PIX_FMT_VDPAU_*. Use AV_PIX_FMT_VDPAU instead.
+
+2013-08-02 - a8b1927 - lavc 55.11.0 - avcodec.h
+  Add output_picture_number to AVCodecParserContext.
+
+2013-06-24 - 95d5246 - lavc 55.10.0 - avcodec.h
+  Add MPEG-2 AAC profiles
+
+2013-06-04 - fc962d4 - lavu 52.13.0 - mem.h
+  Add av_realloc_array and av_reallocp_array
+
+2013-05-24 - 129bb23 - 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-05-24 - 2a6eaea - lavu 52.12.0 - cpu.h
+  Add av_cpu_count() function for getting the number of logical CPUs.
+
+2013-05-24 - b493847 - lavc 55.7.0 - avcodec.h
+  Add picture_structure to AVCodecParserContext.
+
+2013-05-15 - e6c4ac7 - lavu 52.11.0 - pixdesc.h
+  Replace PIX_FMT_* flags with AV_PIX_FMT_FLAG_*.
+
+2013-04-03 - 507b1e4 - lavc 55.4.0 - avcodec.h
+  Add field_order to AVCodecParserContext.
+
+2013-04-19 - 5e83d9a - 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-xx-xx - lavu 52.9.0 - pixdesc.h
+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-xx-xx - lavfi 3.6.0
+2013-03-16 - 42c7c61 - lavfi 3.6.0
   Add AVFilterGraph.nb_filters, deprecate AVFilterGraph.filter_count.
 
-2013-03-xx - Reference counted buffers - lavu 52.8.0, lavc 55.0.0, lavf 55.0.0,
+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
-  xxxxxxx, xxxxxxx - add a new API for reference counted buffers and buffer
+  8e401db, 1cec062 - add a new API for reference counted buffers and buffer
                      pools (new header libavutil/buffer.h).
-  xxxxxxx - add AVPacket.buf to allow reference counting for the AVPacket data.
+  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.
-  xxxxxxx - move AVFrame from lavc to lavu (new header libavutil/frame.h), add
+  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.
-  xxxxxxx - add the refcounted_frames field to AVCodecContext to make audio and
+  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()
@@ -53,30 +256,30 @@ lavd 54.0.0, lavfi 3.5.0
                 * qscale_table, qstride, qscale_type, mbskip_table, motion_val,
                   mb_type, dct_coeff, ref_index -- mpegvideo-specific tables,
                   which are not exported anymore.
-  xxxxxxx - switch libavfilter to use AVFrame instead of AVFilterBufferRef. Add
+  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-xx-xx - xxxxxxx - lavu 52.8.0 - avstring.h
+2013-03-17 - 12c5c1d - lavu 52.8.0 - avstring.h
   Add av_isdigit, av_isgraph, av_isspace, av_isxdigit.
 
-2013-xx-xx - xxxxxxx - lavfi 3.4.0 - avfiltergraph.h
+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-xx-xx - xxxxxxx - lavu 52.7.0 - dict.h
+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-xx - xxxxxxx - lavu 52.6.0 - avstring.h
+2013-01-25 - b85a5e8 - lavu 52.6.0 - avstring.h
   Add av_strnstr()
 
-2013-01-xx - xxxxxxx - lavu 52.5.0 - hmac.h
+2013-01-15 - 8ee288d - lavu 52.5.0 - hmac.h
   Add AVHMAC.
 
-2013-01-13 - xxxxxxx - lavc 54.36.0 - vdpau.h
+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
@@ -86,6 +289,10 @@ lavd 54.0.0, lavfi 3.5.0
   Add avresample_set_channel_mapping() for input channel reordering,
   duplication, and silencing.
 
+------------------------------8<-------------------------------------
+                   9 branch was cut here
+----------------------------->8--------------------------------------
+
 2012-12-29 - d8fd06c - lavu 52.3.0 - avstring.h
   Add av_basename() and av_dirname().