aboutsummaryrefslogtreecommitdiffstats
path: root/doc/APIchanges
blob: f1a9b2ad899da7048a94d9f24bd7cbdb0972f049 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
Never assume the API of libav* to be stable unless at least 1 week has passed since
the last major version increase.
The last version increases were:
libavcodec:  ?
libavcore:   2010-07-21
libavdevice: ?
libavfilter: 2009-10-18
libavformat: ?
libpostproc: ?
libswscale:  ?
libavutil:   2009-03-08


API changes, most recent first:

2010-09-08 - r25076 - lavu 50.26.0 - av_get_cpu_flags()
  Add av_get_cpu_flags().

2010-09-07 - r25067 - lavcore 0.9.0 - av_image_copy()
  Add av_image_copy().

2010-09-07 - r25064 - lavcore 0.8.0 - av_image_copy_plane()
  Add av_image_copy_plane().

2010-09-07 - r25057 - lavcore 0.7.0 - imgutils.h
  Adopt hierarchical scheme for the imgutils.h function names,
  deprecate the old names.

2010-09-04 - r25040 - lavu 50.25.0 - AV_CPU_FLAG_*
  Deprecate the FF_MM_* flags defined in libavcodec/avcodec.h in favor
  of the AV_CPU_FLAG_* flags defined in libavutil/cpu.h.

2010-08-26 - r24936 - lavc 52.87.0 - avcodec_get_channel_layout()
  Add avcodec_get_channel_layout() in audioconvert.h.

2010-08-20 - r24851 - lavcore 0.6.0 - av_fill_image_max_pixsteps()
  Rename av_fill_image_max_pixstep() to av_fill_image_max_pixsteps().

2010-08-18 - r24827 - lavcore 0.5.0 - av_fill_image_max_pixstep()
  Add av_fill_image_max_pixstep() in imgutils.h.

2010-08-17 - r24814 - lavu 50.24.0 - AV_NE()
  Add the AV_NE macro.

2010-08-17 - r24811 - lavfi 1.36.0 - audio framework
  Implement AVFilterBufferRefAudioProps struct for audio properties,
  get_audio_buffer(), filter_samples() functions and related changes.

2010-08-12 - r24787 - lavcore 0.4.0 - av_get_image_linesize()
  Add av_get_image_linesize() in imgutils.h.

2010-08-11 - r24773 - lavfi 1.34.0 - AVFilterBufferRef
  Resize data and linesize arrays in AVFilterBufferRef to 8.

  This change breaks libavfilter API/ABI.

2010-08-11 - r24768 - lavc 52.85.0 - av_picture_data_copy()
  Add av_picture_data_copy in avcodec.h.

2010-08-11 - r24765 - lavfi 1.33.0 - avfilter_open()
  Change avfilter_open() signature:
  AVFilterContext *avfilter_open(AVFilter *filter, const char *inst_name) ->
  int avfilter_open(AVFilterContext **filter_ctx, AVFilter *filter, const char *inst_name);

  This change breaks libavfilter API/ABI.

2010-08-11 - r24763 - lavfi 1.32.0 - AVFilterBufferRef
  Add a type field to AVFilterBufferRef, and move video specific
  properties to AVFilterBufferRefVideoProps.

  This change breaks libavfilter API/ABI.

2010-08-07 - r24732 - lavfi 1.31.0 - AVFilterLink
  Rename AVFilterLink fields:
  AVFilterLink.srcpic    ->  AVFilterLink.src_buf
  AVFilterLink.cur_pic   ->  AVFilterLink.cur_buf
  AVFilterLink.outpic    ->  AVFilterLink.out_buf

2010-08-07 - r24731 - lavfi 1.30.0
  Rename functions and fields:
  avfilter_(un)ref_pic       -> avfilter_(un)ref_buffer
  avfilter_copy_picref_props -> avfilter_copy_buffer_ref_props
  AVFilterBufferRef.pic      -> AVFilterBufferRef.buffer

2010-08-07 - r24730 - lavfi 1.29.0 - AVFilterBufferRef
  Rename AVFilterPicRef to AVFilterBufferRef.

