APIchanges 117 KB
Newer Older
1
Never assume the API of libav* to be stable unless at least 1 month has passed
2
since the last major version increase or the API was added.
3

4
The last version increases were:
James Almer's avatar
James Almer committed
5 6 7 8 9 10 11 12 13
libavcodec:    2017-10-21
libavdevice:   2017-10-21
libavfilter:   2017-10-21
libavformat:   2017-10-21
libavresample: 2017-10-21
libpostproc:   2017-10-21
libswresample: 2017-10-21
libswscale:    2017-10-21
libavutil:     2017-10-21
14 15 16


API changes, most recent first:
17

18 19 20
2018-03-21 - xxxxxxx - lavc 58.15.100 - avcodec.h
  Add av_packet_make_writable().

wm4's avatar
wm4 committed
21 22 23
2018-03-18 - xxxxxxx - lavu 56.11.100 - frame.h
  Add AV_FRAME_DATA_QP_TABLE_PROPERTIES and AV_FRAME_DATA_QP_TABLE_DATA.

24 25 26
2018-03-15 - e0e72539cf - lavu 56.10.100 - opt.h
  Add AV_OPT_FLAG_BSF_PARAM

27 28 29
2018-03-07 - xxxxxxx - lavu 56.9.100 - crc.h
  Add AV_CRC_8_EBU crc variant.

30 31 32 33 34
2018-03-xx - xxxxxxx - lavc 58.14.100 - mediacodec.h
  Change the default behavior of avcodec_flush() on mediacodec
  video decoders. To restore the previous behavior, use the new
  delay_flush=1 option.

35 36 37
2018-03-xx - xxxxxxx - lavu 56.8.100 - frame.h
  Add av_frame_new_side_data_from_buf().

38 39 40 41
2018-02-xx - xxxxxxx
  Change av_ripemd_update(), av_murmur3_update() and av_hash_update() length
  parameter type to size_t at next major bump.

42
2018-02-xx - xxxxxxx - lavfi 7.12.100 - avfilter.h
43 44
  Add AVFilterContext.extra_hw_frames.

45
2018-02-xx - xxxxxxx - lavc 58.11.100 - avcodec.h
46 47
  Add AVCodecContext.extra_hw_frames.

48 49 50 51 52
2018-02-06 - 0fd475704e - lavd 58.1.100 - avdevice.h
  Deprecate use of av_input_audio_device_next(), av_input_video_device_next(),
  av_output_audio_device_next(), av_output_video_device_next().
  Add av_indev_iterate(), and av_outdev_iterate().

53 54
2018-xx-xx - xxxxxxx - lavf 58.9.100 - avformat.h
  Deprecate use of av_register_input_format(), av_register_output_format(),
55
  av_register_all(), av_iformat_next(), av_oformat_next().
56 57
  Add av_demuxer_iterate(), and av_muxer_iterate().

58
2018-xx-xx - xxxxxxx - lavc 58.10.100 - avcodec.h
59 60 61
  Deprecate use of avcodec_register(), avcodec_register_all(),
  av_codec_next(), av_register_codec_parser(), and av_parser_next().
  Add av_codec_iterate() and av_parser_iterate().
62

63 64 65 66 67 68 69
2018-02-xx - xxxxxxx - lavf 58.8.100 - avformat.h
  Deprecate the current names of the RTSP "timeout", "stimeout", "user-agent"
  options. Introduce "listen_timeout" as replacement for the current "timeout"
  option, and "user_agent" as replacement for "user-agent". Once the deprecation
  is over, the old "timeout" option will be removed, and "stimeout" will be
  renamed to "stimeout" (the "timeout" option will essentially change semantics).

70 71 72 73
2018-01-xx - xxxxxxx - lavf 58.7.100 - avformat.h
  Deprecate AVFormatContext filename field which had limited length, use the
  new dynamically allocated url field instead.

74 75 76
2018-01-xx - xxxxxxx - lavf 58.7.100 - avformat.h
  Add url field to AVFormatContext and add ff_format_set_url helper function.

77 78 79
2018-01-xx - xxxxxxx - lavf 58.6.100 - avformat.h
  Add AVFMTCTX_UNSEEKABLE (for HLS demuxer).

80 81 82
2018-xx-xx - xxxxxxx - lavu 56.9.100 - aes_ctr.h
  Add method to set the 16-byte IV.

83 84 85 86 87 88
2018-01-xx - xxxxxxx - lavf 58.5.100 - avformat.h
  Explicitly make avformat_network_init() and avformat_network_deinit() optional.
  If these are not called, network initialization and deinitialization is
  automatic, and unlike in older versions, fully supported, unless libavformat
  is linked to ancient GnuTLS and OpenSSL.

89 90 91 92
2018-01-xx - xxxxxxx - lavf 58.4.100 - avformat.h
  Deprecate AVStream.recommended_encoder_configuration. It was useful only for
  FFserver, which has been removed.

93 94 95
2018-01-xx - xxxxxxx - lavfi 7.11.101 - avfilter.h
  Deprecate avfilter_link_get_channels(). Use av_buffersink_get_channels().

96 97 98 99 100 101 102 103 104
2017-xx-xx - xxxxxxx - lavr 4.0.0 - avresample.h
  Deprecate the entire library. Merged years ago to provide compatibility
  with Libav, it remained unmaintained by the FFmpeg project and duplicated
  functionality provided by libswresample.

  In order to improve consistency and reduce attack surface, it has been deprecated.
  Users of this library are asked to migrate to libswresample, which, as well as
  providing more functionality, is faster and has higher accuracy.

105 106 107 108 109
2017-xx-xx - xxxxxxx - lavc 58.9.100 - avcodec.h
  Deprecate av_lockmgr_register(). You need to build FFmpeg with threading
  support enabled to get basic thread-safety (which is the default build
  configuration).

110 111 112
2017-12-xx - xxxxxxx - lavu 56.7.100 - cpu.h
  AVX-512 flags added.

113 114 115
2017-xx-xx - xxxxxxx - lavc 58.8.100 - avcodec.h
  The MediaCodec decoders now support AVCodecContext.hw_device_ctx.

116 117 118 119
2017-xx-xx - xxxxxxx - lavu 56.6.100 - hwcontext.h hwcontext_mediacodec.h
  Add AV_HWDEVICE_TYPE_MEDIACODEC and a new installed header with
  MediaCodec-specific hwcontext definitions.

120 121 122 123
2017-xx-xx - xxxxxxc - lavc 58.7.100 - avcodec.h
  Add AV_CODEC_CAP_HARDWARE, AV_CODEC_CAP_HYBRID, and AVCodec.wrapper_name,
  and mark all AVCodecs accordingly.

James Almer's avatar
James Almer committed
124
2017-xx-xx - xxxxxxx - lavu 56.4.100 / 56.7.0 - stereo3d.h
125 126
  Add view field to AVStereo3D structure and AVStereo3DView enum.

127 128 129
2017-xx-xx - xxxxxxx - lavc 58.6.100 - avcodec.h
  Add const to AVCodecContext.hwaccel.

130 131 132 133
2017-11-xx - xxxxxxx - lavc 58.5.100 - avcodec.h
  Deprecate user visibility of the AVHWAccel structure and the functions
  av_register_hwaccel() and av_hwaccel_next().

134 135 136
2017-11-xx - xxxxxxx - lavc 58.4.100 - avcodec.h
  Add AVCodecHWConfig and avcodec_get_hw_config().

137
2017-11-22 - 3650cb2dfa - lavu 56.3.100 - opencl.h
138
  Remove experimental OpenCL API (av_opencl_*).
139

140
2017-11-22 - b25d8ef0a7 - lavu 56.2.100 - hwcontext.h hwcontext_opencl.h
141 142 143
  Add AV_HWDEVICE_TYPE_OPENCL and a new installed header with
  OpenCL-specific hwcontext definitions.

144
2017-11-22 - a050f56c09 - lavu 56.1.100 - pixfmt.h
145 146
  Add AV_PIX_FMT_OPENCL.

147
2017-11-11 - 48e4eda11d - lavc 58.3.100 - avcodec.h
148 149
  Add avcodec_get_hw_frames_parameters().

150 151
-------- 8< --------- FFmpeg 3.4 was cut here -------- 8< ---------

152
2017-09-28 - b6cf66ae1c - lavc 57.106.104 - avcodec.h
153 154
  Add AV_PKT_DATA_A53_CC packet side data, to export closed captions

155
2017-09-27 - 7aa6b8a68f - lavu 55.77.101 / lavu 55.31.1 - frame.h
156 157 158
  Allow passing the value of 0 (meaning "automatic") as the required alignment
  to av_frame_get_buffer().

159
2017-09-27 - 522f877086 - lavu 55.77.100 / lavu 55.31.0 - cpu.h
160 161
  Add av_cpu_max_align() for querying maximum required data alignment.

162
2017-09-26 - b1cf151c4d - lavc 57.106.102 - avcodec.h
163 164 165 166 167
  Deprecate AVCodecContext.refcounted_frames. This was useful for deprecated
  API only (avcodec_decode_video2/avcodec_decode_audio4). The new decode APIs
  (avcodec_send_packet/avcodec_receive_frame) always work with reference
  counted frames.

168
2017-09-21 - 6f15f1cdc8 - lavu 55.76.100 / 56.6.0 - pixdesc.h
169 170 171 172
  Add av_color_range_from_name(), av_color_primaries_from_name(),
  av_color_transfer_from_name(), av_color_space_from_name(), and
  av_chroma_location_from_name().

173
2017-09-13 - 82342cead1 - lavc 57.106.100 - avcodec.h
174 175
  Add AV_PKT_FLAG_TRUSTED.

176
2017-09-13 - 9cb23cd9fe - lavu 55.75.100 - hwcontext.h hwcontext_drm.h
177 178
  Add AV_HWDEVICE_TYPE_DRM and implementation.

179
2017-09-08 - 5ba2aef6ec - lavfi 6.103.100 - buffersrc.h
180 181
  Add av_buffersrc_close().

182
2017-09-04 - 6cadbb16e9 - lavc 57.105.100 - avcodec.h
183 184 185
  Add AV_HWACCEL_CODEC_CAP_EXPERIMENTAL, replacing the deprecated
  HWACCEL_CODEC_CAP_EXPERIMENTAL flag.

186
2017-09-01 - 5d76674756 - lavf 57.81.100 - avio.h
187 188
  Add avio_read_partial().

189 190 191
2017-09-01 - xxxxxxx - lavf 57.80.100 / 57.11.0 - avio.h
  Add avio_context_free(). From now on it must be used for freeing AVIOContext.

192
2017-08-08 - 1460408703 - lavu 55.74.100 - pixdesc.h
193 194
  Add AV_PIX_FMT_FLAG_FLOAT pixel format flag.

