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