2010-08-07 - r24728 - lavfi 1.28.0 - AVFilterBuffer
  Move format field from AVFilterBuffer to AVFilterPicRef.

2010-08-06 - r24709 - lavcore 0.3.0 - av_check_image_size()
  Deprecate avcodec_check_dimensions() in favor of the function
  av_check_image_size() defined in libavcore/imgutils.h.

2010-07-30 - r24592 - lavfi 1.27.0 - AVFilterBuffer
  Increase size of the arrays AVFilterBuffer.data and
  AVFilterBuffer.linesize from 4 to 8.

  This change breaks libavfilter ABI.

2010-07-29 - r24583 - lavcore 0.2.0 - imgutils.h
  Add functions av_fill_image_linesizes() and
  av_fill_image_pointers(), declared in libavcore/imgutils.h.

2010-07-27 - r24518 - lavcore 0.1.0 - parseutils.h
  Deprecate av_parse_video_frame_size() and av_parse_video_frame_rate()
  defined in libavcodec in favor of the newly added functions
  av_parse_video_size() and av_parse_video_rate() declared in
  libavcore/parseutils.h.

2010-07-23 - r24439 - lavu 50.23.0 - mathematics.h
  Add the M_PHI constant definition.

2010-07-22 - r24424 - lavfi 1.26.0 - media format generalization
  Add a type field to AVFilterLink.

  Change the field types:
  enum PixelFormat format   -> int format   in AVFilterBuffer
  enum PixelFormat *formats -> int *formats in AVFilterFormats
  enum PixelFormat *format  -> int format   in AVFilterLink

  Change the function signatures:
  AVFilterFormats *avfilter_make_format_list(const enum PixelFormat *pix_fmts); ->
  AVFilterFormats *avfilter_make_format_list(const int *fmts);

  int avfilter_add_colorspace(AVFilterFormats **avff, enum PixelFormat pix_fmt); ->
  int avfilter_add_format    (AVFilterFormats **avff, int fmt);

  AVFilterFormats *avfilter_all_colorspaces(void); ->
  AVFilterFormats *avfilter_all_formats    (enum AVMediaType type);

  This change breaks libavfilter API/ABI.

2010-07-21 - r24393 - lavcore 0.0.0
  Add libavcore.

2010-07-17 - r24291 - lavfi 1.25.0 - AVFilterBuffer
  Remove w and h fields from AVFilterBuffer.

2010-07-17 - r24284 - lavfi 1.24.0 - AVFilterBuffer
  Rename AVFilterPic to AVFilterBuffer.

2010-07-17 - r24278 - lavf 52.74.0 - url_fskip()
  Make url_fskip() return an int error code instead of void.

2010-07-11 - r24199 - lavc 52.83.0
  Add AVCodecContext.lpc_type and AVCodecContext.lpc_passes fields.
  Add AVLPCType enum.
  Deprecate AVCodecContext.use_lpc.

2010-07-11 - r24185 - lavc 52.82.0 - avsubtitle_free()
  Add a function for free the contents of a AVSubtitle generated by
  avcodec_decode_subtitle.

2010-07-11 - r24174 - lavu 50.22.0 - bswap.h and intreadwrite.h
  Make the bswap.h and intreadwrite.h API public.

2010-07-08 - r24101 - lavu 50.21.0 - pixdesc.h
  Rename read/write_line() to av_read/write_image_line().

2010-07-07 - r24091 - lavfi 1.21.0 - avfilter_copy_picref_props()
  Add avfilter_copy_picref_props().

2010-07-03 - r24021 - lavc 52.79.0
  Add FF_COMPLIANCE_UNOFFICIAL and change all instances of
  FF_COMPLIANCE_INOFFICIAL to use FF_COMPLIANCE_UNOFFICIAL.

2010-07-02 - r23985 - lavu 50.20.0 - lfg.h
  Export av_lfg_init(), av_lfg_get(), av_mlfg_get(), and av_bmg_get() through
  lfg.h.

2010-06-28 - r23835 - lavfi 1.20.1 - av_parse_color()
  Extend av_parse_color() syntax, make it accept an alpha value specifier and
  set the alpha value to 255 by default.

