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

4
The last version increases were:
5 6 7 8 9
libavcodec:  2011-04-18
libavdevice: 2011-04-18
libavfilter: 2011-04-18
libavformat: 2011-04-18
libpostproc: 2011-04-18
R
Reinhard Tartler 已提交
10
libswscale:  2011-06-20
11
libavutil:   2011-04-18
12 13 14


API changes, most recent first:
15

16 17 18 19 20 21 22 23
2011-xx-xx - xxxxxxx - lavc 53.21.0
  Move some AVCodecContext fields to a new private struct, AVCodecInternal,
  which is accessed from a new field, AVCodecContext.internal.
  - fields moved:
      AVCodecContext.internal_buffer       --> AVCodecInternal.buffer
      AVCodecContext.internal_buffer_count --> AVCodecInternal.buffer_count
      AVCodecContext.is_copy               --> AVCodecInternal.is_copy

24 25 26 27 28 29 30 31 32 33
2011-11-13 - lavf 53.15.0
  New interrupt callback API, allowing per-AVFormatContext/AVIOContext
  interrupt callbacks.
  6aa0b98 Add AVIOInterruptCB struct and the interrupt_callback field to
          AVFormatContext.
  1dee0ac Add avio_open2() with additional parameters. Those are
          an interrupt callback and an options AVDictionary.
          This will allow passing AVOptions to protocols after lavf
          54.0.

34 35 36
2011-11-xx - xxxxxxx - lavu 51.16.0
  Add av_timegm()

37
2011-11-06 - ba04ecf - lavu 51.14.0
38 39
  Add av_strcasecmp() and av_strncasecmp() to avstring.h.

40
2011-11-06 - 07b172f - lavu 51.13.0
41 42
  Add av_toupper()/av_tolower()

43
2011-11-05 - b6d08f4 - lavf 53.13.0
44 45
  Add avformat_network_init()/avformat_network_uninit()

46
2011-10-27 - 512557b - lavc 53.15.0
47 48 49
  Remove avcodec_parse_frame.
  Deprecate AVCodecContext.parse_only and CODEC_CAP_PARSE_ONLY.

50
2011-10-19 - 569129a - lavf 53.10.0
51 52
  Add avformat_new_stream(). Deprecate av_new_stream().

53
2011-10-13 - b631fba - lavf 53.9.0
54 55
  Add AVFMT_NO_BYTE_SEEK AVInputFormat flag.

56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74
2011-10-12 - lavu 51.12.0
  AVOptions API rewrite.

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

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

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

75
2011-09-03 - fb4ca26 - lavc 53.10.0
76 77 78 79
                       lavf 53.6.0
                       lsws  2.1.0
  Add {avcodec,avformat,sws}_get_class().

80
2011-09-03 - c11fb82 - lavu 51.10.0
81 82
  Add AV_OPT_SEARCH_FAKE_OBJ flag for av_opt_find() function.

83
2011-08-26 - f2011ed - lavu 51.9.0
84 85
  Add av_fifo_peek2(), deprecate av_fifo_peek().

86
2011-08-16 - 48f9e45 - lavf 53.4.0
87 88
  Add avformat_query_codec().

89
2011-08-16 - bca06e7 - lavc 53.8.0
90 91
  Add avcodec_get_type().

92 93 94
2011-08-06 - 2f63440 - lavf 53.4.0
  Add error_recognition to AVFormatContext.

95 96 97
2011-08-02 - 9d39cbf - lavc 53.7.1
  Add AV_PKT_FLAG_CORRUPT AVPacket flag.

98
2011-07-10 - a67c061 - lavf 53.3.0
99 100
  Add avformat_find_stream_info(), deprecate av_find_stream_info().

101
2011-07-10 - 0b950fe - lavc 53.6.0
102 103
  Add avcodec_open2(), deprecate avcodec_open().

104
2011-06-23 - 67e9ae1 - lavu 51.8.0 - attributes.h
105 106
  Add av_printf_format().

107
2011-06-16 - 05e84c9, 25de595 - lavf 53.2.0 - avformat.h
108 109 110 111
  Add avformat_open_input and avformat_write_header().
  Deprecate av_open_input_stream, av_open_input_file,
  AVFormatParameters and av_write_header.

112
2011-06-16 - 7e83e1c, dc59ec5 - lavu 51.7.0 - opt.h
113 114 115 116
  Add av_opt_set_dict() and av_opt_find().
  Deprecate av_find_opt().
  Add AV_DICT_APPEND flag.

117
2011-06-10 - cb7c11c - lavu 51.6.0 - opt.h
118 119
  Add av_opt_flag_is_set().

120
2011-06-08 - d9f80ea - lavu 51.5.0 - AVMetadata
121 122 123 124
  Move AVMetadata from lavf to lavu and rename it to
  AVDictionary -- new installed header dict.h.
  All av_metadata_* functions renamed to av_dict_*.

125
2011-06-07 - a6703fa - lavu 51.4.0 - av_get_bytes_per_sample()
126 127 128
  Add av_get_bytes_per_sample() in libavutil/samplefmt.h.
  Deprecate av_get_bits_per_sample_fmt().

129
2011-06-05 - b39b062 - lavu 51.3.0 - opt.h
130 131
  Add av_opt_free convenience function.

