最近一两年内FFmpeg项目发展的速度很快,本来是一件好事。但是随之而来的问题就是其API(接口函数)一直在发生变动。这么一来基于旧一点版本的FFmpeg的程序的代码在最新的类库上可能就跑不通了。

例如一年前的程序中,获取媒体信息使用的函数是av_find_stream_info()。但是最近的版本中,av_find_stream_info()函数已经无法使用了,取而代之的是avformat_find_stream_info()。再比如,早一些的程序中,打开解码器可以使用avcodec_open(),但是新版本的程序中必须使用avcodec_open2()。而早期版本的FFmpeg中打开媒体的函数av_open_input_file()也已经被avformat_open_input()所取代。可以看出一些与libavformat相关的av_***()都变更为了avformat_***(),这一趋势也说明FFmpeg的API正在慢慢朝着“名称更加规范”的方向发展。

在FFmpeg的doc目录下碰巧看到了一个FFmpeg的API变更记录,记载了到今天为止FFmpeg所有的API变化情况,在这里记录一下。

整个文件中主要有三种记录:

Add:新增的

Change/Rename:修改的

Deprecate:过时的。以后很有可能删除。

Remove:删除的

文件位于doc/APIchanges,内容如下。

Never assume the API of libav* to be stable unless at least 1 month has passed
since the last major version increase or the API was added.

The last version increases were:
libavcodec:    2014-08-09
libavdevice:   2014-08-09
libavfilter:   2014-08-09
libavformat:   2014-08-09
libavresample: 2014-08-09
libpostproc:   2014-08-09
libswresample: 2014-08-09
libswscale:    2014-08-09
libavutil:     2014-08-09

API changes, most recent first:

2014-11-xx - xxxxxxx - lavc 56.6.0 - vorbis_parser.h
  Add a public API for parsing vorbis packets.

2014-10-xx - xxxxxxx - lavc 56.5.0 - avcodec.h
  Replace AVCodecContext.time_base used for decoding
  with AVCodecContext.framerate.

2014-10-xx - xxxxxxx - lavc 56.4.0 - avcodec.h
  Add AV_HWACCEL_FLAG_IGNORE_LEVEL flag to av_vdpau_bind_context().

2014-10-13 - xxxxxxx - lavc 56.03.0 - avcodec.h
  Add AVCodecContext.initial_padding. Deprecate the use of AVCodecContext.delay
  for audio encoding.

2014-09-xx - xxxxxxx - lavu 54.04.0 - pixdesc.h
  Add API to return the name of frame and context color properties.

2014-09-xx - xxxxxxx - lavc 56.2.0 - vdpau.h
  Add av_vdpau_bind_context(). This function should now be used for creating
  (or resetting) a AVVDPAUContext instead of av_vdpau_alloc_context().

2014-10-02 - xxxxxxx - lavc 56.2.100 - avcodec.h
2014-10-02 - xxxxxxx - lavu 54.9.100 - frame.h
  Add AV_FRAME_DATA_SKIP_SAMPLES. Add lavc CODEC_FLAG2_SKIP_MANUAL and
  AVOption "skip_manual", which makes lavc export skip information via
  AV_FRAME_DATA_SKIP_SAMPLES AVFrame side data, instead of skipping and
  discarding samples automatically.

2014-10-02 - xxxxxxx - lavu 54.8.100 - avstring.h
  Add av_match_list()

2014-09-24 - xxxxxxx - libpostproc 53.1.100
  Add visualization support

2014-09-xx - xxxxxxx - lavc 56.1.101 - dv_profile.h
  deprecate avpriv_dv_frame_profile2(), which was made public by accident.

-------- 8< --------- FFmpeg 2.4 was cut here -------- 8< ---------

2014-08-28 - f30a815 / 9301486 - lavc 56.1.100 / 56.1.0 - avcodec.h
  Add AV_PKT_DATA_STEREO3D to export container-level stereo3d information.

2014-08-25 - 215db29 / b263f8f - lavf 56.3.100 / 56.3.0 - avformat.h
  Add AVFormatContext.max_ts_probe.

2014-08-23 - 8fc9bd0 - lavu 54.7.100 - dict.h
  AV_DICT_DONT_STRDUP_KEY and AV_DICT_DONT_STRDUP_VAL arguments are now
  freed even on error. This is consistent with the behaviour all users
  of it we could find expect.

2014-08-21 - 980a5b0 - lavu 54.6.100 - frame.h motion_vector.h
  Add AV_FRAME_DATA_MOTION_VECTORS side data and AVMotionVector structure

2014-08-16 - b7d5e01 - lswr 1.1.100 - swresample.h
  Add AVFrame based API

2014-08-16 - c2829dc - lavu 54.4.100 - dict.h
  Add av_dict_set_int helper function.

2014-08-13 - c8571c6 / 8ddc326 - lavu 54.3.100 / 54.3.0 - mem.h
  Add av_strndup().

2014-08-13 - 2ba4577 / a8c104a - lavu 54.2.100 / 54.2.0 - opt.h
  Add av_opt_get_dict_val/set_dict_val with AV_OPT_TYPE_DICT to support
  dictionary types being set as options.

2014-08-13 - afbd4b8 - lavf 56.01.0 - avformat.h
  Add AVFormatContext.event_flags and AVStream.event_flags for signaling to
  the user when events happen in the file/stream.

2014-08-10 - 78eaaa8 / fb1ddcd - lavr 2.1.0 - avresample.h
  Add avresample_convert_frame() and avresample_config().

2014-08-10 - 78eaaa8 / fb1ddcd - lavu 54.1.100 / 54.1.0 - error.h
  Add AVERROR_INPUT_CHANGED and AVERROR_OUTPUT_CHANGED.

2014-08-08 - 3841f2a / d35b94f - lavc 55.73.102 / 55.57.4 - avcodec.h
  Deprecate FF_IDCT_XVIDMMX define and xvidmmx idct option.
  Replaced by FF_IDCT_XVID and xvid respectively.

2014-08-08 - 5c3c671 - lavf 55.53.100 - avio.h
  Add avio_feof() and deprecate url_feof().

2014-08-07 - bb78903 - lsws 2.1.3 - swscale.h
  sws_getContext is not going to be removed in the future.

2014-08-07 - a561662 / ad1ee5f - lavc 55.73.101 / 55.57.3 - avcodec.h
  reordered_opaque is not going to be removed in the future.

2014-08-02 - 28a2107 - lavu 52.98.100 - pixelutils.h
  Add pixelutils API with SAD functions

2014-08-04 - 6017c98 / e9abafc - lavu 52.97.100 / 53.22.0 - pixfmt.h
  Add AV_PIX_FMT_YA16 pixel format for 16 bit packed gray with alpha.

2014-08-04 - 4c8bc6f / e96c3b8 - lavu 52.96.101 / 53.21.1 - avstring.h
  Rename AV_PIX_FMT_Y400A to AV_PIX_FMT_YA8 to better identify the format.
  An alias pixel format and color space name are provided for compatibility.

2014-08-04 - 073c074 / d2962e9 - lavu 52.96.100 / 53.21.0 - pixdesc.h
  Support name aliases for pixel formats.

2014-08-03 - 71d008e / 1ef9e83 - lavc 55.72.101 / 55.57.2 - avcodec.h
2014-08-03 - 71d008e / 1ef9e83 - lavu 52.95.100 / 53.20.0 - frame.h
  Deprecate AVCodecContext.dtg_active_format and use side-data instead.

2014-08-03 - e680c73 - lavc 55.72.100 - avcodec.h
  Add get_pixels() to AVDCT

2014-08-03 - 9400603 / 9f17685 - lavc 55.71.101 / 55.57.1 - avcodec.h
  Deprecate unused FF_IDCT_IPP define and ipp avcodec option.
  Deprecate unused FF_DEBUG_PTS define and pts avcodec option.
  Deprecate unused FF_CODER_TYPE_DEFLATE define and deflate avcodec option.
  Deprecate unused FF_DCT_INT define and int avcodec option.
  Deprecate unused avcodec option scenechange_factor.

2014-07-30 - ba3e331 - lavu 52.94.100 - frame.h
  Add av_frame_side_data_name()

2014-07-29 - 80a3a66 / 3a19405 - lavf 56.01.100 / 56.01.0 - avformat.h
  Add mime_type field to AVProbeData, which now MUST be initialized in
  order to avoid uninitialized reads of the mime_type pointer, likely
  leading to crashes.
  Typically, this means you will do 'AVProbeData pd = { 0 };' instead of
  'AVProbeData pd;'.

2014-07-29 - 31e0b5d / 69e7336 - lavu 52.92.100 / 53.19.0 - avstring.h
  Make name matching function from lavf public as av_match_name().

2014-07-28 - 2e5c8b0 / c5fca01 - lavc 55.71.100 / 55.57.0 - avcodec.h
  Add AV_CODEC_PROP_REORDER to mark codecs supporting frame reordering.

2014-07-27 - ff9a154 - lavf 55.50.100 - avformat.h
  New field int64_t probesize2 instead of deprecated
  field int probesize.

2014-07-27 - 932ff70 - lavc 55.70.100 - avdct.h
  Add AVDCT / avcodec_dct_alloc() / avcodec_dct_init().

2014-07-23 - 8a4c086 - lavf 55.49.100 - avio.h
  Add avio_read_to_bprint()

-------- 8< --------- FFmpeg 2.3 was cut here -------- 8< ---------

2014-07-14 - 62227a7 - lavf 55.47.100 - avformat.h
  Add av_stream_get_parser()

2014-07-09 - c67690f / a54f03b - lavu 52.92.100 / 53.18.0 - display.h
  Add av_display_matrix_flip() to flip the transformation matrix.

2014-07-09 - 1b58f13 / f6ee61f - lavc 55.69.100 / 55.56.0 - dv_profile.h
  Add a public API for DV profile handling.

2014-06-20 - 0dceefc / 9e500ef - lavu 52.90.100 / 53.17.0 - imgutils.h
  Add av_image_check_sar().

2014-06-20 - 4a99333 / 874390e - lavc 55.68.100 / 55.55.0 - avcodec.h
  Add av_packet_rescale_ts() to simplify timestamp conversion.

2014-06-18 - ac293b6 / 194be1f - lavf 55.44.100 / 55.20.0 - avformat.h
  The proper way for providing a hint about the desired timebase to the muxers
  is now setting AVStream.time_base, instead of AVStream.codec.time_base as was
  done previously. The old method is now deprecated.

2014-06-11 - 67d29da - lavc 55.66.101 - avcodec.h
  Increase FF_INPUT_BUFFER_PADDING_SIZE to 32 due to some corner cases needing
  it

2014-06-10 - xxxxxxx - lavf 55.43.100 - avformat.h
  New field int64_t max_analyze_duration2 instead of deprecated
  int max_analyze_duration.

2014-05-30 - 00759d7 - lavu 52.89.100 - opt.h
  Add av_opt_copy()

2014-06-01 - 03bb99a / 0957b27 - lavc 55.66.100 / 55.54.0 - avcodec.h
  Add AVCodecContext.side_data_only_packets to allow encoders to output packets
  with only side data. This option may become mandatory in the future, so all
  users are recommended to update their code and enable this option.

2014-06-01 - 6e8e9f1 / 8c02adc - lavu 52.88.100 / 53.16.0 - frame.h, pixfmt.h
  Move all color-related enums (AVColorPrimaries, AVColorSpace, AVColorRange,
  AVColorTransferCharacteristic, and AVChromaLocation) inside lavu.
  And add AVFrame fields for them.

2014-05-29 - bdb2e80 / b2d4565 - lavr 1.3.0 - avresample.h
  Add avresample_max_output_samples

2014-05-28 - d858ee7 / 6d21259 - lavf 55.42.100 / 55.19.0 - avformat.h
  Add strict_std_compliance and related AVOptions to support experimental
  muxing.

2014-05-26 - xxxxxxx - lavu 52.87.100 - threadmessage.h
  Add thread message queue API.

2014-05-26 - c37d179 - lavf 55.41.100 - avformat.h
  Add format_probesize to AVFormatContext.

2014-05-20 - 7d25af1 / c23c96b - lavf 55.39.100 / 55.18.0 - avformat.h
  Add av_stream_get_side_data() to access stream-level side data
  in the same way as av_packet_get_side_data().

2014-05-xx - xxxxxxx - lavu 52.86.100 - fifo.h
  Add av_fifo_alloc_array() function.

2014-05-19 - ef1d4ee / bddd8cb - lavu 52.85.100 / 53.15.0 - frame.h, display.h
  Add AV_FRAME_DATA_DISPLAYMATRIX for exporting frame-level
  spatial rendering on video frames for proper display.

2014-05-19 - ef1d4ee / bddd8cb - lavc 55.64.100 / 55.53.0 - avcodec.h
  Add AV_PKT_DATA_DISPLAYMATRIX for exporting packet-level
  spatial rendering on video frames for proper display.

