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