2010-06-22 - r23706 - lavf 52.71.0 - URLProtocol.priv_data_size, priv_data_class
  Add priv_data_size and priv_data_class to URLProtocol.

2010-06-22 - r23704 - lavf 52.70.0 - url_alloc(), url_connect()
  Add url_alloc() and url_connect().

2010-06-22 - r23702 - lavf 52.69.0 - av_register_protocol2()
  Add av_register_protocol2(), deprecating av_register_protocol().

2010-06-09 - r23551 - lavu 50.19.0 - av_compare_mod()
  Add av_compare_mod() to libavutil/mathematics.h.

2010-06-05 - r23485 - lavu 50.18.0 - eval API
  Make the eval API public.

2010-06-04 - r23461 - lavu 50.17.0 - AV_BASE64_SIZE
  Add AV_BASE64_SIZE() macro.

2010-06-02 - r23421 - lavc 52.73.0 - av_get_codec_tag_string()
  Add av_get_codec_tag_string().

2010-06-01 - r31301 - lsws 0.11.0 - convertPalette API
  Add sws_convertPalette8ToPacked32() and sws_convertPalette8ToPacked24().

2010-05-26 - r23334 - lavc 52.72.0 - CODEC_CAP_EXPERIMENTAL
  Add CODEC_CAP_EXPERIMENTAL flag.

2010-05-23 - r23255 - lavu 50.16.0 - av_get_random_seed()
  Add av_get_random_seed().

2010-05-18 - r23161 - lavf 52.63.0 - AVFMT_FLAG_RTP_HINT
  Add AVFMT_FLAG_RTP_HINT as possible value for AVFormatContext.flags.

2010-05-09 - r23066 - lavfi 1.20.0 - AVFilterPicRef
  Add interlaced and top_field_first fields to AVFilterPicRef.

2010-05-01 - r23002 - lavf 52.62.0 - probe function
  Add av_probe_input_format2 to API, it allows ignoring probe
  results below given score and returns the actual probe score.

2010-04-01 - r22806 - lavf 52.61.0 - metadata API
  Add a flag for av_metadata_set2() to disable overwriting of
  existing tags.

2010-04-01 - r22753 - lavc 52.66.0
  Add avcodec_get_edge_width().

2010-03-31 - r22750 - lavc 52.65.0
  Add avcodec_copy_context().

2010-03-31 - r22748 - lavf 52.60.0 - av_match_ext()
  Make av_match_ext() public.

2010-03-31 - r22736 - lavu 50.14.0 - AVMediaType
  Move AVMediaType enum from libavcodec to libavutil.

2010-03-31 - r22735 - lavc 52.64.0 - AVMediaType
  Define AVMediaType enum, and use it instead of enum CodecType, which
  is deprecated and will be dropped at the next major bump.

2010-03-25 - r22684 - lavu 50.13.0 - av_strerror()
  Implement av_strerror().

2010-03-23 - r22649 - lavc 52.60.0 - av_dct_init()
  Support DCT-I and DST-I.

2010-03-15 - r22540 - lavf 52.56.0 - AVFormatContext.start_time_realtime
  Add AVFormatContext.start_time_realtime field.

2010-03-13 - r22506 - lavfi 1.18.0 - AVFilterPicRef.pos
  Add AVFilterPicRef.pos field.

2010-03-13 - r22501 - lavu 50.12.0 - error.h
  Move error code definitions from libavcodec/avcodec.h to
  the new public header libavutil/error.h.

2010-03-07 - r22291 - lavc 52.56.0 - avfft.h
  Add public FFT interface.

2010-03-06 - r22251 - lavu 50.11.0 - av_stristr()
  Add av_stristr().

2010-03-03 - r22174 - lavu 50.10.0 - av_tree_enumerate()
  Add av_tree_enumerate().

2010-02-07 - r21673 - lavu 50.9.0 - av_compare_ts()
  Add av_compare_ts().

2010-02-05 - r30513 - lsws 0.10.0 - sws_getCoefficients()
  Add sws_getCoefficients().