2014-05-19 - 999a99c / a312f71 - lavf 55.38.101 / 55.17.1 - avformat.h
  Deprecate AVStream.pts and the AVFrac struct, which was its only use case.
  See use av_stream_get_end_pts()

2014-05-18 - 68c0518 / fd05602 - lavc 55.63.100 / 55.52.0 - avcodec.h
  Add avcodec_free_context(). From now on it should be used for freeing
  AVCodecContext.

2014-05-17 - 0eec06e - lavu 52.84.100 - time.h
  Add av_gettime_relative() av_gettime_relative_is_monotonic()

2014-05-15 - eacf7d6 / 0c1959b - lavf 55.38.100 / 55.17.0 - avformat.h
  Add AVFMT_FLAG_BITEXACT flag. Muxers now use it instead of checking
  CODEC_FLAG_BITEXACT on the first stream.

2014-05-15 - 96cb4c8 - lswr 0.19.100 - swresample.h
  Add swr_close()

2014-05-11 - 14aef38 / 66e6c8a - lavu 52.83.100 / 53.14.0 - pixfmt.h
  Add AV_PIX_FMT_VDA for new-style VDA acceleration.

2014-05-xx - xxxxxxx - lavu 52.82.0 - fifo.h
  Add av_fifo_freep() function.

2014-05-02 - ba52fb11 - lavu 52.81.0 - opt.h
  Add av_opt_set_dict2() function.

2014-05-01 - e77b985 / a2941c8 - lavc 55.60.103 / 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-05-01 - e40ae8c / 6484149 - lavc 55.60.102 / 55.50.2 - avcodec.h
  Deprecate CODEC_FLAG_GMC. It is replaced by the "gmc" private option of the
  libxvid encoder.

2014-05-01 - 1851643 / b2c3171 - lavc 55.60.101 / 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-05-01 - cac07d0 / 5fcceda - avcodec.h
  Deprecate CODEC_FLAG_INPUT_PRESERVED. Its functionality is replaced by passing
  reference-counted frames to encoders.

2014-04-29 - 1bf6396 - lavc 55.60.100 - avcodec.h
  Add AVCodecDescriptor.mime_types field.

2014-04-29 - xxxxxxx - lavu 52.80.0 - hash.h
  Add av_hash_final_bin(), av_hash_final_hex() and av_hash_final_b64().

2014-03-07 - 8b2a130 - lavc 55.50.0 / 55.53.100 - dxva2.h
  Add FF_DXVA2_WORKAROUND_INTEL_CLEARVIDEO for old Intel GPUs.

2014-04-22 - 502512e /dac7e8a - lavu 53.13.0 / 52.78.100 - avutil.h
  Add av_get_time_base_q().

2014-04-17 - a8d01a7 / 0983d48 - lavu 53.12.0 / 52.77.100 - crc.h
  Add AV_CRC_16_ANSI_LE crc variant.

2014-04-XX - xxxxxxx - lavf xx.xx.1xx - avformat.h
  Add av_format_inject_global_side_data()

2014-04-12 - 4f698be - lavu 52.76.100 - log.h
  Add av_log_get_flags()

2014-04-11 - 6db42a2b - lavd 55.12.100 - avdevice.h
  Add avdevice_capabilities_create() function.
  Add avdevice_capabilities_free() function.

2014-04-07 - 0a1cc04 / 8b17243 - lavu 52.75.100 / 53.11.0 - pixfmt.h
  Add AV_PIX_FMT_YVYU422 pixel format.

2014-04-04 - c1d0536 / 8542f9c - lavu 52.74.100 / 53.10.0 - replaygain.h
  Full scale for peak values is now 100000 (instead of UINT32_MAX) and values
  may overflow.

2014-04-03 - c16e006 / 7763118 - lavu 52.73.100 / 53.9.0 - log.h
  Add AV_LOG(c) macro to have 256 color debug messages.

2014-04-03 - eaed4da9 - lavu 52.72.100 - opt.h
  Add AV_OPT_MULTI_COMPONENT_RANGE define to allow return
  multi-component option ranges.

2014-03-29 - cd50a44b - lavu 52.70.100 - mem.h
  Add av_dynarray_add_nofree() function.

2014-02-24 - 3e1f241 / d161ae0 - lavu 52.69.100 / 53.8.0 - frame.h
  Add av_frame_remove_side_data() for removing a single side data
  instance from a frame.

2014-03-24 - 83e8978 / 5a7e35d - lavu 52.68.100 / 53.7.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-03-24 - 83e8978 / 5a7e35d - lavc 55.54.100 / 55.36.0 - avcodec.h
  Add AV_PKT_DATA_REPLAYGAIN for exporting replaygain tags.

2014-03-24 - 595ba3b / 25b3258 - lavf 55.35.100 / 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-03-24 - bd34e26 / 0e2c3ee - lavc 55.53.100 / 55.35.0 - avcodec.h
  Give the name AVPacketSideData to the previously anonymous struct used for
  AVPacket.side_data.

-------- 8< --------- FFmpeg 2.2 was cut here -------- 8< ---------

2014-03-18 - 37c07d4 - lsws 2.5.102
  Make gray16 full-scale.

2014-03-16 - 6b1ca17 / 1481d24 - lavu 52.67.100 / 53.6.0 - pixfmt.h
  Add RGBA64_LIBAV pixel format and variants for compatibility

2014-03-11 - 3f3229c - lavf 55.34.101 - avformat.h
  Set AVFormatContext.start_time_realtime when demuxing.

2014-03-03 - 06fed440 - lavd 55.11.100 - avdevice.h
  Add av_input_audio_device_next().
  Add av_input_video_device_next().
  Add av_output_audio_device_next().
  Add av_output_video_device_next().

2014-02-24 - fff5262 / 1155fd0 - lavu 52.66.100 / 53.5.0 - frame.h
  Add av_frame_copy() for copying the frame data.

2014-02-24 - a66be60 - lswr 0.18.100 - swresample.h
  Add swr_is_initialized() for checking whether a resample context is initialized.

2014-02-22 - 5367c0b / 7e86c27 - lavr 1.2.0 - avresample.h
  Add avresample_is_open() for checking whether a resample context is open.

2014-02-19 - 6a24d77 / c3ecd96 - lavu 52.65.100 / 53.4.0  - opt.h
  Add AV_OPT_FLAG_EXPORT and AV_OPT_FLAG_READONLY to mark options meant (only)
  for reading.

2014-02-19 - f4c8d00 / 6bb8720 - lavu 52.64.101 / 53.3.1 - opt.h
  Deprecate unused AV_OPT_FLAG_METADATA.

2014-02-xx - xxxxxxx - lavd 55.10.100 - avdevice.h
  Add avdevice_list_devices() and avdevice_free_list_devices()

2014-02-16 - db3c970 - lavf 55.33.100 - avio.h
  Add avio_find_protocol_name() to find out the name of the protocol that would
  be selected for a given URL.

2014-02-15 - a2bc6c1 / c98f316 - lavu 52.64.100 / 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-11 - 1b05ac2 - lavf 55.32.100 - avformat.h
  Add av_write_uncoded_frame() and av_interleaved_write_uncoded_frame().

2014-02-04 - 3adb5f8 / d9ae103 - lavf 55.30.100 / 55.11.0 - avformat.h
  Add AVFormatContext.max_interleave_delta for controlling amount of buffering
  when interleaving.

2014-02-02 - 5871ee5 - lavf 55.29.100 - avformat.h
  Add output_ts_offset muxing option to AVFormatContext.

2014-01-27 - 102bd64 - lavd 55.7.100 - avdevice.h
                       lavf 55.28.100 - avformat.h
  Add avdevice_dev_to_app_control_message() function.

2014-01-27 - 7151411 - lavd 55.6.100 - avdevice.h
                       lavf 55.27.100 - avformat.h
  Add avdevice_app_to_dev_control_message() function.

2014-01-24 - 86bee79 - lavf 55.26.100 - avformat.h
  Add AVFormatContext option metadata_header_padding to allow control over the
  amount of padding added.

2014-01-20 - eef74b2 / 93c553c - lavc 55.48.102 / 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-19 - 1a193c4 - lavf 55.25.100 - avformat.h
  Add avformat_get_mov_video_tags() and avformat_get_mov_audio_tags().

2014-01-19 - xxxxxxx - lavu 52.63.100 - rational.h
  Add av_make_q() function.

2014-01-05 - 4cf4da9 / 5b4797a - lavu 52.62.100 / 53.2.0 - frame.h
  Add AV_FRAME_DATA_MATRIXENCODING value to the AVFrameSideDataType enum, which
  identifies AVMatrixEncoding data.

2014-01-05 - 751385f / 5c437fb - lavu 52.61.100 / 53.1.0 - channel_layout.h
  Add values for various Dolby flags to the AVMatrixEncoding enum.

2014-01-04 - b317f94 - lavu 52.60.100 - mathematics.h
  Add av_add_stable() function.

2013-12-22 - 911676c - lavu 52.59.100 - avstring.h
  Add av_strnlen() function.

2013-12-09 - 64f73ac - lavu 52.57.100 - opencl.h
  Add av_opencl_benchmark() function.

2013-11-30 - 82b2e9c - lavu 52.56.100 - ffversion.h
  Moves version.h to libavutil/ffversion.h.
  Install ffversion.h and make it public.

2013-12-11 - 29c83d2 / b9fb59d,409a143 / 9431356,44967ab / d7b3ee9 - lavc 55.45.101 / 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 - 7a60348 / 7e244c6- - lavu 52.58.100 / 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 - 625b290 / 1eaac1d- - lavu 52.55.100 / 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-22 - 6859065 - lavu 52.54.100 - avstring.h
  Add av_utf8_decode() function.

2013-11-22 - fb7d70c - lavc 55.44.100 - avcodec.h
  Add HEVC profiles

2013-11-20 - c28b61c - lavc 55.44.100 - avcodec.h
  Add av_packet_{un,}pack_dictionary()
  Add AV_PKT_METADATA_UPDATE side data type, used to transmit key/value
  strings between a stream and the application.

2013-11-14 - 7c888ae / cce3e0a - lavu 52.53.100 / 52.18.0 - mem.h
  Move av_fast_malloc() and av_fast_realloc() for libavcodec to libavutil.

2013-11-14 - b71e4d8 / 8941971 - lavc 55.43.100 / 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 - 31c09b7 / 728c465 - lavc 55.42.100 / 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 - be41f21 / cd8f772 - lavc 55.41.100 / 55.25.0 - avcodec.h
                       lavu 52.51.100 - frame.h
  Add ITU-R BT.2020 and other not yet included values to color primaries,
  transfer characteristics and colorspaces.

2013-11-04 - 85cabf1 - lavu 52.50.100 - avutil.h
  Add av_fopen_utf8()

2013-10-31 - 78265fc / 28096e0 - lavu 52.49.100 / 52.17.0 - frame.h
  Add AVFrame.flags and AV_FRAME_FLAG_CORRUPT.

-------- 8< --------- FFmpeg 2.1 was cut here -------- 8< ---------

2013-10-27 - dbe6f9f - lavc 55.39.100 - avcodec.h
  Add CODEC_CAP_DELAY support to avcodec_decode_subtitle2.

2013-10-27 - d61617a - lavu 52.48.100 - parseutils.h
  Add av_get_known_color_name().

2013-10-17 - 8696e51 - lavu 52.47.100 - opt.h
  Add AV_OPT_TYPE_CHANNEL_LAYOUT and channel layout option handlers
  av_opt_get_channel_layout() and av_opt_set_channel_layout().

2013-10-06 - ccf96f8 -libswscale 2.5.101 - options.c
  Change default scaler to bicubic

2013-10-03 - e57dba0 - lavc 55.34.100 - avcodec.h
  Add av_codec_get_max_lowres()

2013-10-02 - 5082fcc - lavf 55.19.100 - avformat.h
  Add audio/video/subtitle AVCodec fields to AVFormatContext to force specific
  decoders

2013-09-28 - 7381d31 / 0767bfd - lavfi 3.88.100 / 3.11.0 - avfilter.h
  Add AVFilterGraph.execute and AVFilterGraph.opaque for custom slice threading
  implementations.

2013-09-21 - 85f8a3c / e208e6d - lavu 52.46.100 / 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 - c74c3fb / 3feb3d6 - lavu 52.44.100 / 52.15.0 - mem.h
  Add av_reallocp.

2013-09-04 - 3e1f507 - lavc 55.31.101 - avcodec.h
  avcodec_close() argument can be NULL.

2013-09-04 - 36cd017a - lavf 55.16.101 - avformat.h
  avformat_close_input() argument can be NULL and point on NULL.

2013-08-29 - e31db62 - lavf 55.15.100 - avformat.h
  Add av_format_get_probe_score().

2013-08-15 - 1e0e193 - lsws 2.5.100 -
  Add a sws_dither AVOption, allowing to set the dither algorithm used

2013-08-11 - d404fe35 - lavc 55.27.100 - vdpau.h
  Add a render2 alternative to the render callback function.

