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