195
2017-08-08 - 463b81de2b - lavu 55.72.100 - imgutils.h
196 197
  Add av_image_fill_black().

198
2017-08-08 - caa12027ba - lavu 55.71.100 - frame.h
199 200
  Add av_frame_apply_cropping().

201 202 203
2017-07-25 - 24de4fddca - lavu 55.69.100 - frame.h
  Add AV_FRAME_DATA_ICC_PROFILE side data type.

204
2017-06-27 - 70143a3954 - lavc 57.100.100 - avcodec.h
205 206 207 208 209
  DXVA2 and D3D11 hardware accelerated decoding now supports the new hwaccel API,
  which can create the decoder context and allocate hardware frame automatically.
  See AVCodecContext.hw_device_ctx and AVCodecContext.hw_frames_ctx. For D3D11,
  the new AV_PIX_FMT_D3D11 pixfmt must be used with the new API.

210
2017-06-27 - 3303511f33 - lavu 56.67.100 - hwcontext.h
211 212
  Add AV_HWDEVICE_TYPE_D3D11VA and AV_PIX_FMT_D3D11.

213
2017-06-24 - 09891c5391 - lavf 57.75.100 - avio.h
214 215
  Add AVIO_DATA_MARKER_FLUSH_POINT to signal preferred flush points to aviobuf.

216
2017-06-14 - d59c6a3aeb - lavu 55.66.100 - hwcontext.h
217 218 219
  av_hwframe_ctx_create_derived() now takes some AV_HWFRAME_MAP_* combination
  as its flags argument (which was previously unused).

220
2017-06-14 - 49ae8a5e87 - lavc 57.99.100 - avcodec.h
221 222
  Add AV_HWACCEL_FLAG_ALLOW_PROFILE_MISMATCH.

223
2017-06-14 - 0b1794a43e - lavu 55.65.100 - hwcontext.h
224 225 226
  Add AV_HWDEVICE_TYPE_NONE, av_hwdevice_find_type_by_name(),
  av_hwdevice_get_type_name() and av_hwdevice_iterate_types().

227
2017-06-14 - b22172f6f3 - lavu 55.64.100 - hwcontext.h
228 229
  Add av_hwdevice_ctx_create_derived().

230
2017-05-15 - 532b23f079 - lavc 57.96.100 - avcodec.h
231 232 233 234
  VideoToolbox hardware-accelerated decoding now supports the new hwaccel API,
  which can create the decoder context and allocate hardware frames automatically.
  See AVCodecContext.hw_device_ctx and AVCodecContext.hw_frames_ctx.

235
2017-05-15 - 532b23f079 - lavu 57.63.100 - hwcontext.h
236 237
  Add AV_HWDEVICE_TYPE_VIDEOTOOLBOX and implementation.

238
2017-05-08 - f089e02fa2 - lavc 57.95.100 / 57.31.0 - avcodec.h
239 240 241
  Add AVCodecContext.apply_cropping to control whether cropping
  is handled by libavcodec or the caller.

242
2017-05-08 - a47bd5d77e - lavu 55.62.100 / 55.30.0 - frame.h
243 244 245
  Add AVFrame.crop_left/right/top/bottom fields for attaching cropping
  information to video frames.

246
2017-xx-xx - xxxxxxxxxx
247
  Change av_sha_update(), av_sha512_update() and av_md5_sum()/av_md5_update() length
248 249
  parameter type to size_t at next major bump.

250
2017-05-05 - c0f17a905f - lavc 57.94.100 - avcodec.h
251 252 253 254
  The cuvid decoders now support AVCodecContext.hw_device_ctx, which removes
  the requirement to set an incomplete AVCodecContext.hw_frames_ctx only to
  set the Cuda device handle.

255
2017-04-11 - 8378466507 - lavu 55.61.100 - avstring.h
256 257
  Add av_strireplace().

258
2016-04-06 - 157e57a181 - lavc 57.92.100 - avcodec.h
259 260
  Add AV_PKT_DATA_CONTENT_LIGHT_LEVEL packet side data.

261
2016-04-06 - b378f5bd64 - lavu 55.60.100 - mastering_display_metadata.h
262 263 264 265
  Add AV_FRAME_DATA_CONTENT_LIGHT_LEVEL value, av_content_light_metadata_alloc()
  and av_content_light_metadata_create_side_data() API, and AVContentLightMetadata
  type to export content light level video properties.

266
2017-03-31 - 9033e8723c - lavu 55.57.100 - spherical.h
267 268 269
  Add av_spherical_projection_name().
  Add av_spherical_from_name().

270
2017-03-30 - 4cda23f1f1 - lavu 55.53.100 / 55.27.0 - hwcontext.h
271 272 273
  Add av_hwframe_map() and associated AV_HWFRAME_MAP_* flags.
  Add av_hwframe_ctx_create_derived().

274
2017-03-29 - bfdcdd6d82 - lavu 55.52.100 - avutil.h
275 276 277
  add av_fourcc_make_string() function and av_fourcc2str() macro to replace
  av_get_codec_tag_string() from lavc.

278
2017-03-27 - ddef3d902f - lavf 57.68.100 - avformat.h
279 280 281 282 283 284 285
  Deprecate that demuxers export the stream rotation angle in AVStream.metadata
  (via an entry named "rotate"). Use av_stream_get_side_data() with
  AV_PKT_DATA_DISPLAYMATRIX instead, and read the rotation angle with
  av_display_rotation_get(). The same is done for muxing. Instead of adding a
  "rotate" entry to AVStream.metadata, AV_PKT_DATA_DISPLAYMATRIX side data has
  to be added to the AVStream.

286
2017-03-23 - 7e4ba776a2 - lavc 57.85.101 - avcodec.h
287 288 289 290
  vdpau hardware accelerated decoding now supports the new hwaccel API, which
  can create the decoder context and allocate hardware frame automatically.
  See AVCodecContext.hw_device_ctx and AVCodecContext.hw_frames_ctx.

291
2017-03-23 - 156bd8278f - lavc 57.85.100 - avcodec.h
292 293 294
  Add AVCodecContext.hwaccel_flags field. This will control some hwaccels at
  a later point.

295
2017-03-21 - fc9f14c7de - lavf 57.67.100 / 57.08.0 - avio.h
296 297
  Add AVIO_SEEKABLE_TIME flag.

298
2017-03-21 - d682ae70b4 - lavf 57.66.105, lavc 57.83.101 - avformat.h, avcodec.h
299 300 301 302
  Deprecate AVFMT_FLAG_KEEP_SIDE_DATA. It will be ignored after the next major
  bump, and libavformat will behave as if it were always set.
  Deprecate av_packet_merge_side_data() and av_packet_split_side_data().

303
2016-03-20 - 8200b16a9c - lavu 55.50.100 / 55.21.0 - imgutils.h
304 305 306
  Add av_image_copy_uc_from(), a version of av_image_copy() for copying
  from GPU mapped memory.

307
2017-03-20 - 9c2436e - lavu 55.49.100 - pixdesc.h
308 309
  Add AV_PIX_FMT_FLAG_BAYER pixel format flag.

310
2017-03-18 - 3796fb2692 - lavfi 6.77.100 - avfilter.h
311 312 313
  Deprecate AVFilterGraph.resample_lavr_opts
  It's never been used by avfilter nor passed to anything.

314
2017-02-10 - 1b7ffddb3a - lavu 55.48.100 / 55.33.0 - spherical.h
315 316 317 318
  Add AV_SPHERICAL_EQUIRECTANGULAR_TILE, av_spherical_tile_bounds(),
  and projection-specific properties (bound_left, bound_top, bound_right,
  bound_bottom, padding) to AVSphericalMapping.

319
2017-03-02 - ade7c1a232 - lavc 57.81.104 - videotoolbox.h
320 321 322
  AVVideotoolboxContext.cv_pix_fmt_type can now be set to 0 to output the
  native decoder format. (The default value is not changed.)

323
2017-03-02 - 554bc4eea8 - lavu 55.47.101, lavc 57.81.102, lavf 57.66.103
324 325 326 327
  Remove requirement to use AVOption or accessors to access certain fields
  in AVFrame, AVCodecContext, and AVFormatContext that were previously
  documented as "no direct access" allowed.

328
2017-02-13 - c1a5fca06f - lavc 57.80.100 - avcodec.h
329 330
  Add AVCodecContext.hw_device_ctx.

331
2017-02-11 - e3af49b14b - lavu 55.47.100 - frame.h
wm4's avatar
wm4 committed
332 333
  Add AVFrame.opaque_ref.

334
2017-01-31 - 2eab48177d - lavu 55.46.100 / 55.20.0 - cpu.h
335 336
  Add AV_CPU_FLAG_SSSE3SLOW.

337
2017-01-24 - c4618f842a - lavu 55.45.100 - channel_layout.h
338 339
  Add av_get_extended_channel_layout()

340
2017-01-22 - 76c5a69e26 - lavu 55.44.100 - lfg.h
341 342
  Add av_lfg_init_from_data().

343
2017-01-17 - 2a4a8653b6 - lavc 57.74.100 - vaapi.h
344 345 346
  Deprecate struct vaapi_context and the vaapi.h installed header.
  Callers should set AVCodecContext.hw_frames_ctx instead.

347
2017-01-12 - dbe9dbed31 - lavfi 6.69.100 - buffersink.h
348 349
  Add av_buffersink_get_*() functions.

350
2017-01-06 - 9488032e10 - lavf 57.62.100 - avio.h
351 352
  Add avio_get_dyn_buf()

353
2016-12-10 - f542b152aa - lavu 55.43.100 - imgutils.h
354 355
  Add av_image_check_size2()

356
2016-12-07 - e7a6f8c972 - lavc 57.67.100 / 57.29.0 - avcodec.h
357 358 359
  Add AV_PKT_DATA_SPHERICAL packet side data to export AVSphericalMapping
  information from containers.

360
2016-12-07 - 8f58ecc344 - lavu 55.42.100 / 55.30.0 - spherical.h
361 362 363
  Add AV_FRAME_DATA_SPHERICAL value, av_spherical_alloc() API and
  AVSphericalMapping type to export and describe spherical video properties.

364
2016-11-18 - 2ab50647ff - lavf 57.58.100 - avformat.h
365
  Add av_stream_add_side_data().
366

367
2016-11-13 - 775a8477b7 - lavu 55.39.100 - hwcontext_vaapi.h
368 369
  Add AV_VAAPI_DRIVER_QUIRK_ATTRIB_MEMTYPE.

370
2016-11-13 - a8d51bb424 - lavu 55.38.100 - hwcontext_vaapi.h
371 372 373
  Add driver quirks field to VAAPI-specific hwdevice and enum with
  members AV_VAAPI_DRIVER_QUIRK_* to represent its values.