132
2011-05-28 - 0420bd7 - lavu 51.2.0 - pixdesc.h
133 134 135
  Add av_get_pix_fmt_name() in libavutil/pixdesc.h, and deprecate
  avcodec_get_pix_fmt_name() in libavcodec/avcodec.h in its favor.

136
2011-05-25 - 30315a8 - lavf 53.1.0 - avformat.h
137 138
  Add fps_probe_size to AVFormatContext.

139
2011-05-18 - 64150ff - lavc 53.4.0 - AVCodecContext.request_sample_fmt
140 141
  Add request_sample_fmt field to AVCodecContext.

142
2011-05-10 - 188dea1 - lavc 53.3.0 - avcodec.h
143 144 145 146 147
  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.

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

153
2011-04-26 - 10d3940 - lavfi 2.3.0 - avfilter.h
154 155
  Add pict_type and key_frame fields to AVFilterBufferRefVideo.

156
2011-04-26 - 7a11c82 - lavfi 2.2.0 - vsrc_buffer
157 158
  Add sample_aspect_ratio fields to vsrc_buffer arguments

159
2011-04-21 - 94f7451 - lavc 53.1.0 - avcodec.h
R
Ronald S. Bultje 已提交
160 161
  Add CODEC_CAP_SLICE_THREADS for codecs supporting sliced threading.

162 163 164 165 166
2011-04-15 - lavc 52.120.0 - avcodec.h
  AVPacket structure got additional members for passing side information:
    4de339e introduce side information for AVPacket
    2d8591c make containers pass palette change in AVPacket

167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198
2011-04-12 - lavf 52.107.0 - avio.h
  Avio cleanup, part II - deprecate the entire URLContext API:
    175389c add avio_check as a replacement for url_exist
    ff1ec0c add avio_pause and avio_seek_time as replacements
            for _av_url_read_fseek/fpause
    cdc6a87 deprecate av_protocol_next(), avio_enum_protocols
            should be used instead.
    80c6e23 rename url_set_interrupt_cb->avio_set_interrupt_cb.
    f87b1b3 rename open flags: URL_* -> AVIO_*
    f8270bb add avio_enum_protocols.
    5593f03 deprecate URLProtocol.
    c486dad deprecate URLContext.
    026e175 deprecate the typedef for URLInterruptCB
    8e76a19 deprecate av_register_protocol2.
    b840484 deprecate URL_PROTOCOL_FLAG_NESTED_SCHEME
    1305d93 deprecate av_url_read_seek
    fa104e1 deprecate av_url_read_pause
    727c7aa deprecate url_get_filename().
    5958df3 deprecate url_max_packet_size().
    1869ea0 deprecate url_get_file_handle().
    32a97d4 deprecate url_filesize().
    e52a914 deprecate url_close().
    58a48c6 deprecate url_seek().
    925e908 deprecate url_write().
    dce3756 deprecate url_read_complete().
    bc371ac deprecate url_read().
    0589da0 deprecate url_open().
    62eaaea deprecate url_connect.
    5652bb9 deprecate url_alloc.
    333e894 deprecate url_open_protocol
    e230705 deprecate url_poll and URLPollEntry

199 200 201
2011-04-10 - lavu  50.40.0 - pixfmt.h
  Add PIX_FMT_BGR48LE and PIX_FMT_BGR48BE pixel formats

202 203 204 205 206
2011-04-08 - lavf 52.106.0 - avformat.h
  Minor avformat.h cleanup:
    a9bf9d8 deprecate av_guess_image2_codec
    c3675df rename avf_sdp_create->av_sdp_create

207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246
2011-04-03 - lavf 52.105.0 - avio.h
  Large-scale renaming/deprecating of AVIOContext-related functions:
    724f6a0 deprecate url_fdopen
    403ee83 deprecate url_open_dyn_packet_buf
    6dc7d80 rename url_close_dyn_buf       -> avio_close_dyn_buf
    b92c545 rename url_open_dyn_buf        -> avio_open_dyn_buf
    8978fed introduce an AVIOContext.seekable field as a replacement for
            AVIOContext.is_streamed and url_is_streamed()
    b64030f deprecate get_checksum()
    4c4427a deprecate init_checksum()
    4ec153b deprecate udp_set_remote_url/get_local_port
    933e90a deprecate av_url_read_fseek/fpause
    8d9769a deprecate url_fileno
    b7f2fdd rename put_flush_packet -> avio_flush
    35f1023 deprecate url_close_buf
    83fddae deprecate url_open_buf
    d9d86e0 rename url_fprintf -> avio_printf
    59f65d9 deprecate url_setbufsize
    3e68b3b deprecate url_ferror
    66e5b1d deprecate url_feof
    e8bb2e2 deprecate url_fget_max_packet_size
    76aa876 rename url_fsize -> avio_size
    e519753 deprecate url_fgetc
    655e45e deprecate url_fgets
    a2704c9 rename url_ftell -> avio_tell
    e16ead0 deprecate get_strz() in favor of avio_get_str
    0300db8,2af07d3 rename url_fskip -> avio_skip
    6b4aa5d rename url_fseek -> avio_seek
    61840b4 deprecate put_tag
    22a3212 rename url_fopen/fclose -> avio_open/close.
    0ac8e2b deprecate put_nbyte
    77eb550 rename put_byte          -> avio_w8
                   put_[b/l]e<type>  -> avio_w[b/l]<type>
                   put_buffer        -> avio_write
    b7effd4 rename get_byte          -> avio_r8,
                   get_[b/l]e<type>  -> avio_r[b/l]<type>
                   get_buffer        -> avio_read
    b3db9ce deprecate get_partial_buffer
    8d9ac96 rename av_alloc_put_byte -> avio_alloc_context

