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