374
2016-11-10 - 638b216d4f - lavu 55.36.100 - pixfmt.h
Luca Barbato's avatar
Luca Barbato committed
375 376
  Add AV_PIX_FMT_GRAY12(LE/BE).

377 378
-------- 8< --------- FFmpeg 3.2 was cut here -------- 8< ---------

379
2016-10-24 - 73ead47 - lavf 57.55.100 - avformat.h
380 381
  Add AV_DISPOSITION_TIMED_THUMBNAILS

382
2016-10-24 - a246fef - lavf 57.54.100 - avformat.h
383 384
  Add avformat_init_output() and AVSTREAM_INIT_IN_ macros

385
2016-10-22 - f5495c9 - lavu 55.33.100 - avassert.h
386 387
  Add av_assert0_fpu() / av_assert2_fpu()

388
2016-10-07 - 3f9137c / 32c8359 - lavc 57.61.100 / 57.24.0 - avcodec.h
389 390 391
  Decoders now export the frame timestamp as AVFrame.pts. It was
  previously exported as AVFrame.pkt_pts, which is now deprecated.

392 393 394
  Note: When decoding, AVFrame.pts uses the stream/packet timebase,
  and not the codec timebase.

395
2016-09-28 - eba0414 - lavu 55.32.100 / 55.16.0 - hwcontext.h hwcontext_qsv.h
396 397 398
  Add AV_HWDEVICE_TYPE_QSV and a new installed header with QSV-specific
  hwcontext definitions.

399
2016-09-26 - 32c25f0 - lavc 57.59.100 / 57.23.0 - avcodec.h
400 401
  AVCodecContext.hw_frames_ctx now may be used by decoders.

402
2016-09-27 - f0b6f72 - lavf 57.51.100 - avformat.h
403 404
  Add av_stream_get_codec_timebase()

405 406 407
2016-09-27 - 23c0779 - lswr 2.2.100 - swresample.h
  Add swr_build_matrix().

408
2016-09-23 - 30d3e36 - lavc 57.58.100 - avcodec.h
409 410
  Add AV_CODEC_CAP_AVOID_PROBING codec capability flag.

411
2016-09-14 - ae1dd0c - lavf 57.49.100 - avformat.h
412 413 414
  Add avformat_transfer_internal_stream_timing_info helper to help with stream
  copy.

415 416 417
2016-08-29 - 4493390 - lavfi 6.58.100 - avfilter.h
  Add AVFilterContext.nb_threads.

418
2016-08-15 - c3c4c72 - lavc 57.53.100 - avcodec.h
419 420 421
  Add trailing_padding to AVCodecContext to match the corresponding
  field in AVCodecParameters.

422 423 424 425 426 427
2016-08-15 - b746ed7 - lavc 57.52.100 - avcodec.h
  Add a new API for chained BSF filters and passthrough (null) BSF --
  av_bsf_list_alloc(), av_bsf_list_free(), av_bsf_list_append(),
  av_bsf_list_append2(), av_bsf_list_finalize(), av_bsf_list_parse_str()
  and av_bsf_get_null_filter().

428
2016-08-04 - 82a33c8 - lavf 57.46.100 - avformat.h
429 430
  Add av_get_frame_filename2()

431
2016-07-09 - 775389f / 90f469a - lavc 57.50.100 / 57.20.0 - avcodec.h
432 433
  Add FF_PROFILE_H264_MULTIVIEW_HIGH and FF_PROFILE_H264_STEREO_HIGH.

434 435 436 437 438 439 440 441
2016-06-30 - c1c7e0ab - lavf 57.41.100 - avformat.h
  Moved codecpar field from AVStream to the end of the struct, so that
  the following private fields are in the same location as in FFmpeg 3.0 (lavf 57.25.100).

2016-06-30 - 042fb69d - lavu 55.28.100 - frame.h
  Moved hw_frames_ctx field from AVFrame to the end of the struct, so that
  the following private fields are in the same location as in FFmpeg 3.0 (lavu 55.17.103).

442
2016-06-29 - 1a751455 - lavfi 6.47.100 - avfilter.h
443 444 445 446 447 448 449
  Fix accidental ABI breakage in AVFilterContext.
  ABI was broken in 8688d3a, lavfi 6.42.100 and released as ffmpeg 3.1.

  Because of this, ffmpeg and ffplay built against lavfi>=6.42.100 will not be
  compatible with lavfi>=6.47.100. Potentially also affects other users of
  libavfilter if they are using one of the affected fields.

450 451 452
-------- 8< --------- FFmpeg 3.1 was cut here -------- 8< ---------

2016-06-26 - 481f320 / 1c9e861 - lavu 55.27.100 / 55.13.0 - hwcontext.h
453 454
  Add av_hwdevice_ctx_create().

455
2016-06-26 - b95534b / e47b8bb - lavc 57.48.101 / 57.19.1 - avcodec.h
456 457
  Adjust values for JPEG 2000 profiles.

458
2016-06-23 - 5d75e46 / db7968b - lavf 57.40.100 / 57.7.0 - avio.h
459 460 461
  Add AVIODataMarkerType, write_data_type, ignore_boundary_point and
  avio_write_marker.

462
2016-06-23 - abb3cc4 / 0c4468d - lavu 55.26.100 / 55.12.0 - opt.h
463 464
  Add av_stereo3d_type_name() and av_stereo3d_from_name().

465
2016-06-22 - 3689efe / c46db38 - lavu 55.25.100 / 55.11.0 - hwcontext_dxva2.h
466 467
  Add new installed header with DXVA2-specific hwcontext definitions.

468
2016-04-27 - fb91871 - lavu 55.23.100 - log.h
469 470 471
  Add a new function av_log_format_line2() which returns number of bytes
  written to the target buffer.

472
2016-04-21 - 7fc329e - lavc 57.37.100 - avcodec.h
473 474 475 476
  Add a new audio/video encoding and decoding API with decoupled input
  and output -- avcodec_send_packet(), avcodec_receive_frame(),
  avcodec_send_frame() and avcodec_receive_packet().

477
2016-04-17 - af9cac1 / 33d1898 - lavc 57.35.100 / 57.15.0 - avcodec.h
478
  Add a new bitstream filtering API working with AVPackets.
479
  Deprecate the old bitstream filtering API.
480

481
2016-04-14 - 8688d3a / 07a844f - lavfi 6.42.100 / 6.3.0 - avfilter.h
482 483
  Add AVFilterContext.hw_device_ctx.

484
2016-04-14 - 28abb21 / 551c677 - lavu 55.22.100 / 55.9.0 - hwcontext_vaapi.h
485 486
  Add new installed header with VAAPI-specific hwcontext definitions.

487
2016-04-14 - afccfaf / b1f01e8 - lavu 55.21.100 / 55.7.0 - hwcontext.h
488 489
  Add AVHWFramesConstraints and associated API.

490
2016-04-11 - 6f69f7a / 9200514 - lavf 57.33.100 / 57.5.0 - avformat.h
491 492
  Add AVStream.codecpar, deprecate AVStream.codec.

493
2016-04-02 - e8a9b64 - lavu 55.20.100 - base64.h
494 495
  Add AV_BASE64_DECODE_SIZE(x) macro.

496 497 498
2016-xx-xx - lavc 57.33.100 / 57.14.0 - avcodec.h
  f9b1cf1 / 998e1b8 - Add AVCodecParameters and its related API.
  e6053b3 / a806834 - Add av_get_audio_frame_duration2().
499

500
2016-03-11 - 6d8ab35 - lavf/lavc 57.28.101
501 502 503
  Add requirement to bitstream filtering API that returned packets with
  size == 0 and side_data_elems == 0 are to be skipped by the caller.

504
2016-03-04 - 9362973 - lavf 57.28.100
505 506
  Add protocol blacklisting API

507
2016-02-28 - 4dd4d53 - lavc 57.27.101
508 509 510 511 512
  Validate AVFrame returned by get_buffer2 to have required
  planes not NULL and unused planes set to NULL as crashes
  and buffer overflow are possible with certain streams if
  that is not the case.

513
2016-02-26 - 30e7685 - lavc 57.27.100 - avcodec.h
514 515 516 517 518
  "flags2" decoding option now allows the flag "ass_ro_flush_noop" preventing
  the reset of the ASS ReadOrder field on flush. This affects the content of
  AVSubtitles.rects[N]->ass when "sub_text_format" is set to "ass" (see
  previous entry).

519
2016-02-26 - 2941282 - lavc 57.26.100 - avcodec.h
520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535
  Add a "sub_text_format" subtitles decoding option allowing the values "ass"
  (recommended) and "ass_with_timings" (not recommended, deprecated, default).
  The default value for this option will change to "ass" at the next major
  libavcodec version bump.

  The current default is "ass_with_timings" for compatibility. This means that
  all subtitles text decoders currently still output ASS with timings printed
  as strings in the AVSubtitles.rects[N]->ass fields.

  Setting "sub_text_format" to "ass" allows a better timing accuracy (ASS
  timing is limited to a 1/100 time base, so this is relevant for any subtitles
  format needing a bigger one), ease timing adjustments, and prevents the need
  of removing the timing from the decoded string yourself. This form is also
  known as "the Matroska form". The timing information (start time, duration)
  can be found in the AVSubtitles fields.

536
2016-02-24 - 7e49cdd / 7b3214d0 - lavc 57.25.100 / 57.13.0 - avcodec.h
537 538
  Add AVCodecContext.hw_frames_ctx.

539 540 541
2016-02-24 - 1042402 / b3dd30d - lavfi 6.36.100 / 6.2.0 - avfilter.h
  avfilter.h - Add AVFilterLink.hw_frames_ctx.
  buffersrc.h - Add AVBufferSrcParameters and functions for handling it.
542

543
2016-02-23 - 14f7a3d - lavc 57.25.100
544 545
  Add AV_PKT_DATA_MPEGTS_STREAM_ID for exporting the MPEGTS stream ID.

546 547
2016-02-18 - 08acab8 - lavu 55.18.100 - audio_fifo.h
  Add av_audio_fifo_peek_at().
548

549 550 551
2016-xx-xx - lavu 55.18.100 / 55.6.0
  26abd51 / 721a4ef buffer.h - Add av_buffer_pool_init2().
  1a70878 / 89923e4 hwcontext.h - Add a new installed header hwcontext.h with a new API
552
                        for handling hwaccel frames.
553
  6992276 / ad884d1 hwcontext_cuda.h - Add a new installed header hwcontext_cuda.h with
554
                             CUDA-specific hwcontext definitions.
555
  d779d8d / a001ce3 hwcontext_vdpau.h - Add a new installed header hwcontext_vdpau.h with
