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