mem: introduce av_malloc_array and av_mallocz_array
[libav.git] / doc / APIchanges
CommitLineData
ab1adff7
DB
1Never assume the API of libav* to be stable unless at least 1 month has passed
2since the last major version increase.
3
06d19718 4The last version increases were:
c8af852b
JR
5libavcodec: 2012-01-27
6libavdevice: 2011-04-18
58b049f2 7libavfilter: 2012-06-22
c8af852b 8libavformat: 2012-01-27
f7ff0999 9libavresample: 2012-04-24
c8af852b
JR
10libswscale: 2011-06-20
11libavutil: 2011-04-18
06d19718
RD
12
13
14API changes, most recent first:
ab79ee12 15
f3e5e6f0
LB
162012-07-10 - xxxxxxx - lavu 51.37.0
17 Add av_malloc_array() and av_mallocz_array()
18
d3d3a32c
MR
192012-06-22 - xxxxxxx - lavu 51.34.0
20 Add av_usleep()
21
dc7e336c
MR
222012-06-20 - ae0a301 - lavu 51.33.0
23 Move av_gettime() to libavutil, add libavutil/time.h
24
3971be0e
JS
252012-xx-xx - xxxxxxx - lavr 0.0.3
26 Add a parameter to avresample_build_matrix() for Dolby/DPLII downmixing.
27
9baeff95
AK
282012-xx-xx - xxxxxxx - lavfi 2.23.0 - avfilter.h
29 Add AVFilterContext.nb_inputs/outputs. Deprecate
30 AVFilterContext.input/output_count.
31
84b9fbe0
AK
322012-xx-xx - xxxxxxx - lavfi 2.22.0 - avfilter.h
33 Add avfilter_pad_get_type() and avfilter_pad_get_name(). Those
34 should now be used instead of accessing AVFilterPad members
35 directly.
36
b0f0dfc4
AK
372012-xx-xx - xxxxxxx - lavu 51.32.0 - audioconvert.h
38 Add av_get_channel_layout_channel_index(), av_get_channel_name()
39 and av_channel_layout_extract_channel().
40
154486f9
SP
412012-05-25 - e0e0793 - lavu 51.31.0 - opt.h
42 Add av_opt_set_bin()
43
e9cef897
JZ
442012-05-xx - xxxxxxx - lavf 54.3.0
45 Add AVFMT_TS_NONSTRICT format flag to indicate that a muxer supports
46 non-increasing monotone timestamps.
47
d89eca50
AK
482012-05-15 - lavfi 2.17.0
49 Add support for audio filters
50 ac71230/a2cd9be - add video/audio buffer sink in a new installed
51 header buffersink.h
52 720c6b7 - add av_buffersrc_write_frame(), deprecate
53 av_vsrc_buffer_add_frame()
54 ab16504 - add avfilter_copy_buf_props()
55 9453c9e - add extended_data to AVFilterBuffer
56 1b8c927 - add avfilter_get_audio_buffer_ref_from_arrays()
57
582012-05-09 - lavu 51.30.0 - samplefmt.h
59 142e740 - add av_samples_copy()
60 6d7f617 - add av_samples_set_silence()
61
622012-05-09 - a5117a2 - lavc 54.13.1
a5117a24
AK
63 For audio formats with fixed frame size, the last frame
64 no longer needs to be padded with silence, libavcodec
65 will handle this internally (effectively all encoders
66 behave as if they had CODEC_CAP_SMALL_LAST_FRAME set).
67
d89eca50 682012-05-07 - 828bd08 - lavc 54.13.0 - avcodec.h
828bd088
AK
69 Add sample_rate and channel_layout fields to AVFrame.
70
d89eca50 712012-05-01 - 4010d72 - lavr 0.0.1
4010d724
JR
72 Change AV_MIX_COEFF_TYPE_Q6 to AV_MIX_COEFF_TYPE_Q8.
73
f7ff0999 742012-04-25 - 3527a73 - lavu 51.29.0 - cpu.h
3527a739
MR
75 Add av_parse_cpu_flags()
76
f7ff0999 772012-04-24 - c8af852 - lavr 0.0.0
c8af852b
JR
78 Add libavresample audio conversion library
79
f7ff0999 802012-04-20 - 0c0d1bc - lavu 51.28.0 - audio_fifo.h
0c0d1bce
JR
81 Add audio FIFO functions:
82 av_audio_fifo_free()
83 av_audio_fifo_alloc()
84 av_audio_fifo_realloc()
85 av_audio_fifo_write()
86 av_audio_fifo_read()
87 av_audio_fifo_drain()
88 av_audio_fifo_reset()
89 av_audio_fifo_size()
90 av_audio_fifo_space()
91
f7ff0999
JR
922012-04-14 - lavfi 2.16.0 - avfiltergraph.h
93 d7bcc71 Add avfilter_graph_parse2().
94 91d3cbe Add avfilter_inout_alloc() and avfilter_inout_free().
91d3cbe0 95
f7ff0999 962012-04-08 - 4d693b0 - lavu 51.27.0 - samplefmt.h
4d693b02
JR
97 Add av_get_packed_sample_fmt() and av_get_planar_sample_fmt()
98
f7ff0999 992012-04-05 - 5cc51a5 - lavu 51.26.0 - audioconvert.h
5cc51a58
JR
100 Add av_get_default_channel_layout()
101
5d20e7b7 1022012-03-06 - 4d851f8 - lavu 51.25.0 - cpu.h
4d851f8d
AK
103 Add av_set_cpu_flags_mask().
104
5d20e7b7
AK
1052012-03-05 - lavc 54.8.0
106 6699d07 Add av_get_exact_bits_per_sample()
107 9524cf7 Add av_get_audio_frame_duration()
9524cf79 108
5d20e7b7 1092012-03-04 - 44fe77b - lavc 54.7.0 - avcodec.h
44fe77b3
AK
110 Add av_codec_is_encoder/decoder().
111
5d20e7b7 1122012-03-01 - 442c132 - lavc 54.3.0 - avcodec.h
442c1320
MS
113 Add av_packet_shrink_side_data.
114
5d20e7b7 1152012-02-29 - dd2a4bc - lavf 54.2.0 - avformat.h
32253747
AK
116 Add AVStream.attached_pic and AV_DISPOSITION_ATTACHED_PIC,
117 used for dealing with attached pictures/cover art.
118
f5f5b154 1192012-02-25 - c9bca80 - lavu 51.24.0 - error.h
c9bca801 120 Add AVERROR_UNKNOWN
75bdd55e 121 NOTE: this was backported to 0.8
c9bca801 122
f5f5b154 1232012-02-20 - e9cda85 - lavc 54.2.0
e9cda853
JR
124 Add duration field to AVCodecParserContext
125
f5f5b154 1262012-02-20 - 0b42a93 - lavu 51.23.1 - mathematics.h
0b42a938
JR
127 Add av_rescale_q_rnd()
128
f5f5b154 1292012-02-08 - 38d5533 - lavu 51.22.1 - pixdesc.h
38d55332
AK
130 Add PIX_FMT_PSEUDOPAL flag.
131
f5f5b154 1322012-02-08 - 52f82a1 - lavc 54.01.0
52f82a11
AK
133 Add avcodec_encode_video2() and deprecate avcodec_encode_video().
134
fcc518a0 1352012-02-01 - 316fc74 - lavc 54.01.0
316fc744
JG
136 Add av_fast_padded_malloc() as alternative for av_realloc() when aligned
137 memory is required. The buffer will always have FF_INPUT_BUFFER_PADDING_SIZE
138 zero-padded bytes at the end.
139
fcc518a0 1402012-01-31 - dd6d3b0 - lavf 54.01.0
dd6d3b0e 141 Add avformat_get_riff_video_tags() and avformat_get_riff_audio_tags().
75bdd55e 142 NOTE: this was backported to 0.8
dd6d3b0e 143
fcc518a0 1442012-01-31 - af08d9a - lavc 54.01.0
af08d9ae 145 Add avcodec_is_open() function.
75bdd55e 146 NOTE: this was backported to 0.8
af08d9ae 147
fcc518a0 1482012-01-30 - 8b93312 - lavu 51.22.0 - intfloat.h
8b933129
PM
149 Add a new installed header libavutil/intfloat.h with int/float punning
150 functions.
75bdd55e 151 NOTE: this was backported to 0.8
8b933129 152
6cb28829
MS
1532012-01-25 - lavf 53.22.0
154 f1caf01 Allow doing av_write_frame(ctx, NULL) for flushing possible
155 buffered data within a muxer. Added AVFMT_ALLOW_FLUSH for
156 muxers supporting it (av_write_frame makes sure it is called
157 only for muxers with this flag).
158
75bdd55e
AK
159------------------------------8<-------------------------------------
160 0.8 branch was cut here
161----------------------------->8--------------------------------------
162
7512bb74 1632012-01-15 - lavc 53.34.0
a6ccae3f 164 New audio encoding API:
7512bb74 165 b2c75b6 Add CODEC_CAP_VARIABLE_FRAME_SIZE capability for use by audio
a6ccae3f 166 encoders.
7512bb74
AK
167 5ee5fa0 Add avcodec_fill_audio_frame() as a convenience function.
168 b2c75b6 Add avcodec_encode_audio2() and deprecate avcodec_encode_audio().
a6ccae3f
JR
169 Add AVCodec.encode2().
170
7512bb74 1712012-01-12 - 3167dc9 - lavfi 2.15.0
3167dc95
AK
172 Add a new installed header -- libavfilter/version.h -- with version macros.
173
c04a954d
JG
1742011-01-03 - b73ec05 - lavu 51.21.0
175 Add av_popcount64
176
06e8d38f
AK
1772011-12-25 - lavfi 2.14.0
178 e1d9dbf Add a new installed header - buffersrc.h
179 It contains a new function av_buffersrc_buffer() that allows passing
180 frames to the 'buffer' filter, but unlike av_vsrc_buffer_add_frame()
181 it allows for direct rendering.
182 1c9e340 Add avfilter_copy_frame_props() for copying properties from
183 AVFrame to AVFilterBufferRef.
184
1852011-12-25 - lavc 53.31.0
186 Add the following new fields to AVFrame:
187 b58dbb5 sample_aspect_ratio
188 3a2ddf7 width, height
189 8a4a5f6 format
190
2a216ca2 1912011-12-18 - 8400b12 - lavc 53.28.1
8400b126
MR
192 Deprecate AVFrame.age. The field is unused.
193
c04a954d
JG
1942011-12-12 - 5266045 - lavf 53.17.0
195 Add avformat_close_input().
52660454
AK
196 Deprecate av_close_input_file() and av_close_input_stream().
197
c04a954d 1982011-12-02 - 0eea212 - lavc 53.25.0
0eea2129
JR
199 Add nb_samples and extended_data fields to AVFrame.
200 Deprecate AVCODEC_MAX_AUDIO_FRAME_SIZE.
201 Deprecate avcodec_decode_audio3() in favor of avcodec_decode_audio4().
202 avcodec_decode_audio4() writes output samples to an AVFrame, which allows
203 audio decoders to use get_buffer().
204
c04a954d 2052011-12-04 - 560f773 - lavc 53.24.0
560f773c
JR
206 Change AVFrame.data[4]/base[4]/linesize[4]/error[4] to [8] at next major bump.
207 Change AVPicture.data[4]/linesize[4] to [8] at next major bump.
208 Change AVCodecContext.error[4] to [8] at next major bump.
209 Add AV_NUM_DATA_POINTERS to simplify the bump transition.
210
b94a3b28 2112011-11-23 - bbb46f3 - lavu 51.18.0
bbb46f3e
JR
212 Add av_samples_get_buffer_size(), av_samples_fill_arrays(), and
213 av_samples_alloc(), to samplefmt.h.
214
b94a3b28 2152011-11-23 - 8889cc4 - lavu 51.17.0
8889cc4f
JR
216 Add planar sample formats and av_sample_fmt_is_planar() to samplefmt.h.
217
b94a3b28 2182011-11-19 - f3a29b7 - lavc 53.21.0
f3a29b75
JR
219 Move some AVCodecContext fields to a new private struct, AVCodecInternal,
220 which is accessed from a new field, AVCodecContext.internal.
221 - fields moved:
222 AVCodecContext.internal_buffer --> AVCodecInternal.buffer
223 AVCodecContext.internal_buffer_count --> AVCodecInternal.buffer_count
224 AVCodecContext.is_copy --> AVCodecInternal.is_copy
225
b94a3b28
MR
2262011-11-16 - 6270671 - lavu 51.16.0
227 Add av_timegm()
228
f872e4d0
AK
2292011-11-13 - lavf 53.15.0
230 New interrupt callback API, allowing per-AVFormatContext/AVIOContext
231 interrupt callbacks.
232 6aa0b98 Add AVIOInterruptCB struct and the interrupt_callback field to
233 AVFormatContext.
234 1dee0ac Add avio_open2() with additional parameters. Those are
235 an interrupt callback and an options AVDictionary.
236 This will allow passing AVOptions to protocols after lavf
237 54.0.
238
eacec07e 2392011-11-06 - ba04ecf - lavu 51.14.0
ba04ecfd
RD
240 Add av_strcasecmp() and av_strncasecmp() to avstring.h.
241
eacec07e 2422011-11-06 - 07b172f - lavu 51.13.0
07b172fe
LB
243 Add av_toupper()/av_tolower()
244
eacec07e 2452011-11-05 - b6d08f4 - lavf 53.13.0
c9b309e8 246 Add avformat_network_init()/avformat_network_deinit()
b6d08f40 247
eacec07e 2482011-10-27 - 512557b - lavc 53.15.0
512557b2
JR
249 Remove avcodec_parse_frame.
250 Deprecate AVCodecContext.parse_only and CODEC_CAP_PARSE_ONLY.
251
eacec07e 2522011-10-19 - 569129a - lavf 53.10.0
569129a6
AK
253 Add avformat_new_stream(). Deprecate av_new_stream().
254
eacec07e 2552011-10-13 - b631fba - lavf 53.9.0
b631fba9
JR
256 Add AVFMT_NO_BYTE_SEEK AVInputFormat flag.
257
492bd1a2
AK
2582011-10-12 - lavu 51.12.0
259 AVOptions API rewrite.
260
261 - 145f741 FF_OPT_TYPE* renamed to AV_OPT_TYPE_*
262 - new setting/getting functions with slightly different semantics:
263 dac66da av_set_string3 -> av_opt_set
264 av_set_double -> av_opt_set_double
265 av_set_q -> av_opt_set_q
266 av_set_int -> av_opt_set_int
267
268 41d9d51 av_get_string -> av_opt_get
269 av_get_double -> av_opt_get_double
270 av_get_q -> av_opt_get_q
271 av_get_int -> av_opt_get_int
272
273 - 8c5dcaa trivial rename av_next_option -> av_opt_next
274 - 641c7af new functions - av_opt_child_next, av_opt_child_class_next
275 and av_opt_find2()
276
7f9b0ef9 2772011-09-03 - fb4ca26 - lavc 53.10.0
fb4ca26b
AK
278 lavf 53.6.0
279 lsws 2.1.0
280 Add {avcodec,avformat,sws}_get_class().
281
7f9b0ef9 2822011-09-03 - c11fb82 - lavu 51.10.0
c11fb828
AK
283 Add AV_OPT_SEARCH_FAKE_OBJ flag for av_opt_find() function.
284
96d8e18a
JN
2852011-08-26 - lavu 51.9.0
286 - f2011ed Add av_fifo_peek2(), deprecate av_fifo_peek().
287 - add41de..abc78a5 Do not include intfloat_readwrite.h,
288 mathematics.h, rational.h, pixfmt.h, or log.h from avutil.h.
f2011ed2 289
7f9b0ef9 2902011-08-16 - 48f9e45 - lavf 53.4.0
48f9e457
AK
291 Add avformat_query_codec().
292
7f9b0ef9 2932011-08-16 - bca06e7 - lavc 53.8.0
bca06e77
AK
294 Add avcodec_get_type().
295
e3a70c7c
DB
2962011-08-06 - 2f63440 - lavf 53.4.0
297 Add error_recognition to AVFormatContext.
298
5038f9b2
LB
2992011-08-02 - 9d39cbf - lavc 53.7.1
300 Add AV_PKT_FLAG_CORRUPT AVPacket flag.
301
6cb11979 3022011-07-10 - a67c061 - lavf 53.3.0
f2f523ff 303 Add avformat_find_stream_info(), deprecate av_find_stream_info().
9c47f2b2 304 NOTE: this was backported to 0.7
f2f523ff 305
6cb11979 3062011-07-10 - 0b950fe - lavc 53.6.0
f2f523ff 307 Add avcodec_open2(), deprecate avcodec_open().
9c47f2b2
AK
308 NOTE: this was backported to 0.7
309
44911f29
AK
310 Add avcodec_alloc_context3. Deprecate avcodec_alloc_context() and
311 avcodec_alloc_context2().
f2f523ff 312
6cb11979 3132011-06-23 - 67e9ae1 - lavu 51.8.0 - attributes.h
67e9ae14
MS
314 Add av_printf_format().
315
9c47f2b2
AK
316------------------------------8<-------------------------------------
317 0.7 branch was cut here
318----------------------------->8--------------------------------------
319
6cb11979 3202011-06-16 - 05e84c9, 25de595 - lavf 53.2.0 - avformat.h
7c44d716
AK
321 Add avformat_open_input and avformat_write_header().
322 Deprecate av_open_input_stream, av_open_input_file,
323 AVFormatParameters and av_write_header.
324
6cb11979 3252011-06-16 - 7e83e1c, dc59ec5 - lavu 51.7.0 - opt.h
7c44d716
AK
326 Add av_opt_set_dict() and av_opt_find().
327 Deprecate av_find_opt().
328 Add AV_DICT_APPEND flag.
329
6cb11979 3302011-06-10 - cb7c11c - lavu 51.6.0 - opt.h
cb7c11cc
MS
331 Add av_opt_flag_is_set().
332
6cb11979 3332011-06-08 - d9f80ea - lavu 51.5.0 - AVMetadata
d9f80ea2
AK
334 Move AVMetadata from lavf to lavu and rename it to
335 AVDictionary -- new installed header dict.h.
336 All av_metadata_* functions renamed to av_dict_*.
337
1397ac0a 3382011-06-07 - a6703fa - lavu 51.4.0 - av_get_bytes_per_sample()
a6703faa
SS
339 Add av_get_bytes_per_sample() in libavutil/samplefmt.h.
340 Deprecate av_get_bits_per_sample_fmt().
341
6cb11979 3422011-06-05 - b39b062 - lavu 51.3.0 - opt.h
b39b0623
AK
343 Add av_opt_free convenience function.
344
04de5bf5 3452011-05-28 - 0420bd7 - lavu 51.2.0 - pixdesc.h
8f653e28
SS
346 Add av_get_pix_fmt_name() in libavutil/pixdesc.h, and deprecate
347 avcodec_get_pix_fmt_name() in libavcodec/avcodec.h in its favor.
348
19a686b8 3492011-05-25 - 30315a8 - lavf 53.1.0 - avformat.h
30315a8d
AC
350 Add fps_probe_size to AVFormatContext.
351
41e21e4d 3522011-05-18 - 64150ff - lavc 53.4.0 - AVCodecContext.request_sample_fmt
00e5da89
JR
353 Add request_sample_fmt field to AVCodecContext.
354
36dc49b7 3552011-05-10 - 188dea1 - lavc 53.3.0 - avcodec.h
188dea1d
AK
356 Deprecate AVLPCType and the following fields in
357 AVCodecContext: lpc_coeff_precision, prediction_order_method,
358 min_partition_order, max_partition_order, lpc_type, lpc_passes.
359 Corresponding FLAC encoder options should be used instead.
360
36dc49b7 3612011-04-26 - bebe72f - lavu 51.1.0 - avutil.h
bebe72f4
SS
362 Add AVPictureType enum and av_get_picture_type_char(), deprecate
363 FF_*_TYPE defines and av_get_pict_type_char() defined in
364 libavcodec/avcodec.h.
365
36dc49b7 3662011-04-26 - 10d3940 - lavfi 2.3.0 - avfilter.h
10d39405
RPM
367 Add pict_type and key_frame fields to AVFilterBufferRefVideo.
368
36dc49b7 3692011-04-26 - 7a11c82 - lavfi 2.2.0 - vsrc_buffer
7a11c82f
MN
370 Add sample_aspect_ratio fields to vsrc_buffer arguments
371
b4a53314 3722011-04-21 - 94f7451 - lavc 53.1.0 - avcodec.h
94f7451a
RB
373 Add CODEC_CAP_SLICE_THREADS for codecs supporting sliced threading.
374
aad2f2f4
K
3752011-04-15 - lavc 52.120.0 - avcodec.h
376 AVPacket structure got additional members for passing side information:
377 4de339e introduce side information for AVPacket
378 2d8591c make containers pass palette change in AVPacket
379
86a89ae3
AK
3802011-04-12 - lavf 52.107.0 - avio.h
381 Avio cleanup, part II - deprecate the entire URLContext API:
382 175389c add avio_check as a replacement for url_exist
383 ff1ec0c add avio_pause and avio_seek_time as replacements
384 for _av_url_read_fseek/fpause
385 cdc6a87 deprecate av_protocol_next(), avio_enum_protocols
386 should be used instead.
387 80c6e23 rename url_set_interrupt_cb->avio_set_interrupt_cb.
388 f87b1b3 rename open flags: URL_* -> AVIO_*
389 f8270bb add avio_enum_protocols.
390 5593f03 deprecate URLProtocol.
391 c486dad deprecate URLContext.
392 026e175 deprecate the typedef for URLInterruptCB
393 8e76a19 deprecate av_register_protocol2.
394 b840484 deprecate URL_PROTOCOL_FLAG_NESTED_SCHEME
395 1305d93 deprecate av_url_read_seek
396 fa104e1 deprecate av_url_read_pause
397 727c7aa deprecate url_get_filename().
398 5958df3 deprecate url_max_packet_size().
399 1869ea0 deprecate url_get_file_handle().
400 32a97d4 deprecate url_filesize().
401 e52a914 deprecate url_close().
402 58a48c6 deprecate url_seek().
403 925e908 deprecate url_write().
404 dce3756 deprecate url_read_complete().
405 bc371ac deprecate url_read().
406 0589da0 deprecate url_open().
407 62eaaea deprecate url_connect.
408 5652bb9 deprecate url_alloc.
409 333e894 deprecate url_open_protocol
410 e230705 deprecate url_poll and URLPollEntry
411
73389754
PR
4122011-04-10 - lavu 50.40.0 - pixfmt.h
413 Add PIX_FMT_BGR48LE and PIX_FMT_BGR48BE pixel formats
414
0c68c804
AK
4152011-04-08 - lavf 52.106.0 - avformat.h
416 Minor avformat.h cleanup:
417 a9bf9d8 deprecate av_guess_image2_codec
418 c3675df rename avf_sdp_create->av_sdp_create
419
4dcde00c
AK
4202011-04-03 - lavf 52.105.0 - avio.h
421 Large-scale renaming/deprecating of AVIOContext-related functions:
422 724f6a0 deprecate url_fdopen
423 403ee83 deprecate url_open_dyn_packet_buf
424 6dc7d80 rename url_close_dyn_buf -> avio_close_dyn_buf
425 b92c545 rename url_open_dyn_buf -> avio_open_dyn_buf
426 8978fed introduce an AVIOContext.seekable field as a replacement for
427 AVIOContext.is_streamed and url_is_streamed()
428 b64030f deprecate get_checksum()
429 4c4427a deprecate init_checksum()
430 4ec153b deprecate udp_set_remote_url/get_local_port
431 933e90a deprecate av_url_read_fseek/fpause
432 8d9769a deprecate url_fileno
433 b7f2fdd rename put_flush_packet -> avio_flush
434 35f1023 deprecate url_close_buf
435 83fddae deprecate url_open_buf
436 d9d86e0 rename url_fprintf -> avio_printf
437 59f65d9 deprecate url_setbufsize
438 3e68b3b deprecate url_ferror
439 66e5b1d deprecate url_feof
440 e8bb2e2 deprecate url_fget_max_packet_size
441 76aa876 rename url_fsize -> avio_size
442 e519753 deprecate url_fgetc
443 655e45e deprecate url_fgets
444 a2704c9 rename url_ftell -> avio_tell
445 e16ead0 deprecate get_strz() in favor of avio_get_str
446 0300db8,2af07d3 rename url_fskip -> avio_skip
447 6b4aa5d rename url_fseek -> avio_seek
448 61840b4 deprecate put_tag
449 22a3212 rename url_fopen/fclose -> avio_open/close.
450 0ac8e2b deprecate put_nbyte
451 77eb550 rename put_byte -> avio_w8
452 put_[b/l]e<type> -> avio_w[b/l]<type>
453 put_buffer -> avio_write
454 b7effd4 rename get_byte -> avio_r8,
455 get_[b/l]e<type> -> avio_r[b/l]<type>
456 get_buffer -> avio_read
457 b3db9ce deprecate get_partial_buffer
458 8d9ac96 rename av_alloc_put_byte -> avio_alloc_context
459
0b18b49b
JR
4602011-03-25 - 34b47d7 - lavc 52.115.0 - AVCodecContext.audio_service_type
461 Add audio_service_type field to AVCodecContext.
462
dc6fdad5
MS
4632011-03-02 - 863c471 - lavf 52.103.0 - av_pkt_dump2, av_pkt_dump_log2
464 Add new functions av_pkt_dump2, av_pkt_dump_log2 that uses the
465 source stream timebase for outputting timestamps. Deprecate
466 av_pkt_dump and av_pkt_dump_log.
467
d2bbf82e
RB
4682011-02-20 - e731b8d - lavf 52.102.0 - avio.h
469 * e731b8d - rename init_put_byte() to ffio_init_context(), deprecating the
470 original, and move it to a private header so it is no longer
471 part of our public API. Instead, use av_alloc_put_byte().
472 * ae628ec - rename ByteIOContext to AVIOContext.
473
c3dbfa1a 4742011-02-16 - 09d171b - lavf 52.101.0 - avformat.h
09d171b9 475 lavu 52.39.0 - parseutils.h
c3dbfa1a
JG
476 * 610219a - Add av_ prefix to dump_format().
477 * f6c7375 - Replace parse_date() in lavf with av_parse_time() in lavu.
478 * ab0287f - Move find_info_tag from lavf to lavu and add av_prefix to it.
09d171b9 479
737eb597
RT
4802011-02-15 - lavu 52.38.0 - merge libavcore
481 libavcore is merged back completely into libavutil
482
8ed4cc65
MR
4832011-02-10 - 55bad0c - lavc 52.113.0 - vbv_delay
484 Add vbv_delay field to AVCodecContext
485
935ee1b9
MR
4862011-02-14 - 24a83bd - lavf 52.100.0 - AV_DISPOSITION_CLEAN_EFFECTS
487 Add AV_DISPOSITION_CLEAN_EFFECTS disposition flag.
488
08a459f0
MR
4892011-02-14 - 910b5b8 - lavfi 1.76.0 - AVFilterLink sample_aspect_ratio
490 Add sample_aspect_ratio field to AVFilterLink.
491
77c330a0
AH
4922011-02-10 - 12c14cd - lavf 52.99.0 - AVStream.disposition
493 Add AV_DISPOSITION_HEARING_IMPAIRED and AV_DISPOSITION_VISUAL_IMPAIRED.
494
f2146944 4952011-02-09 - 5592734 - lavc 52.112.0 - avcodec_thread_init()
c0b102ca
AS
496 Deprecate avcodec_thread_init()/avcodec_thread_free() use; instead
497 set thread_count before calling avcodec_open.
498
8e8cc52b 4992011-02-09 - 778b08a - lavc 52.111.0 - threading API
37b00b47
AS
500 Add CODEC_CAP_FRAME_THREADS with new restrictions on get_buffer()/
501 release_buffer()/draw_horiz_band() callbacks for appropriate codecs.
502 Add thread_type and active_thread_type fields to AVCodecContext.
503
c2bd7578 5042011-02-08 - 3940caa - lavf 52.98.0 - av_probe_input_buffer
3940caad
AH
505 Add av_probe_input_buffer() to avformat.h for probing format from a
506 ByteIOContext.
507
ae0f8a1a 5082011-02-06 - fe174fc - lavf 52.97.0 - avio.h
fe174fc8
NG
509 Add flag for non-blocking protocols: URL_FLAG_NONBLOCK
510
ff197489
MS
5112011-02-04 - f124b08 - lavf 52.96.0 - avformat_free_context()
512 Add avformat_free_context() in avformat.h.
513
75fd0668
TH
5142011-02-03 - f5b82f4 - lavc 52.109.0 - add CODEC_ID_PRORES
515 Add CODEC_ID_PRORES to avcodec.h.
516
7ab8758b
JG
5172011-02-03 - fe9a3fb - lavc 52.109.0 - H.264 profile defines
518 Add defines for H.264 * Constrained Baseline and Intra profiles
519
4868bebe
AK
5202011-02-02 - lavf 52.95.0
521 * 50196a9 - add a new installed header version.h.
522 * 4efd5cf, dccbd97, 93b78d1 - add several variants of public
523 avio_{put,get}_str* functions. Deprecate corresponding semi-public
524 {put,get}_str*.
525
5262011-02-02 - dfd2a00 - lavu 50.37.0 - log.h
527 Make av_dlog public.
528
343bfdd3 5292011-01-15 - a242ac3 - lavfi 1.74.0 - AVFilterBufferRefAudioProps
a242ac36
SS
530 Rename AVFilterBufferRefAudioProps.samples_nb to nb_samples.
531
343bfdd3 5322011-01-14 - 7f88a5b - lavf 52.93.0 - av_metadata_copy()
f93fe776
SS
533 Add av_metadata_copy() in avformat.h.
534
343bfdd3 5352011-01-07 - 81c623f - lavc 52.107.0 - deprecate reordered_opaque
81c623fa
MN
536 Deprecate reordered_opaque in favor of pkt_pts/dts.
537
343bfdd3 5382011-01-07 - 1919fea - lavc 52.106.0 - pkt_dts
1919feaf
MN
539 Add pkt_dts to AVFrame, this will in the future allow multithreading decoders
540 to not mess up dts.
541
343bfdd3 5422011-01-07 - 393cbb9 - lavc 52.105.0 - pkt_pts
393cbb96
MN
543 Add pkt_pts to AVFrame.
544
343bfdd3 5452011-01-07 - 060ec0a - lavc 52.104.0 - av_get_profile_name()
060ec0a8
AH
546 Add av_get_profile_name to libavcodec/avcodec.h.
547
343bfdd3 5482010-12-27 - 0ccabee - lavfi 1.71.0 - AV_PERM_NEG_LINESIZES
28e5d45c
SS
549 Add AV_PERM_NEG_LINESIZES in avfilter.h.
550
343bfdd3 5512010-12-27 - 9128ae0 - lavf 52.91.0 - av_find_best_stream()
9128ae08
NG
552 Add av_find_best_stream to libavformat/avformat.h.
553
343bfdd3 5542010-12-27 - 107a7e3 - lavf 52.90.0
107a7e3e
AK
555 Add AVFMT_NOSTREAMS flag for formats with no streams,
556 like e.g. text metadata.
557
343bfdd3 5582010-12-22 - 0328b9e - lavu 50.36.0 - file.h
0328b9ea
SS
559 Add functions av_file_map() and av_file_unmap() in file.h.
560
343bfdd3 5612010-12-19 - 0bc55f5 - lavu 50.35.0 - error.h
0bc55f5d
NG
562 Add "not found" error codes:
563 AVERROR_DEMUXER_NOT_FOUND
564 AVERROR_MUXER_NOT_FOUND
565 AVERROR_DECODER_NOT_FOUND
566 AVERROR_ENCODER_NOT_FOUND
567 AVERROR_PROTOCOL_NOT_FOUND
568 AVERROR_FILTER_NOT_FOUND
569 AVERROR_BSF_NOT_FOUND
570 AVERROR_STREAM_NOT_FOUND
571
343bfdd3 5722010-12-09 - c61cdd0 - lavcore 0.16.0 - avcore.h
c61cdd0a
SS
573 Move AV_NOPTS_VALUE, AV_TIME_BASE, AV_TIME_BASE_Q symbols from
574 avcodec.h to avcore.h.
575
343bfdd3 5762010-12-04 - 16cfc96 - lavc 52.98.0 - CODEC_CAP_NEG_LINESIZES
16cfc961
SS
577 Add CODEC_CAP_NEG_LINESIZES codec capability flag in avcodec.h.
578
343bfdd3 5792010-12-04 - bb4afa1 - lavu 50.34.0 - av_get_pix_fmt_string()
bb4afa13
SS
580 Deprecate avcodec_pix_fmt_string() in favor of
581 pixdesc.h/av_get_pix_fmt_string().
582
343bfdd3 5832010-12-04 - 4da12e3 - lavcore 0.15.0 - av_image_alloc()
4da12e3b
SS
584 Add av_image_alloc() to libavcore/imgutils.h.
585
343bfdd3 5862010-12-02 - 037be76 - lavfi 1.67.0 - avfilter_graph_create_filter()
037be76e
SS
587 Add function avfilter_graph_create_filter() in avfiltergraph.h.
588
343bfdd3 5892010-11-25 - 4723bc2 - lavfi 1.65.0 - avfilter_get_video_buffer_ref_from_arrays()
d38c340f
SS
590 Add function avfilter_get_video_buffer_ref_from_arrays() in
591 avfilter.h.
06d19718 592
343bfdd3 5932010-11-21 - 176a615 - lavcore 0.14.0 - audioconvert.h
176a6157
SS
594 Add a public audio channel API in audioconvert.h, and deprecate the
595 corresponding functions in libavcodec:
596 avcodec_get_channel_name()
597 avcodec_get_channel_layout()
598 avcodec_get_channel_layout_string()
599 avcodec_channel_layout_num_channels()
600 and the CH_* macros defined in libavcodec/avcodec.h.
601
343bfdd3 6022010-11-21 - 6bfc268 - lavf 52.85.0 - avformat.h
e58d0392
RD
603 Add av_append_packet().
604
343bfdd3 6052010-11-21 - a08d918 - lavc 52.97.0 - avcodec.h
e58d0392
RD
606 Add av_grow_packet().
607
343bfdd3 6082010-11-17 - 0985e1a - lavcore 0.13.0 - parseutils.h
0985e1a3
AJ
609 Add av_parse_color() declared in libavcore/parseutils.h.
610
343bfdd3 6112010-11-13 - cb2c971 - lavc 52.95.0 - AVCodecContext
c716f917
AJ
612 Add AVCodecContext.subtitle_header and AVCodecContext.subtitle_header_size
613 fields.
614
343bfdd3 6152010-11-13 - 5aaea02 - lavfi 1.62.0 - avfiltergraph.h
5aaea022
SS
616 Make avfiltergraph.h public.
617
343bfdd3 6182010-11-13 - 4fcbb2a - lavfi 1.61.0 - avfiltergraph.h
4fcbb2af
SS
619 Remove declarations from avfiltergraph.h for the functions:
620 avfilter_graph_check_validity()
621 avfilter_graph_config_links()
622 avfilter_graph_config_formats()
623 which are now internal.
624 Use avfilter_graph_config() instead.
625
343bfdd3 6262010-11-08 - d2af720 - lavu 50.33.0 - eval.h
d2af7205
SS
627 Deprecate functions:
628 av_parse_and_eval_expr(),
629 av_parse_expr(),
630 av_eval_expr(),
631 av_free_expr(),
632 in favor of the functions:
633 av_expr_parse_and_eval(),
634 av_expr_parse(),
635 av_expr_eval(),
636 av_expr_free().
637
343bfdd3 6382010-11-08 - 24de0ed - lavfi 1.59.0 - avfilter_free()
24de0edb
SS
639 Rename avfilter_destroy() to avfilter_free().
640 This change breaks libavfilter API/ABI.
641
343bfdd3 6422010-11-07 - 1e80a0e - lavfi 1.58.0 - avfiltergraph.h
1e80a0ea
SS
643 Remove graphparser.h header, move AVFilterInOut and
644 avfilter_graph_parse() declarations to libavfilter/avfiltergraph.h.
645
343bfdd3 6462010-11-07 - 7313132 - lavfi 1.57.0 - AVFilterInOut
da6ec07c
SS
647 Rename field AVFilterInOut.filter to AVFilterInOut.filter_ctx.
648 This change breaks libavfilter API.
649
343bfdd3 6502010-11-04 - 97dd1e4 - lavfi 1.56.0 - avfilter_graph_free()
97dd1e4a
SS
651 Rename avfilter_graph_destroy() to avfilter_graph_free().
652 This change breaks libavfilter API/ABI.
653
343bfdd3 6542010-11-04 - e15aeea - lavfi 1.55.0 - avfilter_graph_alloc()
e15aeea6
SS
655 Add avfilter_graph_alloc() to libavfilter/avfiltergraph.h.
656
343bfdd3 6572010-11-02 - 6f84cd1 - lavcore 0.12.0 - av_get_bits_per_sample_fmt()
6f84cd12
SS
658 Add av_get_bits_per_sample_fmt() to libavcore/samplefmt.h and
659 deprecate av_get_bits_per_sample_format().
660
343bfdd3 6612010-11-02 - d63e456 - lavcore 0.11.0 - samplefmt.h
d63e456a
SS
662 Add sample format functions in libavcore/samplefmt.h:
663 av_get_sample_fmt_name(),
664 av_get_sample_fmt(),
665 av_get_sample_fmt_string(),
666 and deprecate the corresponding libavcodec/audioconvert.h functions:
667 avcodec_get_sample_fmt_name(),
668 avcodec_get_sample_fmt(),
669 avcodec_sample_fmt_string().
670
343bfdd3 6712010-11-02 - 262d1c5 - lavcore 0.10.0 - samplefmt.h
262d1c5d
SS
672 Define enum AVSampleFormat in libavcore/samplefmt.h, deprecate enum
673 SampleFormat.
674
343bfdd3 6752010-10-16 - 2a24df9 - lavfi 1.52.0 - avfilter_graph_config()
2a24df93
SS
676 Add the function avfilter_graph_config() in avfiltergraph.h.
677
343bfdd3 6782010-10-15 - 03700d3 - lavf 52.83.0 - metadata API
03700d39
AK
679 Change demuxers to export metadata in generic format and
680 muxers to accept generic format. Deprecate the public
681 conversion API.
682
343bfdd3 6832010-10-10 - 867ae7a - lavfi 1.49.0 - AVFilterLink.time_base
77611295
SS
684 Add time_base field to AVFilterLink.
685
343bfdd3 6862010-09-27 - c85eef4 - lavu 50.31.0 - av_set_options_string()
c6625ad5
SS
687 Move av_set_options_string() from libavfilter/parseutils.h to
688 libavutil/opt.h.
689
343bfdd3 6902010-09-27 - acc0490 - lavfi 1.47.0 - AVFilterLink
4ecf1539
SS
691 Make the AVFilterLink fields srcpad and dstpad store the pointers to
692 the source and destination pads, rather than their indexes.
693
343bfdd3 6942010-09-27 - 372e288 - lavu 50.30.0 - av_get_token()
b3dd5e59
SS
695 Move av_get_token() from libavfilter/parseutils.h to
696 libavutil/avstring.h.
697
343bfdd3 6982010-09-26 - 635d4ae - lsws 0.12.0 - swscale.h
c5812793
SS
699 Add the functions sws_alloc_context() and sws_init_context().
700
343bfdd3 7012010-09-26 - 6ed0404 - lavu 50.29.0 - opt.h
41f87daa
SS
702 Move libavcodec/opt.h to libavutil/opt.h.
703
343bfdd3 7042010-09-24 - 1c1c80f - lavu 50.28.0 - av_log_set_flags()
1c1c80f0
MN
705 Default of av_log() changed due to many problems to the old no repeat
706 detection. Read the docs of AV_LOG_SKIP_REPEATED in log.h before
707 enabling it for your app!.
708
343bfdd3 7092010-09-24 - f66eb58 - lavc 52.90.0 - av_opt_show2()
07cac2a0
SS
710 Deprecate av_opt_show() in favor or av_opt_show2().
711
343bfdd3 7122010-09-14 - bc6f0af - lavu 50.27.0 - av_popcount()
07cac2a0
SS
713 Add av_popcount() to libavutil/common.h.
714
343bfdd3 7152010-09-08 - c6c98d0 - lavu 50.26.0 - av_get_cpu_flags()
15cae5e6
SS
716 Add av_get_cpu_flags().
717
343bfdd3 7182010-09-07 - 34017fd - lavcore 0.9.0 - av_image_copy()
16bacad4
SS
719 Add av_image_copy().
720
343bfdd3 7212010-09-07 - 9686abb - lavcore 0.8.0 - av_image_copy_plane()
16bacad4
SS
722 Add av_image_copy_plane().
723
343bfdd3 7242010-09-07 - 9b7269e - lavcore 0.7.0 - imgutils.h
1904035b
SS
725 Adopt hierarchical scheme for the imgutils.h function names,
726 deprecate the old names.
727
343bfdd3 7282010-09-04 - 7160bb7 - lavu 50.25.0 - AV_CPU_FLAG_*
47806f41
SS
729 Deprecate the FF_MM_* flags defined in libavcodec/avcodec.h in favor
730 of the AV_CPU_FLAG_* flags defined in libavutil/cpu.h.
731
343bfdd3 7322010-08-26 - 5da19b5 - lavc 52.87.0 - avcodec_get_channel_layout()
798dc641
SS
733 Add avcodec_get_channel_layout() in audioconvert.h.
734
343bfdd3 7352010-08-20 - e344336 - lavcore 0.6.0 - av_fill_image_max_pixsteps()
26553088
SS
736 Rename av_fill_image_max_pixstep() to av_fill_image_max_pixsteps().
737
343bfdd3 7382010-08-18 - a6ddf8b - lavcore 0.5.0 - av_fill_image_max_pixstep()
33d2e7b3
SS
739 Add av_fill_image_max_pixstep() in imgutils.h.
740
343bfdd3 7412010-08-17 - 4f2d2e4 - lavu 50.24.0 - AV_NE()
7f38d28c
SS
742 Add the AV_NE macro.
743
343bfdd3 7442010-08-17 - ad2c950 - lavfi 1.36.0 - audio framework
3f52a907
SS
745 Implement AVFilterBufferRefAudioProps struct for audio properties,
746 get_audio_buffer(), filter_samples() functions and related changes.
747
343bfdd3 7482010-08-12 - 81c1eca - lavcore 0.4.0 - av_get_image_linesize()
d1a04371
SS
749 Add av_get_image_linesize() in imgutils.h.
750
343bfdd3 7512010-08-11 - c1db7bf - lavfi 1.34.0 - AVFilterBufferRef
5bf840c4
SS
752 Resize data and linesize arrays in AVFilterBufferRef to 8.
753
754 This change breaks libavfilter API/ABI.
755
343bfdd3 7562010-08-11 - 9f08d80 - lavc 52.85.0 - av_picture_data_copy()
c6a34954
SS
757 Add av_picture_data_copy in avcodec.h.
758
343bfdd3 7592010-08-11 - 84c0386 - lavfi 1.33.0 - avfilter_open()
c7c7feaa
SS
760 Change avfilter_open() signature:
761 AVFilterContext *avfilter_open(AVFilter *filter, const char *inst_name) ->
762 int avfilter_open(AVFilterContext **filter_ctx, AVFilter *filter, const char *inst_name);
763
764 This change breaks libavfilter API/ABI.
765
343bfdd3 7662010-08-11 - cc80caf - lavfi 1.32.0 - AVFilterBufferRef
ad0d70c9
SS
767 Add a type field to AVFilterBufferRef, and move video specific
768 properties to AVFilterBufferRefVideoProps.
769
4bf2d6e8 770 This change breaks libavfilter API/ABI.
ad0d70c9 771
343bfdd3 7722010-08-07 - 5d4890d - lavfi 1.31.0 - AVFilterLink
711d14cf
SS
773 Rename AVFilterLink fields:
774 AVFilterLink.srcpic -> AVFilterLink.src_buf
775 AVFilterLink.cur_pic -> AVFilterLink.cur_buf
776 AVFilterLink.outpic -> AVFilterLink.out_buf
777
343bfdd3 7782010-08-07 - 7fce481 - lavfi 1.30.0
711d14cf
SS
779 Rename functions and fields:
780 avfilter_(un)ref_pic -> avfilter_(un)ref_buffer
781 avfilter_copy_picref_props -> avfilter_copy_buffer_ref_props
782 AVFilterBufferRef.pic -> AVFilterBufferRef.buffer
783
343bfdd3 7842010-08-07 - ecc8dad - lavfi 1.29.0 - AVFilterBufferRef
711d14cf
SS
785 Rename AVFilterPicRef to AVFilterBufferRef.
786
343bfdd3 7872010-08-07 - d54e094 - lavfi 1.28.0 - AVFilterBuffer
e11b104a
SS
788 Move format field from AVFilterBuffer to AVFilterPicRef.
789
343bfdd3 7902010-08-06 - bf176f5 - lavcore 0.3.0 - av_check_image_size()
71cb41db
SS
791 Deprecate avcodec_check_dimensions() in favor of the function
792 av_check_image_size() defined in libavcore/imgutils.h.
793
343bfdd3 7942010-07-30 - 56b5e9d - lavfi 1.27.0 - AVFilterBuffer
92dd4959
SS
795 Increase size of the arrays AVFilterBuffer.data and
796 AVFilterBuffer.linesize from 4 to 8.
797
798 This change breaks libavfilter ABI.
799
343bfdd3 8002010-07-29 - e7bd48a - lavcore 0.2.0 - imgutils.h
3dec10cd
SS
801 Add functions av_fill_image_linesizes() and
802 av_fill_image_pointers(), declared in libavcore/imgutils.h.
803
343bfdd3 8042010-07-27 - 126b638 - lavcore 0.1.0 - parseutils.h
fa8ead00
SS
805 Deprecate av_parse_video_frame_size() and av_parse_video_frame_rate()
806 defined in libavcodec in favor of the newly added functions
807 av_parse_video_size() and av_parse_video_rate() declared in
808 libavcore/parseutils.h.
809
343bfdd3 8102010-07-23 - 4485247 - lavu 50.23.0 - mathematics.h
c257c752
SS
811 Add the M_PHI constant definition.
812
343bfdd3 8132010-07-22 - bdab614 - lavfi 1.26.0 - media format generalization
73642926
SS
814 Add a type field to AVFilterLink.
815
816 Change the field types:
817 enum PixelFormat format -> int format in AVFilterBuffer
818 enum PixelFormat *formats -> int *formats in AVFilterFormats
819 enum PixelFormat *format -> int format in AVFilterLink
820
821 Change the function signatures:
822 AVFilterFormats *avfilter_make_format_list(const enum PixelFormat *pix_fmts); ->
823 AVFilterFormats *avfilter_make_format_list(const int *fmts);
824
825 int avfilter_add_colorspace(AVFilterFormats **avff, enum PixelFormat pix_fmt); ->
826 int avfilter_add_format (AVFilterFormats **avff, int fmt);
827
828 AVFilterFormats *avfilter_all_colorspaces(void); ->
829 AVFilterFormats *avfilter_all_formats (enum AVMediaType type);
830
831 This change breaks libavfilter API/ABI.
832
343bfdd3 8332010-07-21 - aac6ca6 - lavcore 0.0.0
a33e0365
SS
834 Add libavcore.
835
343bfdd3 8362010-07-17 - b5c582f - lavfi 1.25.0 - AVFilterBuffer
8e9d9308
SS
837 Remove w and h fields from AVFilterBuffer.
838
343bfdd3 8392010-07-17 - f0d77b2 - lavfi 1.24.0 - AVFilterBuffer
9840147d
SS
840 Rename AVFilterPic to AVFilterBuffer.
841
343bfdd3 8422010-07-17 - 57fe80f - lavf 52.74.0 - url_fskip()
57fe80fe
MS
843 Make url_fskip() return an int error code instead of void.
844
343bfdd3 8452010-07-11 - 23940f1 - lavc 52.83.0
6f5ac9c1 846 Add AVCodecContext.lpc_type and AVCodecContext.lpc_passes fields.
23940f14
JR
847 Add AVLPCType enum.
848 Deprecate AVCodecContext.use_lpc.
849
343bfdd3 8502010-07-11 - e1d7c88 - lavc 52.82.0 - avsubtitle_free()
e1d7c883
RD
851 Add a function for free the contents of a AVSubtitle generated by
852 avcodec_decode_subtitle.
853
343bfdd3 8542010-07-11 - b91d08f - lavu 50.22.0 - bswap.h and intreadwrite.h
617d56ca
SS
855 Make the bswap.h and intreadwrite.h API public.
856
343bfdd3 8572010-07-08 - ce1cd1c - lavu 50.21.0 - pixdesc.h
52706b95
SS
858 Rename read/write_line() to av_read/write_image_line().
859
343bfdd3 8602010-07-07 - 4d508e4 - lavfi 1.21.0 - avfilter_copy_picref_props()
16400da6 861 Add avfilter_copy_picref_props().
52706b95 862
343bfdd3 8632010-07-03 - 2d525ef - lavc 52.79.0
16400da6
SS
864 Add FF_COMPLIANCE_UNOFFICIAL and change all instances of
865 FF_COMPLIANCE_INOFFICIAL to use FF_COMPLIANCE_UNOFFICIAL.
34171e87 866
343bfdd3 8672010-07-02 - 89eec74 - lavu 50.20.0 - lfg.h
13088d27
RP
868 Export av_lfg_init(), av_lfg_get(), av_mlfg_get(), and av_bmg_get() through
869 lfg.h.
870
343bfdd3 8712010-06-28 - a52e2c3 - lavfi 1.20.1 - av_parse_color()
6951515c
SS
872 Extend av_parse_color() syntax, make it accept an alpha value specifier and
873 set the alpha value to 255 by default.
874
343bfdd3 8752010-06-22 - 735cf6b - lavf 52.71.0 - URLProtocol.priv_data_size, priv_data_class
16400da6 876 Add priv_data_size and priv_data_class to URLProtocol.
58cc11c7 877
343bfdd3 8782010-06-22 - ffbb289 - lavf 52.70.0 - url_alloc(), url_connect()
16400da6 879 Add url_alloc() and url_connect().
4636f115 880
343bfdd3 8812010-06-22 - 9b07a2d - lavf 52.69.0 - av_register_protocol2()
16400da6 882 Add av_register_protocol2(), deprecating av_register_protocol().
6c4cbc8d 883
343bfdd3 8842010-06-09 - 65db058 - lavu 50.19.0 - av_compare_mod()
276b45af
SS
885 Add av_compare_mod() to libavutil/mathematics.h.
886
343bfdd3 8872010-06-05 - 0b99215 - lavu 50.18.0 - eval API
4cd5100c
SS
888 Make the eval API public.
889
343bfdd3 8902010-06-04 - 31878fc - lavu 50.17.0 - AV_BASE64_SIZE
6532c6f9
SS
891 Add AV_BASE64_SIZE() macro.
892
343bfdd3 8932010-06-02 - 7e566bb - lavc 52.73.0 - av_get_codec_tag_string()
2a00992f
SS
894 Add av_get_codec_tag_string().
895
343bfdd3 8962010-06-01 - 2b99142 - lsws 0.11.0 - convertPalette API
16400da6 897 Add sws_convertPalette8ToPacked32() and sws_convertPalette8ToPacked24().
7f464a0a 898
343bfdd3 8992010-05-26 - 93ebfee - lavc 52.72.0 - CODEC_CAP_EXPERIMENTAL
fe9c2007 900 Add CODEC_CAP_EXPERIMENTAL flag.
95c851e2 901 NOTE: this was backported to 0.6
fe9c2007 902
343bfdd3 9032010-05-23 - 9977863 - lavu 50.16.0 - av_get_random_seed()
16400da6 904 Add av_get_random_seed().
cca68a54 905
343bfdd3 9062010-05-18 - 796ac23 - lavf 52.63.0 - AVFMT_FLAG_RTP_HINT
16400da6 907 Add AVFMT_FLAG_RTP_HINT as possible value for AVFormatContext.flags.
95c851e2 908 NOTE: this was backported to 0.6
b724102a 909
343bfdd3 9102010-05-09 - b6bc205 - lavfi 1.20.0 - AVFilterPicRef
fc25c049
SS
911 Add interlaced and top_field_first fields to AVFilterPicRef.
912
95c851e2
AK
913------------------------------8<-------------------------------------
914 0.6 branch was cut here
915----------------------------->8--------------------------------------
916
343bfdd3 9172010-05-01 - 8e2ee18 - lavf 52.62.0 - probe function
d0eb2b78
RD
918 Add av_probe_input_format2 to API, it allows ignoring probe
919 results below given score and returns the actual probe score.
920
343bfdd3 9212010-04-01 - 3dd6180 - lavf 52.61.0 - metadata API
3dd6180f
AK
922 Add a flag for av_metadata_set2() to disable overwriting of
923 existing tags.
924
343bfdd3 9252010-04-01 - 0fb49b5 - lavc 52.66.0
16400da6 926 Add avcodec_get_edge_width().
0fb49b59 927
343bfdd3 9282010-03-31 - d103218 - lavc 52.65.0
c846a984
RB
929 Add avcodec_copy_context().
930
343bfdd3 9312010-03-31 - 1a70d12 - lavf 52.60.0 - av_match_ext()
e33f1fa0
SS
932 Make av_match_ext() public.
933
343bfdd3 9342010-03-31 - 1149150 - lavu 50.14.0 - AVMediaType
fc8b1075
SS
935 Move AVMediaType enum from libavcodec to libavutil.
936
343bfdd3 9372010-03-31 - 72415b2 - lavc 52.64.0 - AVMediaType
fc8b1075
SS
938 Define AVMediaType enum, and use it instead of enum CodecType, which
939 is deprecated and will be dropped at the next major bump.
940
343bfdd3 9412010-03-25 - 8795823 - lavu 50.13.0 - av_strerror()
82ba847e
SS
942 Implement av_strerror().
943
343bfdd3 9442010-03-23 - e1484eb - lavc 52.60.0 - av_dct_init()
16400da6 945 Support DCT-I and DST-I.
e1484ebe 946
343bfdd3 9472010-03-15 - b8819c8 - lavf 52.56.0 - AVFormatContext.start_time_realtime
a5b3d34b
MS
948 Add AVFormatContext.start_time_realtime field.
949
343bfdd3 9502010-03-13 - 5bb5c1d - lavfi 1.18.0 - AVFilterPicRef.pos
8955a324
SS
951 Add AVFilterPicRef.pos field.
952
343bfdd3 9532010-03-13 - 60c144f - lavu 50.12.0 - error.h
99de2b59
SS
954 Move error code definitions from libavcodec/avcodec.h to
955 the new public header libavutil/error.h.
956
343bfdd3 9572010-03-07 - c709483 - lavc 52.56.0 - avfft.h
c7094831
MR
958 Add public FFT interface.
959
343bfdd3 9602010-03-06 - ac6ef86 - lavu 50.11.0 - av_stristr()
c18fb631
SS
961 Add av_stristr().
962
343bfdd3 9632010-03-03 - 4b83fc0 - lavu 50.10.0 - av_tree_enumerate()
4b83fc0f
VS
964 Add av_tree_enumerate().
965
343bfdd3 9662010-02-07 - b687c1a - lavu 50.9.0 - av_compare_ts()
fbef7a76
SS
967 Add av_compare_ts().
968
343bfdd3 9692010-02-05 - 3f3dc76 - lsws 0.10.0 - sws_getCoefficients()
e49407ee
SS
970 Add sws_getCoefficients().
971
343bfdd3 9722010-02-01 - ca76a11 - lavf 52.50.0 - metadata API
ca76a119
AK
973 Add a list of generic tag names, change 'author' -> 'artist',
974 'year' -> 'date'.
975
343bfdd3 9762010-01-30 - 80a07f6 - lavu 50.8.0 - av_get_pix_fmt()
14ace37e
SS
977 Add av_get_pix_fmt().
978
343bfdd3 9792010-01-21 - 01cc47d - lsws 0.9.0 - sws_scale()
e49407ee
SS
980 Change constness attributes of sws_scale() parameters.
981
343bfdd3 9822010-01-10 - 3fb8e77 - lavfi 1.15.0 - avfilter_graph_config_links()
2d187e23
SS
983 Add a log_ctx parameter to avfilter_graph_config_links().
984
343bfdd3 9852010-01-07 - 8e9767f - lsws 0.8.0 - sws_isSupported{In,Out}put()
1c790092 986 Add sws_isSupportedInput() and sws_isSupportedOutput() functions.
715cff9a 987
343bfdd3 9882010-01-06 - c1d662f - lavfi 1.14.0 - avfilter_add_colorspace()
1e289b09
SS
989 Change the avfilter_add_colorspace() signature, make it accept an
990 (AVFilterFormats **) rather than an (AVFilterFormats *) as before.
991
343bfdd3 9922010-01-03 - 4fd1f18 - lavfi 1.13.0 - avfilter_add_colorspace()
a2b16627
SS
993 Add avfilter_add_colorspace().
994
343bfdd3 9952010-01-02 - 8eb631f - lavf 52.46.0 - av_match_ext()
79c2f2d3
SS
996 Add av_match_ext(), it should be used in place of match_ext().
997
343bfdd3 9982010-01-01 - a1f547b - lavf 52.45.0 - av_guess_format()
bb1a8793
SS
999 Add av_guess_format(), it should be used in place of guess_format().
1000
343bfdd3 10012009-12-13 - a181981 - lavf 52.43.0 - metadata API
16400da6
SS
1002 Add av_metadata_set2(), AV_METADATA_DONT_STRDUP_KEY and
1003 AV_METADATA_DONT_STRDUP_VAL.
b8f11ec8 1004
343bfdd3 10052009-12-13 - 277c733 - lavu 50.7.0 - avstring.h API
f69d394f 1006 Add av_d2str().
60a92a77 1007
343bfdd3 10082009-12-13 - 02b398e - lavc 52.42.0 - AVStream
f69d394f 1009 Add avg_frame_rate.
c3d15329 1010
343bfdd3 10112009-12-12 - 3ba69a1 - lavu 50.6.0 - av_bmg_next()
54c24216
SS
1012 Introduce the av_bmg_next() function.
1013
343bfdd3 10142009-12-05 - a13a543 - lavfi 1.12.0 - avfilter_draw_slice()
11f6d098
SS
1015 Add a slice_dir parameter to avfilter_draw_slice().
1016
343bfdd3 10172009-11-26 - 4cc3f6a - lavfi 1.11.0 - AVFilter
7cab9a66
SS
1018 Remove the next field from AVFilter, this is not anymore required.
1019
343bfdd3 10202009-11-25 - 1433c4a - lavfi 1.10.0 - avfilter_next()
b5a683eb
SS
1021 Introduce the avfilter_next() function.
1022
343bfdd3 10232009-11-25 - 86a60fa - lavfi 1.9.0 - avfilter_register()
73e2247d
SS
1024 Change the signature of avfilter_register() to make it return an
1025 int. This is required since now the registration operation may fail.
1026
343bfdd3 10272009-11-25 - 74a0059 - lavu 50.5.0 - pixdesc.h API
d0df2fcc
SS
1028 Make the pixdesc.h API public.
1029
343bfdd3 10302009-10-27 - 243110f - lavfi 1.5.0 - AVFilter.next
290d4a44
SS
1031 Add a next field to AVFilter, this is used for simplifying the
1032 registration and management of the registered filters.
1033
343bfdd3 10342009-10-23 - cccd292 - lavfi 1.4.1 - AVFilter.description
54116673 1035 Add a description field to AVFilter.
01537e9f 1036
343bfdd3 10372009-10-19 - 6b5dc05 - lavfi 1.3.0 - avfilter_make_format_list()
027e85d8
SS
1038 Change the interface of avfilter_make_format_list() from
1039 avfilter_make_format_list(int n, ...) to
1040 avfilter_make_format_list(enum PixelFormat *pix_fmts).
1041
343bfdd3 10422009-10-18 - 0eb4ff9 - lavfi 1.0.0 - avfilter_get_video_buffer()
c3b27a3d
SS
1043 Make avfilter_get_video_buffer() recursive and add the w and h
1044 parameters to it.
1045
343bfdd3 10462009-10-07 - 46c40e4 - lavfi 0.5.1 - AVFilterPic
227d1b98 1047 Add w and h fields to AVFilterPic.
04670366 1048
343bfdd3 10492009-06-22 - 92400be - lavf 52.34.1 - AVFormatContext.packet_size
b394438e
RB
1050 This is now an unsigned int instead of a signed int.
1051
343bfdd3 10522009-06-19 - a4276ba - lavc 52.32.0 - AVSubtitle.pts
227d1b98
DB
1053 Add a pts field to AVSubtitle which gives the subtitle packet pts
1054 in AV_TIME_BASE. Some subtitle de-/encoders (e.g. XSUB) will
4bbe788a
RD
1055 not work right without this.
1056
343bfdd3 10572009-06-03 - 8f3f2e0 - lavc 52.30.2 - AV_PKT_FLAG_KEY
227d1b98 1058 PKT_FLAG_KEY has been deprecated and will be dropped at the next
8f3f2e06
RD
1059 major version. Use AV_PKT_FLAG_KEY instead.
1060
343bfdd3 10612009-06-01 - f988ce6 - lavc 52.30.0 - av_lockmgr_register()
f988ce6c
1062 av_lockmgr_register() can be used to register a callback function
1063 that lavc (and in the future, libraries that depend on lavc) can use
1064 to implement mutexes. The application should provide a callback function
227d1b98
DB
1065 that implements the AV_LOCK_* operations described in avcodec.h.
1066 When the lock manager is registered, FFmpeg is guaranteed to behave
1067 correctly in a multi-threaded application.
f988ce6c 1068
343bfdd3 10692009-04-30 - ce1d9c8 - lavc 52.28.0 - av_free_packet()
52bcc8e1
RP
1070 av_free_packet() is no longer an inline function. It is now exported.
1071
343bfdd3 10722009-04-11 - 80d403f - lavc 52.25.0 - deprecate av_destruct_packet_nofree()
0c13bbf5
RD
1073 Please use NULL instead. This has been supported since r16506
1074 (lavf > 52.23.1, lavc > 52.10.0).
1075
343bfdd3 10762009-04-07 - 7a00bba - lavc 52.23.0 - avcodec_decode_video/audio/subtitle
2851d225
RB
1077 The old decoding functions are deprecated, all new code should use the
1078 new functions avcodec_decode_video2(), avcodec_decode_audio3() and
1079 avcodec_decode_subtitle2(). These new functions take an AVPacket *pkt
1080 argument instead of a const uint8_t *buf / int buf_size pair.
1081
343bfdd3 10822009-04-03 - 7b09db3 - lavu 50.3.0 - av_fifo_space()
b1516707
SS
1083 Introduce the av_fifo_space() function.
1084
343bfdd3 10852009-04-02 - fabd246 - lavc 52.23.0 - AVPacket
dd3bbb49
SS
1086 Move AVPacket declaration from libavformat/avformat.h to
1087 libavcodec/avcodec.h.
1088
343bfdd3 10892009-03-22 - 6e08ca9 - lavu 50.2.0 - RGB32 pixel formats
227d1b98
DB
1090 Convert the pixel formats PIX_FMT_ARGB, PIX_FMT_RGBA, PIX_FMT_ABGR,
1091 PIX_FMT_BGRA, which were defined as macros, into enum PixelFormat values.
1092 Conversely PIX_FMT_RGB32, PIX_FMT_RGB32_1, PIX_FMT_BGR32 and
1093 PIX_FMT_BGR32_1 are now macros.
1094 avcodec_get_pix_fmt() now recognizes the "rgb32" and "bgr32" aliases.
f3370e14 1095 Re-sort the enum PixelFormat list accordingly.
5a43bbc3
SS
1096 This change breaks API/ABI backward compatibility.
1097
343bfdd3 10982009-03-22 - f82674e - lavu 50.1.0 - PIX_FMT_RGB5X5 endian variants
dd3bbb49
SS
1099 Add the enum PixelFormat values:
1100 PIX_FMT_RGB565BE, PIX_FMT_RGB565LE, PIX_FMT_RGB555BE, PIX_FMT_RGB555LE,
1101 PIX_FMT_BGR565BE, PIX_FMT_BGR565LE, PIX_FMT_BGR555BE, PIX_FMT_BGR555LE.
1102
343bfdd3 11032009-03-21 - ee6624e - lavu 50.0.0 - av_random*
c8f742ca
DB
1104 The Mersenne Twister PRNG implemented through the av_random* functions
1105 was removed. Use the lagged Fibonacci PRNG through the av_lfg* functions
1106 instead.
1107
343bfdd3 11082009-03-08 - 41dd680 - lavu 50.0.0 - AVFifoBuffer
889cdae8
DB
1109 av_fifo_init, av_fifo_read, av_fifo_write and av_fifo_realloc were dropped
1110 and replaced by av_fifo_alloc, av_fifo_generic_read, av_fifo_generic_write
1111 and av_fifo_realloc2.
1112 In addition, the order of the function arguments of av_fifo_generic_read
227d1b98 1113 was changed to match av_fifo_generic_write.
889cdae8
DB
1114 The AVFifoBuffer/struct AVFifoBuffer may only be used in an opaque way by
1115 applications, they may not use sizeof() or directly access members.
22d4f236 1116
343bfdd3 11172009-03-01 - ec26457 - lavf 52.31.0 - Generic metadata API
889cdae8
DB
1118 Introduce a new metadata API (see av_metadata_get() and friends).
1119 The old API is now deprecated and should not be used anymore. This especially
429d6b21 1120 includes the following structure fields:
38ce707e
AJ
1121 - AVFormatContext.title
1122 - AVFormatContext.author
1123 - AVFormatContext.copyright
1124 - AVFormatContext.comment
1125 - AVFormatContext.album
1126 - AVFormatContext.year
1127 - AVFormatContext.track
1128 - AVFormatContext.genre
1129 - AVStream.language
1130 - AVStream.filename
1131 - AVProgram.provider_name
1132 - AVProgram.name
1133 - AVChapter.title