Defense of system crash due to damaged random file. (ffmpeg 2.8.1 patch)
[platform/upstream/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 11.4:
5
6  - h264: Make sure reinit failures mark the context as not initialized (CVE-2015-3417)
7  - msrle: Use FFABS to determine the frame size in msrle_decode_pal4 (CVE-2015-3395)
8  - cavs: Remove an unneeded scratch buffer
9  - configure: Disable i686 for i586 and lower CPUs (debian/783082)
10  - mjpegenc: Fix JFIF header byte ordering (bug/808)
11  - nut: Make sure to clean up on read_header failure
12  - png: Set the color range as full range
13  - avi: Validate sample_size
14  - nut: Check chapter creation in decode_info_header
15  - alac: Reject rice_limit 0 if compression is used
16  - ape: Support _0000 files with nblock smaller than 64
17  - mux: Do not leave stale side data pointers in ff_interleave_add_packet()
18  - avresample: Reallocate the internal buffer to the correct size (bug/825)
19  - mpegts: Update the PSI/SI table only if the version change
20  - rtsp: Make sure we don't write too many transport entries into a fixed-size array
21  - rtpenc_jpeg: Handle case of picture dimensions not dividing by 8
22  - mov: Fix little endian audio detection
23  - x86: Put COPY3_IF_LT under HAVE_6REGS (gentoo/541930)
24  - roqvideoenc: set enc->avctx in roq_encode_init
25  - mp3: Properly use AVCodecContext API
26  - libvpx: Fix mixed use of av_malloc() and av_reallocp()
27  - Revert "lavfi: always check av_expr_parse_and_eval() return value"
28  - alsdec: only adapt order for positive max_order
29  - alsdec: check sample pointer range in revert_channel_correlation
30  - aacpsy: correct calculation of minath in psy_3gpp_init
31  - alsdec: limit avctx->bits_per_raw_sample to 32
32  - aasc: return correct buffer size from aasc_decode_frame
33  - matroskadec: fix crash when parsing invalid mkv
34  - avconv: do not overwrite the stream codec context for streamcopy
35  - webp: ensure that each transform is only used once
36  - h264_ps: properly check cropping parameters against overflow
37  - hevc: zero the correct variables on invalid crop parameters
38  - hevc: make the crop sizes unsigned
39
40 version 11.3:
41
42 - utvideodec: Handle slice_height being zero (CVE-2014-9604)
43 - adxdec: set avctx->channels in adx_read_header
44 - rmenc: limit packet size
45 - webp: validate the distance prefix code
46 - rv10: check size of s->mb_width * s->mb_height
47 - eamad: check for out of bounds read (CID/1257500)
48 - mdec: check for out of bounds read (CID/1257501)
49 - configure: Properly fail when libcdio/cdparanoia is not found
50 - tiff: Check that there is no aliasing in pixel format selection (CVE-2014-8544)
51 - aic: Fix decoding files with odd dimensions
52 - vorbis: Check the vlc value in setup_classifs
53 - arm: Suppress tags about used cpu arch and extensions
54 - prores: Extend the padding check to 16bit
55 - icecast: Do not use chunked post, allows feeding to icecast properly
56 - img2dec: correctly use the parsed value from -start_number
57 - h264_cabac: Break infinite loops
58 - hevc_deblock: Fix compilation with nasm (libav #795)
59 - h264: initialize H264Context.avctx in init_thread_copy
60 - h264: Do not share rbsp_buffer across threads
61 - h264: only ref cur_pic in update_thread_context if it is initialized
62 - matroskadec: Fix read-after-free in matroska_read_seek() (chromium #427266)
63 - log: Unbreak no-tty support on 256color terminals
64
65 version 11.2:
66
67 - h264: restore a block mistakenly removed in e10fd08a (libav #781)
68 - on2avc: check number of channels (CVE-2014-8549)
69 - smc: fix the bounds check (CVE-2014-8548)
70 - gifdec: refactor interleave end handling (CVE-2014-8547)
71 - mmvideo: check frame dimensions (CVE-2014-8543)
72 - jvdec: check frame dimensions (CVE-2014-8542)
73 - mjpegdec: check for pixel format changes (CVE-2014-8541)
74 - mov: avoid a memleak when multiple stss boxes are present
75 - vc1: Do not assume seek happens after decoding
76 - avconv: Use the mpeg12 private option scan_offset (debian/773055)
77 - xsub: Support DXSA subtitles
78 - mp3dec: fix reading the Xing tag
79 - matroskaenc: write correct Display{Width, Height} in stereo encoding
80 - configure: Fix enabling memalign_hack automatically
81 - mp3enc: fix a triggerable assert
82 - latm: Do not give a score for a single instance
83 - mp3: Tweak the probe scores
84 - matroskaenc: write correct Display{Width, Height} in stereo encoding
85 - configure: Fix enabling memalign_hack automatically
86 - coverity: Fix most of the reported warnings and issues
87
88 version 11.1:
89
90 - Replace lena.pnm (debian#771126)
91 - Treat all '*.pnm' files as non-text file
92 - opusdec: make sure all substreams have the same number of coded samples
93 - lavu: fix memory leaks by using a mutex instead of atomics
94 - lavu: add wrappers for the pthreads mutex API
95 - mp3enc: fix a triggerable assert
96 - resample: Avoid off-by-1 errors in PTS calcs. (libav#753)
97 - imc: fix order of operations in coefficients read
98 - hevc_mvs: make sure to always initialize the temporal MV fully
99 - hevc_mvs: initialize the temporal MV in case of missing ref
100 - h264: reset ret to avoid propagating minor failures (libav#750 / lp#905753)
101 - hevc: Initialize mergecand_list to 0
102 - mpeg12: Always invoke the get_format() callback
103 - h264: Always invoke the get_format() callback
104 - Update default FATE URL for release/11
105 - apetag: Fix APE tag size check
106
107 version 11:
108 - libx265 encoder
109 - shuffleplanes filter
110 - replaygain data export
111 - Alias PIX image encoder and decoder
112 - BRender PIX image decoder
113 - Amazing Studio PAF playback support
114 - XBM decoder
115 - BMP standalone parser
116 - OpenEXR image decoder
117 - support encoding and decoding 4-channel SGI images
118 - support decoding 16-bit RLE SGI images
119 - VP7 video decoder
120 - LucasArts SMUSH SANM video decoder
121 - LucasArts SMUSH VIMA audio decoder (ADPCM)
122 - LucasArts SMUSH demuxer
123 - MP2 encoding via TwoLAME
124 - asettb filter
125 - Silicon Graphics RLE 8-bit video decoder
126 - Silicon Graphics Motion Video Compressor 1 & 2 decoder
127 - Silicon Graphics Movie demuxer
128 - On2 AVC (Audio for Video) decoder
129 - support for decoding through DXVA2 in avconv
130 - libbs2b-based stereo-to-binaural audio filter
131 - native Opus decoder
132 - display matrix export and rotation API
133 - drop avserver, it was unmaintained for years and largely broken
134 - Icecast protocol
135 - request Icecast metadata by default
136 - support for using metadata in stream specifiers in avtools
137 - Matroska 3D support
138
139
140 version 10:
141 - av_strnstr
142 - support ID3v2 tags in ASF files
143 - reference-counting for AVFrame and AVPacket data
144 - avconv now fails when input options are used for output file
145   or vice versa
146 - avconv options -filter_script and -filter_complex_script, which allow a
147   filtergraph description to be read from a file
148 - uniform options syntax across all filters
149 - interlace filter
150 - JPEG 2000 decoder
151 - asetpts filter (same as setpts, but for audio)
152 - trim and atrim filters
153 - avconv -t and -ss (output-only) options are now sample-accurate when
154   transcoding audio
155 - Matroska muxer can now put the index at the beginning of the file.
156 - avconv -deinterlace option removed, the yadif filter should be used instead
157 - Apple Intermediate Codec decoder
158 - Escape 130 video decoder
159 - support for slice multithreading in libavfilter
160 - VC-1 interlaced B-frame support
161 - support for WavPack muxing (raw and in Matroska)
162 - Go2Webinar decoder
163 - WavPack encoding through libwavpack
164 - Added the -n parameter to avconv
165 - RTMP seek support
166 - when transcoding with avconv (i.e. not streamcopying), -ss is now accurate
167   even when used as an input option. Previous behavior can be restored with
168   the -noaccurate_seek option.
169 - avconv -t option can now be used for inputs, to limit the duration of
170   data read from an input file
171 - Voxware MetaSound decoder
172 - WebP decoder
173 - Error Resilient AAC syntax (ER AAC LC) decoding
174 - Low Delay AAC (ER AAC LD) decoding
175 - mux chapters in ASF files
176 - Opus in Ogg demuxing
177 - Enhanced Low Delay AAC (ER AAC ELD) decoding (no LD SBR support)
178 - F4V muxer
179 - HNM version 4 demuxer and video decoder
180 - HEVC decoder
181 - raw HEVC, HEVC in MOV/MP4, HEVC in Matroska, HEVC in MPEG-TS demuxing
182 - remove avplay -vismv option, which has not worked for a long time
183 - Live HDS muxer
184 - setsar/setdar filters now support variables in ratio expressions
185 - dar variable in the scale filter now returns the actual DAR (i.e. a * sar)
186 - VP9 decoder
187 - support for decoding through VDPAU in avconv (the -hwaccel option)
188 - remove mp3_header_(de)compress bitstream filters
189 - stereoscopic 3d metadata handling
190 - png standalone parser
191 - WebP encoding via libwebp
192 - ATRAC3+ decoder
193 - framepack filter
194 - Mirillis FIC video decoder
195 - Support DNx444
196 - compand audio filter
197
198
199 version 9:
200 - av_basename and av_dirname
201 - adobe and limelight publisher authentication in RTMP
202 - VDPAU hardware acceleration through normal hwaccel
203 - SRTP support
204
205
206 version 9_beta3:
207 - ashowinfo audio filter
208 - 24-bit FLAC encoding
209 - audio volume filter
210 - deprecated the avconv -vol option. the volume filter is to be used instead.
211 - multi-channel ALAC encoding up to 7.1
212 - TAK demuxer, parser, and decoder
213 - adaptive frame-level multithreading for H.264
214
215
216 version 9_beta2:
217 - metadata (INFO tag) support in WAV muxer
218 - support for building DLLs using MSVC
219 - remove avserver daemon mode
220 - support building on the Plan 9 operating system
221 - ffv1: support version 1.3
222
223
224 version 9_beta1:
225
226 - XWD encoder and decoder
227 - Support for fragmentation in the mov/mp4 muxer
228 - ISMV (Smooth Streaming) muxer
229 - CDXL demuxer and decoder
230 - Apple ProRes encoder
231 - Sun Rasterfile Encoder
232 - remove libpostproc
233 - ID3v2 attached pictures reading and writing
234 - WMA Lossless decoder
235 - XBM encoder
236 - RealAudio Lossless decoder
237 - ZeroCodec decoder
238 - drop support for avconv without libavfilter
239 - add libavresample audio conversion library
240 - audio filters support in libavfilter and avconv
241 - add fps filter
242 - audio split filter
243 - audio mix filter
244 - avprobe output is now standard INI or JSON. The old format can still
245   be used with -of old.
246 - Indeo Audio decoder
247 - channelsplit audio filter
248 - RTMPT protocol support
249 - iLBC encoding/decoding via libilbc
250 - Microsoft Screen 1 decoder
251 - join audio filter
252 - audio channel mapping filter
253 - Microsoft ATC Screen decoder
254 - RTSP listen mode
255 - TechSmith Screen Codec 2 decoder
256 - AAC encoding via libfdk-aac
257 - Microsoft Expression Encoder Screen decoder
258 - RTMPS protocol support
259 - RTMPTS protocol support
260 - JPEG 2000 encoding support through OpenJPEG
261 - G.723.1 demuxer and decoder
262 - RTMPE protocol support
263 - RTMPTE protocol support
264 - Canopus Lossless Codec decoder
265 - avconv -shortest option is now per-output file,
266   -pass and -passlogfile are now per-output stream
267 - Ut Video encoder
268 - Microsoft Screen 2 decoder
269 - RTP depacketization of JPEG
270 - Smooth Streaming live segmenter muxer
271 - RTP packetization of JPEG
272 - Opus decoder and encoder using libopus
273 - remove -same_quant, it hasn't worked for years
274 - support for building with MSVC
275
276
277 version 0.8:
278
279 - GSM audio parser
280 - SMJPEG muxer
281
282
283 version 0.8_beta2:
284
285 - Automatic thread count based on detection number of (available) CPU cores
286 - Deprecate libpostproc. If desired, the switch --enable-postproc will
287   enable it but it may be removed in a later Libav release.
288 - rv34: frame-level multi-threading
289 - optimized iMDCT transform on x86 using SSE for for mpegaudiodec
290
291
292 version 0.8_beta1:
293
294 - BWF muxer
295 - Flash Screen Video 2 decoder
296 - ffplay/ffprobe/ffserver renamed to avplay/avprobe/avserver
297 - ffmpeg deprecated, added avconv, which is almost the same for now, except
298 for a few incompatible changes in the options, which will hopefully make them
299 easier to use. The changes are:
300     * The options placement is now strictly enforced! While in theory the
301       options for ffmpeg should be given in [input options] -i INPUT [output
302       options] OUTPUT order, in practice it was possible to give output options
303       before the -i and it mostly worked. Except when it didn't - the behavior was
304       a bit inconsistent. In avconv, it is not possible to mix input and output
305       options. All non-global options are reset after an input or output filename.
306     * All per-file options are now truly per-file - they apply only to the next
307       input or output file and specifying different values for different files
308       will now work properly (notably -ss and -t options).
309     * All per-stream options are now truly per-stream - it is possible to
310       specify which stream(s) should a given option apply to. See the Stream
311       specifiers section in the avconv manual for details.
312     * In ffmpeg some options (like -newvideo/-newaudio/...) are irregular in the
313       sense that they're specified after the output filename instead of before,
314       like all other options. In avconv this irregularity is removed, all options
315       apply to the next input or output file.
316     * -newvideo/-newaudio/-newsubtitle options were removed. Not only were they
317       irregular and highly confusing, they were also redundant. In avconv the -map
318       option will create new streams in the output file and map input streams to
319       them. E.g. avconv -i INPUT -map 0 OUTPUT will create an output stream for
320       each stream in the first input file.
321     * The -map option now has slightly different and more powerful syntax:
322         + Colons (':') are used to separate file index/stream type/stream index
323           instead of dots. Comma (',') is used to separate the sync stream instead
324           of colon.. This is done for consistency with other options.
325         + It's possible to specify stream type. E.g. -map 0:a:2 creates an
326           output stream from the third input audio stream.
327         + Omitting the stream index now maps all the streams of the given type,
328           not just the first. E.g. -map 0:s creates output streams for all the
329           subtitle streams in the first input file.
330         + Since -map can now match multiple streams, negative mappings were
331           introduced. Negative mappings disable some streams from an already
332           defined map. E.g. '-map 0 -map -0:a:1' means 'create output streams for
333           all the stream in the first input file, except for the second audio
334           stream'.
335     * There is a new option -c (or -codec) for choosing the decoder/encoder to
336       use, which allows to precisely specify target stream(s) consistently with
337       other options. E.g. -c:v lib264 sets the codec for all video streams, -c:a:0
338       libvorbis sets the codec for the first audio stream and -c copy copies all
339       the streams without reencoding. Old -vcodec/-acodec/-scodec options are now
340       aliases to -c:v/a/s
341     * It is now possible to precisely specify which stream should an AVOption
342       apply to. E.g. -b:v:0 2M sets the bitrate for the first video stream, while
343       -b:a 128k sets the bitrate for all audio streams. Note that the old -ab 128k
344       syntax is deprecated and will stop working soon.
345     * -map_chapters now takes only an input file index and applies to the next
346       output file. This is consistent with how all the other options work.
347     * -map_metadata now takes only an input metadata specifier and applies to
348       the next output file. Output metadata specifier is now part of the option
349       name, similarly to the AVOptions/map/codec feature above.
350     * -metadata can now be used to set metadata on streams and chapters, e.g.
351       -metadata:s:1 language=eng sets the language of the first stream to 'eng'.
352       This made -vlang/-alang/-slang options redundant, so they were removed.
353     * -qscale option now uses stream specifiers and applies to all streams, not
354       just video. I.e. plain -qscale number would now apply to all streams. To get
355       the old behavior, use -qscale:v. Also there is now a shortcut -q for -qscale
356       and -aq is now an alias for -q:a.
357     * -vbsf/-absf/-sbsf options were removed and replaced by a -bsf option which
358       uses stream specifiers. Use -bsf:v/a/s instead of the old options.
359     * -itsscale option now uses stream specifiers, so its argument is only the
360       scale parameter.
361     * -intra option was removed, use -g 0 for the same effect.
362     * -psnr option was removed, use -flags +psnr for the same effect.
363     * -vf option is now an alias to the new -filter option, which uses stream specifiers.
364     * -vframes/-aframes/-dframes options are now aliases to the new -frames option.
365     * -vtag/-atag/-stag options are now aliases to the new -tag option.
366 - XMV demuxer
367 - Windows Media Image decoder
368 - LATM muxer/demuxer
369 - showinfo filter
370 - split filter
371 - libcdio-paranoia input device for audio CD grabbing
372 - select filter
373 - Apple ProRes decoder
374 - CELT in Ogg demuxing
375 - VC-1 interlaced decoding
376 - lut, lutrgb, and lutyuv filters
377 - boxblur filter
378 - Ut Video decoder
379 - Speex encoding via libspeex
380 - 4:2:2 H.264 decoding support
381 - 4:2:2 and 4:4:4 H.264 encoding with libx264
382 - Pulseaudio input device
383 - replacement Indeo 3 decoder
384 - TLS/SSL and HTTPS protocol support
385 - AVOptions API rewritten and documented
386 - most of CODEC_FLAG2_*, some CODEC_FLAG_* and many codec-specific fields in
387   AVCodecContext deprecated. Codec private options should be used instead.
388 - Properly working defaults in libx264 wrapper, support for native presets.
389 - Encrypted OMA files support
390 - Discworld II BMV decoding support
391 - VBLE Decoder
392 - OS X Video Decoder Acceleration (VDA) support
393 - CRI ADX audio format muxer and demuxer
394 - Playstation Portable PMP format demuxer
395 - PCM format support in OMA demuxer
396 - CLJR encoder
397 - Dxtory capture format decoder
398 - v410 QuickTime uncompressed 4:4:4 10-bit encoder and decoder
399 - OpenMG Audio muxer
400 - Simple segmenting muxer
401 - Indeo 4 decoder
402 - SMJPEG demuxer
403
404
405 version 0.7:
406
407 - E-AC-3 audio encoder
408 - ac3enc: add channel coupling support
409 - floating-point sample format support for (E-)AC-3, DCA, AAC, Vorbis decoders
410 - H.264/MPEG frame-level multithreading
411 - av_metadata_* functions renamed to av_dict_* and moved to libavutil
412 - 4:4:4 H.264 decoding support
413 - 10-bit H.264 optimizations for x86
414 - bump libswscale for recently reported ABI break
415
416
417 version 0.7_beta2:
418
419 - VP8 frame-level multithreading
420 - NEON optimizations for VP8
421 - removed a lot of deprecated API cruft
422 - FFT and IMDCT optimizations for AVX (Sandy Bridge) processors
423 - DPX image encoder
424 - SMPTE 302M AES3 audio decoder
425 - ffmpeg no longer quits after the 'q' key is pressed; use 'ctrl+c' instead
426 - 9bit and 10bit per sample support in the H.264 decoder
427
428
429 version 0.7_beta1:
430
431 - WebM support in Matroska de/muxer
432 - low overhead Ogg muxing
433 - MMS-TCP support
434 - VP8 de/encoding via libvpx
435 - Demuxer for On2's IVF format
436 - Pictor/PC Paint decoder
437 - HE-AAC v2 decoder
438 - libfaad2 wrapper removed
439 - DTS-ES extension (XCh) decoding support
440 - native VP8 decoder
441 - RTSP tunneling over HTTP
442 - RTP depacketization of SVQ3
443 - -strict inofficial replaced by -strict unofficial
444 - ffplay -exitonkeydown and -exitonmousedown options added
445 - native GSM / GSM MS decoder
446 - RTP depacketization of QDM2
447 - ANSI/ASCII art playback system
448 - Lego Mindstorms RSO de/muxer
449 - SubRip subtitle file muxer and demuxer
450 - Chinese AVS encoding via libxavs
451 - ffprobe -show_packets option added
452 - RTP packetization of Theora and Vorbis
453 - RTP depacketization of MP4A-LATM
454 - RTP packetization and depacketization of VP8
455 - hflip filter
456 - Apple HTTP Live Streaming demuxer
457 - a64 codec
458 - MMS-HTTP support
459 - G.722 ADPCM audio encoder/decoder
460 - R10k video decoder
461 - ocv_smooth filter
462 - frei0r wrapper filter
463 - change crop filter syntax to width:height:x:y
464 - make the crop filter accept parametric expressions
465 - make ffprobe accept AVFormatContext options
466 - yadif filter
467 - blackframe filter
468 - Demuxer for Leitch/Harris' VR native stream format (LXF)
469 - RTP depacketization of the X-QT QuickTime format
470 - SAP (Session Announcement Protocol, RFC 2974) muxer and demuxer
471 - cropdetect filter
472 - ffmpeg -crop* options removed
473 - transpose filter added
474 - ffmpeg -force_key_frames option added
475 - demuxer for receiving raw rtp:// URLs without an SDP description
476 - single stream LATM/LOAS decoder
477 - setpts filter added
478 - Win64 support for optimized x86 assembly functions
479 - MJPEG/AVI1 to JPEG/JFIF bitstream filter
480 - ASS subtitle encoder and decoder
481 - IEC 61937 encapsulation for E-AC-3, TrueHD, DTS-HD (for HDMI passthrough)
482 - overlay filter added
483 - rename aspect filter to setdar, and pixelaspect to setsar
484 - IEC 61937 demuxer
485 - Mobotix .mxg demuxer
486 - frei0r source added
487 - hqdn3d filter added
488 - RTP depacketization of QCELP
489 - FLAC parser added
490 - gradfun filter added
491 - AMR-WB decoder
492 - replace the ocv_smooth filter with a more generic ocv filter
493 - Windows Televison (WTV) demuxer
494 - FFmpeg metadata format muxer and demuxer
495 - SubRip (srt) subtitle decoder
496 - floating-point AC-3 encoder added
497 - Lagarith decoder
498 - ffmpeg -copytb option added
499 - IVF muxer added
500 - Wing Commander IV movies decoder added
501 - movie source added
502 - Bink version 'b' audio and video decoder
503 - Bitmap Brothers JV playback system
504 - Apple HTTP Live Streaming protocol handler
505 - sndio support for playback and record
506 - Linux framebuffer input device added
507 - Chronomaster DFA decoder
508 - Mobotix MxPEG decoder
509 - AAC encoding via libvo-aacenc
510 - AMR-WB encoding via libvo-amrwbenc
511 - xWMA demuxer
512 - fieldorder video filter added
513
514
515 version 0.6:
516
517 - PB-frame decoding for H.263
518 - deprecated vhook subsystem removed
519 - deprecated old scaler removed
520 - VQF demuxer
521 - Alpha channel scaler
522 - PCX encoder
523 - RTP packetization of H.263
524 - RTP packetization of AMR
525 - RTP depacketization of Vorbis
526 - CorePNG decoding support
527 - Cook multichannel decoding support
528 - introduced avlanguage helpers in libavformat
529 - 8088flex TMV demuxer and decoder
530 - per-stream language-tags extraction in asfdec
531 - V210 decoder and encoder
532 - remaining GPL parts in AC-3 decoder converted to LGPL
533 - QCP demuxer
534 - SoX native format muxer and demuxer
535 - AMR-NB decoding/encoding, AMR-WB decoding via OpenCORE libraries
536 - DPX image decoder
537 - Electronic Arts Madcow decoder
538 - DivX (XSUB) subtitle encoder
539 - nonfree libamr support for AMR-NB/WB decoding/encoding removed
540 - experimental AAC encoder
541 - RTP depacketization of ASF and RTSP from WMS servers
542 - RTMP support in libavformat
543 - noX handling for OPT_BOOL X options
544 - Wave64 demuxer
545 - IEC-61937 compatible Muxer
546 - TwinVQ decoder
547 - Bluray (PGS) subtitle decoder
548 - LPCM support in MPEG-TS (HDMV RID as found on Blu-ray disks)
549 - WMA Pro decoder
550 - Core Audio Format demuxer
551 - ATRAC1 decoder
552 - MD STUDIO audio demuxer
553 - RF64 support in WAV demuxer
554 - MPEG-4 Audio Lossless Coding (ALS) decoder
555 - -formats option split into -formats, -codecs, -bsfs, and -protocols
556 - IV8 demuxer
557 - CDG demuxer and decoder
558 - R210 decoder
559 - Auravision Aura 1 and 2 decoders
560 - Deluxe Paint Animation playback system
561 - SIPR decoder
562 - Adobe Filmstrip muxer and demuxer
563 - RTP depacketization of H.263
564 - Bink demuxer and audio/video decoders
565 - enable symbol versioning by default for linkers that support it
566 - IFF PBM/ILBM bitmap decoder
567 - concat protocol
568 - Indeo 5 decoder
569 - RTP depacketization of AMR
570 - WMA Voice decoder
571 - ffprobe tool
572 - AMR-NB decoder
573 - RTSP muxer
574 - HE-AAC v1 decoder
575 - Kega Game Video (KGV1) decoder
576 - VorbisComment writing for FLAC, Ogg FLAC and Ogg Speex files
577 - RTP depacketization of Theora
578 - HTTP Digest authentication
579 - RTMP/RTMPT/RTMPS/RTMPE/RTMPTE protocol support via librtmp
580 - Psygnosis YOP demuxer and video decoder
581 - spectral extension support in the E-AC-3 decoder
582 - unsharp video filter
583 - RTP hinting in the mov/3gp/mp4 muxer
584 - Dirac in Ogg demuxing
585 - seek to keyframes in Ogg
586 - 4:2:2 and 4:4:4 Theora decoding
587 - 35% faster VP3/Theora decoding
588 - faster AAC decoding
589 - faster H.264 decoding
590 - RealAudio 1.0 (14.4K) encoder
591
592
593 version 0.5:
594
595 - DV50 AKA DVCPRO50 encoder, decoder, muxer and demuxer
596 - TechSmith Camtasia (TSCC) video decoder
597 - IBM Ultimotion (ULTI) video decoder
598 - Sierra Online audio file demuxer and decoder
599 - Apple QuickDraw (qdrw) video decoder
600 - Creative ADPCM audio decoder (16 bits as well as 8 bits schemes)
601 - Electronic Arts Multimedia (WVE/UV2/etc.) file demuxer
602 - Miro VideoXL (VIXL) video decoder
603 - H.261 video encoder
604 - QPEG video decoder
605 - Nullsoft Video (NSV) file demuxer
606 - Shorten audio decoder
607 - LOCO video decoder
608 - Apple Lossless Audio Codec (ALAC) decoder
609 - Winnov WNV1 video decoder
610 - Autodesk Animator Studio Codec (AASC) decoder
611 - Indeo 2 video decoder
612 - Fraps FPS1 video decoder
613 - Snow video encoder/decoder
614 - Sonic audio encoder/decoder
615 - Vorbis audio decoder
616 - Macromedia ADPCM decoder
617 - Duck TrueMotion 2 video decoder
618 - support for decoding FLX and DTA extensions in FLIC files
619 - H.264 custom quantization matrices support
620 - ffserver fixed, it should now be usable again
621 - QDM2 audio decoder
622 - Real Cooker audio decoder
623 - TrueSpeech audio decoder
624 - WMA2 audio decoder fixed, now all files should play correctly
625 - RealAudio 14.4 and 28.8 decoders fixed
626 - JPEG-LS decoder
627 - build system improvements
628 - tabs and trailing whitespace removed from the codebase
629 - CamStudio video decoder
630 - AIFF/AIFF-C audio format, encoding and decoding
631 - ADTS AAC file reading and writing
632 - Creative VOC file reading and writing
633 - American Laser Games multimedia (*.mm) playback system
634 - Zip Motion Blocks Video decoder
635 - improved Theora/VP3 decoder
636 - True Audio (TTA) decoder
637 - AVS demuxer and video decoder
638 - JPEG-LS encoder
639 - Smacker demuxer and decoder
640 - NuppelVideo/MythTV demuxer and RTjpeg decoder
641 - KMVC decoder
642 - MPEG-2 intra VLC support
643 - MPEG-2 4:2:2 encoder
644 - Flash Screen Video decoder
645 - GXF demuxer
646 - Chinese AVS decoder
647 - GXF muxer
648 - MXF demuxer
649 - VC-1/WMV3/WMV9 video decoder
650 - MacIntel support
651 - AviSynth support
652 - VMware video decoder
653 - VP5 video decoder
654 - VP6 video decoder
655 - WavPack lossless audio decoder
656 - Targa (.TGA) picture decoder
657 - Vorbis audio encoder
658 - Delphine Software .cin demuxer/audio and video decoder
659 - Tiertex .seq demuxer/video decoder
660 - MTV demuxer
661 - TIFF picture encoder and decoder
662 - GIF picture decoder
663 - Intel Music Coder decoder
664 - Zip Motion Blocks Video encoder
665 - Musepack decoder
666 - Flash Screen Video encoder
667 - Theora encoding via libtheora
668 - BMP encoder
669 - WMA encoder
670 - GSM-MS encoder and decoder
671 - DCA decoder
672 - DXA demuxer and decoder
673 - DNxHD decoder
674 - Gamecube movie (.THP) playback system
675 - Blackfin optimizations
676 - Interplay C93 demuxer and video decoder
677 - Bethsoft VID demuxer and video decoder
678 - CRYO APC demuxer
679 - ATRAC3 decoder
680 - V.Flash PTX decoder
681 - RoQ muxer, RoQ audio encoder
682 - Renderware TXD demuxer and decoder
683 - extern C declarations for C++ removed from headers
684 - sws_flags command line option
685 - codebook generator
686 - RoQ video encoder
687 - QTRLE encoder
688 - OS/2 support removed and restored again
689 - AC-3 decoder
690 - NUT muxer
691 - additional SPARC (VIS) optimizations
692 - Matroska muxer
693 - slice-based parallel H.264 decoding
694 - Monkey's Audio demuxer and decoder
695 - AMV audio and video decoder
696 - DNxHD encoder
697 - H.264 PAFF decoding
698 - Nellymoser ASAO decoder
699 - Beam Software SIFF demuxer and decoder
700 - libvorbis Vorbis decoding removed in favor of native decoder
701 - IntraX8 (J-Frame) subdecoder for WMV2 and VC-1
702 - Ogg (Theora, Vorbis and FLAC) muxer
703 - The "device" muxers and demuxers are now in a new libavdevice library
704 - PC Paintbrush PCX decoder
705 - Sun Rasterfile decoder
706 - TechnoTrend PVA demuxer
707 - Linux Media Labs MPEG-4 (LMLM4) demuxer
708 - AVM2 (Flash 9) SWF muxer
709 - QT variant of IMA ADPCM encoder
710 - VFW grabber
711 - iPod/iPhone compatible mp4 muxer
712 - Mimic decoder
713 - MSN TCP Webcam stream demuxer
714 - RL2 demuxer / decoder
715 - IFF demuxer
716 - 8SVX audio decoder
717 - non-recursive Makefiles
718 - BFI demuxer
719 - MAXIS EA XA (.xa) demuxer / decoder
720 - BFI video decoder
721 - OMA demuxer
722 - MLP/TrueHD decoder
723 - Electronic Arts CMV decoder
724 - Motion Pixels Video decoder
725 - Motion Pixels MVI demuxer
726 - removed animated GIF decoder/demuxer
727 - D-Cinema audio muxer
728 - Electronic Arts TGV decoder
729 - Apple Lossless Audio Codec (ALAC) encoder
730 - AAC decoder
731 - floating point PCM encoder/decoder
732 - MXF muxer
733 - DV100 AKA DVCPRO HD decoder and demuxer
734 - E-AC-3 support added to AC-3 decoder
735 - Nellymoser ASAO encoder
736 - ASS and SSA demuxer and muxer
737 - liba52 wrapper removed
738 - SVQ3 watermark decoding support
739 - Speex decoding via libspeex
740 - Electronic Arts TGQ decoder
741 - RV40 decoder
742 - QCELP / PureVoice decoder
743 - RV30 decoder
744 - hybrid WavPack support
745 - R3D REDCODE demuxer
746 - ALSA support for playback and record
747 - Electronic Arts TQI decoder
748 - OpenJPEG based JPEG 2000 decoder
749 - NC (NC4600) camera file demuxer
750 - Gopher client support
751 - MXF D-10 muxer
752 - generic metadata API
753
754
755 version 0.4.9-pre1:
756
757 - DV encoder, DV muxer
758 - Microsoft RLE video decoder
759 - Microsoft Video-1 decoder
760 - Apple Animation (RLE) decoder
761 - Apple Graphics (SMC) decoder
762 - Apple Video (RPZA) decoder
763 - Cinepak decoder
764 - Sega FILM (CPK) file demuxer
765 - Westwood multimedia support (VQA & AUD files)
766 - Id Quake II CIN playback support
767 - 8BPS video decoder
768 - FLIC playback support
769 - RealVideo 2.0 (RV20) decoder
770 - Duck TrueMotion v1 (DUCK) video decoder
771 - Sierra VMD demuxer and video decoder
772 - MSZH and ZLIB decoder support
773 - SVQ1 video encoder
774 - AMR-WB support
775 - PPC optimizations
776 - rate distortion optimal cbp support
777 - rate distorted optimal ac prediction for MPEG-4
778 - rate distorted optimal lambda->qp support
779 - AAC encoding with libfaac
780 - Sunplus JPEG codec (SP5X) support
781 - use Lagrange multipler instead of QP for ratecontrol
782 - Theora/VP3 decoding support
783 - XA and ADX ADPCM codecs
784 - export MPEG-2 active display area / pan scan
785 - Add support for configuring with IBM XLC
786 - floating point AAN DCT
787 - initial support for zygo video (not complete)
788 - RGB ffv1 support
789 - new audio/video parser API
790 - av_log() system
791 - av_read_frame() and av_seek_frame() support
792 - missing last frame fixes
793 - seek by mouse in ffplay
794 - noise reduction of DCT coefficients
795 - H.263 OBMC & 4MV support
796 - H.263 alternative inter vlc support
797 - H.263 loop filter
798 - H.263 slice structured mode
799 - interlaced DCT support for MPEG-2 encoding
800 - stuffing to stay above min_bitrate
801 - MB type & QP visualization
802 - frame stepping for ffplay
803 - interlaced motion estimation
804 - alternate scantable support
805 - SVCD scan offset support
806 - closed GOP support
807 - SSE2 FDCT
808 - quantizer noise shaping
809 - G.726 ADPCM audio codec
810 - MS ADPCM encoding
811 - multithreaded/SMP motion estimation
812 - multithreaded/SMP encoding for MPEG-1/MPEG-2/MPEG-4/H.263
813 - multithreaded/SMP decoding for MPEG-2
814 - FLAC decoder
815 - Metrowerks CodeWarrior suppport
816 - H.263+ custom pcf support
817 - nicer output for 'ffmpeg -formats'
818 - Matroska demuxer
819 - SGI image format, encoding and decoding
820 - H.264 loop filter support
821 - H.264 CABAC support
822 - nicer looking arrows for the motion vector visualization
823 - improved VCD support
824 - audio timestamp drift compensation
825 - MPEG-2 YUV 422/444 support
826 - polyphase kaiser windowed sinc and blackman nuttall windowed sinc audio resample
827 - better image scaling
828 - H.261 support
829 - correctly interleave packets during encoding
830 - VIS optimized motion compensation
831 - intra_dc_precision>0 encoding support
832 - support reuse of motion vectors/MB types/field select values of the source video
833 - more accurate deblock filter
834 - padding support
835 - many optimizations and bugfixes
836 - FunCom ISS audio file demuxer and according ADPCM decoding
837
838
839 version 0.4.8:
840
841 - MPEG-2 video encoding (Michael)
842 - Id RoQ playback subsystem (Mike Melanson and Tim Ferguson)
843 - Wing Commander III Movie (.mve) file playback subsystem (Mike Melanson
844   and Mario Brito)
845 - Xan DPCM audio decoder (Mario Brito)
846 - Interplay MVE playback subsystem (Mike Melanson)
847 - Duck DK3 and DK4 ADPCM audio decoders (Mike Melanson)
848
849
850 version 0.4.7:
851
852 - RealAudio 1.0 (14_4) and 2.0 (28_8) native decoders. Author unknown, code from mplayerhq
853   (originally from public domain player for Amiga at http://www.honeypot.net/audio)
854 - current version now also compiles with older GCC (Fabrice)
855 - 4X multimedia playback system including 4xm file demuxer (Mike
856   Melanson), and 4X video and audio codecs (Michael)
857 - Creative YUV (CYUV) decoder (Mike Melanson)
858 - FFV1 codec (our very simple lossless intra only codec, compresses much better
859   than HuffYUV) (Michael)
860 - ASV1 (Asus), H.264, Intel indeo3 codecs have been added (various)
861 - tiny PNG encoder and decoder, tiny GIF decoder, PAM decoder (PPM with
862   alpha support), JPEG YUV colorspace support. (Fabrice Bellard)
863 - ffplay has been replaced with a newer version which uses SDL (optionally)
864   for multiplatform support (Fabrice)
865 - Sorenson Version 3 codec (SVQ3) support has been added (decoding only) - donated
866   by anonymous
867 - AMR format has been added (Johannes Carlsson)
868 - 3GP support has been added (Johannes Carlsson)
869 - VP3 codec has been added (Mike Melanson)
870 - more MPEG-1/2 fixes
871 - better multiplatform support, MS Visual Studio fixes (various)
872 - AltiVec optimizations (Magnus Damn and others)
873 - SH4 processor support has been added (BERO)
874 - new public interfaces (avcodec_get_pix_fmt) (Roman Shaposhnick)
875 - VOB streaming support (Brian Foley)
876 - better MP3 autodetection (Andriy Rysin)
877 - qpel encoding (Michael)
878 - 4mv+b frames encoding finally fixed (Michael)
879 - chroma ME (Michael)
880 - 5 comparison functions for ME (Michael)
881 - B-frame encoding speedup (Michael)
882 - WMV2 codec (unfinished - Michael)
883 - user specified diamond size for EPZS (Michael)
884 - Playstation STR playback subsystem, still experimental (Mike and Michael)
885 - ASV2 codec (Michael)
886 - CLJR decoder (Alex)
887
888 .. And lots more new enhancements and fixes.
889
890
891 version 0.4.6:
892
893 - completely new integer only MPEG audio layer 1/2/3 decoder rewritten
894   from scratch
895 - Recoded DCT and motion vector search with gcc (no longer depends on nasm)
896 - fix quantization bug in AC3 encoder
897 - added PCM codecs and format. Corrected WAV/AVI/ASF PCM issues
898 - added prototype ffplay program
899 - added GOB header parsing on H.263/H.263+ decoder (Juanjo)
900 - bug fix on MCBPC tables of H.263 (Juanjo)
901 - bug fix on DC coefficients of H.263 (Juanjo)
902 - added Advanced Prediction Mode on H.263/H.263+ decoder (Juanjo)
903 - now we can decode H.263 streams found in QuickTime files (Juanjo)
904 - now we can decode H.263 streams found in VIVO v1 files(Juanjo)
905 - preliminary RTP "friendly" mode for H.263/H.263+ coding. (Juanjo)
906 - added GOB header for H.263/H.263+ coding on RTP mode (Juanjo)
907 - now H.263 picture size is returned on the first decoded frame (Juanjo)
908 - added first regression tests
909 - added MPEG-2 TS demuxer
910 - new demux API for libav
911 - more accurate and faster IDCT (Michael)
912 - faster and entropy-controlled motion search (Michael)
913 - two pass video encoding (Michael)
914 - new video rate control (Michael)
915 - added MSMPEG4V1, MSMPEGV2 and WMV1 support (Michael)
916 - great performance improvement of video encoders and decoders (Michael)
917 - new and faster bit readers and vlc parsers (Michael)
918 - high quality encoding mode: tries all macroblock/VLC types (Michael)
919 - added DV video decoder
920 - preliminary RTP/RTSP support in ffserver and libavformat
921 - H.263+ AIC decoding/encoding support (Juanjo)
922 - VCD MPEG-PS mode (Juanjo)
923 - PSNR stuff (Juanjo)
924 - simple stats output (Juanjo)
925 - 16-bit and 15-bit RGB/BGR/GBR support (Bisqwit)
926
927
928 version 0.4.5:
929
930 - some header fixes (Zdenek Kabelac <kabi at informatics.muni.cz>)
931 - many MMX optimizations (Nick Kurshev <nickols_k at mail.ru>)
932 - added configure system (actually a small shell script)
933 - added MPEG audio layer 1/2/3 decoding using LGPL'ed mpglib by
934   Michael Hipp (temporary solution - waiting for integer only
935   decoder)
936 - fixed VIDIOCSYNC interrupt
937 - added Intel H.263 decoding support ('I263' AVI fourCC)
938 - added Real Video 1.0 decoding (needs further testing)
939 - simplified image formats again. Added PGM format (=grey
940   pgm). Renamed old PGM to PGMYUV.
941 - fixed msmpeg4 slice issues (tell me if you still find problems)
942 - fixed OpenDivX bugs with newer versions (added VOL header decoding)
943 - added support for MPlayer interface
944 - added macroblock skip optimization
945 - added MJPEG decoder
946 - added mmx/mmxext IDCT from libmpeg2
947 - added pgmyuvpipe, ppm, and ppm_pipe formats (original patch by Celer
948   <celer at shell.scrypt.net>)
949 - added pixel format conversion layer (e.g. for MJPEG or PPM)
950 - added deinterlacing option
951 - MPEG-1/2 fixes
952 - MPEG-4 vol header fixes (Jonathan Marsden <snmjbm at pacbell.net>)
953 - ARM optimizations (Lionel Ulmer <lionel.ulmer at free.fr>).
954 - Windows porting of file converter
955 - added MJPEG raw format (input/ouput)
956 - added JPEG image format support (input/output)
957
958
959 version 0.4.4:
960
961 - fixed some std header definitions (Bjorn Lindgren
962   <bjorn.e.lindgren at telia.com>).
963 - added MPEG demuxer (MPEG-1 and 2 compatible).
964 - added ASF demuxer
965 - added prototype RM demuxer
966 - added AC3 decoding (done with libac3 by Aaron Holtzman)
967 - added decoding codec parameter guessing (.e.g. for MPEG, because the
968   header does not include them)
969 - fixed header generation in MPEG-1, AVI and ASF muxer: wmplayer can now
970   play them (only tested video)
971 - fixed H.263 white bug
972 - fixed phase rounding in img resample filter
973 - add MMX code for polyphase img resample filter
974 - added CPU autodetection
975 - added generic title/author/copyright/comment string handling (ASF and RM
976   use them)
977 - added SWF demux to extract MP3 track (not usable yet because no MP3
978   decoder)
979 - added fractional frame rate support
980 - codecs are no longer searched by read_header() (should fix ffserver
981   segfault)
982
983
984 version 0.4.3:
985
986 - BGR24 patch (initial patch by Jeroen Vreeken <pe1rxq at amsat.org>)
987 - fixed raw yuv output
988 - added motion rounding support in MPEG-4
989 - fixed motion bug rounding in MSMPEG4
990 - added B-frame handling in video core
991 - added full MPEG-1 decoding support
992 - added partial (frame only) MPEG-2 support
993 - changed the FOURCC code for H.263 to "U263" to be able to see the
994   +AVI/H.263 file with the UB Video H.263+ decoder. MPlayer works with
995   this +codec ;) (JuanJo).
996 - Halfpel motion estimation after MB type selection (JuanJo)
997 - added pgm and .Y.U.V output format
998 - suppressed 'img:' protocol. Simply use: /tmp/test%d.[pgm|Y] as input or
999   output.
1000 - added pgmpipe I/O format (original patch from Martin Aumueller
1001   <lists at reserv.at>, but changed completely since we use a format
1002   instead of a protocol)
1003
1004
1005 version 0.4.2:
1006
1007 - added H.263/MPEG-4/MSMPEG4 decoding support. MPEG-4 decoding support
1008   (for OpenDivX) is almost complete: 8x8 MVs and rounding are
1009   missing. MSMPEG4 support is complete.
1010 - added prototype MPEG-1 decoder. Only I- and P-frames handled yet (it
1011   can decode ffmpeg MPEGs :-)).
1012 - added libavcodec API documentation (see apiexample.c).
1013 - fixed image polyphase bug (the bottom of some images could be
1014   greenish)
1015 - added support for non clipped motion vectors (decoding only)
1016   and image sizes non-multiple of 16
1017 - added support for AC prediction (decoding only)
1018 - added file overwrite confirmation (can be disabled with -y)
1019 - added custom size picture to H.263 using H.263+ (Juanjo)
1020
1021
1022 version 0.4.1:
1023
1024 - added MSMPEG4 (aka DivX) compatible encoder. Changed default codec
1025   of AVI and ASF to DIV3.
1026 - added -me option to set motion estimation method
1027   (default=log). suppressed redundant -hq option.
1028 - added options -acodec and -vcodec to force a given codec (useful for
1029   AVI for example)
1030 - fixed -an option
1031 - improved dct_quantize speed
1032 - factorized some motion estimation code
1033
1034
1035 version 0.4.0:
1036
1037 - removing grab code from ffserver and moved it to ffmpeg. Added
1038   multistream support to ffmpeg.
1039 - added timeshifting support for live feeds (option ?date=xxx in the
1040   URL)
1041 - added high quality image resize code with polyphase filter (need
1042   mmx/see optimization). Enable multiple image size support in ffserver.
1043 - added multi live feed support in ffserver
1044 - suppressed master feature from ffserver (it should be done with an
1045   external program which opens the .ffm url and writes it to another
1046   ffserver)
1047 - added preliminary support for video stream parsing (WAV and AVI half
1048   done). Added proper support for audio/video file conversion in
1049   ffmpeg.
1050 - added preliminary support for video file sending from ffserver
1051 - redesigning I/O subsystem: now using URL based input and output
1052   (see avio.h)
1053 - added WAV format support
1054 - added "tty user interface" to ffmpeg to stop grabbing gracefully
1055 - added MMX/SSE optimizations to SAD (Sums of Absolutes Differences)
1056   (Juan J. Sierralta P. a.k.a. "Juanjo" <juanjo at atmlab.utfsm.cl>)
1057 - added MMX DCT from mpeg2_movie 1.5 (Juanjo)
1058 - added new motion estimation algorithms, log and phods (Juanjo)
1059 - changed directories: libav for format handling, libavcodec for
1060   codecs
1061
1062
1063 version 0.3.4:
1064
1065 - added stereo in MPEG audio encoder
1066
1067
1068 version 0.3.3:
1069
1070 - added 'high quality' mode which use motion vectors. It can be used in
1071   real time at low resolution.
1072 - fixed rounding problems which caused quality problems at high
1073   bitrates and large GOP size
1074
1075
1076 version 0.3.2: small fixes
1077
1078 - ASF fixes
1079 - put_seek bug fix
1080
1081
1082 version 0.3.1: added avi/divx support
1083
1084 - added AVI support
1085 - added MPEG-4 codec compatible with OpenDivX. It is based on the H.263 codec
1086 - added sound for flash format (not tested)
1087
1088
1089 version 0.3: initial public release