556
                              VDPAU-specific hwcontext definitions.
557
  63c3e35 / 7bc780c pixfmt.h - Add AV_PIX_FMT_CUDA.
558

559 560
-------- 8< --------- FFmpeg 3.0 was cut here -------- 8< ---------

561
2016-02-10 - bc9a596 / 9f61abc - lavf 57.25.100 / 57.3.0 - avformat.h
562 563
  Add AVFormatContext.opaque, io_open and io_close, allowing custom IO

564
2016-02-01 - 1dba837 - lavf 57.24.100 - avformat.h, avio.h
565 566
  Add protocol_whitelist to AVFormatContext, AVIOContext

567
2016-01-31 - 66e9d2f - lavu 55.17.100 - frame.h
568 569
  Add AV_FRAME_DATA_GOP_TIMECODE for exporting MPEG1/2 GOP timecodes.

570
2016-01-01 - 5e8b053 / 2c68113 - lavc 57.21.100 / 57.12.0 - avcodec.h
571 572
  Add AVCodecDescriptor.profiles and avcodec_profile_name().

573
2015-12-28 - 1f9139b - lavf 57.21.100 - avformat.h
574 575
  Add automatic bitstream filtering; add av_apply_bitstream_filters()

576
2015-12-22 - 39a09e9 - lavfi 6.21.101 - avfilter.h
577 578 579 580
  Deprecate avfilter_link_set_closed().
  Applications are not supposed to mess with links,
  they should close the sinks.

581
2015-12-17 - lavc 57.18.100 / 57.11.0 - avcodec.h dirac.h
582 583
  xxxxxxx - Add av_packet_add_side_data().
  xxxxxxx - Add AVCodecContext.coded_side_data.
584
  xxxxxxx - Add AVCPBProperties API.
585 586
  xxxxxxx - Add a new public header dirac.h containing
            av_dirac_parse_sequence_header()
587

588
2015-12-11 - 676a93f - lavf 57.20.100 - avformat.h
589 590
  Add av_program_add_stream_index()

591
2015-11-29 - 93fb4a4 - lavc 57.16.101 - avcodec.h
592 593 594 595
  Deprecate rtp_callback without replacement, i.e. it won't be possible to
  get image slices before the full frame is encoded any more. The libavformat
  rtpenc muxer can still be used for RFC-2190 packetization.

596
2015-11-22 - fe20e34 - lavc 57.16.100 - avcodec.h
597 598 599
  Add AV_PKT_DATA_FALLBACK_TRACK for making fallback associations between
  streams.

600
2015-11-22 - ad317c9 - lavf 57.19.100 - avformat.h
601 602
  Add av_stream_new_side_data().

603
2015-11-22 - e12f403 - lavu 55.8.100 - xtea.h
604
    Add av_xtea_le_init and av_xtea_le_crypt
605

606 607 608
2015-11-18 - lavu 55.7.100 - mem.h
  Add av_fast_mallocz()

609
2015-10-29 - lavc 57.12.100 / 57.8.0 - avcodec.h
610 611 612 613
  xxxxxx - Deprecate av_free_packet(). Use av_packet_unref() as replacement,
           it resets the packet in a more consistent way.
  xxxxxx - Deprecate av_dup_packet(), it is a no-op for most cases.
           Use av_packet_ref() to make a non-refcounted AVPacket refcounted.
614 615
  xxxxxx - Add av_packet_alloc(), av_packet_clone(), av_packet_free().
           They match the AVFrame functions with the same name.
616

617
2015-10-27 - 1e477a9 - lavu 55.5.100 - cpu.h
618 619
  Add AV_CPU_FLAG_AESNI.

620
2015-10-22 - ee573b4 / a17a766 - lavc 57.9.100 / 57.5.0 - avcodec.h
621 622 623
  Add data and linesize array to AVSubtitleRect, to be used instead of
  the ones from the embedded AVPicture.

624
2015-10-22 - 866a417 / dc923bc - lavc 57.8.100 / 57.0.0 - qsv.h
625 626
  Add an API for allocating opaque surfaces.

627
2015-10-15 - 2c2d162 - lavf 57.4.100
628 629
  Remove the latm demuxer that was a duplicate of the loas demuxer.

630
2015-10-14 - b994788 / 11c5f43 - lavu 55.4.100 / 55.2.0 - dict.h
631 632 633
  Change return type of av_dict_copy() from void to int, so that a proper
  error code can be reported.

634
2015-09-29 - b01891a / 948f3c1 - lavc 57.3.100 / 57.2.0 - avcodec.h
635 636
  Change type of AVPacket.duration from int to int64_t.

637
2015-09-17 - 7c46f24 / e3d4784 - lavc 57.3.100 / 57.2.0 - d3d11va.h
638 639 640
  Add av_d3d11va_alloc_context(). This function must from now on be used for
  allocating AVD3D11VAContext.

641 642 643 644
2015-09-15 - lavf 57.2.100 - avformat.h
  probesize and max_analyze_duration switched to 64bit, both
  are only accessible through AVOptions

645 646 647 648
2015-09-15 - lavf 57.1.100 - avformat.h
  bit_rate was changed to 64bit, make sure you update any
  printf() or other type sensitive code

649 650 651 652
2015-09-15 - lavc 57.2.100 - avcodec.h
  bit_rate/rc_max_rate/rc_min_rate were changed to 64bit, make sure you update
  any printf() or other type sensitive code

653
2015-09-07 - lavu 55.0.100 / 55.0.0
654 655
  c734b34 / b8b5d82 - Change type of AVPixFmtDescriptor.flags from uint8_t to uint64_t.
  f53569a / 6b3ef7f - Change type of AVComponentDescriptor fields from uint16_t to int
656
            and drop bit packing.
657
  151aa2e / 2268db2 - Add step, offset, and depth to AVComponentDescriptor to replace
658
            the deprecated step_minus1, offset_plus1, and depth_minus1.
659

660 661
-------- 8< --------- FFmpeg 2.8 was cut here -------- 8< ---------

662
2015-08-27 - 1dd854e1 - lavc 56.58.100 - vaapi.h
663 664 665
  Deprecate old VA-API context (vaapi_context) fields that were only
  set and used by libavcodec. They are all managed internally now.

666
2015-08-19 - 9f8e57ef - lavu 54.31.100 - pixfmt.h
667 668 669 670 671 672
  Add a unique pixel format for VA-API (AV_PIX_FMT_VAAPI) that
  indicates the nature of the underlying storage: a VA surface. This
  yields the same value as AV_PIX_FMT_VAAPI_VLD.
  Deprecate old VA-API related pixel formats: AV_PIX_FMT_VAAPI_MOCO,
  AV_PIX_FMT_VAAPI_IDCT, AV_PIX_FMT_VAAPI_VLD.

673 674 675 676 677
2015-08-02 - lavu 54.30.100 / 54.17.0
  9ed59f1 / 7a7df34c -  Add av_blowfish_alloc().
  a130ec9 / ae365453 -  Add av_rc4_alloc().
  9ca1997 / 5d8bea3b -  Add av_xtea_alloc().
  3cf08e9 / d9e8b47e -  Add av_des_alloc().
678

679 680 681 682
2015-07-27 - lavc 56.56.100 / 56.35.0 - avcodec.h
  94d68a4 / 7c6eb0a1 - Rename CODEC_FLAG* defines to AV_CODEC_FLAG*.
  444e987 / def97856 - Rename CODEC_CAP_* defines to AV_CODEC_CAP_*.
  29d147c / 059a9348 - Rename FF_INPUT_BUFFER_PADDING_SIZE and FF_MIN_BUFFER_SIZE
683 684
              to AV_INPUT_BUFFER_PADDING_SIZE and AV_INPUT_BUFFER_MIN_SIZE.

685
2015-07-22 - c40ecff - lavc 56.51.100 - avcodec.h
686 687
  Add AV_PKT_DATA_QUALITY_STATS to export the quality value, PSNR, and pict_type
  of an AVPacket.
688

689
2015-07-16 - 8dad213 - lavc 56.49.100
690 691 692
  Add av_codec_get_codec_properties(), FF_CODEC_PROPERTY_LOSSLESS
  and FF_CODEC_PROPERTY_CLOSED_CAPTIONS

693
2015-07-03 - d563e13 / 83212943 - lavu 54.28.100 / 56.15.0
694
  Add av_version_info().
695

696 697
-------- 8< --------- FFmpeg 2.7 was cut here -------- 8< ---------

698
2015-06-04 - cc17b43 - lswr  1.2.100
699 700
  Add swr_get_out_samples()

701
2015-05-27 - c312bfa - lavu 54.26.100 - cpu.h
702 703
  Add AV_CPU_FLAG_AVXSLOW.

704
2015-05-26 - 1fb9b2a - lavu 54.25.100 - rational.h
705 706
  Add av_q2intfloat().

707
2015-05-13 - cc48409 / e7c5e17 - lavc 56.39.100 / 56.23.0
708 709
  Add av_vda_default_init2.

710
2015-05-11 - 541d75f - lavf 56.33.100 - avformat.h
711 712
  Add AVOpenCallback AVFormatContext.open_cb

713
2015-05-07 - a7dd933 - 56.38.100 - avcodec.h
714 715
  Add av_packet_side_data_name().

716 717 718
2015-05-07 - 01e59d4 - 56.37.102 - avcodec.h
  Add FF_PROFILE_VP9_2 and FF_PROFILE_VP9_3.

719
2015-05-04 - 079b7f6 - 56.37.100 - avcodec.h
James Almer's avatar
James Almer committed
720 721
  Add FF_PROFILE_VP9_0 and FF_PROFILE_VP9_1.

722
2015-04-22 - 748d481 - lavf 56.31.100 - avformat.h
723 724 725
  Add AVFMT_FLAG_FAST_SEEK flag. Some formats (initially mp3) use it to enable
  fast, but inaccurate seeking.

726
2015-04-20 - 8e8219e / c253340 - lavu 54.23.100 / 54.12.0 - log.h
727 728
  Add AV_LOG_TRACE for extremely verbose debugging.

729
2015-04-02 - 26e0e393 - lavf 56.29.100 - avio.h
730 731 732 733
  Add AVIODirEntryType.AVIO_ENTRY_SERVER.
  Add AVIODirEntryType.AVIO_ENTRY_SHARE.
  Add AVIODirEntryType.AVIO_ENTRY_WORKGROUP.

734
2015-03-31 - 3188696 - lavu 54.22.100 - avstring.h
735 736
  Add av_append_path_component()