247 248 249
2011-03-25 - 34b47d7 - lavc 52.115.0 - AVCodecContext.audio_service_type
  Add audio_service_type field to AVCodecContext.

250 251 252 253 254
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.

255 256 257 258 259 260
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.

261
2011-02-16 - 09d171b - lavf  52.101.0 - avformat.h
262
                       lavu  52.39.0  - parseutils.h
263 264 265
  * 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.
266

267 268 269
2011-02-15 - lavu 52.38.0 - merge libavcore
  libavcore is merged back completely into libavutil

270 271 272
2011-02-10 - 55bad0c - lavc 52.113.0 - vbv_delay
  Add vbv_delay field to AVCodecContext

273 274 275
2011-02-14 - 24a83bd - lavf 52.100.0 - AV_DISPOSITION_CLEAN_EFFECTS
  Add AV_DISPOSITION_CLEAN_EFFECTS disposition flag.

M
Mans Rullgard 已提交
276 277 278
2011-02-14 - 910b5b8 - lavfi 1.76.0 - AVFilterLink sample_aspect_ratio
  Add sample_aspect_ratio field to AVFilterLink.

A
Anssi Hannula 已提交
279 280 281
2011-02-10 - 12c14cd - lavf 52.99.0 - AVStream.disposition
  Add AV_DISPOSITION_HEARING_IMPAIRED and AV_DISPOSITION_VISUAL_IMPAIRED.

R
Ronald S. Bultje 已提交
282
2011-02-09 - 5592734 - lavc 52.112.0 - avcodec_thread_init()
283 284 285
  Deprecate avcodec_thread_init()/avcodec_thread_free() use; instead
  set thread_count before calling avcodec_open.

R
Ronald S. Bultje 已提交
286
2011-02-09 - 778b08a - lavc 52.111.0 - threading API
287 288 289 290
  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.

291
2011-02-08 - 3940caa - lavf 52.98.0 - av_probe_input_buffer
292 293 294
  Add av_probe_input_buffer() to avformat.h for probing format from a
  ByteIOContext.

R
Ronald S. Bultje 已提交
295
2011-02-06 - fe174fc - lavf 52.97.0 - avio.h
296 297
  Add flag for non-blocking protocols: URL_FLAG_NONBLOCK

298 299 300
2011-02-04 - f124b08 - lavf 52.96.0 - avformat_free_context()
  Add avformat_free_context() in avformat.h.

301 302 303
2011-02-03 - f5b82f4 - lavc 52.109.0 - add CODEC_ID_PRORES
  Add CODEC_ID_PRORES to avcodec.h.

J
Janne Grunau 已提交
304 305 306
2011-02-03 - fe9a3fb - lavc 52.109.0 - H.264 profile defines
  Add defines for H.264 * Constrained Baseline and Intra profiles

307 308 309 310 311 312 313 314 315
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.

316 317 318
2011-01-15 - r26374 - lavfi 1.74.0 - AVFilterBufferRefAudioProps
  Rename AVFilterBufferRefAudioProps.samples_nb to nb_samples.

319 320 321
2011-01-14 - r26330 - lavf 52.93.0 - av_metadata_copy()
  Add av_metadata_copy() in avformat.h.

322 323 324
2011-01-07 - r26262 - lavc 52.107.0 - deprecate reordered_opaque
  Deprecate reordered_opaque in favor of pkt_pts/dts.

325 326 327 328
2011-01-07 - r26261 - lavc 52.106.0 - pkt_dts
  Add pkt_dts to AVFrame, this will in the future allow multithreading decoders
  to not mess up dts.

329 330 331
2011-01-07 - r26260 - lavc 52.105.0 - pkt_pts
  Add pkt_pts to AVFrame.

332
2011-01-07 - r26259 - lavc 52.104.0 - av_get_profile_name()
333 334
  Add av_get_profile_name to libavcodec/avcodec.h.

335 336 337
2010-12-27 - r26108 - lavfi 1.71.0 - AV_PERM_NEG_LINESIZES
  Add AV_PERM_NEG_LINESIZES in avfilter.h.

S
Stefano Sabatini 已提交
338
2010-12-27 - r26104 - lavf 52.91.0 - av_find_best_stream()
N
Nicolas George 已提交
339 340
  Add av_find_best_stream to libavformat/avformat.h.

341 342 343 344
2010-12-27 - r26103 - lavf 52.90.0
  Add AVFMT_NOSTREAMS flag for formats with no streams,
  like e.g. text metadata.

345
2010-12-22 - r26073 - lavu 50.36.0 - file.h
346 347
  Add functions av_file_map() and av_file_unmap() in file.h.

348
2010-12-19 - r26056 - lavu 50.35.0 - error.h
N
Nicolas George 已提交
349 350 351 352 353 354 355 356 357 358
  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