2010-02-01 - r21587 - lavf 52.50.0 - metadata API
  Add a list of generic tag names, change 'author' -> 'artist',
  'year' -> 'date'.

2010-01-30 - r21545 - lavu 50.8.0 - av_get_pix_fmt()
  Add av_get_pix_fmt().

2010-01-21 - r30381 - lsws 0.9.0 - sws_scale()
  Change constness attributes of sws_scale() parameters.

2010-01-10 - r21121 - lavfi 1.15.0 - avfilter_graph_config_links()
  Add a log_ctx parameter to avfilter_graph_config_links().

2010-01-07 - r30236 - lsws 0.8.0 - sws_isSupported{In,Out}put()
  Add sws_isSupportedInput() and sws_isSupportedOutput() functions.

2010-01-06 - r21035 - lavfi 1.14.0 - avfilter_add_colorspace()
  Change the avfilter_add_colorspace() signature, make it accept an
  (AVFilterFormats **) rather than an (AVFilterFormats *) as before.

2010-01-03 - r21007 - lavfi 1.13.0 - avfilter_add_colorspace()
  Add avfilter_add_colorspace().

2010-01-02 - r20998 - lavf 52.46.0 - av_match_ext()
  Add av_match_ext(), it should be used in place of match_ext().

2010-01-01 - r20991 - lavf 52.45.0 - av_guess_format()
  Add av_guess_format(), it should be used in place of guess_format().

2009-12-13 - r20834 - lavf 52.43.0 - metadata API
  Add av_metadata_set2(), AV_METADATA_DONT_STRDUP_KEY and
  AV_METADATA_DONT_STRDUP_VAL.

2009-12-13 - r20829 - lavu 50.7.0 - avstring.h API
  Add av_d2str().

2009-12-13 - r20826 - lavc 52.42.0 - AVStream
  Add avg_frame_rate.

2009-12-12 - r20808 - lavu 50.6.0 - av_bmg_next()
  Introduce the av_bmg_next() function.

2009-12-05 - r20734 - lavfi 1.12.0 - avfilter_draw_slice()
  Add a slice_dir parameter to avfilter_draw_slice().

2009-11-26 - r20611 - lavfi 1.11.0 - AVFilter
  Remove the next field from AVFilter, this is not anymore required.

2009-11-25 - r20607 - lavfi 1.10.0 - avfilter_next()
  Introduce the avfilter_next() function.

2009-11-25 - r20605 - lavfi 1.9.0 - avfilter_register()
  Change the signature of avfilter_register() to make it return an
  int. This is required since now the registration operation may fail.

2009-11-25 - r20603 - lavu 50.5.0 - pixdesc.h API
  Make the pixdesc.h API public.

2009-10-27 - r20385 - lavfi 1.5.0 - AVFilter.next
  Add a next field to AVFilter, this is used for simplifying the
  registration and management of the registered filters.

2009-10-23 - r20356 - lavfi 1.4.1 - AVFilter.description
  Add a description field to AVFilter.

2009-10-19 - r20302 - lavfi 1.3.0 - avfilter_make_format_list()
  Change the interface of avfilter_make_format_list() from
  avfilter_make_format_list(int n, ...) to
  avfilter_make_format_list(enum PixelFormat *pix_fmts).

2009-10-18 - r20272 - lavfi 1.0.0 - avfilter_get_video_buffer()
  Make avfilter_get_video_buffer() recursive and add the w and h
  parameters to it.

2009-10-07 - r20189 - lavfi 0.5.1 - AVFilterPic
  Add w and h fields to AVFilterPic.

2009-06-22 - r19250 - lavf 52.34.1 - AVFormatContext.packet_size
  This is now an unsigned int instead of a signed int.

2009-06-19 - r19222 - lavc 52.32.0 - AVSubtitle.pts
  Add a pts field to AVSubtitle which gives the subtitle packet pts
  in AV_TIME_BASE. Some subtitle de-/encoders (e.g. XSUB) will
  not work right without this.

2009-06-03 - r19078 - lavc 52.30.2 - AV_PKT_FLAG_KEY
  PKT_FLAG_KEY has been deprecated and will be dropped at the next
  major version. Use AV_PKT_FLAG_KEY instead.

