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