737 738 739 740 741 742 743 744 745
2015-03-27 - 184084c - lavf 56.27.100 - avio.h url.h
  New directory listing API.

  Add AVIODirEntryType enum.
  Add AVIODirEntry, AVIODirContext structures.
  Add avio_open_dir(), avio_read_dir(), avio_close_dir(), avio_free_directory_entry().
  Add ff_alloc_dir_entry().
  Extend URLProtocol with url_open_dir(), url_read_dir(), url_close_dir().

746
2015-03-29 - 268ff17 / c484561 - lavu 54.21.100 / 54.10.0 - pixfmt.h
747 748
  Add AV_PIX_FMT_MMAL for MMAL hardware acceleration.

749
2015-03-19 - 11fe56c - 56.29.100 / lavc 56.22.0
750 751
  Add FF_PROFILE_DTS_EXPRESS.

752 753
-------- 8< --------- FFmpeg 2.6 was cut here -------- 8< ---------

754
2015-03-04 - cca4476 - lavf 56.25.100
wm4's avatar
wm4 committed
755 756
  Add avformat_flush()

757
2015-03-03 - 81a9126 - lavf 56.24.100
758 759
  Add avio_put_str16be()

760
2015-02-19 - 560eb71 / 31d2039 - lavc 56.23.100 / 56.13.0
761 762 763
  Add width, height, coded_width, coded_height and format to
  AVCodecParserContext.

764
2015-02-19 - e375511 / 5b1d9ce - lavu 54.19.100 / 54.9.0
765 766
  Add AV_PIX_FMT_QSV for QSV hardware acceleration.

767
2015-02-14 - ba22295 - lavc 56.21.102
768 769
  Deprecate VIMA decoder.

770
2015-01-27 - 62a82c6 / 728685f - lavc 56.21.100 / 56.12.0, lavu 54.18.100 / 54.8.0 - avcodec.h, frame.h
771 772 773
  Add AV_PKT_DATA_AUDIO_SERVICE_TYPE and AV_FRAME_DATA_AUDIO_SERVICE_TYPE for
  storing the audio service type as side data.

774 775 776
2015-01-16 - a47c933 - lavf 56.19.100 - avformat.h
  Add data_codec and data_codec_id for storing codec of data stream

777
2015-01-11 - 007c33d - lavd 56.4.100 - avdevice.h
778 779 780
  Add avdevice_list_input_sources().
  Add avdevice_list_output_sinks().

781
2014-12-25 - d7aaeea / c220a60 - lavc 56.19.100 / 56.10.0 - vdpau.h
782 783
  Add av_vdpau_get_surface_parameters().

784
2014-12-25 - ddb9a24 / 6c99c92 - lavc 56.18.100 / 56.9.0 - avcodec.h
785 786
  Add AV_HWACCEL_FLAG_ALLOW_HIGH_DEPTH flag to av_vdpau_bind_context().

787
2014-12-25 - d16079a / 57b6704 - lavc 56.17.100 / 56.8.0 - avcodec.h
788 789
  Add AVCodecContext.sw_pix_fmt.

790
2014-12-04 - 6e9ac02 - lavc 56.14.100 - dv_profile.h
791 792
  Add av_dv_codec_profile2().

793 794
-------- 8< --------- FFmpeg 2.5 was cut here -------- 8< ---------

795
2014-11-21 - ab922f9 - lavu 54.15.100 - dict.h
796 797
   Add av_dict_get_string().

798
2014-11-18 - a54a51c - lavu 54.14.100 - float_dsp.h
799 800
  Add avpriv_float_dsp_alloc().

801
2014-11-16 - 6690d4c3 - lavf 56.13.100 - avformat.h
802 803
  Add AVStream.recommended_encoder_configuration with accessors.

804
2014-11-16 - bee5844d - lavu 54.13.100 - opt.h
805 806
  Add av_opt_serialize().

807
2014-11-16 - eec69332 - lavu 54.12.100 - opt.h
808 809
  Add av_opt_is_set_to_default().

810
2014-11-06 - 44fa267 / 5e80fb7 - lavc 56.11.100 / 56.6.0 - vorbis_parser.h
811 812
  Add a public API for parsing vorbis packets.

813
2014-10-15 - 17085a0 / 7ea1b34 - lavc 56.7.100 / 56.5.0 - avcodec.h
814 815 816
  Replace AVCodecContext.time_base used for decoding
  with AVCodecContext.framerate.

817
2014-10-15 - 51c810e / d565fef1 - lavc 56.6.100 / 56.4.0 - avcodec.h
818 819
  Add AV_HWACCEL_FLAG_IGNORE_LEVEL flag to av_vdpau_bind_context().

820
2014-10-13 - da21895 / 2df0c32e - lavc 56.5.100 / 56.3.0 - avcodec.h
821 822 823
  Add AVCodecContext.initial_padding. Deprecate the use of AVCodecContext.delay
  for audio encoding.

824
2014-10-08 - bb44f7d / 5a419b2 - lavu 54.10.100 / 54.4.0 - pixdesc.h
825 826
  Add API to return the name of frame and context color properties.

827
2014-10-06 - a61899a / e3e158e - lavc 56.3.100 / 56.2.0 - vdpau.h
828 829 830
  Add av_vdpau_bind_context(). This function should now be used for creating
  (or resetting) a AVVDPAUContext instead of av_vdpau_alloc_context().

831 832
2014-10-02 - cdd6f05 - lavc 56.2.100 - avcodec.h
2014-10-02 - cdd6f05 - lavu 54.9.100 - frame.h
833 834 835 836 837
  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.

838
2014-10-02 - 0d92b0d - lavu 54.8.100 - avstring.h
839 840
  Add av_match_list()

841
2014-09-24 - ac68295 - libpostproc 53.1.100
842
  Add visualization support
843

844
2014-09-19 - 6edd6a4 - lavc 56.1.101 - dv_profile.h
845 846
  deprecate avpriv_dv_frame_profile2(), which was made public by accident.

847 848 849

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

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

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

856
2014-08-23 - 8fc9bd0 - lavu 54.7.100 - dict.h
857 858 859 860
  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.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

906
2014-08-04 - 4c8bc6f / e96c3b8 - lavu 52.96.101 / 53.21.1 - avstring.h
907 908 909
  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.

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

913 914
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
915
  Deprecate AVCodecContext.dtg_active_format and use side-data instead.
916

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

920
2014-08-03 - 9400603 / 9f17685 - lavc 55.71.101 / 55.57.1 - avcodec.h
921 922 923 924 925 926
  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.

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

930
2014-07-29 - 80a3a66 / 3a19405 - lavf 56.01.100 / 56.01.0 - avformat.h
931 932 933 934 935 936
  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;'.

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

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

943 944 945 946 947
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
Michael Niedermayer's avatar
Michael Niedermayer committed
948 949
  Add AVDCT / avcodec_dct_alloc() / avcodec_dct_init().

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

953 954 955

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

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

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

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

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

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

971
2014-06-18 - ac293b6 / 194be1f - lavf 55.44.100 / 55.20.0 - avformat.h
972 973 974 975
  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.

976 977 978 979
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

980
2014-06-10 - 5482780 - lavf 55.43.100 - avformat.h
981 982 983
  New field int64_t max_analyze_duration2 instead of deprecated
  int max_analyze_duration.

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

987
2014-06-01 - 03bb99a / 0957b27 - lavc 55.66.100 / 55.54.0 - avcodec.h
988 989 990 991
  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.

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

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

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

1004
2014-05-26 - 55cc60c - lavu 52.87.100 - threadmessage.h
1005 1006
  Add thread message queue API.

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

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

1014
2014-05-20 - 7336e39 - lavu 52.86.100 - fifo.h
1015 1016
  Add av_fifo_alloc_array() function.

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

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

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

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

1033
2014-05-17 - 0eec06e / 1bd0bdc - lavu 52.84.100 / 54.5.0 - time.h
1034 1035
  Add av_gettime_relative() av_gettime_relative_is_monotonic()

1036
2014-05-15 - eacf7d6 / 0c1959b - lavf 55.38.100 / 55.17.0 - avformat.h
Gabriel Dume's avatar
Gabriel Dume committed
1037
  Add AVFMT_FLAG_BITEXACT flag. Muxers now use it instead of checking
1038 1039
  CODEC_FLAG_BITEXACT on the first stream.

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

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

1046
2014-05-07 - 351f611 - lavu 52.82.100 - fifo.h
1047 1048
  Add av_fifo_freep() function.

1049
2014-05-02 - ba52fb11 - lavu 52.81.100 - opt.h
1050 1051
  Add av_opt_set_dict2() function.

1052
2014-05-01 - e77b985 / a2941c8 - lavc 55.60.103 / 55.50.3 - avcodec.h
1053 1054 1055
  Deprecate CODEC_FLAG_MV0. It is replaced by the flag "mv0" in the
  "mpv_flags" private option of the mpegvideo encoders.

1056
2014-05-01 - e40ae8c / 6484149 - lavc 55.60.102 / 55.50.2 - avcodec.h
1057 1058 1059
  Deprecate CODEC_FLAG_GMC. It is replaced by the "gmc" private option of the
  libxvid encoder.

1060
2014-05-01 - 1851643 / b2c3171 - lavc 55.60.101 / 55.50.1 - avcodec.h
1061 1062 1063
  Deprecate CODEC_FLAG_NORMALIZE_AQP. It is replaced by the flag "naq" in the
  "mpv_flags" private option of the mpegvideo encoders.

1064
2014-05-01 - cac07d0 / 5fcceda - avcodec.h
1065 1066 1067
  Deprecate CODEC_FLAG_INPUT_PRESERVED. Its functionality is replaced by passing
  reference-counted frames to encoders.

1068 1069 1070 1071
2014-04-30 - 617e866 - lavu 52.81.100 - pixdesc.h
  Add av_find_best_pix_fmt_of_2(), av_get_pix_fmt_loss()
  Deprecate avcodec_get_pix_fmt_loss(), avcodec_find_best_pix_fmt_of_2()

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

1075
2014-04-29 - b804eb4 - lavu 52.80.100 - hash.h
1076 1077
  Add av_hash_final_bin(), av_hash_final_hex() and av_hash_final_b64().

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

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

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

1087
2014-04-15 - ef818d8 - lavf 55.37.101 - avformat.h
1088 1089
  Add av_format_inject_global_side_data()

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

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

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

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

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

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

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

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

1118
2014-03-24 - 83e8978 / 5a7e35d - lavu 52.68.100 / 53.7.0 - frame.h, replaygain.h
1119 1120 1121
  Add AV_FRAME_DATA_REPLAYGAIN for exporting replaygain tags.
  Add a new header replaygain.h with the AVReplayGain struct.

1122
2014-03-24 - 83e8978 / 5a7e35d - lavc 55.54.100 / 55.36.0 - avcodec.h
1123 1124
  Add AV_PKT_DATA_REPLAYGAIN for exporting replaygain tags.