2013-08-11 - af05edc - lavc 55.26.100 - vdpau.h
  Add allocation function for AVVDPAUContext, allowing
  to extend it in the future without breaking ABI/API.

2013-08-10 - 67a580f / 5a9a9d4 - lavc 55.25.100 / 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 - 9547e3e / f824535 - lavc 55.22.100 / 55.13.0 - avcodec.h
  Deprecate the bitstream-related members from struct AVVDPAUContext.
  The bitstream buffers no longer need to be explicitly freed.

2013-08-05 - 3b805dc / 549294f - lavc 55.21.100 / 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 - 4ee0984 / a0ad5d0 - lavu 52.41.100 / 52.14.0 - pixfmt.h
  Deprecate AV_PIX_FMT_VDPAU_*. Use AV_PIX_FMT_VDPAU instead.

2013-08-02 - 82fdfe8 / a8b1927 - lavc 55.20.100 / 55.11.0 - avcodec.h
  Add output_picture_number to AVCodecParserContext.

2013-07-23 - abc8110 - lavc 55.19.100 - avcodec.h
  Add avcodec_chroma_pos_to_enum()
  Add avcodec_enum_to_chroma_pos()

-------- 8< --------- FFmpeg 2.0 was cut here -------- 8< ---------

2013-07-03 - 838bd73 - lavfi 3.78.100 - avfilter.h
  Deprecate avfilter_graph_parse() in favor of the equivalent
  avfilter_graph_parse_ptr().

2013-06-24 - af5f9c0 / 95d5246 - lavc 55.17.100 / 55.10.0 - avcodec.h
  Add MPEG-2 AAC profiles

2013-06-25 - af5f9c0 / 95d5246 - lavf 55.10.100 - avformat.h
  Add AV_DISPOSITION_* flags to indicate text track kind.

2013-06-15 - 99b8cd0 - lavu 52.36.100
  Add AVRIPEMD:
   av_ripemd_alloc()
   av_ripemd_init()
   av_ripemd_update()
   av_ripemd_final()

2013-06-04 - 30b491f / fc962d4 - lavu 52.35.100 / 52.13.0 - mem.h
  Add av_realloc_array and av_reallocp_array

2013-05-30 - 682b227 - lavu 52.35.100
  Add AVSHA512:
   av_sha512_alloc()
   av_sha512_init()
   av_sha512_update()
   av_sha512_final()

2013-05-24 - 8d4e969 / 129bb23 - lavfi 3.10.0 / 3.70.100 - 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 - fe40a9f / 2a6eaea - lavu 52.12.0 / 52.34.100 - cpu.h
  Add av_cpu_count() function for getting the number of logical CPUs.

2013-05-24 - 0c25c39 / b493847 - lavc 55.7.0 / 55.12.100 - avcodec.h
  Add picture_structure to AVCodecParserContext.

2013-05-17 - 3a751ea - lavu 52.33.100 - opt.h
  Add AV_OPT_TYPE_COLOR value to AVOptionType enum.

2013-05-13 - e398416 - lavu 52.31.100 - mem.h
  Add av_dynarray2_add().

2013-05-12 - 1776177 - lavfi 3.65.100
  Add AVFILTER_FLAG_SUPPORT_TIMELINE* filter flags.

2013-04-19 - 380cfce - lavc 55.4.100
  Add AV_CODEC_PROP_TEXT_SUB property for text based subtitles codec.

2013-04-18 - 7c1a002 - lavf 55.3.100
  The matroska demuxer can now output proper verbatim ASS packets. It will
  become the default starting lavf 56.0.100.

2013-04-10 - af0d270 - lavu 25.26.100 - avutil.h,opt.h
  Add av_int_list_length()
  and av_opt_set_int_list().

2013-03-30 - 5c73645 - lavu 52.24.100 - samplefmt.h
  Add av_samples_alloc_array_and_samples().

2013-03-29 - ef7b6b4 - lavf 55.1.100 - avformat.h
  Add av_guess_frame_rate()

2013-03-20 - 8d928a9 - lavu 52.22.100 - opt.h
  Add AV_OPT_TYPE_DURATION value to AVOptionType enum.

2013-03-17 - 7aa9af5 - lavu 52.20.100 - opt.h
  Add AV_OPT_TYPE_VIDEO_RATE value to AVOptionType enum.

-------- 8< --------- FFmpeg 1.2 was cut here -------- 8< ---------

2013-03-07 - 9767ec6 - lavu 52.18.100 - avstring.h,bprint.h
  Add av_escape() and av_bprint_escape() API.

2013-02-24 - b59cd08 - lavfi 3.41.100 - buffersink.h
  Add sample_rates field to AVABufferSinkParams.

2013-01-17 - a1a707f - lavf 54.61.100
  Add av_codec_get_tag2().

2013-01-01 - 2eb2e17 - lavfi 3.34.100
  Add avfilter_get_audio_buffer_ref_from_arrays_channels.

-------- 8< --------- FFmpeg 1.1 was cut here -------- 8< ---------

2012-12-20 - 34de47aa - lavfi 3.29.100 - avfilter.h
  Add AVFilterLink.channels, avfilter_link_get_channels()
  and avfilter_ref_get_channels().

2012-12-15 - 96d815fc - lavc 54.80.100 - avcodec.h
  Add pkt_size field to AVFrame.

2012-11-25 - c70ec631 - lavu 52.9.100 - opt.h
  Add the following convenience functions to opt.h:
   av_opt_get_image_size
   av_opt_get_pixel_fmt
   av_opt_get_sample_fmt
   av_opt_set_image_size
   av_opt_set_pixel_fmt
   av_opt_set_sample_fmt

2012-11-17 - 4cd74c81 - lavu 52.8.100 - bprint.h
  Add av_bprint_strftime().

2012-11-15 - 92648107 - lavu 52.7.100 - opt.h
  Add av_opt_get_key_value().

2012-11-13 - 79456652 - lavfi 3.23.100 - avfilter.h
  Add channels field to AVFilterBufferRefAudioProps.

2012-11-03 - 481fdeee - lavu 52.3.100 - opt.h
  Add AV_OPT_TYPE_SAMPLE_FMT value to AVOptionType enum.

2012-10-21 - 6fb2fd8 - lavc  54.68.100 - avcodec.h
                       lavfi  3.20.100 - avfilter.h
  Add AV_PKT_DATA_STRINGS_METADATA side data type, used to transmit key/value
  strings between AVPacket and AVFrame, and add metadata field to
  AVCodecContext (which shall not be accessed by users; see AVFrame metadata
  instead).

2012-09-27 - a70b493 - lavd 54.3.100 - version.h
  Add LIBAVDEVICE_IDENT symbol.

2012-09-27 - a70b493 - lavfi 3.18.100 - version.h
  Add LIBAVFILTER_IDENT symbol.

2012-09-27 - a70b493 - libswr 0.16.100 - version.h
  Add LIBSWRESAMPLE_VERSION, LIBSWRESAMPLE_BUILD
  and LIBSWRESAMPLE_IDENT symbols.

-------- 8< --------- FFmpeg 1.0 was cut here -------- 8< ---------

2012-09-06 - 29e972f - lavu 51.72.100 - parseutils.h
  Add av_small_strptime() time parsing function.

  Can be used as a stripped-down replacement for strptime(), on
  systems which do not support it.

2012-08-25 - 2626cc4 - lavf 54.28.100
  Matroska demuxer now identifies SRT subtitles as AV_CODEC_ID_SUBRIP instead
  of AV_CODEC_ID_TEXT.

2012-08-13 - 5c0d8bc - lavfi 3.8.100 - avfilter.h
  Add avfilter_get_class() function, and priv_class field to AVFilter
  struct.

2012-08-12 - a25346e - lavu 51.69.100 - opt.h
  Add AV_OPT_FLAG_FILTERING_PARAM symbol in opt.h.

2012-07-31 - 23fc4dd - lavc 54.46.100
  Add channels field to AVFrame.

2012-07-30 - f893904 - lavu 51.66.100
  Add av_get_channel_description()
  and av_get_standard_channel_layout() functions.

2012-07-21 - 016a472 - lavc 54.43.100
  Add decode_error_flags field to AVFrame.

2012-07-20 - b062936 - lavf 54.18.100
  Add avformat_match_stream_specifier() function.

2012-07-14 - f49ec1b - lavc 54.38.100 - avcodec.h
  Add metadata to AVFrame, and the accessor functions
  av_frame_get_metadata() and av_frame_set_metadata().

2012-07-10 - 0e003d8 - lavc 54.33.100
  Add av_fast_padded_mallocz().

2012-07-10 - 21d5609 - lavfi 3.2.0 - avfilter.h
  Add init_opaque() callback to AVFilter struct.

2012-06-26 - e6674e4 - lavu 51.63.100 - imgutils.h
  Add functions to libavutil/imgutils.h:
  av_image_get_buffer_size()
  av_image_fill_arrays()
  av_image_copy_to_buffer()

2012-06-24 - c41899a - lavu 51.62.100 - version.h
  version moved from avutil.h to version.h

2012-04-11 - 359abb1 - lavu 51.58.100 - error.h
  Add av_make_error_string() and av_err2str() utilities to
  libavutil/error.h.

2012-06-05 - 62b39d4 - lavc 54.24.100
  Add pkt_duration field to AVFrame.

2012-05-24 - f2ee065 - lavu 51.54.100
  Move AVPALETTE_SIZE and AVPALETTE_COUNT macros from
  libavcodec/avcodec.h to libavutil/pixfmt.h.

2012-05-14 - 94a9ac1 - lavf 54.5.100
  Add av_guess_sample_aspect_ratio() function.

2012-04-20 - 65fa7bc - lavfi 2.70.100
  Add avfilter_unref_bufferp() to avfilter.h.

2012-04-13 - 162e400 - lavfi 2.68.100
  Install libavfilter/asrc_abuffer.h public header.

2012-03-26 - a67d9cf - lavfi 2.66.100
  Add avfilter_fill_frame_from_{audio_,}buffer_ref() functions.

2013-05-15 - ff46809 / e6c4ac7 - lavu 52.32.100 / 52.11.0 - pixdesc.h
  Replace PIX_FMT_* flags with AV_PIX_FMT_FLAG_*.

2013-04-03 - 6fc58a8 / 507b1e4 - lavc 55.7.100 / 55.4.0 - avcodec.h
  Add field_order to AVCodecParserContext.

2013-04-19 - f4b05cd / 5e83d9a - lavc 55.5.100 / 55.2.0 - avcodec.h
  Add CODEC_FLAG_UNALIGNED to allow decoders to produce unaligned output.

2013-04-11 - lavfi 3.53.100 / 3.8.0
  231fd44 / 38f0c07 - Move all content from avfiltergraph.h to avfilter.h. Deprecate
            avfilterhraph.h, user applications should include just avfilter.h
  86070b8 / bc1a985 - Add avfilter_graph_alloc_filter(), deprecate avfilter_open() and
            avfilter_graph_add_filter().
  4fde705 / 1113672 - Add AVFilterContext.graph pointing to the AVFilterGraph that contains the
            filter.
  710b0aa / 48a5ada - Add avfilter_init_str(), deprecate avfilter_init_filter().
  46de9ba / 1ba95a9 - Add avfilter_init_dict().
  16fc24b / 7cdd737 - Add AVFilter.flags field and AVFILTER_FLAG_DYNAMIC_{INPUTS,OUTPUTS} flags.
  f4db6bf / 7e8fe4b - Add avfilter_pad_count() for counting filter inputs/outputs.
  835cc0f / fa2a34c - Add avfilter_next(), deprecate av_filter_next().
            Deprecate avfilter_uninit().

2013-04-09 - lavfi 3.51.100 / 3.7.0 - avfilter.h
  0594ef0 / b439c99 - Add AVFilter.priv_class for exporting filter options through the
            AVOptions API in the similar way private options work in lavc and lavf.
  44d4488 / 8114c10 - Add avfilter_get_class().
  Switch all filters to use AVOptions.

2013-03-19 - 17ebef2 / 2c328a9 - lavu 52.20.100 / 52.9.0 - pixdesc.h
  Add av_pix_fmt_count_planes() function for counting planes in a pixel format.

2013-03-16 - ecade98 / 42c7c61 - lavfi 3.47.100 / 3.6.0
  Add AVFilterGraph.nb_filters, deprecate AVFilterGraph.filter_count.

2013-03-08 - Reference counted buffers - lavu 52.8.0, lavc 55.0.100 / 55.0.0, lavf 55.0.100 / 55.0.0,
lavd 54.4.100 / 54.0.0, lavfi 3.5.0
  36099df / 8e401db, 532f31a / 1cec062 - add a new API for reference counted buffers and buffer
                     pools (new header libavutil/buffer.h).
  2653e12 / 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.
  c4e8821 / 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.
  80e9e63 / 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.
  a05a44e / 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 - 6c17ff8 / 12c5c1d - lavu 52.19.100 / 52.8.0 - avstring.h
  Add av_isdigit, av_isgraph, av_isspace, av_isxdigit.