359 360 361 362
2010-12-09 - r25923 - lavcore 0.16.0 - avcore.h
  Move AV_NOPTS_VALUE, AV_TIME_BASE, AV_TIME_BASE_Q symbols from
  avcodec.h to avcore.h.

S
Stefano Sabatini 已提交
363 364 365
2010-12-04 - r25886 - lavc 52.98.0 - CODEC_CAP_NEG_LINESIZES
  Add CODEC_CAP_NEG_LINESIZES codec capability flag in avcodec.h.

366 367 368 369
2010-12-04 - r25879 - lavu 50.34.0 - av_get_pix_fmt_string()
  Deprecate avcodec_pix_fmt_string() in favor of
  pixdesc.h/av_get_pix_fmt_string().

S
Stefano Sabatini 已提交
370
2010-12-04 - r25878 - lavcore 0.15.0 - av_image_alloc()
371 372
  Add av_image_alloc() to libavcore/imgutils.h.

373 374 375
2010-12-02 - r25862 - lavfi 1.67.0 - avfilter_graph_create_filter()
  Add function avfilter_graph_create_filter() in avfiltergraph.h.

376
2010-11-25 - r25826 - lavfi 1.65.0 - avfilter_get_video_buffer_ref_from_arrays()
377 378
  Add function avfilter_get_video_buffer_ref_from_arrays() in
  avfilter.h.
379

380 381 382 383 384 385 386 387 388
2010-11-21 - r25787 - lavcore 0.14.0 - audioconvert.h
  Add a public audio channel API in audioconvert.h, and deprecate the
  corresponding functions in libavcodec:
  avcodec_get_channel_name()
  avcodec_get_channel_layout()
  avcodec_get_channel_layout_string()
  avcodec_channel_layout_num_channels()
  and the CH_* macros defined in libavcodec/avcodec.h.

R
Reimar Döffinger 已提交
389 390 391 392 393 394
2010-11-21 - r25777 - lavf 52.85.0 - avformat.h
  Add av_append_packet().

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

395 396 397
2010-11-17 - r25761 - lavcore 0.13.0 - parseutils.h
  Add av_parse_color() declared in libavcore/parseutils.h.

398 399 400 401
2010-11-13 - r25745 - lavc 52.95.0 - AVCodecContext
  Add AVCodecContext.subtitle_header and AVCodecContext.subtitle_header_size
  fields.

402
2010-11-13 - r25740 - lavfi 1.62.0 - avfiltergraph.h
S
Stefano Sabatini 已提交
403 404
  Make avfiltergraph.h public.

405 406 407 408 409 410 411 412
2010-11-13 - r25737 - lavfi 1.61.0 - avfiltergraph.h
  Remove declarations from avfiltergraph.h for the functions:
  avfilter_graph_check_validity()
  avfilter_graph_config_links()
  avfilter_graph_config_formats()
  which are now internal.
  Use avfilter_graph_config() instead.

413 414 415 416 417 418 419 420 421 422 423 424
2010-11-08 - r25708 - lavu 50.33.0 - eval.h
  Deprecate functions:
  av_parse_and_eval_expr(),
  av_parse_expr(),
  av_eval_expr(),
  av_free_expr(),
  in favor of the functions:
  av_expr_parse_and_eval(),
  av_expr_parse(),
  av_expr_eval(),
  av_expr_free().

425 426 427 428
2010-11-08 - r25707 - lavfi 1.59.0 - avfilter_free()
  Rename avfilter_destroy() to avfilter_free().
  This change breaks libavfilter API/ABI.

429 430 431 432
2010-11-07 - r25705 - lavfi 1.58.0 - avfiltergraph.h
  Remove graphparser.h header, move AVFilterInOut and
  avfilter_graph_parse() declarations to libavfilter/avfiltergraph.h.

433
2010-11-07 - r25700 - lavfi 1.57.0 - AVFilterInOut
434 435 436
  Rename field AVFilterInOut.filter to AVFilterInOut.filter_ctx.
  This change breaks libavfilter API.

437
2010-11-04 - r25674 - lavfi 1.56.0 - avfilter_graph_free()
438 439 440
  Rename avfilter_graph_destroy() to avfilter_graph_free().
  This change breaks libavfilter API/ABI.

441
2010-11-04 - r25673 - lavfi 1.55.0 - avfilter_graph_alloc()
442 443
  Add avfilter_graph_alloc() to libavfilter/avfiltergraph.h.

444 445 446 447
2010-11-02 - r25654 - lavcore 0.12.0 - av_get_bits_per_sample_fmt()
  Add av_get_bits_per_sample_fmt() to libavcore/samplefmt.h and
  deprecate av_get_bits_per_sample_format().

S
Stefano Sabatini 已提交
448 449 450 451 452 453 454 455 456 457
2010-11-02 - r25653 - lavcore 0.11.0 - samplefmt.h
  Add sample format functions in libavcore/samplefmt.h:
  av_get_sample_fmt_name(),
  av_get_sample_fmt(),
  av_get_sample_fmt_string(),
  and deprecate the corresponding libavcodec/audioconvert.h functions:
  avcodec_get_sample_fmt_name(),
  avcodec_get_sample_fmt(),
  avcodec_sample_fmt_string().

458 459 460 461
2010-11-02 - r25652 - lavcore 0.10.0 - samplefmt.h
  Define enum AVSampleFormat in libavcore/samplefmt.h, deprecate enum
  SampleFormat.

