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