2013-02-23 - 71cf094 / 9f12235 - lavfi 3.40.100 / 3.4.0 - avfiltergraph.h
  Add resample_lavr_opts to AVFilterGraph for setting libavresample options
  for auto-inserted resample filters.

2013-01-25 - e7e14bc / 38c1466 - lavu 52.17.100 / 52.7.0 - dict.h
  Add av_dict_parse_string() to set multiple key/value pairs at once from a
  string.

2013-01-25 - 25be630 / b85a5e8 - lavu 52.16.100 / 52.6.0 - avstring.h
  Add av_strnstr()

2013-01-15 - e7e0186 / 8ee288d - lavu 52.15.100 / 52.5.0 - hmac.h
  Add AVHMAC.

2013-01-13 - 8ee7b38 / 44e065d - lavc 54.87.100 / 54.36.0 - vdpau.h
  Add AVVDPAUContext struct for VDPAU hardware-accelerated decoding.

2013-01-12 - dae382b / 169fb94 - lavu 52.14.100 / 52.4.0 - pixdesc.h
  Add AV_PIX_FMT_VDPAU flag.

2013-01-07 - 249fca3 / 074a00d - lavr 1.1.0
  Add avresample_set_channel_mapping() for input channel reordering,
  duplication, and silencing.

2012-12-29 - 2ce43b3 / d8fd06c - lavu 52.13.100 / 52.3.0 - avstring.h
  Add av_basename() and av_dirname().

2012-11-11 - 03b0787 / 5980f5d - lavu 52.6.100 / 52.2.0 - audioconvert.h
  Rename audioconvert.h to channel_layout.h. audioconvert.h is now deprecated.

2012-11-05 - 7d26be6 / dfde8a3 - lavu 52.5.100 / 52.1.0 - intmath.h
  Add av_ctz() for trailing zero bit count

2012-10-21 - e3a91c5 / a893655 - lavu 51.77.100 / 51.45.0 - error.h
  Add AVERROR_EXPERIMENTAL

2012-10-12 - a33ed6b / d2fcb35 - lavu 51.76.100 / 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 - f391e40 / 9a92aea - lavu 51.75.100 / 51.43.0 - aes.h, md5.h, sha.h, tree.h
  Add functions for allocating the opaque contexts for the algorithms,

2012-10-10 - de31814 / b522000 - lavf 54.32.100 / 54.18.0 - avio.h
  Add avio_closep to complement avio_close.

2012-10-08 - ae77266 / 78071a1 - lavu 51.74.100 / 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 - 55c49af / 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-26 - 3ba0dab7 / 1384df64 - lavf 54.29.101 / 56.06.3 - avformat.h
  Add AVFormatContext.avoid_negative_ts.

2012-09-24 - 46a3595 / a42aada - lavc 54.59.100 / 54.28.0 - avcodec.h
  Add avcodec_free_frame(). This function must now
  be used for freeing an AVFrame.

2012-09-12 - e3e09f2 / 8919fee - lavu 51.73.100 / 51.41.0 - audioconvert.h
  Added AV_CH_LOW_FREQUENCY_2 channel mask value.

2012-09-04 - b21b5b0 / 686a329 - lavu 51.71.100 / 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 - 98298eb / a231832 - lavc 54.54.101 / 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.

  f5f3684 / c223d79 - Add an AVCodecDescriptor struct and functions
            avcodec_descriptor_get() and avcodec_descriptor_next().
  f5f3684 / 51efed1 - Add AVCodecDescriptor.props and AV_CODEC_PROP_INTRA_ONLY.
  6c180b3 / 91e59fe - Add avcodec_descriptor_get_by_name().

2012-08-08 - f5f3684 / 987170c - lavu 51.68.100 / 51.38.0 - dict.h
  Add av_dict_count().

2012-08-07 - 7a72695 / 104e10f - lavc 54.51.100 / 54.25.0 - 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 - e776ee8 / 239fdf1 - lavu 51.66.101 / 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 - 7c26761 / 681ed00 - lavf 54.22.100 / 54.13.0 - avformat.h
  Add AVFMT_FLAG_NOBUFFER for low latency use cases.

2012-07-10 - fbe0245 / f3e5e6f - lavu 51.65.100 / 51.37.0
  Add av_malloc_array() and av_mallocz_array()

2012-06-22 - e847f41 / d3d3a32 - lavu 51.61.100 / 51.34.0
  Add av_usleep()

2012-06-20 - 4da42eb / ae0a301 - lavu 51.60.100 / 51.33.0
  Move av_gettime() to libavutil, add libavutil/time.h

2012-06-09 - 82edf67 / 3971be0 - lavr 0.0.3
  Add a parameter to avresample_build_matrix() for Dolby/DPLII downmixing.

2012-06-12 - c7b9eab / 9baeff9 - lavfi 2.79.100 / 2.23.0 - avfilter.h
  Add AVFilterContext.nb_inputs/outputs. Deprecate
  AVFilterContext.input/output_count.

2012-06-12 - c7b9eab / 84b9fbe - lavfi 2.79.100 / 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 - 3630a07 / b0f0dfc - lavu 51.57.100 / 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 - 53ce990 / 154486f - lavu 51.55.100 / 51.31.0 - opt.h
  Add av_opt_set_bin()

2012-05-15 - lavfi 2.74.100 / 2.17.0
  Add support for audio filters
  61930bd / ac71230, 1cbf7fb / a2cd9be - add video/audio buffer sink in a new installed
                    header buffersink.h
  1cbf7fb / 720c6b7 - add av_buffersrc_write_frame(), deprecate
            av_vsrc_buffer_add_frame()
  61930bd / ab16504 - add avfilter_copy_buf_props()
  61930bd / 9453c9e - add extended_data to AVFilterBuffer
  61930bd / 1b8c927 - add avfilter_get_audio_buffer_ref_from_arrays()

2012-05-09 - lavu 51.53.100 / 51.30.0 - samplefmt.h
  61930bd / 142e740 - add av_samples_copy()
  61930bd / 6d7f617 - add av_samples_set_silence()

2012-05-09 - 61930bd / a5117a2 - lavc 54.21.101 / 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 - 653d117 / 828bd08 - lavc 54.20.100 / 54.13.0 - avcodec.h
  Add sample_rate and channel_layout fields to AVFrame.

2012-05-01 - 2330eb1 / 4010d72 - lavr 0.0.1
  Change AV_MIX_COEFF_TYPE_Q6 to AV_MIX_COEFF_TYPE_Q8.

2012-04-25 - e890b68 / 3527a73 - lavu 51.48.100 / 51.29.0 - cpu.h
  Add av_parse_cpu_flags()

2012-04-24 - 3ead79e / c8af852 - lavr 0.0.0
  Add libavresample audio conversion library

2012-04-20 - 3194ab7 / 0c0d1bc - lavu 51.47.100 / 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.70.100 / 2.16.0 - avfiltergraph.h
  7432bcf / d7bcc71 Add avfilter_graph_parse2().

2012-04-08 - 6bfb304 / 4d693b0 - lavu 51.46.100 / 51.27.0 - samplefmt.h
  Add av_get_packed_sample_fmt() and av_get_planar_sample_fmt()

2012-03-21 - b75c67d - lavu 51.43.100
  Add bprint.h for bprint API.

2012-02-21 - 9cbf17e - lavc 54.4.100
  Add av_get_pcm_codec() function.

2012-02-16 - 560b224 - libswr 0.7.100
  Add swr_set_matrix() function.

2012-02-09 - c28e7af - lavu 51.39.100
  Add a new installed header libavutil/timestamp.h with timestamp
  utilities.

2012-02-06 - 70ffda3 - lavu 51.38.100
  Add av_parse_ratio() function to parseutils.h.

2012-02-06 - 70ffda3 - lavu 51.38.100
  Add AV_LOG_MAX_OFFSET macro to log.h.

2012-02-02 - 0eaa123 - lavu 51.37.100
  Add public timecode helpers.

2012-01-24 - 0c3577b - lavfi 2.60.100
  Add avfilter_graph_dump.

2012-03-20 - 0ebd836 / 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-05 - lavc 54.10.100 / 54.8.0
  f095391 / 6699d07 Add av_get_exact_bits_per_sample()
  f095391 / 9524cf7 Add av_get_audio_frame_duration()

2012-03-04 - 2af8f2c / 44fe77b - lavc 54.8.100 / 54.7.0 - avcodec.h
  Add av_codec_is_encoder/decoder().

2012-03-01 - 1eb7f39 / 442c132 - lavc 54.5.100 / 54.3.0 - avcodec.h
  Add av_packet_shrink_side_data.

2012-02-29 - 79ae084 / dd2a4bc - lavf 54.2.100 / 54.2.0 - avformat.h
  Add AVStream.attached_pic and AV_DISPOSITION_ATTACHED_PIC,
  used for dealing with attached pictures/cover art.

2012-02-25 - 305e4b3 / c9bca80 - lavu 51.41.100 / 51.24.0 - error.h
  Add AVERROR_UNKNOWN
  NOTE: this was backported to 0.8

2012-02-20 - eadd426 / e9cda85 - lavc 54.2.100 / 54.2.0
  Add duration field to AVCodecParserContext

2012-02-20 - eadd426 / 0b42a93 - lavu 51.40.100 / 51.23.1 - mathematics.h
  Add av_rescale_q_rnd()

2012-02-08 - f2b20b7 / 38d5533 - lavu 51.38.101 / 51.22.1 - pixdesc.h
  Add PIX_FMT_PSEUDOPAL flag.

2012-02-08 - f2b20b7 / 52f82a1 - lavc 54.2.100 / 54.1.0
  Add avcodec_encode_video2() and deprecate avcodec_encode_video().

2012-02-01 - 4c677df / 316fc74 - lavc 54.1.0
  Add av_fast_padded_malloc() as alternative for av_realloc() when aligned
  memory is required. The buffer will always have FF_INPUT_BUFFER_PADDING_SIZE
  zero-padded bytes at the end.

2012-01-31 - a369a6b / dd6d3b0 - lavf 54.1.0
  Add avformat_get_riff_video_tags() and avformat_get_riff_audio_tags().
  NOTE: this was backported to 0.8

2012-01-31 - a369a6b / af08d9a - lavc 54.1.0
  Add avcodec_is_open() function.
  NOTE: this was backported to 0.8

2012-01-30 - 151ecc2 / 8b93312 - lavu 51.36.100 / 51.22.0 - intfloat.h
  Add a new installed header libavutil/intfloat.h with int/float punning
  functions.
  NOTE: this was backported to 0.8

2012-01-25 - lavf 53.31.100 / 53.22.0
  3c5fe5b / f1caf01 Allow doing av_write_frame(ctx, NULL) for flushing possible
          buffered data within a muxer. Added AVFMT_ALLOW_FLUSH for
          muxers supporting it (av_write_frame makes sure it is called
          only for muxers with this flag).

2012-01-15 - lavc 53.56.105 / 53.34.0
  New audio encoding API:
  67f5650 / b2c75b6 Add CODEC_CAP_VARIABLE_FRAME_SIZE capability for use by audio
          encoders.
  67f5650 / 5ee5fa0 Add avcodec_fill_audio_frame() as a convenience function.
  67f5650 / b2c75b6 Add avcodec_encode_audio2() and deprecate avcodec_encode_audio().
          Add AVCodec.encode2().

2012-01-12 - b18e17e / 3167dc9 - lavfi 2.59.100 / 2.15.0
  Add a new installed header -- libavfilter/version.h -- with version macros.

-------- 8< --------- FFmpeg 0.9 was cut here -------- 8< ---------

2011-12-08 - a502939 - lavfi 2.52.0
  Add av_buffersink_poll_frame() to buffersink.h.

2011-12-08 - 26c6fec - lavu 51.31.0
  Add av_log_format_line.

2011-12-03 - 976b095 - lavu 51.30.0
  Add AVERROR_BUG.

2011-11-24 - 573ffbb - lavu 51.28.1
  Add av_get_alt_sample_fmt() to samplefmt.h.

2011-11-03 - 96949da - lavu 51.23.0
  Add av_strcasecmp() and av_strncasecmp() to avstring.h.

2011-10-20 - b35e9e1 - lavu 51.22.0
  Add av_strtok() to avstring.h.

2012-01-03 - ad1c8dd / b73ec05 - lavu 51.34.100 / 51.21.0
  Add av_popcount64

2011-12-18 - 7c29313 / 8400b12 - lavc 53.46.1 / 53.28.1
  Deprecate AVFrame.age. The field is unused.

2011-12-12 - 8bc7fe4 / 5266045 - lavf 53.25.0 / 53.17.0
  Add avformat_close_input().
  Deprecate av_close_input_file() and av_close_input_stream().