S
Stefano Sabatini 已提交
462 463 464
2010-10-16 - r25502 - lavfi 1.52.0 - avfilter_graph_config()
  Add the function avfilter_graph_config() in avfiltergraph.h.

465 466 467 468 469
2010-10-15 - r25493 - lavf 52.83.0 - metadata API
  Change demuxers to export metadata in generic format and
  muxers to accept generic format. Deprecate the public
  conversion API.

470 471 472
2010-10-10 - r25441 - lavfi 1.49.0 - AVFilterLink.time_base
  Add time_base field to AVFilterLink.

473 474 475 476
2010-09-27 - r25236 - lavu 50.31.0 - av_set_options_string()
  Move av_set_options_string() from libavfilter/parseutils.h to
  libavutil/opt.h.

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

481 482 483 484
2010-09-27 - r25225 - lavu 50.30.0 - av_get_token()
  Move av_get_token() from libavfilter/parseutils.h to
  libavutil/avstring.h.

485 486 487
2010-09-26 - r32368 - lsws 0.12.0 - swscale.h
  Add the functions sws_alloc_context() and sws_init_context().

488 489 490
2010-09-26 - r25210 - lavu 50.29.0 - opt.h
  Move libavcodec/opt.h to libavutil/opt.h.

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

496 497 498 499 500 501
2010-09-24 - r25167 - lavc 52.90.0 - av_opt_show2()
  Deprecate av_opt_show() in favor or av_opt_show2().

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

502 503 504
2010-09-08 - r25076 - lavu 50.26.0 - av_get_cpu_flags()
  Add av_get_cpu_flags().

505 506 507 508 509 510
2010-09-07 - r25067 - lavcore 0.9.0 - av_image_copy()
  Add av_image_copy().

2010-09-07 - r25064 - lavcore 0.8.0 - av_image_copy_plane()
  Add av_image_copy_plane().

511 512 513 514
2010-09-07 - r25057 - lavcore 0.7.0 - imgutils.h
  Adopt hierarchical scheme for the imgutils.h function names,
  deprecate the old names.

515 516 517 518
2010-09-04 - r25040 - lavu 50.25.0 - AV_CPU_FLAG_*
  Deprecate the FF_MM_* flags defined in libavcodec/avcodec.h in favor
  of the AV_CPU_FLAG_* flags defined in libavutil/cpu.h.

519 520 521
2010-08-26 - r24936 - lavc 52.87.0 - avcodec_get_channel_layout()
  Add avcodec_get_channel_layout() in audioconvert.h.

522 523 524
2010-08-20 - r24851 - lavcore 0.6.0 - av_fill_image_max_pixsteps()
  Rename av_fill_image_max_pixstep() to av_fill_image_max_pixsteps().

525 526 527
2010-08-18 - r24827 - lavcore 0.5.0 - av_fill_image_max_pixstep()
  Add av_fill_image_max_pixstep() in imgutils.h.

528 529 530
2010-08-17 - r24814 - lavu 50.24.0 - AV_NE()
  Add the AV_NE macro.

531 532 533 534
2010-08-17 - r24811 - lavfi 1.36.0 - audio framework
  Implement AVFilterBufferRefAudioProps struct for audio properties,
  get_audio_buffer(), filter_samples() functions and related changes.

535 536 537
2010-08-12 - r24787 - lavcore 0.4.0 - av_get_image_linesize()
  Add av_get_image_linesize() in imgutils.h.

538 539 540 541 542
2010-08-11 - r24773 - lavfi 1.34.0 - AVFilterBufferRef
  Resize data and linesize arrays in AVFilterBufferRef to 8.

  This change breaks libavfilter API/ABI.

543 544 545
2010-08-11 - r24768 - lavc 52.85.0 - av_picture_data_copy()
  Add av_picture_data_copy in avcodec.h.

546 547 548 549 550 551 552
2010-08-11 - r24765 - lavfi 1.33.0 - avfilter_open()
  Change avfilter_open() signature:
  AVFilterContext *avfilter_open(AVFilter *filter, const char *inst_name) ->
  int avfilter_open(AVFilterContext **filter_ctx, AVFilter *filter, const char *inst_name);

  This change breaks libavfilter API/ABI.

553 554 555 556
2010-08-11 - r24763 - lavfi 1.32.0 - AVFilterBufferRef
  Add a type field to AVFilterBufferRef, and move video specific
  properties to AVFilterBufferRefVideoProps.

S
Stefano Sabatini 已提交
557
  This change breaks libavfilter API/ABI.
558

559 560 561 562 563 564 565 566 567 568 569 570 571 572 573
2010-08-07 - r24732 - lavfi 1.31.0 - AVFilterLink
  Rename AVFilterLink fields:
  AVFilterLink.srcpic    ->  AVFilterLink.src_buf
  AVFilterLink.cur_pic   ->  AVFilterLink.cur_buf
  AVFilterLink.outpic    ->  AVFilterLink.out_buf

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

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

574 575 576
2010-08-07 - r24728 - lavfi 1.28.0 - AVFilterBuffer
  Move format field from AVFilterBuffer to AVFilterPicRef.

