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