2011-12-09 - c59b80c / b2890f5 - lavu 51.32.0 / 51.20.0 - audioconvert.h
  Expand the channel layout list.

2011-12-02 - e4de716 / 0eea212 - lavc 53.40.0 / 53.25.0
  Add nb_samples and extended_data fields to AVFrame.
  Deprecate AVCODEC_MAX_AUDIO_FRAME_SIZE.
  Deprecate avcodec_decode_audio3() in favor of avcodec_decode_audio4().
  avcodec_decode_audio4() writes output samples to an AVFrame, which allows
  audio decoders to use get_buffer().

2011-12-04 - e4de716 / 560f773 - lavc 53.40.0 / 53.24.0
  Change AVFrame.data[4]/base[4]/linesize[4]/error[4] to [8] at next major bump.
  Change AVPicture.data[4]/linesize[4] to [8] at next major bump.
  Change AVCodecContext.error[4] to [8] at next major bump.
  Add AV_NUM_DATA_POINTERS to simplify the bump transition.

2011-11-24 - lavu 51.29.0 / 51.19.0
  92afb43 / bd97b2e - add planar RGB pixel formats
  92afb43 / 6b0768e - add PIX_FMT_PLANAR and PIX_FMT_RGB pixel descriptions

2011-11-23 - 8e576d5 / bbb46f3 - lavu 51.27.0 / 51.18.0
  Add av_samples_get_buffer_size(), av_samples_fill_arrays(), and
  av_samples_alloc(), to samplefmt.h.

2011-11-23 - 8e576d5 / 8889cc4 - lavu 51.27.0 / 51.17.0
  Add planar sample formats and av_sample_fmt_is_planar() to samplefmt.h.

2011-11-19 - dbb38bc / f3a29b7 - lavc 53.36.0 / 53.21.0
  Move some AVCodecContext fields to a new private struct, AVCodecInternal,
  which is accessed from a new field, AVCodecContext.internal.
  - fields moved:
      AVCodecContext.internal_buffer       --> AVCodecInternal.buffer
      AVCodecContext.internal_buffer_count --> AVCodecInternal.buffer_count
      AVCodecContext.is_copy               --> AVCodecInternal.is_copy

2011-11-16 - 8709ba9 / 6270671 - lavu 51.26.0 / 51.16.0
  Add av_timegm()

2011-11-13 - lavf 53.21.0 / 53.15.0
  New interrupt callback API, allowing per-AVFormatContext/AVIOContext
  interrupt callbacks.
  5f268ca / 6aa0b98 Add AVIOInterruptCB struct and the interrupt_callback field to
          AVFormatContext.
  5f268ca / 1dee0ac Add avio_open2() with additional parameters. Those are
          an interrupt callback and an options AVDictionary.
          This will allow passing AVOptions to protocols after lavf
          54.0.

2011-11-06 - 13b7781 / ba04ecf - lavu 51.24.0 / 51.14.0
  Add av_strcasecmp() and av_strncasecmp() to avstring.h.

2011-11-06 - 13b7781 / 07b172f - lavu 51.24.0 / 51.13.0
  Add av_toupper()/av_tolower()

2011-11-05 - d8cab5c / b6d08f4 - lavf 53.19.0 / 53.13.0
  Add avformat_network_init()/avformat_network_deinit()

2011-10-27 - 6faf0a2 / 512557b - lavc 53.24.0 / 53.15.0
  Remove avcodec_parse_frame.
  Deprecate AVCodecContext.parse_only and CODEC_CAP_PARSE_ONLY.

2011-10-19 - d049257 / 569129a - lavf 53.17.0 / 53.10.0
  Add avformat_new_stream(). Deprecate av_new_stream().

2011-10-13 - 91eb1b1 / b631fba - lavf 53.16.0 / 53.9.0
  Add AVFMT_NO_BYTE_SEEK AVInputFormat flag.

2011-10-12 - lavu 51.21.0 / 51.12.0
  AVOptions API rewrite.

  - f884ef0 / 145f741 FF_OPT_TYPE* renamed to AV_OPT_TYPE_*
  - new setting/getting functions with slightly different semantics:
        f884ef0 / dac66da av_set_string3 -> av_opt_set
                av_set_double  -> av_opt_set_double
                av_set_q       -> av_opt_set_q
                av_set_int     -> av_opt_set_int

        f884ef0 / 41d9d51 av_get_string  -> av_opt_get
                av_get_double  -> av_opt_get_double
                av_get_q       -> av_opt_get_q
                av_get_int     -> av_opt_get_int

  - f884ef0 / 8c5dcaa trivial rename av_next_option -> av_opt_next
  - f884ef0 / 641c7af new functions - av_opt_child_next, av_opt_child_class_next
    and av_opt_find2()

2011-09-22 - a70e787 - lavu 51.17.0
  Add av_x_if_null().

2011-09-18 - 645cebb - lavc 53.16.0
  Add showall flag2

2011-09-16 - ea8de10 - lavfi 2.42.0
  Add avfilter_all_channel_layouts.

2011-09-16 - 9899037 - lavfi 2.41.0
  Rename avfilter_all_* function names to avfilter_make_all_*.

  In particular, apply the renames:
  avfilter_all_formats         -> avfilter_make_all_formats
  avfilter_all_channel_layouts -> avfilter_make_all_channel_layouts
  avfilter_all_packing_formats -> avfilter_make_all_packing_formats

2011-09-12 - 4381bdd - lavfi 2.40.0
  Change AVFilterBufferRefAudioProps.sample_rate type from uint32_t to int.

2011-09-12 - 2c03174 - lavfi 2.40.0
  Simplify signature for avfilter_get_audio_buffer(), make it
  consistent with avfilter_get_video_buffer().

2011-09-06 - 4f7dfe1 - lavfi 2.39.0
  Rename libavfilter/vsink_buffer.h to libavfilter/buffersink.h.

2011-09-06 - c4415f6 - lavfi 2.38.0
  Unify video and audio sink API.

  In particular, add av_buffersink_get_buffer_ref(), deprecate
  av_vsink_buffer_get_video_buffer_ref() and change the value for the
  opaque field passed to the abuffersink init function.

2011-09-04 - 61e2e29 - lavu 51.16.0
  Add av_asprintf().

2011-08-22 - dacd827 - lavf 53.10.0
  Add av_find_program_from_stream().

2011-08-20 - 69e2c1a - lavu 51.13.0
  Add av_get_media_type_string().

2011-09-03 - 1889c67 / fb4ca26 - lavc 53.13.0
                       lavf 53.11.0
                       lsws  2.1.0
  Add {avcodec,avformat,sws}_get_class().

2011-08-03 - 1889c67 / c11fb82 - lavu 51.15.0
  Add AV_OPT_SEARCH_FAKE_OBJ flag for av_opt_find() function.

2011-08-14 - 323b930 - lavu 51.12.0
  Add av_fifo_peek2(), deprecate av_fifo_peek().

2011-08-26 - lavu 51.14.0 / 51.9.0
  - 976a8b2 / add41de..976a8b2 / abc78a5 Do not include intfloat_readwrite.h,
    mathematics.h, rational.h, pixfmt.h, or log.h from avutil.h.

2011-08-16 - 27fbe31 / 48f9e45 - lavf 53.11.0 / 53.8.0
  Add avformat_query_codec().

2011-08-16 - 27fbe31 / bca06e7 - lavc 53.11.0
  Add avcodec_get_type().

2011-08-06 - 0cb233c / 2f63440 - lavf 53.7.0
  Add error_recognition to AVFormatContext.

2011-08-02 - 1d186e9 / 9d39cbf - lavc 53.9.1
  Add AV_PKT_FLAG_CORRUPT AVPacket flag.

2011-07-16 - b57df29 - lavfi 2.27.0
  Add audio packing negotiation fields and helper functions.

  In particular, add AVFilterPacking enum, planar, in_packings and
  out_packings fields to AVFilterLink, and the functions:
  avfilter_set_common_packing_formats()
  avfilter_all_packing_formats()

2011-07-10 - 3602ad7 / a67c061 - lavf 53.6.0
  Add avformat_find_stream_info(), deprecate av_find_stream_info().
  NOTE: this was backported to 0.7

2011-07-10 - 3602ad7 / 0b950fe - lavc 53.8.0
  Add avcodec_open2(), deprecate avcodec_open().
  NOTE: this was backported to 0.7

  Add avcodec_alloc_context3. Deprecate avcodec_alloc_context() and
  avcodec_alloc_context2().

2011-07-01 - b442ca6 - lavf 53.5.0 - avformat.h
  Add function av_get_output_timestamp().

2011-06-28 - 5129336 - lavu 51.11.0 - avutil.h
  Define the AV_PICTURE_TYPE_NONE value in AVPictureType enum.

-------- 8< --------- FFmpeg 0.7 was cut here -------- 8< ---------

-------- 8< --------- FFmpeg 0.8 was cut here -------- 8< ---------

2011-06-19 - fd2c0a5 - lavfi 2.23.0 - avfilter.h
  Add layout negotiation fields and helper functions.

  In particular, add in_chlayouts and out_chlayouts to AVFilterLink,
  and the functions:
  avfilter_set_common_sample_formats()
  avfilter_set_common_channel_layouts()
  avfilter_all_channel_layouts()

2011-06-19 - 527ca39 - lavfi 2.22.0 - AVFilterFormats
  Change type of AVFilterFormats.formats from int * to int64_t *,
  and update formats handling API accordingly.

  avfilter_make_format_list() still takes a int32_t array and converts
  it to int64_t. A new function, avfilter_make_format64_list(), that
  takes int64_t arrays has been added.

2011-06-19 - 44f669e - lavfi 2.21.0 - vsink_buffer.h
  Add video sink buffer and vsink_buffer.h public header.

2011-06-12 - 9fdf772 - lavfi 2.18.0 - avcodec.h
  Add avfilter_get_video_buffer_ref_from_frame() function in
  libavfilter/avcodec.h.

2011-06-12 - c535494 - lavfi 2.17.0 - avfiltergraph.h
  Add avfilter_inout_alloc() and avfilter_inout_free() functions.

2011-06-12 - 6119b23 - lavfi 2.16.0 - avfilter_graph_parse()
  Change avfilter_graph_parse() signature.

2011-06-23 - 686959e / 67e9ae1 - lavu 51.10.0 / 51.8.0 - attributes.h
  Add av_printf_format().

2011-06-16 - 2905e3f / 05e84c9, 2905e3f / 25de595 - lavf 53.4.0 / 53.2.0 - avformat.h
  Add avformat_open_input and avformat_write_header().
  Deprecate av_open_input_stream, av_open_input_file,
  AVFormatParameters and av_write_header.

2011-06-16 - 2905e3f / 7e83e1c, 2905e3f / dc59ec5 - lavu 51.9.0 / 51.7.0 - opt.h
  Add av_opt_set_dict() and av_opt_find().
  Deprecate av_find_opt().
  Add AV_DICT_APPEND flag.

2011-06-10 - 45fb647 / cb7c11c - lavu 51.6.0 - opt.h
  Add av_opt_flag_is_set().

2011-06-10 - c381960 - lavfi 2.15.0 - avfilter_get_audio_buffer_ref_from_arrays
  Add avfilter_get_audio_buffer_ref_from_arrays() to avfilter.h.

2011-06-09 - f9ecb84 / d9f80ea - lavu 51.8.0 - AVMetadata
  Move AVMetadata from lavf to lavu and rename it to
  AVDictionary -- new installed header dict.h.
  All av_metadata_* functions renamed to av_dict_*.

2011-06-07 - d552f61 / a6703fa - lavu 51.8.0 - av_get_bytes_per_sample()
  Add av_get_bytes_per_sample() in libavutil/samplefmt.h.
  Deprecate av_get_bits_per_sample_fmt().

2011-06-05 - f956924 / b39b062 - lavu 51.8.0 - opt.h
  Add av_opt_free convenience function.

2011-06-06 - 95a0242 - lavfi 2.14.0 - AVFilterBufferRefAudioProps
  Remove AVFilterBufferRefAudioProps.size, and use nb_samples in
  avfilter_get_audio_buffer() and avfilter_default_get_audio_buffer() in
  place of size.

2011-06-06 - 0bc2cca - lavu 51.6.0 - av_samples_alloc()
  Switch nb_channels and nb_samples parameters order in
  av_samples_alloc().

2011-06-06 - e1c7414 - lavu 51.5.0 - av_samples_*
  Change the data layout created by av_samples_fill_arrays() and
  av_samples_alloc().

2011-06-06 - 27bcf55 - lavfi 2.13.0 - vsrc_buffer.h
  Make av_vsrc_buffer_add_video_buffer_ref() accepts an additional
  flags parameter in input.

2011-06-03 - e977ca2 - lavfi 2.12.0 - avfilter_link_free()
  Add avfilter_link_free() function.

2011-06-02 - 5ad38d9 - lavu 51.4.0 - av_force_cpu_flags()
  Add av_cpu_flags() in libavutil/cpu.h.

