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