2009-06-01 - r19025 - lavc 52.30.0 - av_lockmgr_register()
  av_lockmgr_register() can be used to register a callback function
  that lavc (and in the future, libraries that depend on lavc) can use
  to implement mutexes. The application should provide a callback function
  that implements the AV_LOCK_* operations described in avcodec.h.
  When the lock manager is registered, FFmpeg is guaranteed to behave
  correctly in a multi-threaded application.

2009-04-30 - r18719 - lavc 52.28.0 - av_free_packet()
  av_free_packet() is no longer an inline function. It is now exported.

2009-04-11 - r18431 - lavc 52.25.0 - deprecate av_destruct_packet_nofree()
  Please use NULL instead. This has been supported since r16506
  (lavf > 52.23.1, lavc > 52.10.0).

2009-04-07 - r18351 - lavc 52.23.0 - avcodec_decode_video/audio/subtitle
  The old decoding functions are deprecated, all new code should use the
  new functions avcodec_decode_video2(), avcodec_decode_audio3() and
  avcodec_decode_subtitle2(). These new functions take an AVPacket *pkt
  argument instead of a const uint8_t *buf / int buf_size pair.

2009-04-03 - r18321 - lavu 50.3.0 - av_fifo_space()
  Introduce the av_fifo_space() function.

2009-04-02 - r18317 - lavc 52.23.0 - AVPacket
  Move AVPacket declaration from libavformat/avformat.h to
  libavcodec/avcodec.h.

2009-03-22 - r18163 - lavu 50.2.0 - RGB32 pixel formats
  Convert the pixel formats PIX_FMT_ARGB, PIX_FMT_RGBA, PIX_FMT_ABGR,
  PIX_FMT_BGRA, which were defined as macros, into enum PixelFormat values.
  Conversely PIX_FMT_RGB32, PIX_FMT_RGB32_1, PIX_FMT_BGR32 and
  PIX_FMT_BGR32_1 are now macros.
  avcodec_get_pix_fmt() now recognizes the "rgb32" and "bgr32" aliases.
  Re-sort the enum PixelFormat list accordingly.
  This change breaks API/ABI backward compatibility.

2009-03-22 - r18133 - lavu 50.1.0 - PIX_FMT_RGB5X5 endian variants
  Add the enum PixelFormat values:
  PIX_FMT_RGB565BE, PIX_FMT_RGB565LE, PIX_FMT_RGB555BE, PIX_FMT_RGB555LE,
  PIX_FMT_BGR565BE, PIX_FMT_BGR565LE, PIX_FMT_BGR555BE, PIX_FMT_BGR555LE.

2009-03-21 - r18116 - lavu 50.0.0  - av_random*
  The Mersenne Twister PRNG implemented through the av_random* functions
  was removed. Use the lagged Fibonacci PRNG through the av_lfg* functions
  instead.

2009-03-08 - r17869 - lavu 50.0.0  - AVFifoBuffer
  av_fifo_init, av_fifo_read, av_fifo_write and av_fifo_realloc were dropped
  and replaced by av_fifo_alloc, av_fifo_generic_read, av_fifo_generic_write
  and av_fifo_realloc2.
  In addition, the order of the function arguments of av_fifo_generic_read
  was changed to match av_fifo_generic_write.
  The AVFifoBuffer/struct AVFifoBuffer may only be used in an opaque way by
  applications, they may not use sizeof() or directly access members.

2009-03-01 - r17682 - lavf 52.31.0 - Generic metadata API
  Introduce a new metadata API (see av_metadata_get() and friends).
  The old API is now deprecated and should not be used anymore. This especially
  includes the following structure fields:
    - AVFormatContext.title
    - AVFormatContext.author
    - AVFormatContext.copyright
    - AVFormatContext.comment
    - AVFormatContext.album
    - AVFormatContext.year
    - AVFormatContext.track
    - AVFormatContext.genre
    - AVStream.language
    - AVStream.filename
    - AVProgram.provider_name
    - AVProgram.name
    - AVChapter.title