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