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