577 578 579 580
2010-08-06 - r24709 - lavcore 0.3.0 - av_check_image_size()
  Deprecate avcodec_check_dimensions() in favor of the function
  av_check_image_size() defined in libavcore/imgutils.h.

581 582 583 584 585 586
2010-07-30 - r24592 - lavfi 1.27.0 - AVFilterBuffer
  Increase size of the arrays AVFilterBuffer.data and
  AVFilterBuffer.linesize from 4 to 8.

  This change breaks libavfilter ABI.

587 588 589 590
2010-07-29 - r24583 - lavcore 0.2.0 - imgutils.h
  Add functions av_fill_image_linesizes() and
  av_fill_image_pointers(), declared in libavcore/imgutils.h.

591 592 593 594 595 596
2010-07-27 - r24518 - lavcore 0.1.0 - parseutils.h
  Deprecate av_parse_video_frame_size() and av_parse_video_frame_rate()
  defined in libavcodec in favor of the newly added functions
  av_parse_video_size() and av_parse_video_rate() declared in
  libavcore/parseutils.h.

597 598 599
2010-07-23 - r24439 - lavu 50.23.0 - mathematics.h
  Add the M_PHI constant definition.

600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619
2010-07-22 - r24424 - lavfi 1.26.0 - media format generalization
  Add a type field to AVFilterLink.

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

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

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

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

  This change breaks libavfilter API/ABI.

620 621 622
2010-07-21 - r24393 - lavcore 0.0.0
  Add libavcore.

623 624 625
2010-07-17 - r24291 - lavfi 1.25.0 - AVFilterBuffer
  Remove w and h fields from AVFilterBuffer.

626 627 628
2010-07-17 - r24284 - lavfi 1.24.0 - AVFilterBuffer
  Rename AVFilterPic to AVFilterBuffer.

629 630 631
2010-07-17 - r24278 - lavf 52.74.0 - url_fskip()
  Make url_fskip() return an int error code instead of void.

632
2010-07-11 - r24199 - lavc 52.83.0
633
  Add AVCodecContext.lpc_type and AVCodecContext.lpc_passes fields.
634 635 636
  Add AVLPCType enum.
  Deprecate AVCodecContext.use_lpc.

637 638 639 640
2010-07-11 - r24185 - lavc 52.82.0 - avsubtitle_free()
  Add a function for free the contents of a AVSubtitle generated by
  avcodec_decode_subtitle.

641 642 643
2010-07-11 - r24174 - lavu 50.22.0 - bswap.h and intreadwrite.h
  Make the bswap.h and intreadwrite.h API public.

644 645 646 647
2010-07-08 - r24101 - lavu 50.21.0 - pixdesc.h
  Rename read/write_line() to av_read/write_image_line().

2010-07-07 - r24091 - lavfi 1.21.0 - avfilter_copy_picref_props()
S
Stefano Sabatini 已提交
648
  Add avfilter_copy_picref_props().
649

650
2010-07-03 - r24021 - lavc 52.79.0
S
Stefano Sabatini 已提交
651 652
  Add FF_COMPLIANCE_UNOFFICIAL and change all instances of
  FF_COMPLIANCE_INOFFICIAL to use FF_COMPLIANCE_UNOFFICIAL.
653

654 655 656 657
2010-07-02 - r23985 - lavu 50.20.0 - lfg.h
  Export av_lfg_init(), av_lfg_get(), av_mlfg_get(), and av_bmg_get() through
  lfg.h.

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

662
2010-06-22 - r23706 - lavf 52.71.0 - URLProtocol.priv_data_size, priv_data_class
S
Stefano Sabatini 已提交
663
  Add priv_data_size and priv_data_class to URLProtocol.
664

665
2010-06-22 - r23704 - lavf 52.70.0 - url_alloc(), url_connect()
S
Stefano Sabatini 已提交
666
  Add url_alloc() and url_connect().
667

S
Stefano Sabatini 已提交
668 669
2010-06-22 - r23702 - lavf 52.69.0 - av_register_protocol2()
  Add av_register_protocol2(), deprecating av_register_protocol().
670

671 672 673
2010-06-09 - r23551 - lavu 50.19.0 - av_compare_mod()
  Add av_compare_mod() to libavutil/mathematics.h.

674 675 676
2010-06-05 - r23485 - lavu 50.18.0 - eval API
  Make the eval API public.

677 678 679
2010-06-04 - r23461 - lavu 50.17.0 - AV_BASE64_SIZE
  Add AV_BASE64_SIZE() macro.

S
Stefano Sabatini 已提交
680
2010-06-02 - r23421 - lavc 52.73.0 - av_get_codec_tag_string()
681 682
  Add av_get_codec_tag_string().

683
2010-06-01 - r31301 - lsws 0.11.0 - convertPalette API
S
Stefano Sabatini 已提交
684
  Add sws_convertPalette8ToPacked32() and sws_convertPalette8ToPacked24().
685

686 687
2010-05-26 - r23334 - lavc 52.72.0 - CODEC_CAP_EXPERIMENTAL
  Add CODEC_CAP_EXPERIMENTAL flag.
688
  NOTE: this was backported to 0.6
689

S
Stefano Sabatini 已提交
690 691
2010-05-23 - r23255 - lavu 50.16.0 - av_get_random_seed()
  Add av_get_random_seed().
692