2011-05-28 - e71f260 - lavu 51.3.0 - pixdesc.h
  Add av_get_pix_fmt_name() in libavutil/pixdesc.h, and deprecate
  avcodec_get_pix_fmt_name() in libavcodec/avcodec.h in its favor.

2011-05-25 - 39e4206 / 30315a8 - lavf 53.3.0 - avformat.h
  Add fps_probe_size to AVFormatContext.

2011-05-22 - 5ecdfd0 - lavf 53.2.0 - avformat.h
  Introduce avformat_alloc_output_context2() and deprecate
  avformat_alloc_output_context().

2011-05-22 - 83db719 - lavfi 2.10.0 - vsrc_buffer.h
  Make libavfilter/vsrc_buffer.h public.

2011-05-19 - c000a9f - lavfi 2.8.0 - avcodec.h
  Add av_vsrc_buffer_add_frame() to libavfilter/avcodec.h.

2011-05-14 - 9fdf772 - lavfi 2.6.0 - avcodec.h
  Add avfilter_get_video_buffer_ref_from_frame() to libavfilter/avcodec.h.

2011-05-18 - 75a37b5 / 64150ff - lavc 53.7.0 - AVCodecContext.request_sample_fmt
  Add request_sample_fmt field to AVCodecContext.

2011-05-10 - 59eb12f / 188dea1 - lavc 53.6.0 - avcodec.h
  Deprecate AVLPCType and the following fields in
  AVCodecContext: lpc_coeff_precision, prediction_order_method,
  min_partition_order, max_partition_order, lpc_type, lpc_passes.
  Corresponding FLAC encoder options should be used instead.

2011-05-07 - 9fdf772 - lavfi 2.5.0 - avcodec.h
  Add libavfilter/avcodec.h header and avfilter_copy_frame_props()
  function.

2011-05-07 - 18ded93 - lavc 53.5.0 - AVFrame
  Add format field to AVFrame.

2011-05-07 - 22333a6 - lavc 53.4.0 - AVFrame
  Add width and height fields to AVFrame.

2011-05-01 - 35fe66a - lavfi 2.4.0 - avfilter.h
  Rename AVFilterBufferRefVideoProps.pixel_aspect to
  sample_aspect_ratio.

2011-05-01 - 77e9dee - lavc 53.3.0 - AVFrame
  Add a sample_aspect_ratio field to AVFrame.

2011-05-01 - 1ba5727 - lavc 53.2.0 - AVFrame
  Add a pkt_pos field to AVFrame.

2011-04-29 - 35ceaa7 - lavu 51.2.0 - mem.h
  Add av_dynarray_add function for adding
  an element to a dynamic array.

2011-04-26 - d7e5aeb / bebe72f - lavu 51.1.0 - avutil.h
  Add AVPictureType enum and av_get_picture_type_char(), deprecate
  FF_*_TYPE defines and av_get_pict_type_char() defined in
  libavcodec/avcodec.h.

2011-04-26 - d7e5aeb / 10d3940 - lavfi 2.3.0 - avfilter.h
  Add pict_type and key_frame fields to AVFilterBufferRefVideo.

2011-04-26 - d7e5aeb / 7a11c82 - lavfi 2.2.0 - vsrc_buffer
  Add sample_aspect_ratio fields to vsrc_buffer arguments

2011-04-21 - 8772156 / 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:
    c407984 / 4de339e introduce side information for AVPacket
    c407984 / 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:
    c55780d / 175389c add avio_check as a replacement for url_exist
    9891004 / ff1ec0c add avio_pause and avio_seek_time as replacements
            for _av_url_read_fseek/fpause
    d4d0932 / cdc6a87 deprecate av_protocol_next(), avio_enum_protocols
            should be used instead.
    c88caa5 / 80c6e23 rename url_set_interrupt_cb->avio_set_interrupt_cb.
    c88caa5 / f87b1b3 rename open flags: URL_* -> AVIO_*
    d4d0932 / f8270bb add avio_enum_protocols.
    d4d0932 / 5593f03 deprecate URLProtocol.
    d4d0932 / c486dad deprecate URLContext.
    d4d0932 / 026e175 deprecate the typedef for URLInterruptCB
    c88caa5 / 8e76a19 deprecate av_register_protocol2.
    11d7841 / b840484 deprecate URL_PROTOCOL_FLAG_NESTED_SCHEME
    11d7841 / 1305d93 deprecate av_url_read_seek
    11d7841 / fa104e1 deprecate av_url_read_pause
    434f248 / 727c7aa deprecate url_get_filename().
    434f248 / 5958df3 deprecate url_max_packet_size().
    434f248 / 1869ea0 deprecate url_get_file_handle().
    434f248 / 32a97d4 deprecate url_filesize().
    434f248 / e52a914 deprecate url_close().
    434f248 / 58a48c6 deprecate url_seek().
    434f248 / 925e908 deprecate url_write().
    434f248 / dce3756 deprecate url_read_complete().
    434f248 / bc371ac deprecate url_read().
    434f248 / 0589da0 deprecate url_open().
    434f248 / 62eaaea deprecate url_connect.
    434f248 / 5652bb9 deprecate url_alloc.
    434f248 / 333e894 deprecate url_open_protocol
    434f248 / e230705 deprecate url_poll and URLPollEntry

2011-04-08 - lavf 52.106.0 - avformat.h
  Minor avformat.h cleanup:
    d4d0932 / a9bf9d8 deprecate av_guess_image2_codec
    d4d0932 / 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:
    2cae980 / 724f6a0 deprecate url_fdopen
    2cae980 / 403ee83 deprecate url_open_dyn_packet_buf
    2cae980 / 6dc7d80 rename url_close_dyn_buf       -> avio_close_dyn_buf
    2cae980 / b92c545 rename url_open_dyn_buf        -> avio_open_dyn_buf
    2cae980 / 8978fed introduce an AVIOContext.seekable field as a replacement for
            AVIOContext.is_streamed and url_is_streamed()
    1caa412 / b64030f deprecate get_checksum()
    1caa412 / 4c4427a deprecate init_checksum()
    2fd41c9 / 4ec153b deprecate udp_set_remote_url/get_local_port
    4fa0e24 / 933e90a deprecate av_url_read_fseek/fpause
    4fa0e24 / 8d9769a deprecate url_fileno
    0fecf26 / b7f2fdd rename put_flush_packet -> avio_flush
    0fecf26 / 35f1023 deprecate url_close_buf
    0fecf26 / 83fddae deprecate url_open_buf
    0fecf26 / d9d86e0 rename url_fprintf -> avio_printf
    0fecf26 / 59f65d9 deprecate url_setbufsize
    6947b0c / 3e68b3b deprecate url_ferror
    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 - 27ef7b1 / 34b47d7 - lavc 52.115.0 - AVCodecContext.audio_service_type
  Add audio_service_type field to AVCodecContext.

2011-03-17 - e309fdc - lavu 50.40.0 - pixfmt.h
  Add PIX_FMT_BGR48LE and PIX_FMT_BGR48BE pixel formats

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 - c0b102c - 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 - 37b00b4 - 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-31 - 7b3ea55 - lavfi 1.76.0 - vsrc_buffer
  Add sample_aspect_ratio fields to vsrc_buffer arguments

2011-01-31 - 910b5b8 - lavfi 1.75.0 - AVFilterLink sample_aspect_ratio
  Add sample_aspect_ratio field to AVFilterLink.

2011-01-15 - a242ac3 - lavfi 1.74.0 - AVFilterBufferRefAudioProps
  Rename AVFilterBufferRefAudioProps.samples_nb to nb_samples.

2011-01-14 - 7f88a5b - lavf 52.93.0 - av_metadata_copy()
  Add av_metadata_copy() in avformat.h.

2011-01-07 - 81c623f - lavc 52.107.0 - deprecate reordered_opaque
  Deprecate reordered_opaque in favor of pkt_pts/dts.

2011-01-07 - 1919fea - 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 - 393cbb9 - lavc 52.105.0 - pkt_pts
  Add pkt_pts to AVFrame.

2011-01-07 - 060ec0a - lavc 52.104.0 - av_get_profile_name()
  Add av_get_profile_name to libavcodec/avcodec.h.

2010-12-27 - 0ccabee - lavfi 1.71.0 - AV_PERM_NEG_LINESIZES
  Add AV_PERM_NEG_LINESIZES in avfilter.h.

2010-12-27 - 9128ae0 - lavf 52.91.0 - av_find_best_stream()
  Add av_find_best_stream to libavformat/avformat.h.

2010-12-27 - 107a7e3 - lavf 52.90.0
  Add AVFMT_NOSTREAMS flag for formats with no streams,
  like e.g. text metadata.

2010-12-22 - 0328b9e - lavu 50.36.0 - file.h
  Add functions av_file_map() and av_file_unmap() in file.h.

2010-12-19 - 0bc55f5 - 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 - c61cdd0 - 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 - 16cfc96 - lavc 52.98.0 - CODEC_CAP_NEG_LINESIZES
  Add CODEC_CAP_NEG_LINESIZES codec capability flag in avcodec.h.

2010-12-04 - bb4afa1 - 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 - 4da12e3 - lavcore 0.15.0 - av_image_alloc()
  Add av_image_alloc() to libavcore/imgutils.h.

2010-12-02 - 037be76 - lavfi 1.67.0 - avfilter_graph_create_filter()
  Add function avfilter_graph_create_filter() in avfiltergraph.h.

2010-11-25 - 4723bc2 - 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 - 176a615 - 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 - 6bfc268 - lavf 52.85.0 - avformat.h
  Add av_append_packet().

2010-11-21 - a08d918 - lavc 52.97.0 - avcodec.h
  Add av_grow_packet().

2010-11-17 - 0985e1a - lavcore 0.13.0 - parseutils.h
  Add av_parse_color() declared in libavcore/parseutils.h.

2010-11-13 - cb2c971 - lavc 52.95.0 - AVCodecContext
  Add AVCodecContext.subtitle_header and AVCodecContext.subtitle_header_size
  fields.

2010-11-13 - 5aaea02 - lavfi 1.62.0 - avfiltergraph.h
  Make avfiltergraph.h public.

2010-11-13 - 4fcbb2a - 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 - d2af720 - 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 - 24de0ed - lavfi 1.59.0 - avfilter_free()
  Rename avfilter_destroy() to avfilter_free().
  This change breaks libavfilter API/ABI.

2010-11-07 - 1e80a0e - lavfi 1.58.0 - avfiltergraph.h
  Remove graphparser.h header, move AVFilterInOut and
  avfilter_graph_parse() declarations to libavfilter/avfiltergraph.h.

2010-11-07 - 7313132 - lavfi 1.57.0 - AVFilterInOut
  Rename field AVFilterInOut.filter to AVFilterInOut.filter_ctx.
  This change breaks libavfilter API.

2010-11-04 - 97dd1e4 - lavfi 1.56.0 - avfilter_graph_free()
  Rename avfilter_graph_destroy() to avfilter_graph_free().
  This change breaks libavfilter API/ABI.

2010-11-04 - e15aeea - lavfi 1.55.0 - avfilter_graph_alloc()
  Add avfilter_graph_alloc() to libavfilter/avfiltergraph.h.

2010-11-02 - 6f84cd1 - lavcore 0.12.0 - av_get_bits_per_sample_fmt()
  Add av_get_bits_per_sample_fmt() to libavcore/samplefmt.h and
  deprecate av_get_bits_per_sample_format().

2010-11-02 - d63e456 - lavcore 0.11.0 - samplefmt.h
  Add sample format functions in libavcore/samplefmt.h:
  av_get_sample_fmt_name(),
  av_get_sample_fmt(),
  av_get_sample_fmt_string(),
  and deprecate the corresponding libavcodec/audioconvert.h functions:
  avcodec_get_sample_fmt_name(),
  avcodec_get_sample_fmt(),
  avcodec_sample_fmt_string().

2010-11-02 - 262d1c5 - lavcore 0.10.0 - samplefmt.h
  Define enum AVSampleFormat in libavcore/samplefmt.h, deprecate enum
  SampleFormat.

2010-10-16 - 2a24df9 - lavfi 1.52.0 - avfilter_graph_config()
  Add the function avfilter_graph_config() in avfiltergraph.h.

2010-10-15 - 03700d3 - lavf 52.83.0 - metadata API
  Change demuxers to export metadata in generic format and
  muxers to accept generic format. Deprecate the public
  conversion API.

2010-10-10 - 867ae7a - lavfi 1.49.0 - AVFilterLink.time_base
  Add time_base field to AVFilterLink.

2010-09-27 - c85eef4 - lavu 50.31.0 - av_set_options_string()
  Move av_set_options_string() from libavfilter/parseutils.h to
  libavutil/opt.h.

2010-09-27 - acc0490 - lavfi 1.47.0 - AVFilterLink
  Make the AVFilterLink fields srcpad and dstpad store the pointers to
  the source and destination pads, rather than their indexes.

