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