693
2010-05-18 - r23161 - lavf 52.63.0 - AVFMT_FLAG_RTP_HINT
S
Stefano Sabatini 已提交
694
  Add AVFMT_FLAG_RTP_HINT as possible value for AVFormatContext.flags.
695
  NOTE: this was backported to 0.6
696

697 698 699
2010-05-09 - r23066 - lavfi 1.20.0 - AVFilterPicRef
  Add interlaced and top_field_first fields to AVFilterPicRef.

700 701 702 703
------------------------------8<-------------------------------------
                   0.6 branch was cut here
----------------------------->8--------------------------------------

704 705 706 707
2010-05-01 - r23002 - lavf 52.62.0 - probe function
  Add av_probe_input_format2 to API, it allows ignoring probe
  results below given score and returns the actual probe score.

708
2010-04-01 - r22806 - lavf 52.61.0 - metadata API
709 710 711
  Add a flag for av_metadata_set2() to disable overwriting of
  existing tags.

712
2010-04-01 - r22753 - lavc 52.66.0
S
Stefano Sabatini 已提交
713
  Add avcodec_get_edge_width().
714

715 716 717
2010-03-31 - r22750 - lavc 52.65.0
  Add avcodec_copy_context().

718 719 720
2010-03-31 - r22748 - lavf 52.60.0 - av_match_ext()
  Make av_match_ext() public.

721 722 723 724 725 726 727
2010-03-31 - r22736 - lavu 50.14.0 - AVMediaType
  Move AVMediaType enum from libavcodec to libavutil.

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

728 729 730
2010-03-25 - r22684 - lavu 50.13.0 - av_strerror()
  Implement av_strerror().

731
2010-03-23 - r22649 - lavc 52.60.0 - av_dct_init()
S
Stefano Sabatini 已提交
732
  Support DCT-I and DST-I.
733

734 735 736
2010-03-15 - r22540 - lavf 52.56.0 - AVFormatContext.start_time_realtime
  Add AVFormatContext.start_time_realtime field.

737 738 739
2010-03-13 - r22506 - lavfi 1.18.0 - AVFilterPicRef.pos
  Add AVFilterPicRef.pos field.

740 741 742 743
2010-03-13 - r22501 - lavu 50.12.0 - error.h
  Move error code definitions from libavcodec/avcodec.h to
  the new public header libavutil/error.h.

744 745 746
2010-03-07 - r22291 - lavc 52.56.0 - avfft.h
  Add public FFT interface.

747 748 749
2010-03-06 - r22251 - lavu 50.11.0 - av_stristr()
  Add av_stristr().

750 751 752
2010-03-03 - r22174 - lavu 50.10.0 - av_tree_enumerate()
  Add av_tree_enumerate().

753 754 755
2010-02-07 - r21673 - lavu 50.9.0 - av_compare_ts()
  Add av_compare_ts().

756 757 758
2010-02-05 - r30513 - lsws 0.10.0 - sws_getCoefficients()
  Add sws_getCoefficients().

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

763 764 765
2010-01-30 - r21545 - lavu 50.8.0 - av_get_pix_fmt()
  Add av_get_pix_fmt().

S
Stefano Sabatini 已提交
766
2010-01-21 - r30381 - lsws 0.9.0 - sws_scale()
767 768
  Change constness attributes of sws_scale() parameters.

769 770 771
2010-01-10 - r21121 - lavfi 1.15.0 - avfilter_graph_config_links()
  Add a log_ctx parameter to avfilter_graph_config_links().

S
Stefano Sabatini 已提交
772
2010-01-07 - r30236 - lsws 0.8.0 - sws_isSupported{In,Out}put()
773
  Add sws_isSupportedInput() and sws_isSupportedOutput() functions.
774

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

779 780 781
2010-01-03 - r21007 - lavfi 1.13.0 - avfilter_add_colorspace()
  Add avfilter_add_colorspace().

782 783 784
2010-01-02 - r20998 - lavf 52.46.0 - av_match_ext()
  Add av_match_ext(), it should be used in place of match_ext().

785 786 787
2010-01-01 - r20991 - lavf 52.45.0 - av_guess_format()
  Add av_guess_format(), it should be used in place of guess_format().

788
2009-12-13 - r20834 - lavf 52.43.0 - metadata API
S
Stefano Sabatini 已提交
789 790
  Add av_metadata_set2(), AV_METADATA_DONT_STRDUP_KEY and
  AV_METADATA_DONT_STRDUP_VAL.
791

792
2009-12-13 - r20829 - lavu 50.7.0 - avstring.h API
S
Stefano Sabatini 已提交
793
  Add av_d2str().
794

795
2009-12-13 - r20826 - lavc 52.42.0 - AVStream
S
Stefano Sabatini 已提交
796
  Add avg_frame_rate.
797

798 799 800
2009-12-12 - r20808 - lavu 50.6.0 - av_bmg_next()
  Introduce the av_bmg_next() function.

801 802 803
2009-12-05 - r20734 - lavfi 1.12.0 - avfilter_draw_slice()
  Add a slice_dir parameter to avfilter_draw_slice().

804 805 806
2009-11-26 - r20611 - lavfi 1.11.0 - AVFilter
  Remove the next field from AVFilter, this is not anymore required.