2010-09-27 - 372e288 - lavu 50.30.0 - av_get_token()
  Move av_get_token() from libavfilter/parseutils.h to
  libavutil/avstring.h.

2010-09-26 - 635d4ae - lsws 0.12.0 - swscale.h
  Add the functions sws_alloc_context() and sws_init_context().

2010-09-26 - 6ed0404 - lavu 50.29.0 - opt.h
  Move libavcodec/opt.h to libavutil/opt.h.

2010-09-24 - 1c1c80f - lavu 50.28.0 - av_log_set_flags()
  Default of av_log() changed due to many problems to the old no repeat
  detection. Read the docs of AV_LOG_SKIP_REPEATED in log.h before
  enabling it for your app!.

2010-09-24 - f66eb58 - lavc 52.90.0 - av_opt_show2()
  Deprecate av_opt_show() in favor or av_opt_show2().

2010-09-14 - bc6f0af - lavu 50.27.0 - av_popcount()
  Add av_popcount() to libavutil/common.h.

2010-09-08 - c6c98d0 - lavu 50.26.0 - av_get_cpu_flags()
  Add av_get_cpu_flags().

2010-09-07 - 34017fd - lavcore 0.9.0 - av_image_copy()
  Add av_image_copy().

2010-09-07 - 9686abb - lavcore 0.8.0 - av_image_copy_plane()
  Add av_image_copy_plane().

2010-09-07 - 9b7269e - lavcore 0.7.0 - imgutils.h
  Adopt hierarchical scheme for the imgutils.h function names,
  deprecate the old names.

2010-09-04 - 7160bb7 - lavu 50.25.0 - AV_CPU_FLAG_*
  Deprecate the FF_MM_* flags defined in libavcodec/avcodec.h in favor
  of the AV_CPU_FLAG_* flags defined in libavutil/cpu.h.

2010-08-26 - 5da19b5 - lavc 52.87.0 - avcodec_get_channel_layout()
  Add avcodec_get_channel_layout() in audioconvert.h.

2010-08-20 - e344336 - lavcore 0.6.0 - av_fill_image_max_pixsteps()
  Rename av_fill_image_max_pixstep() to av_fill_image_max_pixsteps().

2010-08-18 - a6ddf8b - lavcore 0.5.0 - av_fill_image_max_pixstep()
  Add av_fill_image_max_pixstep() in imgutils.h.

2010-08-17 - 4f2d2e4 - lavu 50.24.0 - AV_NE()
  Add the AV_NE macro.

2010-08-17 - ad2c950 - lavfi 1.36.0 - audio framework
  Implement AVFilterBufferRefAudioProps struct for audio properties,
  get_audio_buffer(), filter_samples() functions and related changes.

2010-08-12 - 81c1eca - lavcore 0.4.0 - av_get_image_linesize()
  Add av_get_image_linesize() in imgutils.h.

2010-08-11 - c1db7bf - lavfi 1.34.0 - AVFilterBufferRef
  Resize data and linesize arrays in AVFilterBufferRef to 8.

  This change breaks libavfilter API/ABI.

2010-08-11 - 9f08d80 - lavc 52.85.0 - av_picture_data_copy()
  Add av_picture_data_copy in avcodec.h.

2010-08-11 - 84c0386 - lavfi 1.33.0 - avfilter_open()
  Change avfilter_open() signature:
  AVFilterContext *avfilter_open(AVFilter *filter, const char *inst_name) ->
  int avfilter_open(AVFilterContext **filter_ctx, AVFilter *filter, const char *inst_name);

  This change breaks libavfilter API/ABI.

2010-08-11 - cc80caf - lavfi 1.32.0 - AVFilterBufferRef
  Add a type field to AVFilterBufferRef, and move video specific
  properties to AVFilterBufferRefVideoProps.

  This change breaks libavfilter API/ABI.

2010-08-07 - 5d4890d - lavfi 1.31.0 - AVFilterLink
  Rename AVFilterLink fields:
  AVFilterLink.srcpic    ->  AVFilterLink.src_buf
  AVFilterLink.cur_pic   ->  AVFilterLink.cur_buf
  AVFilterLink.outpic    ->  AVFilterLink.out_buf

2010-08-07 - 7fce481 - lavfi 1.30.0
  Rename functions and fields:
  avfilter_(un)ref_pic       -> avfilter_(un)ref_buffer
  avfilter_copy_picref_props -> avfilter_copy_buffer_ref_props
  AVFilterBufferRef.pic      -> AVFilterBufferRef.buffer

2010-08-07 - ecc8dad - lavfi 1.29.0 - AVFilterBufferRef
  Rename AVFilterPicRef to AVFilterBufferRef.

2010-08-07 - d54e094 - lavfi 1.28.0 - AVFilterBuffer
  Move format field from AVFilterBuffer to AVFilterPicRef.

2010-08-06 - bf176f5 - lavcore 0.3.0 - av_check_image_size()
  Deprecate avcodec_check_dimensions() in favor of the function
  av_check_image_size() defined in libavcore/imgutils.h.

2010-07-30 - 56b5e9d - lavfi 1.27.0 - AVFilterBuffer
  Increase size of the arrays AVFilterBuffer.data and
  AVFilterBuffer.linesize from 4 to 8.

  This change breaks libavfilter ABI.

2010-07-29 - e7bd48a - lavcore 0.2.0 - imgutils.h
  Add functions av_fill_image_linesizes() and
  av_fill_image_pointers(), declared in libavcore/imgutils.h.

2010-07-27 - 126b638 - lavcore 0.1.0 - parseutils.h
  Deprecate av_parse_video_frame_size() and av_parse_video_frame_rate()
  defined in libavcodec in favor of the newly added functions
  av_parse_video_size() and av_parse_video_rate() declared in
  libavcore/parseutils.h.

2010-07-23 - 4485247 - lavu 50.23.0 - mathematics.h
  Add the M_PHI constant definition.

2010-07-22 - bdab614 - lavfi 1.26.0 - media format generalization
  Add a type field to AVFilterLink.

  Change the field types:
  enum PixelFormat format   -> int format   in AVFilterBuffer
  enum PixelFormat *formats -> int *formats in AVFilterFormats
  enum PixelFormat *format  -> int format   in AVFilterLink

  Change the function signatures:
  AVFilterFormats *avfilter_make_format_list(const enum PixelFormat *pix_fmts); ->
  AVFilterFormats *avfilter_make_format_list(const int *fmts);

  int avfilter_add_colorspace(AVFilterFormats **avff, enum PixelFormat pix_fmt); ->
  int avfilter_add_format    (AVFilterFormats **avff, int fmt);

  AVFilterFormats *avfilter_all_colorspaces(void); ->
  AVFilterFormats *avfilter_all_formats    (enum AVMediaType type);

  This change breaks libavfilter API/ABI.

2010-07-21 - aac6ca6 - lavcore 0.0.0
  Add libavcore.

2010-07-17 - b5c582f - lavfi 1.25.0 - AVFilterBuffer
  Remove w and h fields from AVFilterBuffer.

2010-07-17 - f0d77b2 - lavfi 1.24.0 - AVFilterBuffer
  Rename AVFilterPic to AVFilterBuffer.

2010-07-17 - 57fe80f - lavf 52.74.0 - url_fskip()
  Make url_fskip() return an int error code instead of void.

2010-07-11 - 23940f1 - lavc 52.83.0
  Add AVCodecContext.lpc_type and AVCodecContext.lpc_passes fields.
  Add AVLPCType enum.
  Deprecate AVCodecContext.use_lpc.

2010-07-11 - e1d7c88 - lavc 52.82.0 - avsubtitle_free()
  Add a function for free the contents of a AVSubtitle generated by
  avcodec_decode_subtitle.

2010-07-11 - b91d08f - lavu 50.22.0 - bswap.h and intreadwrite.h
  Make the bswap.h and intreadwrite.h API public.

2010-07-08 - ce1cd1c - lavu 50.21.0 - pixdesc.h
  Rename read/write_line() to av_read/write_image_line().

2010-07-07 - 4d508e4 - lavfi 1.21.0 - avfilter_copy_picref_props()
  Add avfilter_copy_picref_props().

2010-07-03 - 2d525ef - lavc 52.79.0
  Add FF_COMPLIANCE_UNOFFICIAL and change all instances of
  FF_COMPLIANCE_INOFFICIAL to use FF_COMPLIANCE_UNOFFICIAL.

2010-07-02 - 89eec74 - lavu 50.20.0 - lfg.h
  Export av_lfg_init(), av_lfg_get(), av_mlfg_get(), and av_bmg_get() through
  lfg.h.

2010-06-28 - a52e2c3 - lavfi 1.20.1 - av_parse_color()
  Extend av_parse_color() syntax, make it accept an alpha value specifier and
  set the alpha value to 255 by default.

2010-06-22 - 735cf6b - lavf 52.71.0 - URLProtocol.priv_data_size, priv_data_class
  Add priv_data_size and priv_data_class to URLProtocol.

2010-06-22 - ffbb289 - lavf 52.70.0 - url_alloc(), url_connect()
  Add url_alloc() and url_connect().

2010-06-22 - 9b07a2d - lavf 52.69.0 - av_register_protocol2()
  Add av_register_protocol2(), deprecating av_register_protocol().

2010-06-09 - 65db058 - lavu 50.19.0 - av_compare_mod()
  Add av_compare_mod() to libavutil/mathematics.h.

2010-06-05 - 0b99215 - lavu 50.18.0 - eval API
  Make the eval API public.

2010-06-04 - 31878fc - lavu 50.17.0 - AV_BASE64_SIZE
  Add AV_BASE64_SIZE() macro.

2010-06-02 - 7e566bb - lavc 52.73.0 - av_get_codec_tag_string()
  Add av_get_codec_tag_string().

-------- 8< --------- FFmpeg 0.6 was cut here -------- 8< ---------

2010-06-01 - 2b99142 - lsws 0.11.0 - convertPalette API
  Add sws_convertPalette8ToPacked32() and sws_convertPalette8ToPacked24().

2010-05-26 - 93ebfee - lavc 52.72.0 - CODEC_CAP_EXPERIMENTAL
  Add CODEC_CAP_EXPERIMENTAL flag.
  NOTE: this was backported to 0.6

2010-05-23 - 9977863 - lavu 50.16.0 - av_get_random_seed()
  Add av_get_random_seed().

2010-05-18 - 796ac23 - 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 - b6bc205 - lavfi 1.20.0 - AVFilterPicRef
  Add interlaced and top_field_first fields to AVFilterPicRef.

2010-05-01 - 8e2ee18 - 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.

2010-04-01 - 3dd6180 - lavf 52.61.0 - metadata API
  Add a flag for av_metadata_set2() to disable overwriting of
  existing tags.

2010-04-01 - 0fb49b5 - lavc 52.66.0
  Add avcodec_get_edge_width().

2010-03-31 - d103218 - lavc 52.65.0
  Add avcodec_copy_context().

2010-03-31 - 1a70d12 - lavf 52.60.0 - av_match_ext()
  Make av_match_ext() public.

2010-03-31 - 1149150 - lavu 50.14.0 - AVMediaType
  Move AVMediaType enum from libavcodec to libavutil.

2010-03-31 - 72415b2 - lavc 52.64.0 - AVMediaType
  Define AVMediaType enum, and use it instead of enum CodecType, which
  is deprecated and will be dropped at the next major bump.

2010-03-25 - 8795823 - lavu 50.13.0 - av_strerror()
  Implement av_strerror().

2010-03-23 - e1484eb - lavc 52.60.0 - av_dct_init()
  Support DCT-I and DST-I.

2010-03-15 - b8819c8 - lavf 52.56.0 - AVFormatContext.start_time_realtime
  Add AVFormatContext.start_time_realtime field.

2010-03-13 - 5bb5c1d - lavfi 1.18.0 - AVFilterPicRef.pos
  Add AVFilterPicRef.pos field.

2010-03-13 - 60c144f - lavu 50.12.0 - error.h
  Move error code definitions from libavcodec/avcodec.h to
  the new public header libavutil/error.h.

2010-03-07 - c709483 - lavc 52.56.0 - avfft.h
  Add public FFT interface.

2010-03-06 - ac6ef86 - lavu 50.11.0 - av_stristr()
  Add av_stristr().

2010-03-03 - 4b83fc0 - lavu 50.10.0 - av_tree_enumerate()
  Add av_tree_enumerate().

2010-02-07 - b687c1a - lavu 50.9.0 - av_compare_ts()
  Add av_compare_ts().

2010-02-05 - 3f3dc76 - lsws 0.10.0 - sws_getCoefficients()
  Add sws_getCoefficients().

2010-02-01 - ca76a11 - lavf 52.50.0 - metadata API
  Add a list of generic tag names, change 'author' -> 'artist',
  'year' -> 'date'.

2010-01-30 - 80a07f6 - lavu 50.8.0 - av_get_pix_fmt()
  Add av_get_pix_fmt().

