ed35b61ddbe8647690ff26444d5205e6089d801d
[libav.git] / Changelog
1 Entries are sorted chronologically from oldest to youngest within each release,
2 releases are sorted from youngest to oldest.
3
4 version 0.8.17:
5
6 - tiff: Check that there is no aliasing in pixel format selection (CVE-2014-8544)
7 - rmenc: limit packet size
8 - eamad: check for out of bounds read (CID/1257500)
9 - h264_cabac: Break infinite loops
10 - matroskadec: Fix read-after-free in matroska_read_seek() (chromium/427266)
11 - gifdec: refactor interleave end handling (CVE-2014-8547)
12 - smc: fix the bounds check (CVE-2014-8548)
13 - mmvideo: check frame dimensions (CVE-2014-8543)
14 - jvdec: check frame dimensions (CVE-2014-8542)
15 - mov: avoid a memleak when multiple stss boxes are present
16 - apetag: Fix APE tag size check
17 - x86: Only use optimizations with cmov if the CPU supports the instruction
18 - x86: Add CPU flag for the i686 cmov instruction
19
20 version 0.8.16:
21
22 - avcodec: Add more missing #includes for ff_get_buffer()
23 - ffv1dec: check that global parameters do not change in version 0/1 (CVE-2013-7020)
24 - arm: dsputil: fix overreads in put/avg_pixels functions
25 - arm: dsputil: prettify some conditional instructions in put_pixels macros
26 - arm/neon: dsputil: use correct size specifiers on vld1/vst1
27 - vp8: avoid race condition on segment map.
28 - nutdec: Remove unused and broken debug function stub
29 - h264_refs: Fix debug tprintf argument types
30 - swscale: Remove two bogus asserts
31 - elbg: Fix an assert
32 - mpegvideo: remove last_picture_ptr / h264 assert.
33 - parser: Don't use pc as context for av_dlog
34 - h264: Remove an assert on current_picture_ptr being null
35 - svq1enc: Set picture_structure correctly
36 - adpcmenc: Calculate the IMA_QT predictor without overflow
37 - ffmpeg: Clarify wording of ffmpeg --> avconv deprecation message
38 - doc: Fix syntax and logical errors in avconv stream combination example (libav/661)
39
40 version 0.8.15:
41
42 - avcodec: Introduce ff_get_buffer (CVE-2011-3935)
43 - configure: Check for -Werror parameters on clang
44 - lavf: Fix leftovers from the ff_get_buffer patch
45
46 version 0.8.14:
47
48 - vp3: Copy all 3 frames for thread updates (CVE-2011-3934)
49 - mpegts: Do not try to write a PMT larger than SECTION_SIZE (CVE-2014-2263)
50 - mpegts: Define the section length with a constant
51 - error_concealment: avoid using the picture if not fully setup (CVE-2013-0860)
52 - svq1: do not modify the input packet
53 - cdgraphics: do not return 0 from the decode function
54 - cdgraphics: switch to bytestream2 (CVE-2013-3674)
55 - huffyuvdec: check width size for yuv422p (CVE-2013-0848)
56 - mmvideo: check horizontal coordinate too (CVE-2013-3672)
57 - huffyuv: Check and propagate function return values (CVE-2013-0868)
58 - twinvq: fix out of bounds array access
59 - h264: slice-mt: check master context for valid current_picture_ptr
60 - h264: prevent theoretical infinite loop in SEI parsing (CVE-2011-3946)
61 - h264_sei: check SEI size
62 - pgssubdec: Check RLE size before copying (CVE-2013-0852)
63 - x86: Fix linking with some or all of yasm, mmx, optimizations disabled
64 - cmdutils: Conditionally compile libswscale-related bits
65 - video4linux2: Avoid a floating point exception
66 - vf_select: Drop a debug av_log with an unchecked double to enum conversion
67 - eamad: use the bytestream2 API instead of AV_RL (CVE-2013-0851)
68
69 version 0.8.13:
70
71 - lzo: Handle integer overflow
72 - sgidec: fix an incorrect backport
73
74 version 0.8.12:
75
76 - h264: set parameters from SPS whenever it changes
77 - alac: Limit max_samples_per_frame
78 - swscale: Fix an undefined behaviour
79 - apedec: do not buffer decoded samples over AVPackets (debian/744901)
80 - isom: lpcm in mov default to big endian
81 - movdec: handle 0x7fff langcode as macintosh per the specs
82 - avi: Improve non-interleaved detection (libav/666)
83 - h264: reset next_output_pic earlier in start_frame() (libav/672, debian/741240, ubuntu/1288206)
84 - tiffdec: use bytestream2 to simplify overread/overwrite protection
85 - bytestream: add bytestream2_copy_buffer() functions
86 - bytestream: add functions for accessing size of buffer
87 - movenc: allow override of "writing application" tag
88 - matroskaenc: allow override of "writing application" tag
89 - avfilter: Add missing emms_c when needed
90 - mpeg12: check scantable indices in all decode_block functions
91 - sgidec: fix buffer size check in expand_rle_row()
92 - adx: check that the offset is not negative
93 - mpegvideo: set reference/pict_type on generated reference frames
94 - h264: reset data partitioning at the beginning of each decode call
95 - h264: reset ref count if decoding the slice header fails
96 - h264: reset first_field if frame_start() fails for missing refs
97 - h264: limit allowed pred modes in ff_h264_check_intra_pred_mode() to 3
98 - h264: reject mismatching luma/chroma bit depths during sps parsing
99 - h264: check that execute_decode_slices() is not called too many times
100 - h264: do not use 422 functions for monochrome
101 - h264: reset data_partitioning if decoding the slice header for NAL_DPA fails
102 - h264_refs: make sure not to write over the bounds of the default ref list
103 - h264: check buffer size before accessing it
104 - configure: use utilities from /usr/xpg4/bin if it exists
105 - cmdutils: update copyright year to 2014.
106 - ituh263: reject b-frame with pp_time = 0
107
108 version 0.8.11:
109
110 - configure: Update freetype check to follow upstream
111 - drawtext: Drop pointless header
112 - configure: Support preprocessor macros as header names
113 - arm: hpeldsp: fix put_pixels8_y2_{,no_rnd_}armv6
114 - arm: hpeldsp: prevent overreads in armv6 asm
115 - lagarith: reallocate rgb_planes when needed
116 - lagarith: avoid infinite loop in lag_rac_refill()
117 - lagarith: pad RGB buffer by 1 byte.
118 - truemotion1: check the header size
119 - shorten: pad the internal bitstream buffer
120 - samplefmt: avoid integer overflow in av_samples_get_buffer_size()
121 - h264: Fix a typo from the previous commit
122 - h264: Lower bound check for slice offsets
123 - rpza: limit the number of blocks to the total remaining blocks in the frame
124 - Prepare for 0.8.11 Release
125 - lavf: make av_probe_input_buffer more robust
126
127 version 0.8.10:
128
129 - oggparseogm: check timing variables
130 - mathematics: remove asserts from av_rescale_rnd()
131 - vc1: Always reset numref when parsing a new frame header.
132 - h264: reset num_reorder_frames if it is invalid
133 - h264: check that an IDR NAL only contains I slices
134 - mov: Free an earlier allocated array if allocating a new one
135 - segafilm: fix leaks if reading the header fails
136 - h264_cavlc: check the size of the intra PCM data.
137 - cavs: Check for negative cbp
138 - avi: DV in AVI must be considered single stream
139 - avutil: use align == 0 for default alignment in audio sample buffer functions
140 - flashsv: Check diff_start diff_height values
141 - dsputil/pngdsp: fix signed/unsigned type in end comparison
142 - vqavideo: check chunk sizes before reading chunks
143 - avi: directly resync on DV in AVI read failure
144 - get_bits: change the failure condition in init_get_bits
145 - twinvq: Cope with gcc-4.8.2 miscompilation
146 - pthread: Avoid spurious wakeups
147 - pthread: Fix deadlock during thread initialization
148 - mpegvideo: Initialize chroma_*_shift and codec_tag even if the size is 0
149 - vc1dec: Don't decode slices when the latest slice header failed to decode
150 - vc1dec: Make sure last_picture is initialized in vc1_decode_skip_blocks
151 - r3d: Add more input value validation
152 - fraps: Make the input buffer size checks more strict
153 - svq3: Avoid a division by zero
154 - rmdec: Validate the fps value
155 - twinvqdec: Check the ibps parameter separately
156 - asfdec: Check the return value of asf_read_stream_properties
157 - mxfdec: set audio timebase to 1/samplerate
158 - pcx: Check the packet size before assuming it fits a palette
159 - rpza: Fix a buffer size check
160 - xxan: Disallow odd width
161 - xan: Only read within the data that actually was initialized
162 - xan: Use bytestream2 to limit reading to within the buffer
163 - pcx: Consume the whole packet if giving up due to missing palette
164 - pngdec: Stop trying to decode once inflate returns Z_STREAM_END
165 - mov: Make sure the read sample count is nonnegative
166 - bfi: Add some very basic sanity checks for input packet sizes
167 - bfi: Avoid divisions by zero
168 - electronicarts: Add more sanity checking for the number of channels
169 - riffdec: Add sanity checks for the sample rate
170 - mvi: Add sanity checking for the audio frame size
171 - xwma: Avoid division by zero
172 - avidec: Make sure a packet is large enough before reading its data
173 - vqf: Make sure the bitrate is in the valid range
174 - vqf: Make sure sample_rate is set to a valid value
175 - vc1dec: Undo mpegvideo initialization if unable to allocate tables
176 - vc1dec: Fix leaks in ff_vc1_decode_init_alloc_tables on errors
177 - wnv1: Make sure the input packet is large enough
178 - dca: Validate the lfe parameter
179 - rl2: Avoid a division by zero
180 - wtv: Add more sanity checks for a length read from the file
181 - segafilm: Validate the number of audio channels
182 - qpeg: Add checks for running out of rows in qpeg_decode_inter
183 - mpegaudiodec: Validate that the number of channels fits at the given offset
184 - asv1: Verify the amount of extradata
185 - idroqdec: Make sure a video stream has been allocated before returning packets
186 - rv10: Validate the dimensions set from the container
187 - xmv: Add more sanity checks for parameters read from the bitstream
188 - ffv1: Make sure at least one slice context is initialized
189 - truemotion2: Use av_freep properly in an error path
190 - eacmv: Make sure a reference frame exists before referencing it
191 - mpeg4videodec: Check the width/height in mpeg4_decode_sprite_trajectory
192 - ivi_common: Make sure color planes have been initialized
193 - oggparseogm: Convert to use bytestream2
194 - rv34: Check the return value from ff_rv34_decode_init
195 - matroskadec: Verify realaudio codec parameters
196 - mace: Make sure that the channel count is set to a valid value
197 - svq3: Check for any negative return value from ff_h264_check_intra_pred_mode
198 - vp3: Check the framerate for validity
199 - cavsdec: Make sure a sequence header has been decoded before decoding pictures
200 - sierravmd: Do sanity checking of frame sizes
201 - omadec: Properly check lengths before incrementing the position
202 - mpc8: Make sure the first stream exists before parsing the seek table
203 - mpc8: Check the seek table size parsed from the bitstream
204 - zmbvdec: Check the buffer size for uncompressed data
205 - ape: Don't allow the seektable to be omitted
206 - shorten: Break out of loop looking for fmt chunk if none is found
207 - shorten: Use a checked bytestream reader for the wave header
208 - smacker: Make sure we don't fill in huffman codes out of range
209 - smacker: Avoid integer overflow when allocating packets
210 - smacker: Don't return packets in unallocated streams
211 - dsicin: Add some basic sanity checks for fields read from the file
212 - roqvideodec: check dimensions validity
213 - qdm2: check array index before use, fix out of array accesses
214 - alsdec: check block length
215
216 version 0.8.9:
217
218 - x86: fft: Remove 3DNow! optimizations, they break FATE
219 - x86: ac3dsp: Drop mmx variant of ac3_max_msb_abs_int16
220 - aac: Check init_get_bits return value
221 - aac: return meaningful errors
222 - dsicinav: K&R formatting cosmetics
223 - mov: Seek back if overreading an individual atom
224 - vcr1: add sanity checks
225 - pictordec: pass correct context to avpriv_request_sample
226 - dsicinav: Clip the source size to the expected maximum
227 - alsdec: Clean up error paths
228 - ogg: Fix potential infinite discard loop
229 - nuv: check rtjpeg_decode_frame_yuv420 return value
230 - nuv: Reset the frame on resize
231 - nuv: Use av_fast_realloc
232 - nuv: return meaningful error codes.
233 - nuv: Pad the lzo outbuf
234 - nuv: Do not ignore lzo decompression failures
235 - oma: correctly mark and decrypt partial packets
236 - oma: check geob tag boundary
237 - oma: refactor seek function
238 - 8bps: Bound-check the input buffer
239 - rtmp: Do not misuse memcmp
240 - rtmp: rename data_size to size
241 - lavc: set the default rc_initial_buffer_occupancy (libav/222, ubuntu/1023408)
242 - 4xm: Reject not a multiple of 16 dimension
243 - 4xm: do not overread the prestream buffer
244 - 4xm: validate the buffer size before parsing it
245 - indeo: Do not reference mismatched tiles
246 - indeo: Sanitize ff_ivi_init_planes fail paths
247 - indeo: Bound-check before applying motion compensation
248 - indeo: Bound-check before applying transform
249 - indeo: reject negative array indexes
250 - indeo: Cosmetic formatting
251 - indeo: Refactor ff_ivi_init_tiles and ivi_decode_blocks
252 - indeo: Refactor ff_ivi_dec_huff_desc
253 - lavf: fix the comparison in an overflow check
254 - dv: Add a guard to not overread the ppcm array
255 - mpegvideo: Avoid 32-bit wrapping of linesize multiplications
256 - mjpegb: Detect changing number of planes in interlaced video
257 - matroskadec: Check that .lang was allocated and set before reading it
258 - ape demuxer: check for EOF in potentially long loops
259 - lavf: avoid integer overflow when estimating bitrate
260 - pictordec: break out of both decoding loops when y drops below 0
261 - ac3: Return proper error codes
262 - ac3: Clean up the error paths
263 - ac3: Do not clash with normal AVERROR
264 - dxa: Make sure the reference frame exists
265 - h261: check the mtype index
266 - segafilm: Error out on impossible packet size
267 - ogg: Always alloc the private context in vorbis_header
268 - vc1: check mb_height validity.
269 - vc1: check the source buffer in vc1_mc functions
270 - bink: Bound check the quantization matrix.
271 - xl: Make sure the width is valid
272 - alsdec: Fix the clipping range
273 - dsicinav: Bound-check the source buffer when needed
274 - mov: Do not allow updating the time scale after it has been set
275 - ac3dec: Don't consume more data than the actual input packet size
276 - indeo: Reject impossible FRAMETYPE_NULL
277 - indeo5: return proper error codes
278 - indeo4: Validate scantable dimension
279 - indeo4: Check the quantization matrix index
280 - indeo4: Do not access missing reference MV
281 - adpcm: Unbreak ima-dk4
282 - ac3dec: validate channel output mode against channel count
283 - dca: Respect the current limits in the downmixing capabilities
284 - dca: Error out on missing DSYNC
285 - pcm: always use codec->id instead of codec_id
286 - mlpdec: Do not set invalid context in read_restart_header
287 - pcx: Do not overread source buffer in pcx_rle_decode
288 - wmavoice: conceal clearly corrupted blocks
289 - iff: Do not read over the source buffer
290 - qdm2: Conceal broken samples
291 - qdm2: refactor joined stereo support
292 - adpcm: Write the correct number of samples for ima-dk4
293 - imc: Catch a division by zero
294 - atrac3: Error on impossible encoding/channel combinations
295 - atrac3: set the getbits context the right buffer_end
296 - atrac3: fix error handling
297 - qdm2: check and reset dithering index per channel
298 - westwood_vqa: do not free extradata on error in read_header
299 - vqavideo: check the version
300 - rmdec: Use the AVIOContext given as parameter in rm_read_metadata()
301 - avio: Handle AVERROR_EOF in the same way as the return value 0
302 - wtv: Mark attachment with a negative stream id
303 - avidec: Let the inner dv demuxer take care of discarding
304 - swfdec: do better validation of tag length
305
306
307 version 0.8.8:
308
309 - kmvc: Clip pixel position to valid range
310 - kmvc: use fixed sized arrays in the context
311 - indeo: use a typedef for the mc function pointer
312 - lavc: check for overflow in init_get_bits
313 - mjpegdec: properly report unsupported disabled features
314 - jpegls: return meaningful errors
315 - jpegls: factorize return paths
316 - jpegls: check the scan offset
317 - wavpack: validate samples size parsed in wavpack_decode_block
318 - ljpeg: use the correct number of components in yuv
319 - mjpeg: Validate sampling factors
320 - mjpegdec: validate parameters in mjpeg_decode_scan_progressive_ac
321 - wavpack: check packet size early
322 - wavpack: return meaningful errors
323 - apetag: use int64_t for filesize
324 - tiff: do not overread the source buffer
325 - Prepare for 0.8.8 Release
326 - smacker: fix an off by one in huff.length computation
327 - smacker: check the return value of smacker_decode_tree
328 - smacker: pad the extradata allocation
329 - smacker: check frame size validity
330 - vmdav: convert to bytestream2
331 - 4xm: don't rely on get_buffer() initializing the frame.
332 - 4xm: check the return value of read_huffman_tables().
333 - 4xm: use the correct logging context
334 - 4xm: reject frames not compatible with the declared version
335 - 4xm: check bitstream_size boundary before using it
336 - 4xm: do not overread the source buffer in decode_p_block
337
338
339 version 0.8.7:
340
341 - avfiltergraph: check for sws opts being non-NULL before using them
342 - bmv: check for len being valid in bmv_decode_frame()
343 - dfa: check for invalid access in decode_wdlt()
344 - indeo3: check motion vectors
345 - indeo3: fix data size check
346 - indeo3: switch parsing the header to bytestream2
347 - lavf: make sure stream probe data gets freed.
348 - oggdec: fix faulty cleanup prototype
349 - oma: Validate sample rates
350 - qdm2: check that the FFT size is a power of 2
351 - rv10: check that extradata is large enough
352 - xmv: check audio track parameters validity
353 - xmv: do not leak memory in the error paths in xmv_read_header()
354 - aac: check the maximum number of channels
355 - indeo3: fix off by one in MV validity check, Bug #503
356 - id3v2: check for end of file while unescaping tags
357 - wav: Always seek to an even offset, Bug #500, LP: #1174737
358 - proresdec: support mixed interlaced/non-interlaced content
359
360 version 0.8.6:
361
362 - Build system fixes: Fix Altivec detection (Debian Bug#701710) and fix
363 CAF demuxer dependencies
364 - Various minor documentation fixes
365 - atrac3: avoid oversized shifting in decode_bytes()
366 - dsputil: fix invalid array indexing
367 - flacdec: simplify bounds checking in flac_probe() to avoid undefined behavior.
368 - h264: check for luma and chroma bit depth being equal (CVE-2013-2277)
369 - iff: validate CMAP palette size (CVE-2013-2495)
370 - indeo3: initialise pixel planes on allocation
371 - ivi_common: do not call MC for intra frames when dc_transform is unset
372 - lavf: fix arithmetic overflows in avformat_seek_file()
373 - lzo: fix overflow checking in copy_backptr()
374 - matroskadec: request a read buffer for the wav header
375 - mp3: exit on parsing error in mp_decode_frame
376 - msrledec: convert to bytestream2 API and add proper bounds checking (CVE-2013-2496)
377 - oggdec: make sure the private parse data is cleaned up
378 - parser: fix large overreads
379 - png: use av_mallocz_array() for the zlib zalloc function, avoids accessing uninitialized memory
380 - pthread: set the frame properties from the thread context, not user
381 - roqvideodec: fix a potential infinite loop in roqvideo_decode_frame()
382 - update year to 2013
383 - various potentially security relevant fixes to the shorten decoder
384 - vmdaudio: fix invalid reads when packet size is not a multiple of chunk size
385 - vorbisdec: Error on bark_map_size equal to 0 (CVE-2013-0894)
386 - wmadec: require block_align to be set
387 - wmaprodec: require block_align to be set, avoids infinite loop
388 - wmaprodec: return an error, not 0, when the input is too small
389 - xxan: fix invalid memory access in xan_decode_frame_type0()
390
391
392 version 0.8.5:
393
394 - Several bugs and crashes have been fixed in the following codecs:
395 Indeo 4 (CVE-2012-2791), VP5/VP6 (CVE-2012-2783), Indeo 3 (CVE-2012-2804),
396 MPEG-1/2 (CVE-2012-2803), MP3 (CVE-2012-2797), AAC (CVE-2012-5144),
397 AC-3 (CVE-2012-2802), AVS (CVE-2012-2801), DFA (CVE-2012-2798)
398
399 - backported hardening patches for h264 and svq3
400
401 - smaller bug fixes in id3v2 (Bug 395), RTSP, option handling, ALAC,
402 Flash Screen Video
403
404 - unconditionally enable PIC on PowerPC
405
406 - x86: Require an assembler able to cope with AVX instructions
407
408 - fix a serious memory leak on broken Ogg files
409
410
411 version 0.8.4:
412
413 - Several bugs and crashes have been fixed in the following codecs:
414 h264 (Bug 118), vc1dec (CVE-2012-2796), sipr, bmpdec (bug 367), alsdec
415 (CVE-2012-2775), rv34/rv40 (CVE-2012-2772), indeo3/indeo4
416 (CVE-2012-2776, CVE-2012-2779, CVE-2012-2787, CVE-2012-2794,
417 CVE-2012-2800), vorbisenc, vorbisdec (Bug 277), snow, ac3dec
418 (CVE-2012-2802), avsdec (CVE-2012-2801), dfa (CVE-2012-2786,
419 CVE-2012-2798), lagrith (CVE-2012-2793), wmaprodec (CVE-2012-2789 &
420 Bug 327), avidec (CVE-2012-2788, CVE-2012-2790), cavsdec
421 (CVE-2012-2777, CVE-2012-2784), wav (Bug 379), yuff4mpeg (Bug 373),
422 mpegaudio, tiffenc, smacker (Bug 265).
423
424 - smaller bug fixes in avconv (Bug 352)
425
426 - fix lt() and lte() in function evaluator
427
428 - fix segfault in avformat_open_input()
429
430 - fix segfault in golomb decoder (bug 310)
431
432 - fix segfault (double free) in libavfilter
433
434 - convert dfa decoder to bytestream2 API to protect from overreads
435
436 - bugfix in vf_pad/scale filter (Bug 203 & 245)
437
438 - lavc: remove stats_out and stats_in from the options table. (Bug 380)
439
440
441 version 0.8.3:
442
443 - Several bugs and crashes have been fixed in the following codecs: PNG,
444 Electronic Arts TQI, H.264 (CVE-2012-0851) and H.263 (CVE-2011-3937)
445
446
447 version 0.8.2:
448
449 - Several bugs and crashes have been fixed in the following codecs: AAC,
450 APE, H.263, H.264, Indeo 4, Mimic, MJPEG, Motion Pixels Video, RAW,
451 TTA, VC1, VQA, WMA Voice, vqavideo (CVE-2012-0947).
452
453 - Several bugs and crashes have been fixed in the following formats:
454 ASF, ID3v2, MOV, xWMA
455
456 - This release additionally updates the following codecs to the
457 bytestream2 API, and therefore benefit from additional overflow
458 checks: truemotion2, utvideo, vqavideo
459
460
461 version 0.8.1:
462
463 - Several bugs and crashes have been fixed in the following codecs: AAC,
464 AC-3, ADPCM, AMR (both NB and WB), ATRAC3, CAVC, Cook, camstudio, DCA,
465 DPCM, DSI CIN, DV, EA TGQ, FLAC, fraps, G.722 (both encoder and
466 decoder), H.264, huvffyuv, BB JV decoder, Indeo 3, KGV1, LCL, the
467 libx264 wrapper, MJPEG, mp3on4, Musepack, MPEG1/2, PNG, QDM2, Qt RLE,
468 ROQ, RV10, RV30/RV34/RV40, shorten, smacker, subrip, SVQ3, TIFF,
469 Truemotion2, TTA, VC1, VMware Screen codec, Vorbis, VP5, VP6, WMA,
470 Westwood SNDx, XXAN.
471
472 - This release additionally updates the following codecs to the
473 bytestream2 API, and therefore benefit from additional overflow
474 checks: XXAN, ALG MM, TQG, SMC, Qt SMC, ROQ, PNG
475
476 - Several bugs and crashes have been fixed in the following formats:
477 AIFF, ASF, DV, Matroska, NSV, MOV, MPEG-TS, Smacker, Sony OpenMG, RM,
478 SWF.
479
480 - Libswscale has an potential overflow for large image size fixed.
481
482 - The following APIs have been added:
483
484 avcodec_is_open()
485 avformat_get_riff_video_tags()
486 avformat_get_riff_audio_tags()
487
488 Please see the file doc/APIchanges and the Doxygen documentation for
489 further information.
490
491
492 version 0.8:
493
494 - GSM audio parser
495 - SMJPEG muxer
496
497
498 version 0.8_beta2:
499
500 - Automatic thread count based on detection number of (available) CPU cores
501 - Deprecate libpostproc. If desired, the switch --enable-postproc will
502 enable it but it may be removed in a later Libav release.
503 - rv34: frame-level multi-threading
504 - optimized iMDCT transform on x86 using SSE for for mpegaudiodec
505
506
507 version 0.8_beta1:
508
509 - BWF muxer
510 - Flash Screen Video 2 decoder
511 - ffplay/ffprobe/ffserver renamed to avplay/avprobe/avserver
512 - ffmpeg deprecated, added avconv, which is almost the same for now, except
513 for a few incompatible changes in the options, which will hopefully make them
514 easier to use. The changes are:
515 * The options placement is now strictly enforced! While in theory the
516 options for ffmpeg should be given in [input options] -i INPUT [output
517 options] OUTPUT order, in practice it was possible to give output options
518 before the -i and it mostly worked. Except when it didn't - the behavior was
519 a bit inconsistent. In avconv, it is not possible to mix input and output
520 options. All non-global options are reset after an input or output filename.
521 * All per-file options are now truly per-file - they apply only to the next
522 input or output file and specifying different values for different files
523 will now work properly (notably -ss and -t options).
524 * All per-stream options are now truly per-stream - it is possible to
525 specify which stream(s) should a given option apply to. See the Stream
526 specifiers section in the avconv manual for details.
527 * In ffmpeg some options (like -newvideo/-newaudio/...) are irregular in the
528 sense that they're specified after the output filename instead of before,
529 like all other options. In avconv this irregularity is removed, all options
530 apply to the next input or output file.
531 * -newvideo/-newaudio/-newsubtitle options were removed. Not only were they
532 irregular and highly confusing, they were also redundant. In avconv the -map
533 option will create new streams in the output file and map input streams to
534 them. E.g. avconv -i INPUT -map 0 OUTPUT will create an output stream for
535 each stream in the first input file.
536 * The -map option now has slightly different and more powerful syntax:
537 + Colons (':') are used to separate file index/stream type/stream index
538 instead of dots. Comma (',') is used to separate the sync stream instead
539 of colon.. This is done for consistency with other options.
540 + It's possible to specify stream type. E.g. -map 0:a:2 creates an
541 output stream from the third input audio stream.
542 + Omitting the stream index now maps all the streams of the given type,
543 not just the first. E.g. -map 0:s creates output streams for all the
544 subtitle streams in the first input file.
545 + Since -map can now match multiple streams, negative mappings were
546 introduced. Negative mappings disable some streams from an already
547 defined map. E.g. '-map 0 -map -0:a:1' means 'create output streams for
548 all the stream in the first input file, except for the second audio
549 stream'.
550 * There is a new option -c (or -codec) for choosing the decoder/encoder to
551 use, which allows to precisely specify target stream(s) consistently with
552 other options. E.g. -c:v lib264 sets the codec for all video streams, -c:a:0
553 libvorbis sets the codec for the first audio stream and -c copy copies all
554 the streams without reencoding. Old -vcodec/-acodec/-scodec options are now
555 aliases to -c:v/a/s
556 * It is now possible to precisely specify which stream should an AVOption
557 apply to. E.g. -b:v:0 2M sets the bitrate for the first video stream, while
558 -b:a 128k sets the bitrate for all audio streams. Note that the old -ab 128k
559 syntax is deprecated and will stop working soon.
560 * -map_chapters now takes only an input file index and applies to the next
561 output file. This is consistent with how all the other options work.
562 * -map_metadata now takes only an input metadata specifier and applies to
563 the next output file. Output metadata specifier is now part of the option
564 name, similarly to the AVOptions/map/codec feature above.
565 * -metadata can now be used to set metadata on streams and chapters, e.g.
566 -metadata:s:1 language=eng sets the language of the first stream to 'eng'.
567 This made -vlang/-alang/-slang options redundant, so they were removed.
568 * -qscale option now uses stream specifiers and applies to all streams, not
569 just video. I.e. plain -qscale number would now apply to all streams. To get
570 the old behavior, use -qscale:v. Also there is now a shortcut -q for -qscale
571 and -aq is now an alias for -q:a.
572 * -vbsf/-absf/-sbsf options were removed and replaced by a -bsf option which
573 uses stream specifiers. Use -bsf:v/a/s instead of the old options.
574 * -itsscale option now uses stream specifiers, so its argument is only the
575 scale parameter.
576 * -intra option was removed, use -g 0 for the same effect.
577 * -psnr option was removed, use -flags +psnr for the same effect.
578 * -vf option is now an alias to the new -filter option, which uses stream specifiers.
579 * -vframes/-aframes/-dframes options are now aliases to the new -frames option.
580 * -vtag/-atag/-stag options are now aliases to the new -tag option.
581 - XMV demuxer
582 - Windows Media Image decoder
583 - LATM muxer/demuxer
584 - showinfo filter
585 - split filter
586 - libcdio-paranoia input device for audio CD grabbing
587 - select filter
588 - Apple ProRes decoder
589 - CELT in Ogg demuxing
590 - VC-1 interlaced decoding
591 - lut, lutrgb, and lutyuv filters
592 - boxblur filter
593 - Ut Video decoder
594 - Speex encoding via libspeex
595 - 4:2:2 H.264 decoding support
596 - 4:2:2 and 4:4:4 H.264 encoding with libx264
597 - Pulseaudio input device
598 - replacement Indeo 3 decoder
599 - TLS/SSL and HTTPS protocol support
600 - AVOptions API rewritten and documented
601 - most of CODEC_FLAG2_*, some CODEC_FLAG_* and many codec-specific fields in
602 AVCodecContext deprecated. Codec private options should be used instead.
603 - Properly working defaults in libx264 wrapper, support for native presets.
604 - Encrypted OMA files support
605 - Discworld II BMV decoding support
606 - VBLE Decoder
607 - OS X Video Decoder Acceleration (VDA) support
608 - CRI ADX audio format muxer and demuxer
609 - Playstation Portable PMP format demuxer
610 - PCM format support in OMA demuxer
611 - CLJR encoder
612 - Dxtory capture format decoder
613 - v410 QuickTime uncompressed 4:4:4 10-bit encoder and decoder
614 - OpenMG Audio muxer
615 - Simple segmenting muxer
616 - Indeo 4 decoder
617 - SMJPEG demuxer
618
619
620 version 0.7:
621
622 - E-AC-3 audio encoder
623 - ac3enc: add channel coupling support
624 - floating-point sample format support for (E-)AC-3, DCA, AAC, Vorbis decoders
625 - H.264/MPEG frame-level multithreading
626 - av_metadata_* functions renamed to av_dict_* and moved to libavutil
627 - 4:4:4 H.264 decoding support
628 - 10-bit H.264 optimizations for x86
629 - bump libswscale for recently reported ABI break
630
631
632 version 0.7_beta2:
633
634 - VP8 frame-level multithreading
635 - NEON optimizations for VP8
636 - removed a lot of deprecated API cruft
637 - FFT and IMDCT optimizations for AVX (Sandy Bridge) processors
638 - DPX image encoder
639 - SMPTE 302M AES3 audio decoder
640 - ffmpeg no longer quits after the 'q' key is pressed; use 'ctrl+c' instead
641 - 9bit and 10bit per sample support in the H.264 decoder
642
643
644 version 0.7_beta1:
645
646 - WebM support in Matroska de/muxer
647 - low overhead Ogg muxing
648 - MMS-TCP support
649 - VP8 de/encoding via libvpx
650 - Demuxer for On2's IVF format
651 - Pictor/PC Paint decoder
652 - HE-AAC v2 decoder
653 - libfaad2 wrapper removed
654 - DTS-ES extension (XCh) decoding support
655 - native VP8 decoder
656 - RTSP tunneling over HTTP
657 - RTP depacketization of SVQ3
658 - -strict inofficial replaced by -strict unofficial
659 - ffplay -exitonkeydown and -exitonmousedown options added
660 - native GSM / GSM MS decoder
661 - RTP depacketization of QDM2
662 - ANSI/ASCII art playback system
663 - Lego Mindstorms RSO de/muxer
664 - SubRip subtitle file muxer and demuxer
665 - Chinese AVS encoding via libxavs
666 - ffprobe -show_packets option added
667 - RTP packetization of Theora and Vorbis
668 - RTP depacketization of MP4A-LATM
669 - RTP packetization and depacketization of VP8
670 - hflip filter
671 - Apple HTTP Live Streaming demuxer
672 - a64 codec
673 - MMS-HTTP support
674 - G.722 ADPCM audio encoder/decoder
675 - R10k video decoder
676 - ocv_smooth filter
677 - frei0r wrapper filter
678 - change crop filter syntax to width:height:x:y
679 - make the crop filter accept parametric expressions
680 - make ffprobe accept AVFormatContext options
681 - yadif filter
682 - blackframe filter
683 - Demuxer for Leitch/Harris' VR native stream format (LXF)
684 - RTP depacketization of the X-QT QuickTime format
685 - SAP (Session Announcement Protocol, RFC 2974) muxer and demuxer
686 - cropdetect filter
687 - ffmpeg -crop* options removed
688 - transpose filter added
689 - ffmpeg -force_key_frames option added
690 - demuxer for receiving raw rtp:// URLs without an SDP description
691 - single stream LATM/LOAS decoder
692 - setpts filter added
693 - Win64 support for optimized x86 assembly functions
694 - MJPEG/AVI1 to JPEG/JFIF bitstream filter
695 - ASS subtitle encoder and decoder
696 - IEC 61937 encapsulation for E-AC-3, TrueHD, DTS-HD (for HDMI passthrough)
697 - overlay filter added
698 - rename aspect filter to setdar, and pixelaspect to setsar
699 - IEC 61937 demuxer
700 - Mobotix .mxg demuxer
701 - frei0r source added
702 - hqdn3d filter added
703 - RTP depacketization of QCELP
704 - FLAC parser added
705 - gradfun filter added
706 - AMR-WB decoder
707 - replace the ocv_smooth filter with a more generic ocv filter
708 - Windows Televison (WTV) demuxer
709 - FFmpeg metadata format muxer and demuxer
710 - SubRip (srt) subtitle decoder
711 - floating-point AC-3 encoder added
712 - Lagarith decoder
713 - ffmpeg -copytb option added
714 - IVF muxer added
715 - Wing Commander IV movies decoder added
716 - movie source added
717 - Bink version 'b' audio and video decoder
718 - Bitmap Brothers JV playback system
719 - Apple HTTP Live Streaming protocol handler
720 - sndio support for playback and record
721 - Linux framebuffer input device added
722 - Chronomaster DFA decoder
723 - Mobotix MxPEG decoder
724 - AAC encoding via libvo-aacenc
725 - AMR-WB encoding via libvo-amrwbenc
726 - xWMA demuxer
727 - fieldorder video filter added
728
729
730 version 0.6:
731
732 - PB-frame decoding for H.263
733 - deprecated vhook subsystem removed
734 - deprecated old scaler removed
735 - VQF demuxer
736 - Alpha channel scaler
737 - PCX encoder
738 - RTP packetization of H.263
739 - RTP packetization of AMR
740 - RTP depacketization of Vorbis
741 - CorePNG decoding support
742 - Cook multichannel decoding support
743 - introduced avlanguage helpers in libavformat
744 - 8088flex TMV demuxer and decoder
745 - per-stream language-tags extraction in asfdec
746 - V210 decoder and encoder
747 - remaining GPL parts in AC-3 decoder converted to LGPL
748 - QCP demuxer
749 - SoX native format muxer and demuxer
750 - AMR-NB decoding/encoding, AMR-WB decoding via OpenCORE libraries
751 - DPX image decoder
752 - Electronic Arts Madcow decoder
753 - DivX (XSUB) subtitle encoder
754 - nonfree libamr support for AMR-NB/WB decoding/encoding removed
755 - experimental AAC encoder
756 - RTP depacketization of ASF and RTSP from WMS servers
757 - RTMP support in libavformat
758 - noX handling for OPT_BOOL X options
759 - Wave64 demuxer
760 - IEC-61937 compatible Muxer
761 - TwinVQ decoder
762 - Bluray (PGS) subtitle decoder
763 - LPCM support in MPEG-TS (HDMV RID as found on Blu-ray disks)
764 - WMA Pro decoder
765 - Core Audio Format demuxer
766 - Atrac1 decoder
767 - MD STUDIO audio demuxer
768 - RF64 support in WAV demuxer
769 - MPEG-4 Audio Lossless Coding (ALS) decoder
770 - -formats option split into -formats, -codecs, -bsfs, and -protocols
771 - IV8 demuxer
772 - CDG demuxer and decoder
773 - R210 decoder
774 - Auravision Aura 1 and 2 decoders
775 - Deluxe Paint Animation playback system
776 - SIPR decoder
777 - Adobe Filmstrip muxer and demuxer
778 - RTP depacketization of H.263
779 - Bink demuxer and audio/video decoders
780 - enable symbol versioning by default for linkers that support it
781 - IFF PBM/ILBM bitmap decoder
782 - concat protocol
783 - Indeo 5 decoder
784 - RTP depacketization of AMR
785 - WMA Voice decoder
786 - ffprobe tool
787 - AMR-NB decoder
788 - RTSP muxer
789 - HE-AAC v1 decoder
790 - Kega Game Video (KGV1) decoder
791 - VorbisComment writing for FLAC, Ogg FLAC and Ogg Speex files
792 - RTP depacketization of Theora
793 - HTTP Digest authentication
794 - RTMP/RTMPT/RTMPS/RTMPE/RTMPTE protocol support via librtmp
795 - Psygnosis YOP demuxer and video decoder
796 - spectral extension support in the E-AC-3 decoder
797 - unsharp video filter
798 - RTP hinting in the mov/3gp/mp4 muxer
799 - Dirac in Ogg demuxing
800 - seek to keyframes in Ogg
801 - 4:2:2 and 4:4:4 Theora decoding
802 - 35% faster VP3/Theora decoding
803 - faster AAC decoding
804 - faster H.264 decoding
805 - RealAudio 1.0 (14.4K) encoder
806
807
808 version 0.5:
809
810 - DV50 AKA DVCPRO50 encoder, decoder, muxer and demuxer
811 - TechSmith Camtasia (TSCC) video decoder
812 - IBM Ultimotion (ULTI) video decoder
813 - Sierra Online audio file demuxer and decoder
814 - Apple QuickDraw (qdrw) video decoder
815 - Creative ADPCM audio decoder (16 bits as well as 8 bits schemes)
816 - Electronic Arts Multimedia (WVE/UV2/etc.) file demuxer
817 - Miro VideoXL (VIXL) video decoder
818 - H.261 video encoder
819 - QPEG video decoder
820 - Nullsoft Video (NSV) file demuxer
821 - Shorten audio decoder
822 - LOCO video decoder
823 - Apple Lossless Audio Codec (ALAC) decoder
824 - Winnov WNV1 video decoder
825 - Autodesk Animator Studio Codec (AASC) decoder
826 - Indeo 2 video decoder
827 - Fraps FPS1 video decoder
828 - Snow video encoder/decoder
829 - Sonic audio encoder/decoder
830 - Vorbis audio decoder
831 - Macromedia ADPCM decoder
832 - Duck TrueMotion 2 video decoder
833 - support for decoding FLX and DTA extensions in FLIC files
834 - H.264 custom quantization matrices support
835 - ffserver fixed, it should now be usable again
836 - QDM2 audio decoder
837 - Real Cooker audio decoder
838 - TrueSpeech audio decoder
839 - WMA2 audio decoder fixed, now all files should play correctly
840 - RealAudio 14.4 and 28.8 decoders fixed
841 - JPEG-LS decoder
842 - build system improvements
843 - tabs and trailing whitespace removed from the codebase
844 - CamStudio video decoder
845 - AIFF/AIFF-C audio format, encoding and decoding
846 - ADTS AAC file reading and writing
847 - Creative VOC file reading and writing
848 - American Laser Games multimedia (*.mm) playback system
849 - Zip Motion Blocks Video decoder
850 - improved Theora/VP3 decoder
851 - True Audio (TTA) decoder
852 - AVS demuxer and video decoder
853 - JPEG-LS encoder
854 - Smacker demuxer and decoder
855 - NuppelVideo/MythTV demuxer and RTjpeg decoder
856 - KMVC decoder
857 - MPEG-2 intra VLC support
858 - MPEG-2 4:2:2 encoder
859 - Flash Screen Video decoder
860 - GXF demuxer
861 - Chinese AVS decoder
862 - GXF muxer
863 - MXF demuxer
864 - VC-1/WMV3/WMV9 video decoder
865 - MacIntel support
866 - AVISynth support
867 - VMware video decoder
868 - VP5 video decoder
869 - VP6 video decoder
870 - WavPack lossless audio decoder
871 - Targa (.TGA) picture decoder
872 - Vorbis audio encoder
873 - Delphine Software .cin demuxer/audio and video decoder
874 - Tiertex .seq demuxer/video decoder
875 - MTV demuxer
876 - TIFF picture encoder and decoder
877 - GIF picture decoder
878 - Intel Music Coder decoder
879 - Zip Motion Blocks Video encoder
880 - Musepack decoder
881 - Flash Screen Video encoder
882 - Theora encoding via libtheora
883 - BMP encoder
884 - WMA encoder
885 - GSM-MS encoder and decoder
886 - DCA decoder
887 - DXA demuxer and decoder
888 - DNxHD decoder
889 - Gamecube movie (.THP) playback system
890 - Blackfin optimizations
891 - Interplay C93 demuxer and video decoder
892 - Bethsoft VID demuxer and video decoder
893 - CRYO APC demuxer
894 - Atrac3 decoder
895 - V.Flash PTX decoder
896 - RoQ muxer, RoQ audio encoder
897 - Renderware TXD demuxer and decoder
898 - extern C declarations for C++ removed from headers
899 - sws_flags command line option
900 - codebook generator
901 - RoQ video encoder
902 - QTRLE encoder
903 - OS/2 support removed and restored again
904 - AC-3 decoder
905 - NUT muxer
906 - additional SPARC (VIS) optimizations
907 - Matroska muxer
908 - slice-based parallel H.264 decoding
909 - Monkey's Audio demuxer and decoder
910 - AMV audio and video decoder
911 - DNxHD encoder
912 - H.264 PAFF decoding
913 - Nellymoser ASAO decoder
914 - Beam Software SIFF demuxer and decoder
915 - libvorbis Vorbis decoding removed in favor of native decoder
916 - IntraX8 (J-Frame) subdecoder for WMV2 and VC-1
917 - Ogg (Theora, Vorbis and FLAC) muxer
918 - The "device" muxers and demuxers are now in a new libavdevice library
919 - PC Paintbrush PCX decoder
920 - Sun Rasterfile decoder
921 - TechnoTrend PVA demuxer
922 - Linux Media Labs MPEG-4 (LMLM4) demuxer
923 - AVM2 (Flash 9) SWF muxer
924 - QT variant of IMA ADPCM encoder
925 - VFW grabber
926 - iPod/iPhone compatible mp4 muxer
927 - Mimic decoder
928 - MSN TCP Webcam stream demuxer
929 - RL2 demuxer / decoder
930 - IFF demuxer
931 - 8SVX audio decoder
932 - non-recursive Makefiles
933 - BFI demuxer
934 - MAXIS EA XA (.xa) demuxer / decoder
935 - BFI video decoder
936 - OMA demuxer
937 - MLP/TrueHD decoder
938 - Electronic Arts CMV decoder
939 - Motion Pixels Video decoder
940 - Motion Pixels MVI demuxer
941 - removed animated GIF decoder/demuxer
942 - D-Cinema audio muxer
943 - Electronic Arts TGV decoder
944 - Apple Lossless Audio Codec (ALAC) encoder
945 - AAC decoder
946 - floating point PCM encoder/decoder
947 - MXF muxer
948 - DV100 AKA DVCPRO HD decoder and demuxer
949 - E-AC-3 support added to AC-3 decoder
950 - Nellymoser ASAO encoder
951 - ASS and SSA demuxer and muxer
952 - liba52 wrapper removed
953 - SVQ3 watermark decoding support
954 - Speex decoding via libspeex
955 - Electronic Arts TGQ decoder
956 - RV40 decoder
957 - QCELP / PureVoice decoder
958 - RV30 decoder
959 - hybrid WavPack support
960 - R3D REDCODE demuxer
961 - ALSA support for playback and record
962 - Electronic Arts TQI decoder
963 - OpenJPEG based JPEG 2000 decoder
964 - NC (NC4600) camera file demuxer
965 - Gopher client support
966 - MXF D-10 muxer
967 - generic metadata API
968
969
970 version 0.4.9-pre1:
971
972 - DV encoder, DV muxer
973 - Microsoft RLE video decoder
974 - Microsoft Video-1 decoder
975 - Apple Animation (RLE) decoder
976 - Apple Graphics (SMC) decoder
977 - Apple Video (RPZA) decoder
978 - Cinepak decoder
979 - Sega FILM (CPK) file demuxer
980 - Westwood multimedia support (VQA & AUD files)
981 - Id Quake II CIN playback support
982 - 8BPS video decoder
983 - FLIC playback support
984 - RealVideo 2.0 (RV20) decoder
985 - Duck TrueMotion v1 (DUCK) video decoder
986 - Sierra VMD demuxer and video decoder
987 - MSZH and ZLIB decoder support
988 - SVQ1 video encoder
989 - AMR-WB support
990 - PPC optimizations
991 - rate distortion optimal cbp support
992 - rate distorted optimal ac prediction for MPEG-4
993 - rate distorted optimal lambda->qp support
994 - AAC encoding with libfaac
995 - Sunplus JPEG codec (SP5X) support
996 - use Lagrange multipler instead of QP for ratecontrol
997 - Theora/VP3 decoding support
998 - XA and ADX ADPCM codecs
999 - export MPEG-2 active display area / pan scan
1000 - Add support for configuring with IBM XLC
1001 - floating point AAN DCT
1002 - initial support for zygo video (not complete)
1003 - RGB ffv1 support
1004 - new audio/video parser API
1005 - av_log() system
1006 - av_read_frame() and av_seek_frame() support
1007 - missing last frame fixes
1008 - seek by mouse in ffplay
1009 - noise reduction of DCT coefficients
1010 - H.263 OBMC & 4MV support
1011 - H.263 alternative inter vlc support
1012 - H.263 loop filter
1013 - H.263 slice structured mode
1014 - interlaced DCT support for MPEG-2 encoding
1015 - stuffing to stay above min_bitrate
1016 - MB type & QP visualization
1017 - frame stepping for ffplay
1018 - interlaced motion estimation
1019 - alternate scantable support
1020 - SVCD scan offset support
1021 - closed GOP support
1022 - SSE2 FDCT
1023 - quantizer noise shaping
1024 - G.726 ADPCM audio codec
1025 - MS ADPCM encoding
1026 - multithreaded/SMP motion estimation
1027 - multithreaded/SMP encoding for MPEG-1/MPEG-2/MPEG-4/H.263
1028 - multithreaded/SMP decoding for MPEG-2
1029 - FLAC decoder
1030 - Metrowerks CodeWarrior suppport
1031 - H.263+ custom pcf support
1032 - nicer output for 'ffmpeg -formats'
1033 - Matroska demuxer
1034 - SGI image format, encoding and decoding
1035 - H.264 loop filter support
1036 - H.264 CABAC support
1037 - nicer looking arrows for the motion vector visualization
1038 - improved VCD support
1039 - audio timestamp drift compensation
1040 - MPEG-2 YUV 422/444 support
1041 - polyphase kaiser windowed sinc and blackman nuttall windowed sinc audio resample
1042 - better image scaling
1043 - H.261 support
1044 - correctly interleave packets during encoding
1045 - VIS optimized motion compensation
1046 - intra_dc_precision>0 encoding support
1047 - support reuse of motion vectors/MB types/field select values of the source video
1048 - more accurate deblock filter
1049 - padding support
1050 - many optimizations and bugfixes
1051 - FunCom ISS audio file demuxer and according ADPCM decoding
1052
1053
1054 version 0.4.8:
1055
1056 - MPEG-2 video encoding (Michael)
1057 - Id RoQ playback subsystem (Mike Melanson and Tim Ferguson)
1058 - Wing Commander III Movie (.mve) file playback subsystem (Mike Melanson
1059 and Mario Brito)
1060 - Xan DPCM audio decoder (Mario Brito)
1061 - Interplay MVE playback subsystem (Mike Melanson)
1062 - Duck DK3 and DK4 ADPCM audio decoders (Mike Melanson)
1063
1064
1065 version 0.4.7:
1066
1067 - RealAudio 1.0 (14_4) and 2.0 (28_8) native decoders. Author unknown, code from mplayerhq
1068 (originally from public domain player for Amiga at http://www.honeypot.net/audio)
1069 - current version now also compiles with older GCC (Fabrice)
1070 - 4X multimedia playback system including 4xm file demuxer (Mike
1071 Melanson), and 4X video and audio codecs (Michael)
1072 - Creative YUV (CYUV) decoder (Mike Melanson)
1073 - FFV1 codec (our very simple lossless intra only codec, compresses much better
1074 than HuffYUV) (Michael)
1075 - ASV1 (Asus), H.264, Intel indeo3 codecs have been added (various)
1076 - tiny PNG encoder and decoder, tiny GIF decoder, PAM decoder (PPM with
1077 alpha support), JPEG YUV colorspace support. (Fabrice Bellard)
1078 - ffplay has been replaced with a newer version which uses SDL (optionally)
1079 for multiplatform support (Fabrice)
1080 - Sorenson Version 3 codec (SVQ3) support has been added (decoding only) - donated
1081 by anonymous
1082 - AMR format has been added (Johannes Carlsson)
1083 - 3GP support has been added (Johannes Carlsson)
1084 - VP3 codec has been added (Mike Melanson)
1085 - more MPEG-1/2 fixes
1086 - better multiplatform support, MS Visual Studio fixes (various)
1087 - AltiVec optimizations (Magnus Damn and others)
1088 - SH4 processor support has been added (BERO)
1089 - new public interfaces (avcodec_get_pix_fmt) (Roman Shaposhnick)
1090 - VOB streaming support (Brian Foley)
1091 - better MP3 autodetection (Andriy Rysin)
1092 - qpel encoding (Michael)
1093 - 4mv+b frames encoding finally fixed (Michael)
1094 - chroma ME (Michael)
1095 - 5 comparison functions for ME (Michael)
1096 - B-frame encoding speedup (Michael)
1097 - WMV2 codec (unfinished - Michael)
1098 - user specified diamond size for EPZS (Michael)
1099 - Playstation STR playback subsystem, still experimental (Mike and Michael)
1100 - ASV2 codec (Michael)
1101 - CLJR decoder (Alex)
1102
1103 .. And lots more new enhancements and fixes.
1104
1105
1106 version 0.4.6:
1107
1108 - completely new integer only MPEG audio layer 1/2/3 decoder rewritten
1109 from scratch
1110 - Recoded DCT and motion vector search with gcc (no longer depends on nasm)
1111 - fix quantization bug in AC3 encoder
1112 - added PCM codecs and format. Corrected WAV/AVI/ASF PCM issues
1113 - added prototype ffplay program
1114 - added GOB header parsing on H.263/H.263+ decoder (Juanjo)
1115 - bug fix on MCBPC tables of H.263 (Juanjo)
1116 - bug fix on DC coefficients of H.263 (Juanjo)
1117 - added Advanced Prediction Mode on H.263/H.263+ decoder (Juanjo)
1118 - now we can decode H.263 streams found in QuickTime files (Juanjo)
1119 - now we can decode H.263 streams found in VIVO v1 files(Juanjo)
1120 - preliminary RTP "friendly" mode for H.263/H.263+ coding. (Juanjo)
1121 - added GOB header for H.263/H.263+ coding on RTP mode (Juanjo)
1122 - now H.263 picture size is returned on the first decoded frame (Juanjo)
1123 - added first regression tests
1124 - added MPEG-2 TS demuxer
1125 - new demux API for libav
1126 - more accurate and faster IDCT (Michael)
1127 - faster and entropy-controlled motion search (Michael)
1128 - two pass video encoding (Michael)
1129 - new video rate control (Michael)
1130 - added MSMPEG4V1, MSMPEGV2 and WMV1 support (Michael)
1131 - great performance improvement of video encoders and decoders (Michael)
1132 - new and faster bit readers and vlc parsers (Michael)
1133 - high quality encoding mode: tries all macroblock/VLC types (Michael)
1134 - added DV video decoder
1135 - preliminary RTP/RTSP support in ffserver and libavformat
1136 - H.263+ AIC decoding/encoding support (Juanjo)
1137 - VCD MPEG-PS mode (Juanjo)
1138 - PSNR stuff (Juanjo)
1139 - simple stats output (Juanjo)
1140 - 16-bit and 15-bit RGB/BGR/GBR support (Bisqwit)
1141
1142
1143 version 0.4.5:
1144
1145 - some header fixes (Zdenek Kabelac <kabi at informatics.muni.cz>)
1146 - many MMX optimizations (Nick Kurshev <nickols_k at mail.ru>)
1147 - added configure system (actually a small shell script)
1148 - added MPEG audio layer 1/2/3 decoding using LGPL'ed mpglib by
1149 Michael Hipp (temporary solution - waiting for integer only
1150 decoder)
1151 - fixed VIDIOCSYNC interrupt
1152 - added Intel H.263 decoding support ('I263' AVI fourCC)
1153 - added Real Video 1.0 decoding (needs further testing)
1154 - simplified image formats again. Added PGM format (=grey
1155 pgm). Renamed old PGM to PGMYUV.
1156 - fixed msmpeg4 slice issues (tell me if you still find problems)
1157 - fixed OpenDivX bugs with newer versions (added VOL header decoding)
1158 - added support for MPlayer interface
1159 - added macroblock skip optimization
1160 - added MJPEG decoder
1161 - added mmx/mmxext IDCT from libmpeg2
1162 - added pgmyuvpipe, ppm, and ppm_pipe formats (original patch by Celer
1163 <celer at shell.scrypt.net>)
1164 - added pixel format conversion layer (e.g. for MJPEG or PPM)
1165 - added deinterlacing option
1166 - MPEG-1/2 fixes
1167 - MPEG-4 vol header fixes (Jonathan Marsden <snmjbm at pacbell.net>)
1168 - ARM optimizations (Lionel Ulmer <lionel.ulmer at free.fr>).
1169 - Windows porting of file converter
1170 - added MJPEG raw format (input/ouput)
1171 - added JPEG image format support (input/output)
1172
1173
1174 version 0.4.4:
1175
1176 - fixed some std header definitions (Bjorn Lindgren
1177 <bjorn.e.lindgren at telia.com>).
1178 - added MPEG demuxer (MPEG-1 and 2 compatible).
1179 - added ASF demuxer
1180 - added prototype RM demuxer
1181 - added AC3 decoding (done with libac3 by Aaron Holtzman)
1182 - added decoding codec parameter guessing (.e.g. for MPEG, because the
1183 header does not include them)
1184 - fixed header generation in MPEG-1, AVI and ASF muxer: wmplayer can now
1185 play them (only tested video)
1186 - fixed H.263 white bug
1187 - fixed phase rounding in img resample filter
1188 - add MMX code for polyphase img resample filter
1189 - added CPU autodetection
1190 - added generic title/author/copyright/comment string handling (ASF and RM
1191 use them)
1192 - added SWF demux to extract MP3 track (not usable yet because no MP3
1193 decoder)
1194 - added fractional frame rate support
1195 - codecs are no longer searched by read_header() (should fix ffserver
1196 segfault)
1197
1198
1199 version 0.4.3:
1200
1201 - BGR24 patch (initial patch by Jeroen Vreeken <pe1rxq at amsat.org>)
1202 - fixed raw yuv output
1203 - added motion rounding support in MPEG-4
1204 - fixed motion bug rounding in MSMPEG4
1205 - added B-frame handling in video core
1206 - added full MPEG-1 decoding support
1207 - added partial (frame only) MPEG-2 support
1208 - changed the FOURCC code for H.263 to "U263" to be able to see the
1209 +AVI/H.263 file with the UB Video H.263+ decoder. MPlayer works with
1210 this +codec ;) (JuanJo).
1211 - Halfpel motion estimation after MB type selection (JuanJo)
1212 - added pgm and .Y.U.V output format
1213 - suppressed 'img:' protocol. Simply use: /tmp/test%d.[pgm|Y] as input or
1214 output.
1215 - added pgmpipe I/O format (original patch from Martin Aumueller
1216 <lists at reserv.at>, but changed completely since we use a format
1217 instead of a protocol)
1218
1219
1220 version 0.4.2:
1221
1222 - added H.263/MPEG-4/MSMPEG4 decoding support. MPEG-4 decoding support
1223 (for OpenDivX) is almost complete: 8x8 MVs and rounding are
1224 missing. MSMPEG4 support is complete.
1225 - added prototype MPEG-1 decoder. Only I- and P-frames handled yet (it
1226 can decode ffmpeg MPEGs :-)).
1227 - added libavcodec API documentation (see apiexample.c).
1228 - fixed image polyphase bug (the bottom of some images could be
1229 greenish)
1230 - added support for non clipped motion vectors (decoding only)
1231 and image sizes non-multiple of 16
1232 - added support for AC prediction (decoding only)
1233 - added file overwrite confirmation (can be disabled with -y)
1234 - added custom size picture to H.263 using H.263+ (Juanjo)
1235
1236
1237 version 0.4.1:
1238
1239 - added MSMPEG4 (aka DivX) compatible encoder. Changed default codec
1240 of AVI and ASF to DIV3.
1241 - added -me option to set motion estimation method
1242 (default=log). suppressed redundant -hq option.
1243 - added options -acodec and -vcodec to force a given codec (useful for
1244 AVI for example)
1245 - fixed -an option
1246 - improved dct_quantize speed
1247 - factorized some motion estimation code
1248
1249
1250 version 0.4.0:
1251
1252 - removing grab code from ffserver and moved it to ffmpeg. Added
1253 multistream support to ffmpeg.
1254 - added timeshifting support for live feeds (option ?date=xxx in the
1255 URL)
1256 - added high quality image resize code with polyphase filter (need
1257 mmx/see optimization). Enable multiple image size support in ffserver.
1258 - added multi live feed support in ffserver
1259 - suppressed master feature from ffserver (it should be done with an
1260 external program which opens the .ffm url and writes it to another
1261 ffserver)
1262 - added preliminary support for video stream parsing (WAV and AVI half
1263 done). Added proper support for audio/video file conversion in
1264 ffmpeg.
1265 - added preliminary support for video file sending from ffserver
1266 - redesigning I/O subsystem: now using URL based input and output
1267 (see avio.h)
1268 - added WAV format support
1269 - added "tty user interface" to ffmpeg to stop grabbing gracefully
1270 - added MMX/SSE optimizations to SAD (Sums of Absolutes Differences)
1271 (Juan J. Sierralta P. a.k.a. "Juanjo" <juanjo at atmlab.utfsm.cl>)
1272 - added MMX DCT from mpeg2_movie 1.5 (Juanjo)
1273 - added new motion estimation algorithms, log and phods (Juanjo)
1274 - changed directories: libav for format handling, libavcodec for
1275 codecs
1276
1277
1278 version 0.3.4:
1279
1280 - added stereo in MPEG audio encoder
1281
1282
1283 version 0.3.3:
1284
1285 - added 'high quality' mode which use motion vectors. It can be used in
1286 real time at low resolution.
1287 - fixed rounding problems which caused quality problems at high
1288 bitrates and large GOP size
1289
1290
1291 version 0.3.2: small fixes
1292
1293 - ASF fixes
1294 - put_seek bug fix
1295
1296
1297 version 0.3.1: added avi/divx support
1298
1299 - added AVI support
1300 - added MPEG-4 codec compatible with OpenDivX. It is based on the H.263 codec
1301 - added sound for flash format (not tested)
1302
1303
1304 version 0.3: initial public release