807 808 809
2009-11-25 - r20607 - lavfi 1.10.0 - avfilter_next()
  Introduce the avfilter_next() function.

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

814 815 816
2009-11-25 - r20603 - lavu 50.5.0 - pixdesc.h API
  Make the pixdesc.h API public.

817 818 819 820
2009-10-27 - r20385 - lavfi 1.5.0 - AVFilter.next
  Add a next field to AVFilter, this is used for simplifying the
  registration and management of the registered filters.

821 822
2009-10-23 - r20356 - lavfi 1.4.1 - AVFilter.description
  Add a description field to AVFilter.
823

824 825 826 827 828
2009-10-19 - r20302 - lavfi 1.3.0 - avfilter_make_format_list()
  Change the interface of avfilter_make_format_list() from
  avfilter_make_format_list(int n, ...) to
  avfilter_make_format_list(enum PixelFormat *pix_fmts).

829 830 831 832
2009-10-18 - r20272 - lavfi 1.0.0 - avfilter_get_video_buffer()
  Make avfilter_get_video_buffer() recursive and add the w and h
  parameters to it.

833
2009-10-07 - r20189 - lavfi 0.5.1 - AVFilterPic
D
Diego Biurrun 已提交
834
  Add w and h fields to AVFilterPic.
835

836 837 838
2009-06-22 - r19250 - lavf 52.34.1 - AVFormatContext.packet_size
  This is now an unsigned int instead of a signed int.

839
2009-06-19 - r19222 - lavc 52.32.0 - AVSubtitle.pts
D
Diego Biurrun 已提交
840 841
  Add a pts field to AVSubtitle which gives the subtitle packet pts
  in AV_TIME_BASE. Some subtitle de-/encoders (e.g. XSUB) will
842 843
  not work right without this.

844
2009-06-03 - r19078 - lavc 52.30.2 - AV_PKT_FLAG_KEY
D
Diego Biurrun 已提交
845
  PKT_FLAG_KEY has been deprecated and will be dropped at the next
846 847
  major version. Use AV_PKT_FLAG_KEY instead.

848 849 850 851
2009-06-01 - r19025 - lavc 52.30.0 - av_lockmgr_register()
  av_lockmgr_register() can be used to register a callback function
  that lavc (and in the future, libraries that depend on lavc) can use
  to implement mutexes. The application should provide a callback function
D
Diego Biurrun 已提交
852 853 854
  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.
855

S
Stefano Sabatini 已提交
856
2009-04-30 - r18719 - lavc 52.28.0 - av_free_packet()
R
Ramiro Polla 已提交
857 858
  av_free_packet() is no longer an inline function. It is now exported.

S
Stefano Sabatini 已提交
859
2009-04-11 - r18431 - lavc 52.25.0 - deprecate av_destruct_packet_nofree()
860 861 862
  Please use NULL instead. This has been supported since r16506
  (lavf > 52.23.1, lavc > 52.10.0).

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

S
Stefano Sabatini 已提交
869
2009-04-03 - r18321 - lavu 50.3.0 - av_fifo_space()
870 871
  Introduce the av_fifo_space() function.

872 873 874 875
2009-04-02 - r18317 - lavc 52.23.0 - AVPacket
  Move AVPacket declaration from libavformat/avformat.h to
  libavcodec/avcodec.h.

876
2009-03-22 - r18163 - lavu 50.2.0 - RGB32 pixel formats
D
Diego Biurrun 已提交
877 878 879 880 881
  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.
882
  Re-sort the enum PixelFormat list accordingly.
883 884
  This change breaks API/ABI backward compatibility.

885 886 887 888 889
2009-03-22 - r18133 - lavu 50.1.0 - PIX_FMT_RGB5X5 endian variants
  Add the enum PixelFormat values:
  PIX_FMT_RGB565BE, PIX_FMT_RGB565LE, PIX_FMT_RGB555BE, PIX_FMT_RGB555LE,
  PIX_FMT_BGR565BE, PIX_FMT_BGR565LE, PIX_FMT_BGR555BE, PIX_FMT_BGR555LE.

890
2009-03-21 - r18116 - lavu 50.0.0  - av_random*
891 892 893 894
  The Mersenne Twister PRNG implemented through the av_random* functions
  was removed. Use the lagged Fibonacci PRNG through the av_lfg* functions
  instead.

895 896 897 898 899
2009-03-08 - r17869 - lavu 50.0.0  - AVFifoBuffer
  av_fifo_init, av_fifo_read, av_fifo_write and av_fifo_realloc were dropped
  and replaced by av_fifo_alloc, av_fifo_generic_read, av_fifo_generic_write
  and av_fifo_realloc2.
  In addition, the order of the function arguments of av_fifo_generic_read
D
Diego Biurrun 已提交
900
  was changed to match av_fifo_generic_write.
901 902
  The AVFifoBuffer/struct AVFifoBuffer may only be used in an opaque way by
  applications, they may not use sizeof() or directly access members.
903

904 905 906
2009-03-01 - r17682 - lavf 52.31.0 - Generic metadata API
  Introduce a new metadata API (see av_metadata_get() and friends).
  The old API is now deprecated and should not be used anymore. This especially
P
Panagiotis Issaris 已提交
907
  includes the following structure fields:
908 909 910 911 912 913 914 915 916 917 918 919 920
    - 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