1125
2014-03-24 - 595ba3b / 25b3258 - lavf 55.35.100 / 55.13.0 - avformat.h
1126 1127 1128
  Add AVStream.side_data and AVStream.nb_side_data for exporting stream-global
  side data (e.g. replaygain tags, video rotation)

1129
2014-03-24 - bd34e26 / 0e2c3ee - lavc 55.53.100 / 55.35.0 - avcodec.h
1130 1131 1132
  Give the name AVPacketSideData to the previously anonymous struct used for
  AVPacket.side_data.

1133 1134 1135

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

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

1139
2014-03-16 - 6b1ca17 / 1481d24 - lavu 52.67.100 / 53.6.0 - pixfmt.h
1140
  Add RGBA64_LIBAV pixel format and variants for compatibility
Jean First's avatar
Jean First committed
1141

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

1145
2014-03-03 - 06fed440 - lavd 55.11.100 - avdevice.h
1146 1147 1148 1149 1150
  Add av_input_audio_device_next().
  Add av_input_video_device_next().
  Add av_output_audio_device_next().
  Add av_output_video_device_next().

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

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

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

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

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

1167
2014-02-16 - 81c3f81 - lavd 55.10.100 - avdevice.h
1168 1169
  Add avdevice_list_devices() and avdevice_free_list_devices()

1170 1171 1172 1173
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.

1174
2014-02-15 - a2bc6c1 / c98f316 - lavu 52.64.100 / 53.3.0 - frame.h
1175 1176 1177
  Add AV_FRAME_DATA_DOWNMIX_INFO value to the AVFrameSideDataType enum and
  downmix_info.h API, which identify downmix-related metadata.

1178 1179 1180
2014-02-11 - 1b05ac2 - lavf 55.32.100 - avformat.h
  Add av_write_uncoded_frame() and av_interleaved_write_uncoded_frame().

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

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

1188 1189
2014-01-27 - 102bd64 - lavd 55.7.100 - avdevice.h
                       lavf 55.28.100 - avformat.h
1190
  Add avdevice_dev_to_app_control_message() function.
1191 1192 1193

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

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

1200
2014-01-20 - eef74b2 / 93c553c - lavc 55.48.102 / 55.32.1 - avcodec.h
1201 1202 1203 1204
  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().

1205
2014-01-19 - 1a193c4 - lavf 55.25.100 - avformat.h
1206
  Add avformat_get_mov_video_tags() and avformat_get_mov_audio_tags().
1207

1208
2014-01-19 - 3532dd5 - lavu 52.63.100 - rational.h
1209 1210
  Add av_make_q() function.

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

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

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

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

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

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

1231
2013-12-11 - 29c83d2 / b9fb59d,409a143 / 9431356,44967ab / d7b3ee9 - lavc 55.45.101 / 55.28.1 - avcodec.h
1232 1233 1234 1235
  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.

1236
2013-12-09 - 7a60348 / 7e244c6- - lavu 52.58.100 / 52.20.0 - frame.h
1237 1238 1239
  Add AV_FRAME_DATA_STEREO3D value to the AVFrameSideDataType enum and
  stereo3d.h API, that identify codec-independent stereo3d information.

1240
2013-11-26 - 625b290 / 1eaac1d- - lavu 52.55.100 / 52.19.0 - frame.h
1241 1242 1243
  Add AV_FRAME_DATA_A53_CC value to the AVFrameSideDataType enum, which
  identifies ATSC A53 Part 4 Closed Captions data.

1244
2013-11-22 - 6859065 - lavu 52.54.100 - avstring.h
1245 1246
  Add av_utf8_decode() function.

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

1250
2013-11-20 - c28b61c - lavc 55.44.100 - avcodec.h
1251 1252 1253 1254
  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.

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

1258
2013-11-14 - b71e4d8 / 8941971 - lavc 55.43.100 / 55.27.0 - avcodec.h
1259 1260 1261
  Deprecate AVCodecContext.error_rate, it is replaced by the 'error_rate'
  private option of the mpegvideo encoder family.

1262
2013-11-14 - 31c09b7 / 728c465 - lavc 55.42.100 / 55.26.0 - vdpau.h
1263
  Add av_vdpau_get_profile().
1264 1265
  Add av_vdpau_alloc_context(). This function must from now on be
  used for allocating AVVDPAUContext.
1266

1267
2013-11-04 - be41f21 / cd8f772 - lavc 55.41.100 / 55.25.0 - avcodec.h
1268
                       lavu 52.51.100 - frame.h
1269 1270 1271
  Add ITU-R BT.2020 and other not yet included values to color primaries,
  transfer characteristics and colorspaces.

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

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

1278 1279 1280

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

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

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

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

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

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

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

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

1305
2013-09-21 - 85f8a3c / e208e6d - lavu 52.46.100 / 52.16.0 - pixfmt.h
1306 1307 1308
  Add interleaved 4:2:2 8/10-bit formats AV_PIX_FMT_NV16 and
  AV_PIX_FMT_NV20.

1309
2013-09-16 - c74c3fb / 3feb3d6 - lavu 52.44.100 / 52.15.0 - mem.h
1310 1311
  Add av_reallocp.

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

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

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

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

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

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

1331
2013-08-10 - 67a580f / 5a9a9d4 - lavc 55.25.100 / 55.16.0 - avcodec.h
1332 1333 1334
  Extend AVPacket API with av_packet_unref, av_packet_ref,
  av_packet_move_ref, av_packet_copy_props, av_packet_free_side_data.

1335
2013-08-05 - 9547e3e / f824535 - lavc 55.22.100 / 55.13.0 - avcodec.h
1336
  Deprecate the bitstream-related members from struct AVVDPAUContext.
Michael Niedermayer's avatar
Michael Niedermayer committed
1337
  The bitstream buffers no longer need to be explicitly freed.
1338

1339
2013-08-05 - 3b805dc / 549294f - lavc 55.21.100 / 55.12.0 - avcodec.h
1340 1341 1342
  Deprecate the CODEC_CAP_HWACCEL_VDPAU codec capability. Use CODEC_CAP_HWACCEL
  and select the AV_PIX_FMT_VDPAU format with get_format() instead.

1343
2013-08-05 - 4ee0984 / a0ad5d0 - lavu 52.41.100 / 52.14.0 - pixfmt.h
1344 1345
  Deprecate AV_PIX_FMT_VDPAU_*. Use AV_PIX_FMT_VDPAU instead.

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

1349
2013-07-23 - abc8110 - lavc 55.19.100 - avcodec.h
1350 1351 1352
  Add avcodec_chroma_pos_to_enum()
  Add avcodec_enum_to_chroma_pos()

1353 1354 1355

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

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

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

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

1366
2013-06-15 - 99b8cd0 - lavu 52.36.100
James Almer's avatar
James Almer committed
1367 1368 1369 1370 1371 1372
  Add AVRIPEMD:
   av_ripemd_alloc()
   av_ripemd_init()
   av_ripemd_update()
   av_ripemd_final()

1373 1374 1375
2013-06-10 - 82ef670 - lavu 52.35.101 - hmac.h
  Add AV_HMAC_SHA224, AV_HMAC_SHA256, AV_HMAC_SHA384, AV_HMAC_SHA512

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

1379 1380 1381 1382 1383 1384 1385
2013-05-30 - 682b227 - lavu 52.35.100
  Add AVSHA512:
   av_sha512_alloc()
   av_sha512_init()
   av_sha512_update()
   av_sha512_final()

1386
2013-05-24 - 8d4e969 / 129bb23 - lavfi 3.10.0 / 3.70.100 - avfilter.h
1387 1388 1389 1390 1391 1392
  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.

1393
2013-05-24 - fe40a9f / 2a6eaea - lavu 52.12.0 / 52.34.100 - cpu.h
1394 1395
  Add av_cpu_count() function for getting the number of logical CPUs.

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

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

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

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

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

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

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

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

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

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

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

1431 1432 1433

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

1434
2013-03-07 - 9767ec6 - lavu 52.18.100 - avstring.h,bprint.h
Stefano Sabatini's avatar
Stefano Sabatini committed
1435 1436
  Add av_escape() and av_bprint_escape() API.

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

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

1443 1444 1445
2013-01-01 - 2eb2e17 - lavfi 3.34.100
  Add avfilter_get_audio_buffer_ref_from_arrays_channels.

1446 1447 1448

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

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

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

1456
2012-11-25 - c70ec631 - lavu 52.9.100 - opt.h
1457 1458 1459 1460 1461 1462 1463 1464
  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

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

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

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

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

1477
2012-10-21 - 6fb2fd8 - lavc  54.68.100 - avcodec.h
1478 1479 1480 1481 1482 1483
                       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).

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

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

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

1494 1495 1496

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

1497
2012-09-06 - 29e972f - lavu 51.72.100 - parseutils.h
1498 1499 1500 1501 1502
  Add av_small_strptime() time parsing function.

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

1503 1504 1505 1506
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.

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

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

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

1517
2012-07-30 - f893904 - lavu 51.66.100
1518 1519 1520
  Add av_get_channel_description()
  and av_get_standard_channel_layout() functions.

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

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

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

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

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

1537
2012-06-26 - e6674e4 - lavu 51.63.100 - imgutils.h
1538 1539 1540 1541 1542
  Add functions to libavutil/imgutils.h:
  av_image_get_buffer_size()
  av_image_fill_arrays()
  av_image_copy_to_buffer()

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

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

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

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

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

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

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

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

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

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

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

1578 1579
2013-04-11 - lavfi 3.53.100 / 3.8.0
  231fd44 / 38f0c07 - Move all content from avfiltergraph.h to avfilter.h. Deprecate
1580
            avfilterhraph.h, user applications should include just avfilter.h
1581
  86070b8 / bc1a985 - Add avfilter_graph_alloc_filter(), deprecate avfilter_open() and
1582
            avfilter_graph_add_filter().
1583
  4fde705 / 1113672 - Add AVFilterContext.graph pointing to the AVFilterGraph that contains the
1584
            filter.
1585 1586 1587 1588 1589
  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().
1590 1591
            Deprecate avfilter_uninit().

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

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

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

1604 1605 1606
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
1607
                     pools (new header libavutil/buffer.h).
1608
  2653e12 / 1afddbe - add AVPacket.buf to allow reference counting for the AVPacket data.
1609 1610
            Add av_packet_from_data() function for constructing packets from
            av_malloc()ed data.
1611
  c4e8821 / 7ecc2d4 - move AVFrame from lavc to lavu (new header libavutil/frame.h), add
1612 1613
            AVFrame.buf/extended_buf to allow reference counting for the AVFrame
            data. Add new API for working with reference-counted AVFrames.