2010-01-21 - 01cc47d - lsws 0.9.0 - sws_scale()
  Change constness attributes of sws_scale() parameters.

2010-01-10 - 3fb8e77 - lavfi 1.15.0 - avfilter_graph_config_links()
  Add a log_ctx parameter to avfilter_graph_config_links().

2010-01-07 - 8e9767f - lsws 0.8.0 - sws_isSupported{In,Out}put()
  Add sws_isSupportedInput() and sws_isSupportedOutput() functions.

2010-01-06 - c1d662f - lavfi 1.14.0 - avfilter_add_colorspace()
  Change the avfilter_add_colorspace() signature, make it accept an
  (AVFilterFormats **) rather than an (AVFilterFormats *) as before.

2010-01-03 - 4fd1f18 - lavfi 1.13.0 - avfilter_add_colorspace()
  Add avfilter_add_colorspace().

2010-01-02 - 8eb631f - lavf 52.46.0 - av_match_ext()
  Add av_match_ext(), it should be used in place of match_ext().

2010-01-01 - a1f547b - lavf 52.45.0 - av_guess_format()
  Add av_guess_format(), it should be used in place of guess_format().

2009-12-13 - a181981 - lavf 52.43.0 - metadata API
  Add av_metadata_set2(), AV_METADATA_DONT_STRDUP_KEY and
  AV_METADATA_DONT_STRDUP_VAL.

2009-12-13 - 277c733 - lavu 50.7.0 - avstring.h API
  Add av_d2str().

2009-12-13 - 02b398e - lavc 52.42.0 - AVStream
  Add avg_frame_rate.

2009-12-12 - 3ba69a1 - lavu 50.6.0 - av_bmg_next()
  Introduce the av_bmg_next() function.

2009-12-05 - a13a543 - lavfi 1.12.0 - avfilter_draw_slice()
  Add a slice_dir parameter to avfilter_draw_slice().

2009-11-26 - 4cc3f6a - lavfi 1.11.0 - AVFilter
  Remove the next field from AVFilter, this is not anymore required.

2009-11-25 - 1433c4a - lavfi 1.10.0 - avfilter_next()
  Introduce the avfilter_next() function.

2009-11-25 - 86a60fa - lavfi 1.9.0 - avfilter_register()
  Change the signature of avfilter_register() to make it return an
  int. This is required since now the registration operation may fail.

2009-11-25 - 74a0059 - lavu 50.5.0 - pixdesc.h API
  Make the pixdesc.h API public.

2009-10-27 - 243110f - lavfi 1.5.0 - AVFilter.next
  Add a next field to AVFilter, this is used for simplifying the
  registration and management of the registered filters.

2009-10-23 - cccd292 - lavfi 1.4.1 - AVFilter.description
  Add a description field to AVFilter.

2009-10-19 - 6b5dc05 - lavfi 1.3.0 - avfilter_make_format_list()
  Change the interface of avfilter_make_format_list() from
  avfilter_make_format_list(int n, ...) to
  avfilter_make_format_list(enum PixelFormat *pix_fmts).

2009-10-18 - 0eb4ff9 - lavfi 1.0.0 - avfilter_get_video_buffer()
  Make avfilter_get_video_buffer() recursive and add the w and h
  parameters to it.

2009-10-07 - 46c40e4 - lavfi 0.5.1 - AVFilterPic
  Add w and h fields to AVFilterPic.

2009-06-22 - 92400be - lavf 52.34.1 - AVFormatContext.packet_size
  This is now an unsigned int instead of a signed int.

2009-06-19 - a4276ba - lavc 52.32.0 - AVSubtitle.pts
  Add a pts field to AVSubtitle which gives the subtitle packet pts
  in AV_TIME_BASE. Some subtitle de-/encoders (e.g. XSUB) will
  not work right without this.

2009-06-03 - 8f3f2e0 - lavc 52.30.2 - AV_PKT_FLAG_KEY
  PKT_FLAG_KEY has been deprecated and will be dropped at the next
  major version. Use AV_PKT_FLAG_KEY instead.

2009-06-01 - f988ce6 - lavc 52.30.0 - av_lockmgr_register()
  av_lockmgr_register() can be used to register a callback function
  that lavc (and in the future, libraries that depend on lavc) can use
  to implement mutexes. The application should provide a callback function
  that implements the AV_LOCK_* operations described in avcodec.h.
  When the lock manager is registered, FFmpeg is guaranteed to behave
  correctly in a multi-threaded application.

2009-04-30 - ce1d9c8 - lavc 52.28.0 - av_free_packet()
  av_free_packet() is no longer an inline function. It is now exported.

2009-04-11 - 80d403f - lavc 52.25.0 - deprecate av_destruct_packet_nofree()
  Please use NULL instead. This has been supported since r16506
  (lavf > 52.23.1, lavc > 52.10.0).

2009-04-07 - 7a00bba - lavc 52.23.0 - avcodec_decode_video/audio/subtitle
  The old decoding functions are deprecated, all new code should use the
  new functions avcodec_decode_video2(), avcodec_decode_audio3() and
  avcodec_decode_subtitle2(). These new functions take an AVPacket *pkt
  argument instead of a const uint8_t *buf / int buf_size pair.

2009-04-03 - 7b09db3 - lavu 50.3.0 - av_fifo_space()
  Introduce the av_fifo_space() function.

2009-04-02 - fabd246 - lavc 52.23.0 - AVPacket
  Move AVPacket declaration from libavformat/avformat.h to
  libavcodec/avcodec.h.

2009-03-22 - 6e08ca9 - lavu 50.2.0 - RGB32 pixel formats
  Convert the pixel formats PIX_FMT_ARGB, PIX_FMT_RGBA, PIX_FMT_ABGR,
  PIX_FMT_BGRA, which were defined as macros, into enum PixelFormat values.
  Conversely PIX_FMT_RGB32, PIX_FMT_RGB32_1, PIX_FMT_BGR32 and
  PIX_FMT_BGR32_1 are now macros.
  avcodec_get_pix_fmt() now recognizes the "rgb32" and "bgr32" aliases.
  Re-sort the enum PixelFormat list accordingly.
  This change breaks API/ABI backward compatibility.

2009-03-22 - f82674e - lavu 50.1.0 - PIX_FMT_RGB5X5 endian variants
  Add the enum PixelFormat values:
  PIX_FMT_RGB565BE, PIX_FMT_RGB565LE, PIX_FMT_RGB555BE, PIX_FMT_RGB555LE,
  PIX_FMT_BGR565BE, PIX_FMT_BGR565LE, PIX_FMT_BGR555BE, PIX_FMT_BGR555LE.

2009-03-21 - ee6624e - lavu 50.0.0  - av_random*
  The Mersenne Twister PRNG implemented through the av_random* functions
  was removed. Use the lagged Fibonacci PRNG through the av_lfg* functions
  instead.

2009-03-08 - 41dd680 - lavu 50.0.0  - AVFifoBuffer
  av_fifo_init, av_fifo_read, av_fifo_write and av_fifo_realloc were dropped
  and replaced by av_fifo_alloc, av_fifo_generic_read, av_fifo_generic_write
  and av_fifo_realloc2.
  In addition, the order of the function arguments of av_fifo_generic_read
  was changed to match av_fifo_generic_write.
  The AVFifoBuffer/struct AVFifoBuffer may only be used in an opaque way by
  applications, they may not use sizeof() or directly access members.

2009-03-01 - ec26457 - lavf 52.31.0 - Generic metadata API
  Introduce a new metadata API (see av_metadata_get() and friends).
  The old API is now deprecated and should not be used anymore. This especially
  includes the following structure fields:
    - AVFormatContext.title
    - AVFormatContext.author
    - AVFormatContext.copyright
    - AVFormatContext.comment
    - AVFormatContext.album
    - AVFormatContext.year
    - AVFormatContext.track
    - AVFormatContext.genre
    - AVStream.language
    - AVStream.filename
    - AVProgram.provider_name
    - AVProgram.name
    - AVChapter.title

FFmpeg API 变更记录的更多相关文章

  1. [转载] FFmpeg API 变更记录

    最近一两年内FFmpeg项目发展的速度很快,本来是一件好事.但是随之而来的问题就是其API(接口函数)一直在发生变动.这么一来基于旧一点版本的FFmpeg的程序的代码在最新的类库上可能就跑不通了. 例 ...

  2. 学习FFmpeg API

    ffmpeg是编解码的利器,用了很久,以前看过dranger 的教程,非常精彩,受益颇多,是学习ffmpeg api很好的材料.可惜的是其针对的ffmpeg版本已经比较老了,而ffmpeg的更新又很快 ...

  3. 【转】学习FFmpeg API – 解码视频

    ffmpeg是编解码的利器,用了很久,以前看过dranger 的教程,非常精彩,受益颇多,是学习ffmpeg api很好的材料.可惜的是其针对的ffmpeg版本已经比较老了,而ffmpeg的更新又很快 ...

  4. 学习FFmpeg API – 解码视频

    本文转载 视频播放过程 首先简单介绍以下视频文件的相关知识.我们平时看到的视频文件有许多格式,比如 avi, mkv, rmvb, mov, mp4等等,这些被称为容器(Container), 不同的 ...

  5. FFmpeg 学习(四):FFmpeg API 介绍与通用 API 分析

    一.FFmpeg 相关术语 1. 容器/文件(Container/File):即特定格式的多媒体文件,比如MP4,flv,mov等. 2. 媒体流(Stream):表示在时间轴上的一段连续的数据,比如 ...

  6. 如何用FFmpeg API采集摄像头视频和麦克风音频,并实现录制文件的功能

    之前一直用Directshow技术采集摄像头数据,但是觉得涉及的细节比较多,要开发者比较了解Directshow的框架知识,学习起来有一点点难度.最近发现很多人问怎么用FFmpeg采集摄像头图像,事实 ...

  7. ffmpeg api升级到3.3 api变化

     void av_free_packet(AVPacket * pkt) Use void av_packet_unref(AVPacket * pkt) Wipe the packet. Unref ...

  8. FFmpeg API的简单实践应用

    0. 前言 利用 FFmpeg 编译链接生成的可执行程序本身可以实现很多特定的功能,但如果我们有自己的个性化需求,想要在自己开发的项目中使用 ffmpeg 的一些功能,就需要理解并应用其已经实现好的A ...

  9. ffmpeg API录制rtsp视频流

    原文出自http://blog.csdn.net/zxwangyun/article/details/8190638#reply   作者 Sloan 这里在录制时,并没有进行转码,只是相当于把rts ...

随机推荐

  1. git日常使用经验积累

    1 git merge origin/develop 将远程分支合并到本地,一般先执行合并,解决冲突,然后再git commit合入新建的分支,推送到远程分支里面,最后码云上找pl pull requ ...

  2. java随机生成字符串和校验

    首先定义字符串 String a = "0123456789"; // 数字 String b = "abcdefghijklmnopqrstuvwxyz"; ...

  3. Java锁机制了解一下

    前言 回顾前面: 多线程三分钟就可以入个门了! Thread源码剖析 多线程基础必要知识点!看了学习多线程事半功倍 只有光头才能变强! 本文章主要讲的是Java多线程加锁机制,有两种: Synchro ...

  4. 简单的国际化i18n

    就是简单的中英文转换 index.jsp <%@ page language="java" contentType="text/html; charset=UTF- ...

  5. 初识Redis系列之三:Redis支持的数据类型及使用

    支持的数据类型有五种: string(字符串).hash(哈希).list(列表).set(集合)及zset(sorted set:有序集合): 下面分别对这几种类型进行简单的Redis存取操作 1: ...

  6. 关于Node.js中HTTP请求返回数据需要JSON解析的问题

    在编写项目过程中,需要用到实时数据的推送需求, 所以首先想到了NodeJS的websocket模块 在网上找了一个聊天室的例子  然后将其改为自己需求的推送 其中遇到的问题 返回数据问题  :   由 ...

  7. Openlayers3学习心得(初识)

    最近刚辞了原来的那家公司,准备新找一份工作.其中有个公司要求会Openlayers3.一看到这个要求,就知道公司业务涉及地图图表比较多. Openlayers本身是一个基于GIS地图相关的功能丰富的J ...

  8. PHP $_GET 变量

    $_GET 变量 预定义的 $_GET 变量用于收集来自 method="get" 的表单中的值. 从带有 GET 方法的表单发送的信息,对任何人都是可见的(会显示在浏览器的地址栏 ...

  9. Redis源码学习:Lua脚本

    Redis源码学习:Lua脚本 1.Sublime Text配置 我是在Win7下,用Sublime Text + Cygwin开发的,配置方法请参考<Sublime Text 3下C/C++开 ...

  10. 大数据基础知识问答----spark篇,大数据生态圈

    Spark相关知识点 1.Spark基础知识 1.Spark是什么? UCBerkeley AMPlab所开源的类HadoopMapReduce的通用的并行计算框架 dfsSpark基于mapredu ...