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