1614
  80e9e63 / 759001c - add the refcounted_frames field to AVCodecContext to make audio and
1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627
            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
1628
                  have been accessed from outside of lavc
1629 1630 1631
                * qscale_table, qstride, qscale_type, mbskip_table, motion_val,
                  mb_type, dct_coeff, ref_index -- mpegvideo-specific tables,
                  which are not exported anymore.
1632
  a05a44e / 7e35037 - switch libavfilter to use AVFrame instead of AVFilterBufferRef. Add
1633 1634 1635 1636 1637
            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.

1638
2013-03-17 - 6c17ff8 / 12c5c1d - lavu 52.19.100 / 52.8.0 - avstring.h
1639 1640
  Add av_isdigit, av_isgraph, av_isspace, av_isxdigit.

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

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

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

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

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

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

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

1665 1666 1667 1668
2012-12-29 - lavu 52.13.100 / 52.3.0 - avstring.h
  2ce43b3 / d8fd06c - Add av_basename() and av_dirname().
  e13d5e9 / c1a02e8 - Add av_pix_fmt_get_chroma_sub_sample and deprecate
                      avcodec_get_chroma_sub_sample.
1669

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

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

1676
2012-10-12 - a33ed6b / d2fcb35 - lavu 51.76.100 / 51.44.0 - pixdesc.h
1677 1678 1679 1680
  Add functions for accessing pixel format descriptors.
  Accessing the av_pix_fmt_descriptors array directly is now
  deprecated.

1681
2012-10-11 - f391e40 / 9a92aea - lavu 51.75.100 / 51.43.0 - aes.h, md5.h, sha.h, tree.h
1682 1683
  Add functions for allocating the opaque contexts for the algorithms,

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

1687
2012-10-08 - ae77266 / 78071a1 - lavu 51.74.100 / 51.42.0 - pixfmt.h
1688 1689 1690 1691 1692 1693 1694
  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.

1695
2012-10-05 - 55c49af / e7ba5b1 - lavr 1.0.0 - avresample.h
1696 1697 1698 1699
  Data planes parameters to avresample_convert() and
  avresample_read() are now uint8_t** instead of void**.
  Libavresample is now stable.

1700 1701 1702
2012-09-26 - 3ba0dab7 / 1384df64 - lavf 54.29.101 / 56.06.3 - avformat.h
  Add AVFormatContext.avoid_negative_ts.

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

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

1710
2012-09-04 - b21b5b0 / 686a329 - lavu 51.71.100 / 51.40.0 - opt.h
1711 1712 1713
  Reordered the fields in default_val in AVOption, changed which
  default_val field is used for which AVOptionType.

1714
2012-08-30 - 98298eb / a231832 - lavc 54.54.101 / 54.26.1 - avcodec.h
1715 1716 1717
  Add codec descriptor properties AV_CODEC_PROP_LOSSY and
  AV_CODEC_PROP_LOSSLESS.

1718 1719 1720 1721
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.

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

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

1730
2012-08-07 - 7a72695 / 104e10f - lavc 54.51.100 / 54.25.0 - avcodec.h
1731
  Rename CodecID to AVCodecID and all CODEC_ID_* to AV_CODEC_ID_*.
1732 1733 1734 1735
  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.
1736

1737
2012-08-03 - e776ee8 / 239fdf1 - lavu 51.66.101 / 51.37.1 - cpu.h
1738 1739 1740 1741
                       lsws 2.1.1   - swscale.h
  Rename AV_CPU_FLAG_MMX2  ---> AV_CPU_FLAG_MMXEXT.
  Rename SWS_CPU_CAPS_MMX2 ---> SWS_CPU_CAPS_MMXEXT.

1742
2012-07-29 - 7c26761 / 681ed00 - lavf 54.22.100 / 54.13.0 - avformat.h
1743 1744
  Add AVFMT_FLAG_NOBUFFER for low latency use cases.

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

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

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

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

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

1761
2012-06-12 - c7b9eab / 84b9fbe - lavfi 2.79.100 / 2.22.0 - avfilter.h
1762 1763 1764 1765
  Add avfilter_pad_get_type() and avfilter_pad_get_name(). Those
  should now be used instead of accessing AVFilterPad members
  directly.

1766
2012-06-12 - 3630a07 / b0f0dfc - lavu 51.57.100 / 51.32.0 - audioconvert.h
1767 1768 1769
  Add av_get_channel_layout_channel_index(), av_get_channel_name()
  and av_channel_layout_extract_channel().

1770
2012-05-25 - 53ce990 / 154486f - lavu 51.55.100 / 51.31.0 - opt.h
1771 1772
  Add av_opt_set_bin()

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

1783 1784 1785
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()
1786

1787
2012-05-09 - 61930bd / a5117a2 - lavc 54.21.101 / 54.13.1
1788 1789 1790 1791 1792
  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).

1793
2012-05-07 - 653d117 / 828bd08 - lavc 54.20.100 / 54.13.0 - avcodec.h
1794 1795
  Add sample_rate and channel_layout fields to AVFrame.

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

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

1802
2012-04-24 - 3ead79e / c8af852 - lavr 0.0.0
Justin Ruggles's avatar
Justin Ruggles committed
1803 1804
  Add libavresample audio conversion library

1805
2012-04-20 - 3194ab7 / 0c0d1bc - lavu 51.47.100 / 51.28.0 - audio_fifo.h
1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816
  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()

1817 1818
2012-04-14 - lavfi 2.70.100 / 2.16.0 - avfiltergraph.h
  7432bcf / d7bcc71 Add avfilter_graph_parse2().
1819

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

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

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

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

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

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

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

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

1845
2012-01-24 - 0c3577b - lavfi 2.60.100
1846 1847
  Add avfilter_graph_dump.

1848
2012-03-20 - 0ebd836 / 3c90cc2 - lavfo 54.2.0
1849 1850 1851
  Deprecate av_read_packet(), use av_read_frame() with
  AVFMT_FLAG_NOPARSE | AVFMT_FLAG_NOFILLIN in AVFormatContext.flags

1852 1853 1854
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()
1855

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

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

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

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

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

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

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

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

1882
2012-02-01 - 4c677df / 316fc74 - lavc 54.1.0
1883 1884 1885 1886
  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.

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

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

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

1900 1901
2012-01-25 - lavf 53.31.100 / 53.22.0
  3c5fe5b / f1caf01 Allow doing av_write_frame(ctx, NULL) for flushing possible
1902 1903 1904 1905
          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).

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

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

1917 1918 1919

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

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

1923
2011-12-08 - 26c6fec - lavu 51.31.0
1924 1925
  Add av_log_format_line.

1926
2011-12-03 - 976b095 - lavu 51.30.0
1927 1928
  Add AVERROR_BUG.

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

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

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

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

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

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

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

1951
2011-12-02 - e4de716 / 0eea212 - lavc 53.40.0 / 53.25.0
1952 1953 1954 1955 1956 1957
  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().

1958
2011-12-04 - e4de716 / 560f773 - lavc 53.40.0 / 53.24.0
1959 1960 1961 1962 1963
  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.

1964 1965 1966
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
1967

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

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

1975
2011-11-19 - dbb38bc / f3a29b7 - lavc 53.36.0 / 53.21.0
1976 1977 1978 1979 1980 1981 1982
  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

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

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

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

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

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

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

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

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

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

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

2025
        f884ef0 / 41d9d51 av_get_string  -> av_opt_get
2026 2027 2028 2029
                av_get_double  -> av_opt_get_double
                av_get_q       -> av_opt_get_q
                av_get_int     -> av_opt_get_int

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

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

2037
2011-09-18 - 645cebb - lavc 53.16.0
2038 2039
  Add showall flag2

2040
2011-09-16 - ea8de10 - lavfi 2.42.0
2041 2042
  Add avfilter_all_channel_layouts.

2043
2011-09-16 - 9899037 - lavfi 2.41.0
2044 2045 2046 2047 2048 2049 2050
  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

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

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

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

2061
2011-09-06 - c4415f6 - lavfi 2.38.0
2062 2063 2064 2065 2066 2067
  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.

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

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

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

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

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

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

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

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

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

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

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

2104
2011-07-16 - b57df29 - lavfi 2.27.0
2105 2106 2107 2108 2109 2110 2111
  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()

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

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

2120 2121
  Add avcodec_alloc_context3. Deprecate avcodec_alloc_context() and
  avcodec_alloc_context2().
2122

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

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

2129 2130 2131 2132 2133 2134 2135

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



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

2136
2011-06-19 - fd2c0a5 - lavfi 2.23.0 - avfilter.h
2137 2138 2139 2140 2141 2142 2143 2144
  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()

2145
2011-06-19 - 527ca39 - lavfi 2.22.0 - AVFilterFormats
2146 2147 2148 2149 2150 2151 2152
  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.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

2243
2011-05-10 - 59eb12f / 188dea1 - lavc 53.6.0 - avcodec.h
2244 2245 2246 2247 2248
  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.

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

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

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

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

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

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

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

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

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

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

2284
2011-04-21 - 8772156 / 94f7451 - lavc 53.1.0 - avcodec.h
2285 2286
  Add CODEC_CAP_SLICE_THREADS for codecs supporting sliced threading.

2287 2288
2011-04-15 - lavc 52.120.0 - avcodec.h
  AVPacket structure got additional members for passing side information:
2289 2290
    c407984 / 4de339e introduce side information for AVPacket
    c407984 / 2d8591c make containers pass palette change in AVPacket
2291

2292 2293
2011-04-12 - lavf 52.107.0 - avio.h
  Avio cleanup, part II - deprecate the entire URLContext API:
2294 2295
    c55780d / 175389c add avio_check as a replacement for url_exist
    9891004 / ff1ec0c add avio_pause and avio_seek_time as replacements
2296
            for _av_url_read_fseek/fpause
2297
    d4d0932 / cdc6a87 deprecate av_protocol_next(), avio_enum_protocols
2298
            should be used instead.
2299 2300 2301 2302 2303 2304 2305 2306 2307 2308 2309 2310 2311 2312 2313 2314 2315 2316 2317 2318 2319 2320 2321 2322
    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
2323

2324 2325
2011-04-08 - lavf 52.106.0 - avformat.h
  Minor avformat.h cleanup:
2326 2327
    d4d0932 / a9bf9d8 deprecate av_guess_image2_codec
    d4d0932 / c3675df rename avf_sdp_create->av_sdp_create
2328

2329 2330
2011-04-03 - lavf 52.105.0 - avio.h
  Large-scale renaming/deprecating of AVIOContext-related functions:
2331 2332 2333 2334 2335
    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
2336
            AVIOContext.is_streamed and url_is_streamed()
2337 2338 2339 2340 2341 2342 2343 2344 2345 2346 2347
    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
