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.
4 The last version increases were:
6 libavdevice: 2011-04-18
7 libavfilter: 2012-06-22
8 libavformat: 2012-01-27
9 libavresample: 2012-10-05
10 libpostproc: 2011-04-18
11 libswresample: 2011-09-19
12 libswscale: 2011-06-20
16 API changes, most recent first:
18 2012-12-20 - xxxxxxx - lavfi 3.28.100 - avfilter.h
19 Add AVFilterLink.channels, avfilter_link_get_channels()
20 and avfilter_ref_get_channels().
22 2012-12-15 - 2ada584d - lavc 54.80.100 - avcodec.h
23 Add pkt_size field to AVFrame.
25 2012-11-25 - c70ec631 - lavu 52.9.100 - opt.h
26 Add the following convenience functions to opt.h:
34 2012-11-17 - 4cd74c81 - lavu 52.8.100 - bprint.h
35 Add av_bprint_strftime().
37 2012-11-15 - 92648107 - lavu 52.7.100 - opt.h
38 Add av_opt_get_key_value().
40 2012-11-13 - 79456652 - lavfi 3.23.100 - avfilter.h
41 Add channels field to AVFilterBufferRefAudioProps.
43 2012-11-03 - 481fdeee - lavu 52.3.100 - opt.h
44 Add AV_OPT_TYPE_SAMPLE_FMT value to AVOptionType enum.
46 2012-10-21 - 6fb2fd8 - lavc 54.68.100 - avcodec.h
47 lavfi 3.20.100 - avfilter.h
48 Add AV_PKT_DATA_STRINGS_METADATA side data type, used to transmit key/value
49 strings between AVPacket and AVFrame, and add metadata field to
50 AVCodecContext (which shall not be accessed by users; see AVFrame metadata
53 2012-09-27 - a70b493 - lavd 54.3.100 - version.h
54 Add LIBAVDEVICE_IDENT symbol.
56 2012-09-27 - a70b493 - lavfi 3.18.100 - version.h
57 Add LIBAVFILTER_IDENT symbol.
59 2012-09-27 - a70b493 - libswr 0.16.100 - version.h
60 Add LIBSWRESAMPLE_VERSION, LIBSWRESAMPLE_BUILD
61 and LIBSWRESAMPLE_IDENT symbols.
63 2012-09-06 - 29e972f - lavu 51.72.100 - parseutils.h
64 Add av_small_strptime() time parsing function.
66 Can be used as a stripped-down replacement for strptime(), on
67 systems which do not support it.
69 2012-08-25 - 2626cc4 - lavf 54.28.100
70 Matroska demuxer now identifies SRT subtitles as AV_CODEC_ID_SUBRIP instead
73 2012-08-13 - 5c0d8bc - lavfi 3.8.100 - avfilter.h
74 Add avfilter_get_class() function, and priv_class field to AVFilter
77 2012-08-12 - a25346e - lavu 51.69.100 - opt.h
78 Add AV_OPT_FLAG_FILTERING_PARAM symbol in opt.h.
80 2012-07-31 - 23fc4dd - lavc 54.46.100
81 Add channels field to AVFrame.
83 2012-07-30 - f893904 - lavu 51.66.100
84 Add av_get_channel_description()
85 and av_get_standard_channel_layout() functions.
87 2012-07-21 - 016a472 - lavc 54.43.100
88 Add decode_error_flags field to AVFrame.
90 2012-07-20 - b062936 - lavf 54.18.100
91 Add avformat_match_stream_specifier() function.
93 2012-07-14 - f49ec1b - lavc 54.38.100 - avcodec.h
94 Add metadata to AVFrame, and the accessor functions
95 av_frame_get_metadata() and av_frame_set_metadata().
97 2012-07-10 - 0e003d8 - lavc 54.33.100
98 Add av_fast_padded_mallocz().
100 2012-07-10 - 21d5609 - lavfi 3.2.0 - avfilter.h
101 Add init_opaque() callback to AVFilter struct.
103 2012-06-26 - e6674e4 - lavu 51.63.100 - imgutils.h
104 Add functions to libavutil/imgutils.h:
105 av_image_get_buffer_size()
106 av_image_fill_arrays()
107 av_image_copy_to_buffer()
109 2012-06-24 - c41899a - lavu 51.62.100 - version.h
110 version moved from avutil.h to version.h
112 2012-04-11 - 359abb1 - lavu 51.58.100 - error.h
113 Add av_make_error_string() and av_err2str() utilities to
116 2012-06-05 - 62b39d4 - lavc 54.24.100
117 Add pkt_duration field to AVFrame.
119 2012-05-24 - f2ee065 - lavu 51.54.100
120 Move AVPALETTE_SIZE and AVPALETTE_COUNT macros from
121 libavcodec/avcodec.h to libavutil/pixfmt.h.
123 2012-05-14 - 94a9ac1 - lavf 54.5.100
124 Add av_guess_sample_aspect_ratio() function.
126 2012-04-20 - 65fa7bc - lavfi 2.70.100
127 Add avfilter_unref_bufferp() to avfilter.h.
129 2012-04-13 - 162e400 - lavfi 2.68.100
130 Install libavfilter/asrc_abuffer.h public header.
132 2012-03-26 - a67d9cf - lavfi 2.66.100
133 Add avfilter_fill_frame_from_{audio_,}buffer_ref() functions.
135 2013-01-13 - xxxxxxx - lavc 54.36.0 - vdpau.h
136 Add AVVDPAUContext struct for VDPAU hardware-accelerated decoding.
138 2013-01-12 - 169fb94 - lavu 52.4.0 - pixdesc.h
139 Add AV_PIX_FMT_VDPAU flag.
141 2013-01-07 - 074a00d - lavr 1.1.0
142 Add avresample_set_channel_mapping() for input channel reordering,
143 duplication, and silencing.
145 2012-12-29 - d8fd06c - lavu 52.3.0 - avstring.h
146 Add av_basename() and av_dirname().
148 2012-11-11 - 5980f5d - lavu 52.2.0 - audioconvert.h
149 Rename audioconvert.h to channel_layout.h. audioconvert.h is now deprecated.
151 2012-11-05 - dfde8a3 - lavu 52.1.0 - intmath.h
152 Add av_ctz() for trailing zero bit count
154 2012-10-21 - a893655 - lavu 51.45.0 - error.h
155 Add AVERROR_EXPERIMENTAL
157 2012-10-12 - d2fcb35 - lavu 51.44.0 - pixdesc.h
158 Add functions for accessing pixel format descriptors.
159 Accessing the av_pix_fmt_descriptors array directly is now
162 2012-10-11 - 9a92aea - lavu 51.43.0 - aes.h, md5.h, sha.h, tree.h
163 Add functions for allocating the opaque contexts for the algorithms,
165 2012-10-10 - b522000 - lavf 54.18.0 - avio.h
166 Add avio_closep to complement avio_close.
168 2012-10-08 - 78071a1 - lavu 51.42.0 - pixfmt.h
169 Rename PixelFormat to AVPixelFormat and all PIX_FMT_* to AV_PIX_FMT_*.
170 To provide backwards compatibility, PixelFormat is now #defined as
172 Note that this can break user code that includes pixfmt.h and uses the
173 'PixelFormat' identifier. Such code should either #undef PixelFormat
174 or stop using the PixelFormat name.
176 2012-10-05 - e7ba5b1 - lavr 1.0.0 - avresample.h
177 Data planes parameters to avresample_convert() and
178 avresample_read() are now uint8_t** instead of void**.
179 Libavresample is now stable.
181 2012-09-24 - a42aada - lavc 54.28.0 - avcodec.h
182 Add avcodec_free_frame(). This function must now
183 be used for freeing an AVFrame.
185 2012-09-12 - 8919fee - lavu 51.41.0 - audioconvert.h
186 Added AV_CH_LOW_FREQUENCY_2 channel mask value.
188 2012-09-04 - 686a329 - lavu 51.40.0 - opt.h
189 Reordered the fields in default_val in AVOption, changed which
190 default_val field is used for which AVOptionType.
192 2012-08-30 - a231832 - lavc 54.26.1 - avcodec.h
193 Add codec descriptor properties AV_CODEC_PROP_LOSSY and
194 AV_CODEC_PROP_LOSSLESS.
196 2012-08-18 - lavc 54.26 - avcodec.h
197 Add codec descriptors for accessing codec properties without having
198 to refer to a specific decoder or encoder.
200 c223d79 - Add an AVCodecDescriptor struct and functions
201 avcodec_descriptor_get() and avcodec_descriptor_next().
202 51efed1 - Add AVCodecDescriptor.props and AV_CODEC_PROP_INTRA_ONLY.
203 91e59fe - Add avcodec_descriptor_get_by_name().
205 2012-08-08 - 987170c - lavu 51.38 - dict.h
208 2012-08-07 - 104e10f - lavc 54.25 - avcodec.h
209 Rename CodecID to AVCodecID and all CODEC_ID_* to AV_CODEC_ID_*.
210 To provide backwards compatibility, CodecID is now #defined as AVCodecID.
211 Note that this can break user code that includes avcodec.h and uses the
212 'CodecID' identifier. Such code should either #undef CodecID or stop using the
215 2012-08-03 - 239fdf1 - lavu 51.37.1 - cpu.h
216 lsws 2.1.1 - swscale.h
217 Rename AV_CPU_FLAG_MMX2 ---> AV_CPU_FLAG_MMXEXT.
218 Rename SWS_CPU_CAPS_MMX2 ---> SWS_CPU_CAPS_MMXEXT.
220 2012-07-29 - 681ed00 - lavf 54.13.0 - avformat.h
221 Add AVFMT_FLAG_NOBUFFER for low latency use cases.
223 2012-07-10 - 5fade8a - lavu 51.37.0
224 Add av_malloc_array() and av_mallocz_array()
226 2012-06-22 - d3d3a32 - lavu 51.34.0
229 2012-06-20 - ae0a301 - lavu 51.33.0
230 Move av_gettime() to libavutil, add libavutil/time.h
232 2012-06-09 - 3971be0 - lavr 0.0.3
233 Add a parameter to avresample_build_matrix() for Dolby/DPLII downmixing.
235 2012-06-12 - 9baeff9 - lavfi 2.23.0 - avfilter.h
236 Add AVFilterContext.nb_inputs/outputs. Deprecate
237 AVFilterContext.input/output_count.
239 2012-06-12 - 84b9fbe - lavfi 2.22.0 - avfilter.h
240 Add avfilter_pad_get_type() and avfilter_pad_get_name(). Those
241 should now be used instead of accessing AVFilterPad members
244 2012-06-12 - b0f0dfc - lavu 51.32.0 - audioconvert.h
245 Add av_get_channel_layout_channel_index(), av_get_channel_name()
246 and av_channel_layout_extract_channel().
248 2012-05-25 - 154486f - lavu 51.31.0 - opt.h
251 2012-05-15 - lavfi 2.17.0
252 Add support for audio filters
253 ac71230/a2cd9be - add video/audio buffer sink in a new installed
255 720c6b7 - add av_buffersrc_write_frame(), deprecate
256 av_vsrc_buffer_add_frame()
257 ab16504 - add avfilter_copy_buf_props()
258 9453c9e - add extended_data to AVFilterBuffer
259 1b8c927 - add avfilter_get_audio_buffer_ref_from_arrays()
261 2012-05-09 - lavu 51.30.0 - samplefmt.h
262 142e740 - add av_samples_copy()
263 6d7f617 - add av_samples_set_silence()
265 2012-05-09 - a5117a2 - lavc 54.13.1
266 For audio formats with fixed frame size, the last frame
267 no longer needs to be padded with silence, libavcodec
268 will handle this internally (effectively all encoders
269 behave as if they had CODEC_CAP_SMALL_LAST_FRAME set).
271 2012-05-07 - 828bd08 - lavc 54.13.0 - avcodec.h
272 Add sample_rate and channel_layout fields to AVFrame.
274 2012-05-01 - 4010d72 - lavr 0.0.1
275 Change AV_MIX_COEFF_TYPE_Q6 to AV_MIX_COEFF_TYPE_Q8.
277 2012-04-25 - 3527a73 - lavu 51.29.0 - cpu.h
278 Add av_parse_cpu_flags()
280 2012-04-24 - c8af852 - lavr 0.0.0
281 Add libavresample audio conversion library
283 2012-04-20 - 0c0d1bc - lavu 51.28.0 - audio_fifo.h
284 Add audio FIFO functions:
286 av_audio_fifo_alloc()
287 av_audio_fifo_realloc()
288 av_audio_fifo_write()
290 av_audio_fifo_drain()
291 av_audio_fifo_reset()
293 av_audio_fifo_space()
295 2012-04-14 - lavfi 2.16.0 - avfiltergraph.h
296 d7bcc71 Add avfilter_graph_parse2().
298 2012-04-08 - 4d693b0 - lavu 51.27.0 - samplefmt.h
299 Add av_get_packed_sample_fmt() and av_get_planar_sample_fmt()
301 2012-03-21 - b75c67d - lavu 51.43.100
302 Add bprint.h for bprint API.
304 2012-02-21 - 9cbf17e - lavc 54.4.100
305 Add av_get_pcm_codec() function.
307 2012-02-16 - 560b224 - libswr 0.7.100
308 Add swr_set_matrix() function.
310 2012-02-09 - c28e7af - lavu 51.39.100
311 Add a new installed header libavutil/timestamp.h with timestamp
314 2012-02-06 - 70ffda3 - lavu 51.38.100
315 Add av_parse_ratio() function to parseutils.h.
317 2012-02-06 - 70ffda3 - lavu 51.38.100
318 Add AV_LOG_MAX_OFFSET macro to log.h.
320 2012-02-02 - 0eaa123 - lavu 51.37.100
321 Add public timecode helpers.
323 2012-01-24 - 0c3577b - lavfi 2.60.100
324 Add avfilter_graph_dump.
326 2012-03-20 - 3c90cc2 - lavfo 54.2.0
327 Deprecate av_read_packet(), use av_read_frame() with
328 AVFMT_FLAG_NOPARSE | AVFMT_FLAG_NOFILLIN in AVFormatContext.flags
330 2012-03-05 - lavc 54.8.0
331 6699d07 Add av_get_exact_bits_per_sample()
332 9524cf7 Add av_get_audio_frame_duration()
334 2012-03-04 - 44fe77b - lavc 54.7.0 - avcodec.h
335 Add av_codec_is_encoder/decoder().
337 2012-03-01 - 442c132 - lavc 54.3.0 - avcodec.h
338 Add av_packet_shrink_side_data.
340 2012-02-29 - dd2a4bc - lavf 54.2.0 - avformat.h
341 Add AVStream.attached_pic and AV_DISPOSITION_ATTACHED_PIC,
342 used for dealing with attached pictures/cover art.
344 2012-02-25 - c9bca80 - lavu 51.24.0 - error.h
346 NOTE: this was backported to 0.8
348 2012-02-20 - e9cda85 - lavc 54.2.0
349 Add duration field to AVCodecParserContext
351 2012-02-20 - 0b42a93 - lavu 51.23.1 - mathematics.h
352 Add av_rescale_q_rnd()
354 2012-02-08 - 38d5533 - lavu 51.22.1 - pixdesc.h
355 Add PIX_FMT_PSEUDOPAL flag.
357 2012-02-08 - 52f82a1 - lavc 54.01.0
358 Add avcodec_encode_video2() and deprecate avcodec_encode_video().
360 2012-02-01 - 316fc74 - lavc 54.01.0
361 Add av_fast_padded_malloc() as alternative for av_realloc() when aligned
362 memory is required. The buffer will always have FF_INPUT_BUFFER_PADDING_SIZE
363 zero-padded bytes at the end.
365 2012-01-31 - dd6d3b0 - lavf 54.01.0
366 Add avformat_get_riff_video_tags() and avformat_get_riff_audio_tags().
367 NOTE: this was backported to 0.8
369 2012-01-31 - af08d9a - lavc 54.01.0
370 Add avcodec_is_open() function.
371 NOTE: this was backported to 0.8
373 2012-01-30 - 8b93312 - lavu 51.22.0 - intfloat.h
374 Add a new installed header libavutil/intfloat.h with int/float punning
376 NOTE: this was backported to 0.8
378 2012-01-25 - lavf 53.22.0
379 f1caf01 Allow doing av_write_frame(ctx, NULL) for flushing possible
380 buffered data within a muxer. Added AVFMT_ALLOW_FLUSH for
381 muxers supporting it (av_write_frame makes sure it is called
382 only for muxers with this flag).
384 2012-01-15 - lavc 53.34.0
385 New audio encoding API:
386 b2c75b6 Add CODEC_CAP_VARIABLE_FRAME_SIZE capability for use by audio
388 5ee5fa0 Add avcodec_fill_audio_frame() as a convenience function.
389 b2c75b6 Add avcodec_encode_audio2() and deprecate avcodec_encode_audio().
390 Add AVCodec.encode2().
392 2012-01-12 - 3167dc9 - lavfi 2.15.0
393 Add a new installed header -- libavfilter/version.h -- with version macros.
395 2011-12-08 - a502939 - lavfi 2.52.0
396 Add av_buffersink_poll_frame() to buffersink.h.
398 2011-12-08 - 26c6fec - lavu 51.31.0
399 Add av_log_format_line.
401 2011-12-03 - 976b095 - lavu 51.30.0
404 2011-11-24 - 573ffbb - lavu 51.28.1
405 Add av_get_alt_sample_fmt() to samplefmt.h.
407 2011-11-03 - 96949da - lavu 51.23.0
408 Add av_strcasecmp() and av_strncasecmp() to avstring.h.
410 2011-10-20 - b35e9e1 - lavu 51.22.0
411 Add av_strtok() to avstring.h.
413 2011-01-03 - b73ec05 - lavu 51.21.0
416 2011-12-18 - 8400b12 - lavc 53.28.1
417 Deprecate AVFrame.age. The field is unused.
419 2011-12-12 - 5266045 - lavf 53.17.0
420 Add avformat_close_input().
421 Deprecate av_close_input_file() and av_close_input_stream().
423 2011-12-02 - 0eea212 - lavc 53.25.0
424 Add nb_samples and extended_data fields to AVFrame.
425 Deprecate AVCODEC_MAX_AUDIO_FRAME_SIZE.
426 Deprecate avcodec_decode_audio3() in favor of avcodec_decode_audio4().
427 avcodec_decode_audio4() writes output samples to an AVFrame, which allows
428 audio decoders to use get_buffer().
430 2011-12-04 - 560f773 - lavc 53.24.0
431 Change AVFrame.data[4]/base[4]/linesize[4]/error[4] to [8] at next major bump.
432 Change AVPicture.data[4]/linesize[4] to [8] at next major bump.
433 Change AVCodecContext.error[4] to [8] at next major bump.
434 Add AV_NUM_DATA_POINTERS to simplify the bump transition.
436 2011-11-23 - bbb46f3 - lavu 51.18.0
437 Add av_samples_get_buffer_size(), av_samples_fill_arrays(), and
438 av_samples_alloc(), to samplefmt.h.
440 2011-11-23 - 8889cc4 - lavu 51.17.0
441 Add planar sample formats and av_sample_fmt_is_planar() to samplefmt.h.
443 2011-11-19 - f3a29b7 - lavc 53.21.0
444 Move some AVCodecContext fields to a new private struct, AVCodecInternal,
445 which is accessed from a new field, AVCodecContext.internal.
447 AVCodecContext.internal_buffer --> AVCodecInternal.buffer
448 AVCodecContext.internal_buffer_count --> AVCodecInternal.buffer_count
449 AVCodecContext.is_copy --> AVCodecInternal.is_copy
451 2011-11-16 - 6270671 - lavu 51.16.0
454 2011-11-13 - lavf 53.15.0
455 New interrupt callback API, allowing per-AVFormatContext/AVIOContext
457 6aa0b98 Add AVIOInterruptCB struct and the interrupt_callback field to
459 1dee0ac Add avio_open2() with additional parameters. Those are
460 an interrupt callback and an options AVDictionary.
461 This will allow passing AVOptions to protocols after lavf
464 2011-11-06 - ba04ecf - lavu 51.14.0
465 Add av_strcasecmp() and av_strncasecmp() to avstring.h.
467 2011-11-06 - 07b172f - lavu 51.13.0
468 Add av_toupper()/av_tolower()
470 2011-11-05 - b6d08f4 - lavf 53.13.0
471 Add avformat_network_init()/avformat_network_deinit()
473 2011-10-27 - 512557b - lavc 53.15.0
474 Remove avcodec_parse_frame.
475 Deprecate AVCodecContext.parse_only and CODEC_CAP_PARSE_ONLY.
477 2011-10-19 - 569129a - lavf 53.10.0
478 Add avformat_new_stream(). Deprecate av_new_stream().
480 2011-10-13 - b631fba - lavf 53.9.0
481 Add AVFMT_NO_BYTE_SEEK AVInputFormat flag.
483 2011-10-12 - lavu 51.12.0
484 AVOptions API rewrite.
486 - 145f741 FF_OPT_TYPE* renamed to AV_OPT_TYPE_*
487 - new setting/getting functions with slightly different semantics:
488 dac66da av_set_string3 -> av_opt_set
489 av_set_double -> av_opt_set_double
490 av_set_q -> av_opt_set_q
491 av_set_int -> av_opt_set_int
493 41d9d51 av_get_string -> av_opt_get
494 av_get_double -> av_opt_get_double
495 av_get_q -> av_opt_get_q
496 av_get_int -> av_opt_get_int
498 - 8c5dcaa trivial rename av_next_option -> av_opt_next
499 - 641c7af new functions - av_opt_child_next, av_opt_child_class_next
502 2011-09-22 - a70e787 - lavu 51.17.0
505 2011-09-18 - 645cebb - lavc 53.16.0
508 2011-09-16 - ea8de10 - lavfi 2.42.0
509 Add avfilter_all_channel_layouts.
511 2011-09-16 - 9899037 - lavfi 2.41.0
512 Rename avfilter_all_* function names to avfilter_make_all_*.
514 In particular, apply the renames:
515 avfilter_all_formats -> avfilter_make_all_formats
516 avfilter_all_channel_layouts -> avfilter_make_all_channel_layouts
517 avfilter_all_packing_formats -> avfilter_make_all_packing_formats
519 2011-09-12 - 4381bdd - lavfi 2.40.0
520 Change AVFilterBufferRefAudioProps.sample_rate type from uint32_t to int.
522 2011-09-12 - 2c03174 - lavfi 2.40.0
523 Simplify signature for avfilter_get_audio_buffer(), make it
524 consistent with avfilter_get_video_buffer().
526 2011-09-06 - 4f7dfe1 - lavfi 2.39.0
527 Rename libavfilter/vsink_buffer.h to libavfilter/buffersink.h.
529 2011-09-06 - c4415f6 - lavfi 2.38.0
530 Unify video and audio sink API.
532 In particular, add av_buffersink_get_buffer_ref(), deprecate
533 av_vsink_buffer_get_video_buffer_ref() and change the value for the
534 opaque field passed to the abuffersink init function.
536 2011-09-04 - 61e2e29 - lavu 51.16.0
539 2011-08-22 - dacd827 - lavf 53.10.0
540 Add av_find_program_from_stream().
542 2011-08-20 - 69e2c1a - lavu 51.13.0
543 Add av_get_media_type_string().
545 2011-09-03 - fb4ca26 - lavc 53.13.0
548 Add {avcodec,avformat,sws}_get_class().
550 2011-08-03 - c11fb82 - lavu 51.15.0
551 Add AV_OPT_SEARCH_FAKE_OBJ flag for av_opt_find() function.
553 2011-08-14 - 323b930 - lavu 51.12.0
554 Add av_fifo_peek2(), deprecate av_fifo_peek().
556 2011-08-26 - lavu 51.9.0
557 - add41de..abc78a5 Do not include intfloat_readwrite.h,
558 mathematics.h, rational.h, pixfmt.h, or log.h from avutil.h.
560 2011-08-16 - 48f9e45 - lavf 53.8.0
561 Add avformat_query_codec().
563 2011-08-16 - bca06e7 - lavc 53.11.0
564 Add avcodec_get_type().
566 2011-08-06 - 2f63440 - lavf 53.7.0
567 Add error_recognition to AVFormatContext.
569 2011-08-02 - 9d39cbf - lavc 53.9.1
570 Add AV_PKT_FLAG_CORRUPT AVPacket flag.
572 2011-07-16 - b57df29 - lavfi 2.27.0
573 Add audio packing negotiation fields and helper functions.
575 In particular, add AVFilterPacking enum, planar, in_packings and
576 out_packings fields to AVFilterLink, and the functions:
577 avfilter_set_common_packing_formats()
578 avfilter_all_packing_formats()
580 2011-07-10 - a67c061 - lavf 53.6.0
581 Add avformat_find_stream_info(), deprecate av_find_stream_info().
582 NOTE: this was backported to 0.7
584 2011-07-10 - 0b950fe - lavc 53.8.0
585 Add avcodec_open2(), deprecate avcodec_open().
586 NOTE: this was backported to 0.7
588 Add avcodec_alloc_context3. Deprecate avcodec_alloc_context() and
589 avcodec_alloc_context2().
591 2011-07-01 - b442ca6 - lavf 53.5.0 - avformat.h
592 Add function av_get_output_timestamp().
594 2011-06-28 - 5129336 - lavu 51.11.0 - avutil.h
595 Define the AV_PICTURE_TYPE_NONE value in AVPictureType enum.
597 2011-06-19 - fd2c0a5 - lavfi 2.23.0 - avfilter.h
598 Add layout negotiation fields and helper functions.
600 In particular, add in_chlayouts and out_chlayouts to AVFilterLink,
602 avfilter_set_common_sample_formats()
603 avfilter_set_common_channel_layouts()
604 avfilter_all_channel_layouts()
606 2011-06-19 - 527ca39 - lavfi 2.22.0 - AVFilterFormats
607 Change type of AVFilterFormats.formats from int * to int64_t *,
608 and update formats handling API accordingly.
610 avfilter_make_format_list() still takes a int32_t array and converts
611 it to int64_t. A new function, avfilter_make_format64_list(), that
612 takes int64_t arrays has been added.
614 2011-06-19 - 44f669e - lavfi 2.21.0 - vsink_buffer.h
615 Add video sink buffer and vsink_buffer.h public header.
617 2011-06-12 - 9fdf772 - lavfi 2.18.0 - avcodec.h
618 Add avfilter_get_video_buffer_ref_from_frame() function in
619 libavfilter/avcodec.h.
621 2011-06-12 - c535494 - lavfi 2.17.0 - avfiltergraph.h
622 Add avfilter_inout_alloc() and avfilter_inout_free() functions.
624 2011-06-12 - 6119b23 - lavfi 2.16.0 - avfilter_graph_parse()
625 Change avfilter_graph_parse() signature.
627 2011-06-23 - 67e9ae1 - lavu 51.8.0 - attributes.h
628 Add av_printf_format().
630 2011-06-16 - 05e84c9, 25de595 - lavf 53.2.0 - avformat.h
631 Add avformat_open_input and avformat_write_header().
632 Deprecate av_open_input_stream, av_open_input_file,
633 AVFormatParameters and av_write_header.
635 2011-06-16 - 7e83e1c, dc59ec5 - lavu 51.7.0 - opt.h
636 Add av_opt_set_dict() and av_opt_find().
637 Deprecate av_find_opt().
638 Add AV_DICT_APPEND flag.
640 2011-06-10 - cb7c11c - lavu 51.6.0 - opt.h
641 Add av_opt_flag_is_set().
643 2011-06-10 - c381960 - lavfi 2.15.0 - avfilter_get_audio_buffer_ref_from_arrays
644 Add avfilter_get_audio_buffer_ref_from_arrays() to avfilter.h.
646 2011-06-09 - d9f80ea - lavu 51.8.0 - AVMetadata
647 Move AVMetadata from lavf to lavu and rename it to
648 AVDictionary -- new installed header dict.h.
649 All av_metadata_* functions renamed to av_dict_*.
651 2011-06-07 - a6703fa - lavu 51.8.0 - av_get_bytes_per_sample()
652 Add av_get_bytes_per_sample() in libavutil/samplefmt.h.
653 Deprecate av_get_bits_per_sample_fmt().
655 2011-06-05 - b39b062 - lavu 51.8.0 - opt.h
656 Add av_opt_free convenience function.
658 2011-06-06 - 95a0242 - lavfi 2.14.0 - AVFilterBufferRefAudioProps
659 Remove AVFilterBufferRefAudioProps.size, and use nb_samples in
660 avfilter_get_audio_buffer() and avfilter_default_get_audio_buffer() in
663 2011-06-06 - 0bc2cca - lavu 51.6.0 - av_samples_alloc()
664 Switch nb_channels and nb_samples parameters order in
667 2011-06-06 - e1c7414 - lavu 51.5.0 - av_samples_*
668 Change the data layout created by av_samples_fill_arrays() and
671 2011-06-06 - 27bcf55 - lavfi 2.13.0 - vsrc_buffer.h
672 Make av_vsrc_buffer_add_video_buffer_ref() accepts an additional
673 flags parameter in input.
675 2011-06-03 - e977ca2 - lavfi 2.12.0 - avfilter_link_free()
676 Add avfilter_link_free() function.
678 2011-06-02 - 5ad38d9 - lavu 51.4.0 - av_force_cpu_flags()
679 Add av_cpu_flags() in libavutil/cpu.h.
681 2011-05-28 - e71f260 - lavu 51.3.0 - pixdesc.h
682 Add av_get_pix_fmt_name() in libavutil/pixdesc.h, and deprecate
683 avcodec_get_pix_fmt_name() in libavcodec/avcodec.h in its favor.
685 2011-05-25 - 30315a8 - lavf 53.3.0 - avformat.h
686 Add fps_probe_size to AVFormatContext.
688 2011-05-22 - 5ecdfd0 - lavf 53.2.0 - avformat.h
689 Introduce avformat_alloc_output_context2() and deprecate
690 avformat_alloc_output_context().
692 2011-05-22 - 83db719 - lavfi 2.10.0 - vsrc_buffer.h
693 Make libavfilter/vsrc_buffer.h public.
695 2011-05-19 - c000a9f - lavfi 2.8.0 - avcodec.h
696 Add av_vsrc_buffer_add_frame() to libavfilter/avcodec.h.
698 2011-05-14 - 9fdf772 - lavfi 2.6.0 - avcodec.h
699 Add avfilter_get_video_buffer_ref_from_frame() to libavfilter/avcodec.h.
701 2011-05-18 - 64150ff - lavc 53.7.0 - AVCodecContext.request_sample_fmt
702 Add request_sample_fmt field to AVCodecContext.
704 2011-05-10 - 188dea1 - lavc 53.6.0 - avcodec.h
705 Deprecate AVLPCType and the following fields in
706 AVCodecContext: lpc_coeff_precision, prediction_order_method,
707 min_partition_order, max_partition_order, lpc_type, lpc_passes.
708 Corresponding FLAC encoder options should be used instead.
710 2011-05-07 - 9fdf772 - lavfi 2.5.0 - avcodec.h
711 Add libavfilter/avcodec.h header and avfilter_copy_frame_props()
714 2011-05-07 - 18ded93 - lavc 53.5.0 - AVFrame
715 Add format field to AVFrame.
717 2011-05-07 - 22333a6 - lavc 53.4.0 - AVFrame
718 Add width and height fields to AVFrame.
720 2011-05-01 - 35fe66a - lavfi 2.4.0 - avfilter.h
721 Rename AVFilterBufferRefVideoProps.pixel_aspect to
724 2011-05-01 - 77e9dee - lavc 53.3.0 - AVFrame
725 Add a sample_aspect_ratio field to AVFrame.
727 2011-05-01 - 1ba5727 - lavc 53.2.0 - AVFrame
728 Add a pkt_pos field to AVFrame.
730 2011-04-29 - 35ceaa7 - lavu 51.2.0 - mem.h
731 Add av_dynarray_add function for adding
732 an element to a dynamic array.
734 2011-04-26 - bebe72f - lavu 51.1.0 - avutil.h
735 Add AVPictureType enum and av_get_picture_type_char(), deprecate
736 FF_*_TYPE defines and av_get_pict_type_char() defined in
737 libavcodec/avcodec.h.
739 2011-04-26 - 10d3940 - lavfi 2.3.0 - avfilter.h
740 Add pict_type and key_frame fields to AVFilterBufferRefVideo.
742 2011-04-26 - 7a11c82 - lavfi 2.2.0 - vsrc_buffer
743 Add sample_aspect_ratio fields to vsrc_buffer arguments
745 2011-04-21 - 94f7451 - lavc 53.1.0 - avcodec.h
746 Add CODEC_CAP_SLICE_THREADS for codecs supporting sliced threading.
748 2011-04-15 - lavc 52.120.0 - avcodec.h
749 AVPacket structure got additional members for passing side information:
750 4de339e introduce side information for AVPacket
751 2d8591c make containers pass palette change in AVPacket
753 2011-04-12 - lavf 52.107.0 - avio.h
754 Avio cleanup, part II - deprecate the entire URLContext API:
755 175389c add avio_check as a replacement for url_exist
756 ff1ec0c add avio_pause and avio_seek_time as replacements
757 for _av_url_read_fseek/fpause
758 cdc6a87 deprecate av_protocol_next(), avio_enum_protocols
759 should be used instead.
760 80c6e23 rename url_set_interrupt_cb->avio_set_interrupt_cb.
761 f87b1b3 rename open flags: URL_* -> AVIO_*
762 f8270bb add avio_enum_protocols.
763 5593f03 deprecate URLProtocol.
764 c486dad deprecate URLContext.
765 026e175 deprecate the typedef for URLInterruptCB
766 8e76a19 deprecate av_register_protocol2.
767 b840484 deprecate URL_PROTOCOL_FLAG_NESTED_SCHEME
768 1305d93 deprecate av_url_read_seek
769 fa104e1 deprecate av_url_read_pause
770 727c7aa deprecate url_get_filename().
771 5958df3 deprecate url_max_packet_size().
772 1869ea0 deprecate url_get_file_handle().
773 32a97d4 deprecate url_filesize().
774 e52a914 deprecate url_close().
775 58a48c6 deprecate url_seek().
776 925e908 deprecate url_write().
777 dce3756 deprecate url_read_complete().
778 bc371ac deprecate url_read().
779 0589da0 deprecate url_open().
780 62eaaea deprecate url_connect.
781 5652bb9 deprecate url_alloc.
782 333e894 deprecate url_open_protocol
783 e230705 deprecate url_poll and URLPollEntry
785 2011-04-08 - lavf 52.106.0 - avformat.h
786 Minor avformat.h cleanup:
787 a9bf9d8 deprecate av_guess_image2_codec
788 c3675df rename avf_sdp_create->av_sdp_create
790 2011-04-03 - lavf 52.105.0 - avio.h
791 Large-scale renaming/deprecating of AVIOContext-related functions:
792 724f6a0 deprecate url_fdopen
793 403ee83 deprecate url_open_dyn_packet_buf
794 6dc7d80 rename url_close_dyn_buf -> avio_close_dyn_buf
795 b92c545 rename url_open_dyn_buf -> avio_open_dyn_buf
796 8978fed introduce an AVIOContext.seekable field as a replacement for
797 AVIOContext.is_streamed and url_is_streamed()
798 b64030f deprecate get_checksum()
799 4c4427a deprecate init_checksum()
800 4ec153b deprecate udp_set_remote_url/get_local_port
801 933e90a deprecate av_url_read_fseek/fpause
802 8d9769a deprecate url_fileno
803 b7f2fdd rename put_flush_packet -> avio_flush
804 35f1023 deprecate url_close_buf
805 83fddae deprecate url_open_buf
806 d9d86e0 rename url_fprintf -> avio_printf
807 59f65d9 deprecate url_setbufsize
808 3e68b3b deprecate url_ferror
809 e8bb2e2 deprecate url_fget_max_packet_size
810 76aa876 rename url_fsize -> avio_size
811 e519753 deprecate url_fgetc
812 655e45e deprecate url_fgets
813 a2704c9 rename url_ftell -> avio_tell
814 e16ead0 deprecate get_strz() in favor of avio_get_str
815 0300db8,2af07d3 rename url_fskip -> avio_skip
816 6b4aa5d rename url_fseek -> avio_seek
817 61840b4 deprecate put_tag
818 22a3212 rename url_fopen/fclose -> avio_open/close.
819 0ac8e2b deprecate put_nbyte
820 77eb550 rename put_byte -> avio_w8
821 put_[b/l]e<type> -> avio_w[b/l]<type>
822 put_buffer -> avio_write
823 b7effd4 rename get_byte -> avio_r8,
824 get_[b/l]e<type> -> avio_r[b/l]<type>
825 get_buffer -> avio_read
826 b3db9ce deprecate get_partial_buffer
827 8d9ac96 rename av_alloc_put_byte -> avio_alloc_context
829 2011-03-25 - 34b47d7 - lavc 52.115.0 - AVCodecContext.audio_service_type
830 Add audio_service_type field to AVCodecContext.
832 2011-03-17 - e309fdc - lavu 50.40.0 - pixfmt.h
833 Add PIX_FMT_BGR48LE and PIX_FMT_BGR48BE pixel formats
835 2011-03-02 - 863c471 - lavf 52.103.0 - av_pkt_dump2, av_pkt_dump_log2
836 Add new functions av_pkt_dump2, av_pkt_dump_log2 that uses the
837 source stream timebase for outputting timestamps. Deprecate
838 av_pkt_dump and av_pkt_dump_log.
840 2011-02-20 - e731b8d - lavf 52.102.0 - avio.h
841 * e731b8d - rename init_put_byte() to ffio_init_context(), deprecating the
842 original, and move it to a private header so it is no longer
843 part of our public API. Instead, use av_alloc_put_byte().
844 * ae628ec - rename ByteIOContext to AVIOContext.
846 2011-02-16 - 09d171b - lavf 52.101.0 - avformat.h
847 lavu 52.39.0 - parseutils.h
848 * 610219a - Add av_ prefix to dump_format().
849 * f6c7375 - Replace parse_date() in lavf with av_parse_time() in lavu.
850 * ab0287f - Move find_info_tag from lavf to lavu and add av_prefix to it.
852 2011-02-15 - lavu 52.38.0 - merge libavcore
853 libavcore is merged back completely into libavutil
855 2011-02-10 - 55bad0c - lavc 52.113.0 - vbv_delay
856 Add vbv_delay field to AVCodecContext
858 2011-02-14 - 24a83bd - lavf 52.100.0 - AV_DISPOSITION_CLEAN_EFFECTS
859 Add AV_DISPOSITION_CLEAN_EFFECTS disposition flag.
861 2011-02-14 - 910b5b8 - lavfi 1.76.0 - AVFilterLink sample_aspect_ratio
862 Add sample_aspect_ratio field to AVFilterLink.
864 2011-02-10 - 12c14cd - lavf 52.99.0 - AVStream.disposition
865 Add AV_DISPOSITION_HEARING_IMPAIRED and AV_DISPOSITION_VISUAL_IMPAIRED.
867 2011-02-09 - 5592734 - lavc 52.112.0 - avcodec_thread_init()
868 Deprecate avcodec_thread_init()/avcodec_thread_free() use; instead
869 set thread_count before calling avcodec_open.
871 2011-02-09 - 778b08a - lavc 52.111.0 - threading API
872 Add CODEC_CAP_FRAME_THREADS with new restrictions on get_buffer()/
873 release_buffer()/draw_horiz_band() callbacks for appropriate codecs.
874 Add thread_type and active_thread_type fields to AVCodecContext.
876 2011-02-08 - 3940caa - lavf 52.98.0 - av_probe_input_buffer
877 Add av_probe_input_buffer() to avformat.h for probing format from a
880 2011-02-06 - fe174fc - lavf 52.97.0 - avio.h
881 Add flag for non-blocking protocols: URL_FLAG_NONBLOCK
883 2011-02-04 - f124b08 - lavf 52.96.0 - avformat_free_context()
884 Add avformat_free_context() in avformat.h.
886 2011-02-03 - f5b82f4 - lavc 52.109.0 - add CODEC_ID_PRORES
887 Add CODEC_ID_PRORES to avcodec.h.
889 2011-02-03 - fe9a3fb - lavc 52.109.0 - H.264 profile defines
890 Add defines for H.264 * Constrained Baseline and Intra profiles
892 2011-02-02 - lavf 52.95.0
893 * 50196a9 - add a new installed header version.h.
894 * 4efd5cf, dccbd97, 93b78d1 - add several variants of public
895 avio_{put,get}_str* functions. Deprecate corresponding semi-public
898 2011-02-02 - dfd2a00 - lavu 50.37.0 - log.h
901 2011-01-31 - 7b3ea55 - lavfi 1.76.0 - vsrc_buffer
902 Add sample_aspect_ratio fields to vsrc_buffer arguments
904 2011-01-31 - 910b5b8 - lavfi 1.75.0 - AVFilterLink sample_aspect_ratio
905 Add sample_aspect_ratio field to AVFilterLink.
907 2011-01-15 - a242ac3 - lavfi 1.74.0 - AVFilterBufferRefAudioProps
908 Rename AVFilterBufferRefAudioProps.samples_nb to nb_samples.
910 2011-01-14 - 7f88a5b - lavf 52.93.0 - av_metadata_copy()
911 Add av_metadata_copy() in avformat.h.
913 2011-01-07 - 81c623f - lavc 52.107.0 - deprecate reordered_opaque
914 Deprecate reordered_opaque in favor of pkt_pts/dts.
916 2011-01-07 - 1919fea - lavc 52.106.0 - pkt_dts
917 Add pkt_dts to AVFrame, this will in the future allow multithreading decoders
920 2011-01-07 - 393cbb9 - lavc 52.105.0 - pkt_pts
921 Add pkt_pts to AVFrame.
923 2011-01-07 - 060ec0a - lavc 52.104.0 - av_get_profile_name()
924 Add av_get_profile_name to libavcodec/avcodec.h.
926 2010-12-27 - 0ccabee - lavfi 1.71.0 - AV_PERM_NEG_LINESIZES
927 Add AV_PERM_NEG_LINESIZES in avfilter.h.
929 2010-12-27 - 9128ae0 - lavf 52.91.0 - av_find_best_stream()
930 Add av_find_best_stream to libavformat/avformat.h.
932 2010-12-27 - 107a7e3 - lavf 52.90.0
933 Add AVFMT_NOSTREAMS flag for formats with no streams,
934 like e.g. text metadata.
936 2010-12-22 - 0328b9e - lavu 50.36.0 - file.h
937 Add functions av_file_map() and av_file_unmap() in file.h.
939 2010-12-19 - 0bc55f5 - lavu 50.35.0 - error.h
940 Add "not found" error codes:
941 AVERROR_DEMUXER_NOT_FOUND
942 AVERROR_MUXER_NOT_FOUND
943 AVERROR_DECODER_NOT_FOUND
944 AVERROR_ENCODER_NOT_FOUND
945 AVERROR_PROTOCOL_NOT_FOUND
946 AVERROR_FILTER_NOT_FOUND
947 AVERROR_BSF_NOT_FOUND
948 AVERROR_STREAM_NOT_FOUND
950 2010-12-09 - c61cdd0 - lavcore 0.16.0 - avcore.h
951 Move AV_NOPTS_VALUE, AV_TIME_BASE, AV_TIME_BASE_Q symbols from
952 avcodec.h to avcore.h.
954 2010-12-04 - 16cfc96 - lavc 52.98.0 - CODEC_CAP_NEG_LINESIZES
955 Add CODEC_CAP_NEG_LINESIZES codec capability flag in avcodec.h.
957 2010-12-04 - bb4afa1 - lavu 50.34.0 - av_get_pix_fmt_string()
958 Deprecate avcodec_pix_fmt_string() in favor of
959 pixdesc.h/av_get_pix_fmt_string().
961 2010-12-04 - 4da12e3 - lavcore 0.15.0 - av_image_alloc()
962 Add av_image_alloc() to libavcore/imgutils.h.
964 2010-12-02 - 037be76 - lavfi 1.67.0 - avfilter_graph_create_filter()
965 Add function avfilter_graph_create_filter() in avfiltergraph.h.
967 2010-11-25 - 4723bc2 - lavfi 1.65.0 - avfilter_get_video_buffer_ref_from_arrays()
968 Add function avfilter_get_video_buffer_ref_from_arrays() in
971 2010-11-21 - 176a615 - lavcore 0.14.0 - audioconvert.h
972 Add a public audio channel API in audioconvert.h, and deprecate the
973 corresponding functions in libavcodec:
974 avcodec_get_channel_name()
975 avcodec_get_channel_layout()
976 avcodec_get_channel_layout_string()
977 avcodec_channel_layout_num_channels()
978 and the CH_* macros defined in libavcodec/avcodec.h.
980 2010-11-21 - 6bfc268 - lavf 52.85.0 - avformat.h
981 Add av_append_packet().
983 2010-11-21 - a08d918 - lavc 52.97.0 - avcodec.h
984 Add av_grow_packet().
986 2010-11-17 - 0985e1a - lavcore 0.13.0 - parseutils.h
987 Add av_parse_color() declared in libavcore/parseutils.h.
989 2010-11-13 - cb2c971 - lavc 52.95.0 - AVCodecContext
990 Add AVCodecContext.subtitle_header and AVCodecContext.subtitle_header_size
993 2010-11-13 - 5aaea02 - lavfi 1.62.0 - avfiltergraph.h
994 Make avfiltergraph.h public.
996 2010-11-13 - 4fcbb2a - lavfi 1.61.0 - avfiltergraph.h
997 Remove declarations from avfiltergraph.h for the functions:
998 avfilter_graph_check_validity()
999 avfilter_graph_config_links()
1000 avfilter_graph_config_formats()
1001 which are now internal.
1002 Use avfilter_graph_config() instead.
1004 2010-11-08 - d2af720 - lavu 50.33.0 - eval.h
1005 Deprecate functions:
1006 av_parse_and_eval_expr(),
1010 in favor of the functions:
1011 av_expr_parse_and_eval(),
1016 2010-11-08 - 24de0ed - lavfi 1.59.0 - avfilter_free()
1017 Rename avfilter_destroy() to avfilter_free().
1018 This change breaks libavfilter API/ABI.
1020 2010-11-07 - 1e80a0e - lavfi 1.58.0 - avfiltergraph.h
1021 Remove graphparser.h header, move AVFilterInOut and
1022 avfilter_graph_parse() declarations to libavfilter/avfiltergraph.h.
1024 2010-11-07 - 7313132 - lavfi 1.57.0 - AVFilterInOut
1025 Rename field AVFilterInOut.filter to AVFilterInOut.filter_ctx.
1026 This change breaks libavfilter API.
1028 2010-11-04 - 97dd1e4 - lavfi 1.56.0 - avfilter_graph_free()
1029 Rename avfilter_graph_destroy() to avfilter_graph_free().
1030 This change breaks libavfilter API/ABI.
1032 2010-11-04 - e15aeea - lavfi 1.55.0 - avfilter_graph_alloc()
1033 Add avfilter_graph_alloc() to libavfilter/avfiltergraph.h.
1035 2010-11-02 - 6f84cd1 - lavcore 0.12.0 - av_get_bits_per_sample_fmt()
1036 Add av_get_bits_per_sample_fmt() to libavcore/samplefmt.h and
1037 deprecate av_get_bits_per_sample_format().
1039 2010-11-02 - d63e456 - lavcore 0.11.0 - samplefmt.h
1040 Add sample format functions in libavcore/samplefmt.h:
1041 av_get_sample_fmt_name(),
1042 av_get_sample_fmt(),
1043 av_get_sample_fmt_string(),
1044 and deprecate the corresponding libavcodec/audioconvert.h functions:
1045 avcodec_get_sample_fmt_name(),
1046 avcodec_get_sample_fmt(),
1047 avcodec_sample_fmt_string().
1049 2010-11-02 - 262d1c5 - lavcore 0.10.0 - samplefmt.h
1050 Define enum AVSampleFormat in libavcore/samplefmt.h, deprecate enum
1053 2010-10-16 - 2a24df9 - lavfi 1.52.0 - avfilter_graph_config()
1054 Add the function avfilter_graph_config() in avfiltergraph.h.
1056 2010-10-15 - 03700d3 - lavf 52.83.0 - metadata API
1057 Change demuxers to export metadata in generic format and
1058 muxers to accept generic format. Deprecate the public
1061 2010-10-10 - 867ae7a - lavfi 1.49.0 - AVFilterLink.time_base
1062 Add time_base field to AVFilterLink.
1064 2010-09-27 - c85eef4 - lavu 50.31.0 - av_set_options_string()
1065 Move av_set_options_string() from libavfilter/parseutils.h to
1068 2010-09-27 - acc0490 - lavfi 1.47.0 - AVFilterLink
1069 Make the AVFilterLink fields srcpad and dstpad store the pointers to
1070 the source and destination pads, rather than their indexes.
1072 2010-09-27 - 372e288 - lavu 50.30.0 - av_get_token()
1073 Move av_get_token() from libavfilter/parseutils.h to
1074 libavutil/avstring.h.
1076 2010-09-26 - 635d4ae - lsws 0.12.0 - swscale.h
1077 Add the functions sws_alloc_context() and sws_init_context().
1079 2010-09-26 - 6ed0404 - lavu 50.29.0 - opt.h
1080 Move libavcodec/opt.h to libavutil/opt.h.
1082 2010-09-24 - 1c1c80f - lavu 50.28.0 - av_log_set_flags()
1083 Default of av_log() changed due to many problems to the old no repeat
1084 detection. Read the docs of AV_LOG_SKIP_REPEATED in log.h before
1085 enabling it for your app!.
1087 2010-09-24 - f66eb58 - lavc 52.90.0 - av_opt_show2()
1088 Deprecate av_opt_show() in favor or av_opt_show2().
1090 2010-09-14 - bc6f0af - lavu 50.27.0 - av_popcount()
1091 Add av_popcount() to libavutil/common.h.
1093 2010-09-08 - c6c98d0 - lavu 50.26.0 - av_get_cpu_flags()
1094 Add av_get_cpu_flags().
1096 2010-09-07 - 34017fd - lavcore 0.9.0 - av_image_copy()
1097 Add av_image_copy().
1099 2010-09-07 - 9686abb - lavcore 0.8.0 - av_image_copy_plane()
1100 Add av_image_copy_plane().
1102 2010-09-07 - 9b7269e - lavcore 0.7.0 - imgutils.h
1103 Adopt hierarchical scheme for the imgutils.h function names,
1104 deprecate the old names.
1106 2010-09-04 - 7160bb7 - lavu 50.25.0 - AV_CPU_FLAG_*
1107 Deprecate the FF_MM_* flags defined in libavcodec/avcodec.h in favor
1108 of the AV_CPU_FLAG_* flags defined in libavutil/cpu.h.
1110 2010-08-26 - 5da19b5 - lavc 52.87.0 - avcodec_get_channel_layout()
1111 Add avcodec_get_channel_layout() in audioconvert.h.
1113 2010-08-20 - e344336 - lavcore 0.6.0 - av_fill_image_max_pixsteps()
1114 Rename av_fill_image_max_pixstep() to av_fill_image_max_pixsteps().
1116 2010-08-18 - a6ddf8b - lavcore 0.5.0 - av_fill_image_max_pixstep()
1117 Add av_fill_image_max_pixstep() in imgutils.h.
1119 2010-08-17 - 4f2d2e4 - lavu 50.24.0 - AV_NE()
1120 Add the AV_NE macro.
1122 2010-08-17 - ad2c950 - lavfi 1.36.0 - audio framework
1123 Implement AVFilterBufferRefAudioProps struct for audio properties,
1124 get_audio_buffer(), filter_samples() functions and related changes.
1126 2010-08-12 - 81c1eca - lavcore 0.4.0 - av_get_image_linesize()
1127 Add av_get_image_linesize() in imgutils.h.
1129 2010-08-11 - c1db7bf - lavfi 1.34.0 - AVFilterBufferRef
1130 Resize data and linesize arrays in AVFilterBufferRef to 8.
1132 This change breaks libavfilter API/ABI.
1134 2010-08-11 - 9f08d80 - lavc 52.85.0 - av_picture_data_copy()
1135 Add av_picture_data_copy in avcodec.h.
1137 2010-08-11 - 84c0386 - lavfi 1.33.0 - avfilter_open()
1138 Change avfilter_open() signature:
1139 AVFilterContext *avfilter_open(AVFilter *filter, const char *inst_name) ->
1140 int avfilter_open(AVFilterContext **filter_ctx, AVFilter *filter, const char *inst_name);
1142 This change breaks libavfilter API/ABI.
1144 2010-08-11 - cc80caf - lavfi 1.32.0 - AVFilterBufferRef
1145 Add a type field to AVFilterBufferRef, and move video specific
1146 properties to AVFilterBufferRefVideoProps.
1148 This change breaks libavfilter API/ABI.
1150 2010-08-07 - 5d4890d - lavfi 1.31.0 - AVFilterLink
1151 Rename AVFilterLink fields:
1152 AVFilterLink.srcpic -> AVFilterLink.src_buf
1153 AVFilterLink.cur_pic -> AVFilterLink.cur_buf
1154 AVFilterLink.outpic -> AVFilterLink.out_buf
1156 2010-08-07 - 7fce481 - lavfi 1.30.0
1157 Rename functions and fields:
1158 avfilter_(un)ref_pic -> avfilter_(un)ref_buffer
1159 avfilter_copy_picref_props -> avfilter_copy_buffer_ref_props
1160 AVFilterBufferRef.pic -> AVFilterBufferRef.buffer
1162 2010-08-07 - ecc8dad - lavfi 1.29.0 - AVFilterBufferRef
1163 Rename AVFilterPicRef to AVFilterBufferRef.
1165 2010-08-07 - d54e094 - lavfi 1.28.0 - AVFilterBuffer
1166 Move format field from AVFilterBuffer to AVFilterPicRef.
1168 2010-08-06 - bf176f5 - lavcore 0.3.0 - av_check_image_size()
1169 Deprecate avcodec_check_dimensions() in favor of the function
1170 av_check_image_size() defined in libavcore/imgutils.h.
1172 2010-07-30 - 56b5e9d - lavfi 1.27.0 - AVFilterBuffer
1173 Increase size of the arrays AVFilterBuffer.data and
1174 AVFilterBuffer.linesize from 4 to 8.
1176 This change breaks libavfilter ABI.
1178 2010-07-29 - e7bd48a - lavcore 0.2.0 - imgutils.h
1179 Add functions av_fill_image_linesizes() and
1180 av_fill_image_pointers(), declared in libavcore/imgutils.h.
1182 2010-07-27 - 126b638 - lavcore 0.1.0 - parseutils.h
1183 Deprecate av_parse_video_frame_size() and av_parse_video_frame_rate()
1184 defined in libavcodec in favor of the newly added functions
1185 av_parse_video_size() and av_parse_video_rate() declared in
1186 libavcore/parseutils.h.
1188 2010-07-23 - 4485247 - lavu 50.23.0 - mathematics.h
1189 Add the M_PHI constant definition.
1191 2010-07-22 - bdab614 - lavfi 1.26.0 - media format generalization
1192 Add a type field to AVFilterLink.
1194 Change the field types:
1195 enum PixelFormat format -> int format in AVFilterBuffer
1196 enum PixelFormat *formats -> int *formats in AVFilterFormats
1197 enum PixelFormat *format -> int format in AVFilterLink
1199 Change the function signatures:
1200 AVFilterFormats *avfilter_make_format_list(const enum PixelFormat *pix_fmts); ->
1201 AVFilterFormats *avfilter_make_format_list(const int *fmts);
1203 int avfilter_add_colorspace(AVFilterFormats **avff, enum PixelFormat pix_fmt); ->
1204 int avfilter_add_format (AVFilterFormats **avff, int fmt);
1206 AVFilterFormats *avfilter_all_colorspaces(void); ->
1207 AVFilterFormats *avfilter_all_formats (enum AVMediaType type);
1209 This change breaks libavfilter API/ABI.
1211 2010-07-21 - aac6ca6 - lavcore 0.0.0
1214 2010-07-17 - b5c582f - lavfi 1.25.0 - AVFilterBuffer
1215 Remove w and h fields from AVFilterBuffer.
1217 2010-07-17 - f0d77b2 - lavfi 1.24.0 - AVFilterBuffer
1218 Rename AVFilterPic to AVFilterBuffer.
1220 2010-07-17 - 57fe80f - lavf 52.74.0 - url_fskip()
1221 Make url_fskip() return an int error code instead of void.
1223 2010-07-11 - 23940f1 - lavc 52.83.0
1224 Add AVCodecContext.lpc_type and AVCodecContext.lpc_passes fields.
1226 Deprecate AVCodecContext.use_lpc.
1228 2010-07-11 - e1d7c88 - lavc 52.82.0 - avsubtitle_free()
1229 Add a function for free the contents of a AVSubtitle generated by
1230 avcodec_decode_subtitle.
1232 2010-07-11 - b91d08f - lavu 50.22.0 - bswap.h and intreadwrite.h
1233 Make the bswap.h and intreadwrite.h API public.
1235 2010-07-08 - ce1cd1c - lavu 50.21.0 - pixdesc.h
1236 Rename read/write_line() to av_read/write_image_line().
1238 2010-07-07 - 4d508e4 - lavfi 1.21.0 - avfilter_copy_picref_props()
1239 Add avfilter_copy_picref_props().
1241 2010-07-03 - 2d525ef - lavc 52.79.0
1242 Add FF_COMPLIANCE_UNOFFICIAL and change all instances of
1243 FF_COMPLIANCE_INOFFICIAL to use FF_COMPLIANCE_UNOFFICIAL.
1245 2010-07-02 - 89eec74 - lavu 50.20.0 - lfg.h
1246 Export av_lfg_init(), av_lfg_get(), av_mlfg_get(), and av_bmg_get() through
1249 2010-06-28 - a52e2c3 - lavfi 1.20.1 - av_parse_color()
1250 Extend av_parse_color() syntax, make it accept an alpha value specifier and
1251 set the alpha value to 255 by default.
1253 2010-06-22 - 735cf6b - lavf 52.71.0 - URLProtocol.priv_data_size, priv_data_class
1254 Add priv_data_size and priv_data_class to URLProtocol.
1256 2010-06-22 - ffbb289 - lavf 52.70.0 - url_alloc(), url_connect()
1257 Add url_alloc() and url_connect().
1259 2010-06-22 - 9b07a2d - lavf 52.69.0 - av_register_protocol2()
1260 Add av_register_protocol2(), deprecating av_register_protocol().
1262 2010-06-09 - 65db058 - lavu 50.19.0 - av_compare_mod()
1263 Add av_compare_mod() to libavutil/mathematics.h.
1265 2010-06-05 - 0b99215 - lavu 50.18.0 - eval API
1266 Make the eval API public.
1268 2010-06-04 - 31878fc - lavu 50.17.0 - AV_BASE64_SIZE
1269 Add AV_BASE64_SIZE() macro.
1271 2010-06-02 - 7e566bb - lavc 52.73.0 - av_get_codec_tag_string()
1272 Add av_get_codec_tag_string().
1274 2010-06-01 - 2b99142 - lsws 0.11.0 - convertPalette API
1275 Add sws_convertPalette8ToPacked32() and sws_convertPalette8ToPacked24().
1277 2010-05-26 - 93ebfee - lavc 52.72.0 - CODEC_CAP_EXPERIMENTAL
1278 Add CODEC_CAP_EXPERIMENTAL flag.
1279 NOTE: this was backported to 0.6
1281 2010-05-23 - 9977863 - lavu 50.16.0 - av_get_random_seed()
1282 Add av_get_random_seed().
1284 2010-05-18 - 796ac23 - lavf 52.63.0 - AVFMT_FLAG_RTP_HINT
1285 Add AVFMT_FLAG_RTP_HINT as possible value for AVFormatContext.flags.
1286 NOTE: this was backported to 0.6
1288 2010-05-09 - b6bc205 - lavfi 1.20.0 - AVFilterPicRef
1289 Add interlaced and top_field_first fields to AVFilterPicRef.
1291 ------------------------------8<-------------------------------------
1292 0.6 branch was cut here
1293 ----------------------------->8--------------------------------------
1295 2010-05-01 - 8e2ee18 - lavf 52.62.0 - probe function
1296 Add av_probe_input_format2 to API, it allows ignoring probe
1297 results below given score and returns the actual probe score.
1299 2010-04-01 - 3dd6180 - lavf 52.61.0 - metadata API
1300 Add a flag for av_metadata_set2() to disable overwriting of
1303 2010-04-01 - 0fb49b5 - lavc 52.66.0
1304 Add avcodec_get_edge_width().
1306 2010-03-31 - d103218 - lavc 52.65.0
1307 Add avcodec_copy_context().
1309 2010-03-31 - 1a70d12 - lavf 52.60.0 - av_match_ext()
1310 Make av_match_ext() public.
1312 2010-03-31 - 1149150 - lavu 50.14.0 - AVMediaType
1313 Move AVMediaType enum from libavcodec to libavutil.
1315 2010-03-31 - 72415b2 - lavc 52.64.0 - AVMediaType
1316 Define AVMediaType enum, and use it instead of enum CodecType, which
1317 is deprecated and will be dropped at the next major bump.
1319 2010-03-25 - 8795823 - lavu 50.13.0 - av_strerror()
1320 Implement av_strerror().
1322 2010-03-23 - e1484eb - lavc 52.60.0 - av_dct_init()
1323 Support DCT-I and DST-I.
1325 2010-03-15 - b8819c8 - lavf 52.56.0 - AVFormatContext.start_time_realtime
1326 Add AVFormatContext.start_time_realtime field.
1328 2010-03-13 - 5bb5c1d - lavfi 1.18.0 - AVFilterPicRef.pos
1329 Add AVFilterPicRef.pos field.
1331 2010-03-13 - 60c144f - lavu 50.12.0 - error.h
1332 Move error code definitions from libavcodec/avcodec.h to
1333 the new public header libavutil/error.h.
1335 2010-03-07 - c709483 - lavc 52.56.0 - avfft.h
1336 Add public FFT interface.
1338 2010-03-06 - ac6ef86 - lavu 50.11.0 - av_stristr()
1341 2010-03-03 - 4b83fc0 - lavu 50.10.0 - av_tree_enumerate()
1342 Add av_tree_enumerate().
1344 2010-02-07 - b687c1a - lavu 50.9.0 - av_compare_ts()
1345 Add av_compare_ts().
1347 2010-02-05 - 3f3dc76 - lsws 0.10.0 - sws_getCoefficients()
1348 Add sws_getCoefficients().
1350 2010-02-01 - ca76a11 - lavf 52.50.0 - metadata API
1351 Add a list of generic tag names, change 'author' -> 'artist',
1354 2010-01-30 - 80a07f6 - lavu 50.8.0 - av_get_pix_fmt()
1355 Add av_get_pix_fmt().
1357 2010-01-21 - 01cc47d - lsws 0.9.0 - sws_scale()
1358 Change constness attributes of sws_scale() parameters.
1360 2010-01-10 - 3fb8e77 - lavfi 1.15.0 - avfilter_graph_config_links()
1361 Add a log_ctx parameter to avfilter_graph_config_links().
1363 2010-01-07 - 8e9767f - lsws 0.8.0 - sws_isSupported{In,Out}put()
1364 Add sws_isSupportedInput() and sws_isSupportedOutput() functions.
1366 2010-01-06 - c1d662f - lavfi 1.14.0 - avfilter_add_colorspace()
1367 Change the avfilter_add_colorspace() signature, make it accept an
1368 (AVFilterFormats **) rather than an (AVFilterFormats *) as before.
1370 2010-01-03 - 4fd1f18 - lavfi 1.13.0 - avfilter_add_colorspace()
1371 Add avfilter_add_colorspace().
1373 2010-01-02 - 8eb631f - lavf 52.46.0 - av_match_ext()
1374 Add av_match_ext(), it should be used in place of match_ext().
1376 2010-01-01 - a1f547b - lavf 52.45.0 - av_guess_format()
1377 Add av_guess_format(), it should be used in place of guess_format().
1379 2009-12-13 - a181981 - lavf 52.43.0 - metadata API
1380 Add av_metadata_set2(), AV_METADATA_DONT_STRDUP_KEY and
1381 AV_METADATA_DONT_STRDUP_VAL.
1383 2009-12-13 - 277c733 - lavu 50.7.0 - avstring.h API
1386 2009-12-13 - 02b398e - lavc 52.42.0 - AVStream
1389 2009-12-12 - 3ba69a1 - lavu 50.6.0 - av_bmg_next()
1390 Introduce the av_bmg_next() function.
1392 2009-12-05 - a13a543 - lavfi 1.12.0 - avfilter_draw_slice()
1393 Add a slice_dir parameter to avfilter_draw_slice().
1395 2009-11-26 - 4cc3f6a - lavfi 1.11.0 - AVFilter
1396 Remove the next field from AVFilter, this is not anymore required.
1398 2009-11-25 - 1433c4a - lavfi 1.10.0 - avfilter_next()
1399 Introduce the avfilter_next() function.
1401 2009-11-25 - 86a60fa - lavfi 1.9.0 - avfilter_register()
1402 Change the signature of avfilter_register() to make it return an
1403 int. This is required since now the registration operation may fail.
1405 2009-11-25 - 74a0059 - lavu 50.5.0 - pixdesc.h API
1406 Make the pixdesc.h API public.
1408 2009-10-27 - 243110f - lavfi 1.5.0 - AVFilter.next
1409 Add a next field to AVFilter, this is used for simplifying the
1410 registration and management of the registered filters.
1412 2009-10-23 - cccd292 - lavfi 1.4.1 - AVFilter.description
1413 Add a description field to AVFilter.
1415 2009-10-19 - 6b5dc05 - lavfi 1.3.0 - avfilter_make_format_list()
1416 Change the interface of avfilter_make_format_list() from
1417 avfilter_make_format_list(int n, ...) to
1418 avfilter_make_format_list(enum PixelFormat *pix_fmts).
1420 2009-10-18 - 0eb4ff9 - lavfi 1.0.0 - avfilter_get_video_buffer()
1421 Make avfilter_get_video_buffer() recursive and add the w and h
1424 2009-10-07 - 46c40e4 - lavfi 0.5.1 - AVFilterPic
1425 Add w and h fields to AVFilterPic.
1427 2009-06-22 - 92400be - lavf 52.34.1 - AVFormatContext.packet_size
1428 This is now an unsigned int instead of a signed int.
1430 2009-06-19 - a4276ba - lavc 52.32.0 - AVSubtitle.pts
1431 Add a pts field to AVSubtitle which gives the subtitle packet pts
1432 in AV_TIME_BASE. Some subtitle de-/encoders (e.g. XSUB) will
1433 not work right without this.
1435 2009-06-03 - 8f3f2e0 - lavc 52.30.2 - AV_PKT_FLAG_KEY
1436 PKT_FLAG_KEY has been deprecated and will be dropped at the next
1437 major version. Use AV_PKT_FLAG_KEY instead.
1439 2009-06-01 - f988ce6 - lavc 52.30.0 - av_lockmgr_register()
1440 av_lockmgr_register() can be used to register a callback function
1441 that lavc (and in the future, libraries that depend on lavc) can use
1442 to implement mutexes. The application should provide a callback function
1443 that implements the AV_LOCK_* operations described in avcodec.h.
1444 When the lock manager is registered, FFmpeg is guaranteed to behave
1445 correctly in a multi-threaded application.
1447 2009-04-30 - ce1d9c8 - lavc 52.28.0 - av_free_packet()
1448 av_free_packet() is no longer an inline function. It is now exported.
1450 2009-04-11 - 80d403f - lavc 52.25.0 - deprecate av_destruct_packet_nofree()
1451 Please use NULL instead. This has been supported since r16506
1452 (lavf > 52.23.1, lavc > 52.10.0).
1454 2009-04-07 - 7a00bba - lavc 52.23.0 - avcodec_decode_video/audio/subtitle
1455 The old decoding functions are deprecated, all new code should use the
1456 new functions avcodec_decode_video2(), avcodec_decode_audio3() and
1457 avcodec_decode_subtitle2(). These new functions take an AVPacket *pkt
1458 argument instead of a const uint8_t *buf / int buf_size pair.
1460 2009-04-03 - 7b09db3 - lavu 50.3.0 - av_fifo_space()
1461 Introduce the av_fifo_space() function.
1463 2009-04-02 - fabd246 - lavc 52.23.0 - AVPacket
1464 Move AVPacket declaration from libavformat/avformat.h to
1465 libavcodec/avcodec.h.
1467 2009-03-22 - 6e08ca9 - lavu 50.2.0 - RGB32 pixel formats
1468 Convert the pixel formats PIX_FMT_ARGB, PIX_FMT_RGBA, PIX_FMT_ABGR,
1469 PIX_FMT_BGRA, which were defined as macros, into enum PixelFormat values.
1470 Conversely PIX_FMT_RGB32, PIX_FMT_RGB32_1, PIX_FMT_BGR32 and
1471 PIX_FMT_BGR32_1 are now macros.
1472 avcodec_get_pix_fmt() now recognizes the "rgb32" and "bgr32" aliases.
1473 Re-sort the enum PixelFormat list accordingly.
1474 This change breaks API/ABI backward compatibility.
1476 2009-03-22 - f82674e - lavu 50.1.0 - PIX_FMT_RGB5X5 endian variants
1477 Add the enum PixelFormat values:
1478 PIX_FMT_RGB565BE, PIX_FMT_RGB565LE, PIX_FMT_RGB555BE, PIX_FMT_RGB555LE,
1479 PIX_FMT_BGR565BE, PIX_FMT_BGR565LE, PIX_FMT_BGR555BE, PIX_FMT_BGR555LE.
1481 2009-03-21 - ee6624e - lavu 50.0.0 - av_random*
1482 The Mersenne Twister PRNG implemented through the av_random* functions
1483 was removed. Use the lagged Fibonacci PRNG through the av_lfg* functions
1486 2009-03-08 - 41dd680 - lavu 50.0.0 - AVFifoBuffer
1487 av_fifo_init, av_fifo_read, av_fifo_write and av_fifo_realloc were dropped
1488 and replaced by av_fifo_alloc, av_fifo_generic_read, av_fifo_generic_write
1489 and av_fifo_realloc2.
1490 In addition, the order of the function arguments of av_fifo_generic_read
1491 was changed to match av_fifo_generic_write.
1492 The AVFifoBuffer/struct AVFifoBuffer may only be used in an opaque way by
1493 applications, they may not use sizeof() or directly access members.
1495 2009-03-01 - ec26457 - lavf 52.31.0 - Generic metadata API
1496 Introduce a new metadata API (see av_metadata_get() and friends).
1497 The old API is now deprecated and should not be used anymore. This especially
1498 includes the following structure fields:
1499 - AVFormatContext.title
1500 - AVFormatContext.author
1501 - AVFormatContext.copyright
1502 - AVFormatContext.comment
1503 - AVFormatContext.album
1504 - AVFormatContext.year
1505 - AVFormatContext.track
1506 - AVFormatContext.genre
1509 - AVProgram.provider_name