2348 2349 2350 2351 2352 2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363 2364 2365 2366 2367
    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

2368
2011-03-25 - 27ef7b1 / 34b47d7 - lavc 52.115.0 - AVCodecContext.audio_service_type
2369 2370
  Add audio_service_type field to AVCodecContext.

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

2374 2375 2376 2377 2378
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.

2379 2380 2381 2382 2383 2384
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.

2385
2011-02-16 - 09d171b - lavf  52.101.0 - avformat.h
2386
                       lavu  52.39.0  - parseutils.h
2387 2388 2389
  * 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.
2390

2391 2392 2393
2011-02-15 - lavu 52.38.0 - merge libavcore
  libavcore is merged back completely into libavutil

2394 2395 2396
2011-02-10 - 55bad0c - lavc 52.113.0 - vbv_delay
  Add vbv_delay field to AVCodecContext

2397 2398 2399
2011-02-14 - 24a83bd - lavf 52.100.0 - AV_DISPOSITION_CLEAN_EFFECTS
  Add AV_DISPOSITION_CLEAN_EFFECTS disposition flag.

2400 2401 2402
2011-02-14 - 910b5b8 - lavfi 1.76.0 - AVFilterLink sample_aspect_ratio
  Add sample_aspect_ratio field to AVFilterLink.

2403 2404 2405
2011-02-10 - 12c14cd - lavf 52.99.0 - AVStream.disposition
  Add AV_DISPOSITION_HEARING_IMPAIRED and AV_DISPOSITION_VISUAL_IMPAIRED.

2406
2011-02-09 - c0b102c - lavc 52.112.0 - avcodec_thread_init()
2407 2408 2409
  Deprecate avcodec_thread_init()/avcodec_thread_free() use; instead
  set thread_count before calling avcodec_open.

2410
2011-02-09 - 37b00b4 - lavc 52.111.0 - threading API
2411 2412 2413 2414
  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.

2415
2011-02-08 - 3940caa - lavf 52.98.0 - av_probe_input_buffer
2416 2417 2418
  Add av_probe_input_buffer() to avformat.h for probing format from a
  ByteIOContext.

Ronald S. Bultje's avatar
Ronald S. Bultje committed
2419
2011-02-06 - fe174fc - lavf 52.97.0 - avio.h
2420 2421
  Add flag for non-blocking protocols: URL_FLAG_NONBLOCK

2422 2423 2424
2011-02-04 - f124b08 - lavf 52.96.0 - avformat_free_context()
  Add avformat_free_context() in avformat.h.

2425 2426 2427
2011-02-03 - f5b82f4 - lavc 52.109.0 - add CODEC_ID_PRORES
  Add CODEC_ID_PRORES to avcodec.h.

2428 2429 2430
2011-02-03 - fe9a3fb - lavc 52.109.0 - H.264 profile defines
  Add defines for H.264 * Constrained Baseline and Intra profiles

2431 2432 2433 2434 2435 2436 2437 2438 2439
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.

2440
2011-01-31 - 7b3ea55 - lavfi 1.76.0 - vsrc_buffer
2441 2442
  Add sample_aspect_ratio fields to vsrc_buffer arguments

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

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

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

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

2455
2011-01-07 - 1919fea - lavc 52.106.0 - pkt_dts
2456 2457 2458
  Add pkt_dts to AVFrame, this will in the future allow multithreading decoders
  to not mess up dts.

2459
2011-01-07 - 393cbb9 - lavc 52.105.0 - pkt_pts
2460 2461
  Add pkt_pts to AVFrame.

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

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

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

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

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

2478
2010-12-19 - 0bc55f5 - lavu 50.35.0 - error.h
2479 2480 2481 2482 2483 2484 2485 2486 2487 2488
  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

2489
2010-12-09 - c61cdd0 - lavcore 0.16.0 - avcore.h
2490 2491 2492
  Move AV_NOPTS_VALUE, AV_TIME_BASE, AV_TIME_BASE_Q symbols from
  avcodec.h to avcore.h.

2493
2010-12-04 - 16cfc96 - lavc 52.98.0 - CODEC_CAP_NEG_LINESIZES
2494 2495
  Add CODEC_CAP_NEG_LINESIZES codec capability flag in avcodec.h.

2496
2010-12-04 - bb4afa1 - lavu 50.34.0 - av_get_pix_fmt_string()
2497 2498 2499
  Deprecate avcodec_pix_fmt_string() in favor of
  pixdesc.h/av_get_pix_fmt_string().

2500
2010-12-04 - 4da12e3 - lavcore 0.15.0 - av_image_alloc()
2501 2502
  Add av_image_alloc() to libavcore/imgutils.h.

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

2506
2010-11-25 - 4723bc2 - lavfi 1.65.0 - avfilter_get_video_buffer_ref_from_arrays()
2507 2508
  Add function avfilter_get_video_buffer_ref_from_arrays() in
  avfilter.h.
2509

2510
2010-11-21 - 176a615 - lavcore 0.14.0 - audioconvert.h
2511 2512 2513 2514 2515 2516 2517 2518
  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.

2519
2010-11-21 - 6bfc268 - lavf 52.85.0 - avformat.h
2520 2521
  Add av_append_packet().

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

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

2528
2010-11-13 - cb2c971 - lavc 52.95.0 - AVCodecContext
2529 2530 2531
  Add AVCodecContext.subtitle_header and AVCodecContext.subtitle_header_size
  fields.

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

2535
2010-11-13 - 4fcbb2a - lavfi 1.61.0 - avfiltergraph.h
2536 2537 2538 2539 2540 2541 2542
  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.

2543
2010-11-08 - d2af720 - lavu 50.33.0 - eval.h
2544 2545 2546 2547 2548 2549 2550 2551 2552 2553 2554
  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().

2555
2010-11-08 - 24de0ed - lavfi 1.59.0 - avfilter_free()
2556 2557 2558
  Rename avfilter_destroy() to avfilter_free().
  This change breaks libavfilter API/ABI.

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

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

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

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

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

2578
2010-11-02 - d63e456 - lavcore 0.11.0 - samplefmt.h
Stefano Sabatini's avatar
Stefano Sabatini committed
2579 2580 2581 2582 2583 2584 2585 2586 2587
  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().

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

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

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

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

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

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

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

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

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

2621
2010-09-24 - 1c1c80f - lavu 50.28.0 - av_log_set_flags()
2622 2623 2624 2625
  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!.

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

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

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

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

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

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

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

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

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

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

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

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

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

2668
2010-08-11 - c1db7bf - lavfi 1.34.0 - AVFilterBufferRef
2669 2670 2671 2672
  Resize data and linesize arrays in AVFilterBufferRef to 8.

  This change breaks libavfilter API/ABI.

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

2676
2010-08-11 - 84c0386 - lavfi 1.33.0 - avfilter_open()
2677 2678 2679 2680 2681 2682
  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.

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

Stefano Sabatini's avatar
Stefano Sabatini committed
2687
  This change breaks libavfilter API/ABI.
2688

2689
2010-08-07 - 5d4890d - lavfi 1.31.0 - AVFilterLink
2690 2691 2692 2693 2694
  Rename AVFilterLink fields:
  AVFilterLink.srcpic    ->  AVFilterLink.src_buf
  AVFilterLink.cur_pic   ->  AVFilterLink.cur_buf
  AVFilterLink.outpic    ->  AVFilterLink.out_buf

2695
2010-08-07 - 7fce481 - lavfi 1.30.0
2696 2697 2698 2699 2700
  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

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

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

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

2711
2010-07-30 - 56b5e9d - lavfi 1.27.0 - AVFilterBuffer
2712 2713 2714 2715 2716
  Increase size of the arrays AVFilterBuffer.data and
  AVFilterBuffer.linesize from 4 to 8.

  This change breaks libavfilter ABI.

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

2721
2010-07-27 - 126b638 - lavcore 0.1.0 - parseutils.h
2722 2723 2724 2725 2726
  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.

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

2730
2010-07-22 - bdab614 - lavfi 1.26.0 - media format generalization
2731 2732 2733 2734 2735 2736 2737 2738 2739 2740 2741 2742 2743 2744 2745 2746 2747 2748 2749
  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.

2750
2010-07-21 - aac6ca6 - lavcore 0.0.0
2751 2752
  Add libavcore.

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

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

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

2762
2010-07-11 - 23940f1 - lavc 52.83.0
2763
  Add AVCodecContext.lpc_type and AVCodecContext.lpc_passes fields.
2764 2765 2766
  Add AVLPCType enum.
  Deprecate AVCodecContext.use_lpc.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

2813 2814 2815

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

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

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

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

2826
2010-05-18 - 796ac23 - lavf 52.63.0 - AVFMT_FLAG_RTP_HINT
2827
  Add AVFMT_FLAG_RTP_HINT as possible value for AVFormatContext.flags.
2828
  NOTE: this was backported to 0.6
2829

2830
2010-05-09 - b6bc205 - lavfi 1.20.0 - AVFilterPicRef
2831 2832
  Add interlaced and top_field_first fields to AVFilterPicRef.

2833
2010-05-01 - 8e2ee18 - lavf 52.62.0 - probe function
2834 2835 2836
  Add av_probe_input_format2 to API, it allows ignoring probe
  results below given score and returns the actual probe score.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

2977
2009-06-01 - f988ce6 - lavc 52.30.0 - av_lockmgr_register()
2978 2979 2980
  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
2981 2982 2983
  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.
2984

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

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

2992
2009-04-07 - 7a00bba - lavc 52.23.0 - avcodec_decode_video/audio/subtitle
2993 2994 2995 2996 2997
  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.

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

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

3005
2009-03-22 - 6e08ca9 - lavu 50.2.0 - RGB32 pixel formats
3006 3007 3008 3009 3010
  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.
3011
  Re-sort the enum PixelFormat list accordingly.
3012 3013
  This change breaks API/ABI backward compatibility.

3014
2009-03-22 - f82674e - lavu 50.1.0 - PIX_FMT_RGB5X5 endian variants
3015 3016 3017 3018
  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.

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

3024
2009-03-08 - 41dd680 - lavu 50.0.0  - AVFifoBuffer
3025 3026 3027 3028
  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
3029
  was changed to match av_fifo_generic_write.
3030 3031
  The AVFifoBuffer/struct AVFifoBuffer may only be used in an opaque way by
  applications, they may not use sizeof() or directly access members.
3032

3033
2009-03-01 - ec26457 - lavf 52.31.0 - Generic metadata API
3034 3035
  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
Panagiotis Issaris's avatar
Panagiotis Issaris committed
3036
  includes the following structure fields:
3037 3038 3039 3040 3041 3042 3043 3044 3045 3046 3047 3048 3049
    - 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