avcodec/sonic: check memory allocations
[ffmpeg.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 2.4.9:
5 - alac: reject rice_limit 0 if compression is used
6 - lavf: Reset global flag on deinit
7 - bink: check vst->index_entries before using it
8 - mpeg4videodec: only allow a positive length
9 - alsdec: check sample pointer range in revert_channel_correlation
10 - avcodec/h264_refs: Do not set reference to things which do not exist
11 - avcodec/h264: Fail for invalid mixed IDR / non IDR frames in slice threading mode
12 - h264: avoid unnecessary calls to get_format
13 - avutil/pca: Check for av_malloc* failures
14 - alsdec: validate time diff index
15 - avcodec/alsdec: Use av_mallocz_array() for chan_data to ensure the arrays never contain random data
16 - alsdec: ensure channel reordering is reversible
17 - avcodec/atrac3plusdsp: fix on stack alignment
18 - ac3: validate end in ff_ac3_bit_alloc_calc_mask
19 - aacpsy: avoid psy_band->threshold becoming NaN
20 - aasc: return correct buffer size from aasc_decode_frame
21 - aacdec: consistently use avctx for logging in decode_eld_specific_config
22 - msrledec: use signed pixel_ptr in msrle_decode_pal4
23 - swresample/swresample-test: Randomly wipe out channel counts
24 - swresample: Check channel layouts and channels against each other and print human readable error messages
25 - swresample: Allow reinitialization without ever setting channel layouts
26 - swresample: Allow reinitialization without ever setting channel counts
27 - avcodec/h264: Do not fail with randomly truncated VUIs
28 - avcodec/h264_ps: Move truncation check from VUI to SPS
29 - avcodec/h264: Be more tolerant to changing pps id between slices
30 - avcodec/aacdec: Fix storing state before PCE decode
31 - avcodec/h264: reset the counts in the correct context
32 - avcodec/h264_slice: Do not reset mb_aff_frame per slice
33 - tests: Fix test name for pixfmts tests
34 - avcodec/h264: finish previous slices before switching to single thread mode
35 - avcodec/h264: Fix race between slices where one overwrites data from the next
36 - avformat/utils: avoid discarded streams in av_find_default_stream_index()
37 - avformat/utils: Ensure that AVFMT_FLAG_CUSTOM_IO is set before use
38 - avformat/img2dec: do not rewind custom io buffers
39 - fate: Include branch information in the payload header
40
41
42 version 2.4.8:
43 - avutil/cpu: add missing check for mmxext to av_force_cpu_flags
44 - avcodec/msrledec: restructure msrle_decode_pal4() based on the line number instead of the pixel pointer
45 - avcodec/hevc_ps: Check cropping parameters more correctly
46 - avcodec/dnxhddec: Check that the frame is interlaced before using cur_field
47 - avformat/mov: Disallow ".." in dref unless use_absolute_path is set
48 - avformat/mov: Check for string truncation in mov_open_dref()
49 - ac3_fixed: fix out-of-bound read
50 - avcodec/012v: redesign main loop
51 - avcodec/012v: Check dimensions more completely
52 - asfenc: fix leaking asf->index_ptr on error
53 - avcodec/options_table: remove extradata_size from the AVOptions table
54 - ffmdec: limit the backward seek to the last resync position
55 - ffmdec: make sure the time base is valid
56 - ffmdec: fix infinite loop at EOF
57 - avcodec/tiff: move bpp check to after "end:"
58 - avcodec/opusdec: Fix delayed sample value
59 - avcodec/utils: Align YUV411 by as much as the other YUV variants
60 - vp9: fix segmentation map retention with threading enabled.
61 - doc/protocols/tcp: fix units of listen_timeout option value, from microseconds to milliseconds
62 - fix VP9 packet decoder returning 0 instead of the used data size
63 - avformat/bit: only accept the g729 codec and 1 channel
64 - avformat/adxdec: check avctx->channels for invalid values
65 - Fix buffer_size argument to init_put_bits() in multiple encoders.
66 - mips/acelp_filters: fix incorrect register constraint
67 - avcodec/hevc_ps: Sanity checks for some log2_* values
68 - avcodec/zmbv: Check len before reading in decode_frame()
69 - avcodec/snowdec: Fix ref value check
70 - swscale/utils: More carefully merge and clear coefficients outside the input
71 - avcodec/a64multienc: fix use of uninitialized values in to_meta_with_crop
72 - avcodec/a64multienc: don't set incorrect packet size
73 - webp: ensure that each transform is only used once
74 - avcodec/hevc_ps: More complete window reset
75 - vp9: make above buffer pointer 32-byte aligned.
76 - avformat/rm: limit packet size
77 - avcodec/webp: validate the distance prefix code
78 - avcodec/gif: fix off by one in column offsetting finding
79
80
81 version 2.4.7:
82 - avcodec/flac_parser: fix handling EOF if no headers are found
83 - avfilter/vf_framepack: Check and update frame_rate
84 - avcodec/hevc: Fix handling of skipped_bytes() reallocation failures
85 - qpeg: avoid pointless invalid memcpy()
86 - avcodec/arm/videodsp_armv5te: Fix linking failure with "g++ -shared -D__STDC_CONSTANT_MACROS -o test.so ... libavcodec.a"
87 - avcodec/mjpegdec: Skip blocks which are outside the visible area
88 - lavc/aarch64: Do not use the neon horizontal chroma loop filter for H.264 4:2:2. (cherry picked from commit 4faea46bd906b3897018736208123aa36c3f45d5)
89 - avcodec/h264_slice: assert that reinit does not occur after the first slice
90 - avcodec/h264_slice: ignore SAR changes in slices after the first
91 - avcodec/h264_slice: Check picture structure before setting the related fields
92 - avcodec/h264_slice: Do not change frame_num after the first slice
93 - avutil/opt: Fix type used to access AV_OPT_TYPE_SAMPLE_FMT
94 - avutil/opt: Fix types used to access AV_OPT_TYPE_PIXEL_FMT
95 - avcodec/h264: Be more strict on rejecting pps/sps changes
96 - avcodec/h264: Be more strict on rejecting pps_id changes
97 - avcodec/h264_ps: More completely check the bit depths
98 - avformat/thp: Check av_get_packet() for failure not only for partial output
99 - swscale/utils: Limit filter shifting so as not to read from prior the array
100 - avcodec/mpegvideo_motion: Fix gmc chroma dimensions
101 - avcodec/mjpegdec: Check number of components for JPEG-LS
102 - avcodec/mjpegdec: Check escape sequence validity
103 - avformat/mpc8: Use uint64_t in *_get_v() to avoid undefined behavior
104 - avformat/mpc8: fix broken pointer math
105 - avformat/mpc8: fix hang with fuzzed file
106 - avformat/tta: fix crash with corrupted files
107
108 version 2.4.6:
109 - doc/examples: fix lib math dep for decoding_encoding
110 - avformat/movenc: workaround bug in "PathScale EKOPath(tm) Compiler Suite Version 4.0.12.1"
111 - vp9: fix parser return values in error case
112 - ffmpeg: Clear error message array at init.
113 - avcodec/dvdsubdec: fix accessing dangling pointers
114 - avcodec/dvdsubdec: error on bitmaps with size 0
115 - avformat/mov: Fix mixed declaration and statement warning
116 - cmdutils: Use 64bit for file size/offset related variable in cmdutils_read_file()
117 - avformat/utils: Clear pointer in ff_alloc_extradata() to avoid leaving a stale pointer in memory
118 - avformat/matroskadec: Use av_freep() to avoid leaving stale pointers in memory
119 - lavfi: check av_strdup() return value
120 - mov: Fix negative size calculation in mov_read_default().
121 - avformat/mov: fix integer overflow in mov_read_udta_string()
122 - mov: Avoid overflow with mov_metadata_raw()
123 - avcodec/dvdsubdec: fix out of bounds accesses
124 - avfilter/vf_sab: fix filtering tiny images
125 - avformat/flvdec: Increase string array size
126 - avformat/flvdec: do not inject dts=0 metadata packets which failed to be parsed into a new data stream
127 - avformat/cdxl: Fix integer overflow of image_size
128 - avformat/segment: Use av_freep() avoid leaving stale pointers in memory
129 - avformat/mov: Fix memleaks for duplicate STCO/CO64/STSC atoms
130 - mov: avoid a memleak when multiple stss boxes are presen
131
132 version 2.4.5:
133 - lavu/frame: fix malloc error path in av_frame_copy_props()
134 - avformat/utils: Do not update programs streams from program-less streams in update_wrap_reference()
135 - avformat/aviobuf: Check that avio_seek() target is non negative
136 - swresample/soxr_resample: fix error handling
137 - avformat/flvdec: fix potential use of uninitialized variables
138 - avformat/matroskadec: fix handling of recursive SeekHead elements
139 - doc/examples/transcoding: check encoder before using it
140 - swscale/x86/rgb2rgb_template: fix crash with tiny size and nv12 output
141 - avformat/rmdec: Check codec_data_size
142 - avformat/aviobuf: Fix infinite loop in ff_get_line()
143 - vc1: Do not assume seek happens after decoding
144 - mmvideo: check frame dimensions
145 - jvdec: check frame dimensions
146 - avcodec/indeo3: ensure offsets are non negative
147 - avcodec/h264: Check *log2_weight_denom
148 - avcodec/hevc_ps: Check diff_cu_qp_delta_depth
149 - avcodec/h264: Clear delayed_pic on deallocation
150 - avcodec/hevc: clear filter_slice_edges() on allocation
151 - avcodec/dcadec: Check that the added xch channel isnt already there
152 - avcodec/indeo3: use signed variables to avoid underflow
153 - swscale: increase yuv2rgb table headroom
154 - avformat/mov: fix integer overflow of size
155 - avformat/mov: check atom nesting depth
156 - avcodec/utvideodec: Fix handling of slice_height=0
157 - avcodec/vmdvideo: Check len before using it in method 3
158 - avformat/flvdec: Use av_freep() avoid leaving stale pointers in memory
159 - avformat/hdsenc: Use av_freep() avoid leaving stale pointers in memory
160 - configure: create the tests directory like the doc directory
161 - v4l2: Make use of the VIDIOC_ENUM_FRAMESIZES ioctl on OpenBSD
162 - avcodec/motion_est: use 2x8x8 for interlaced qpel
163 - Treat all '*.pnm' files as non-text file
164
165 version 2.4.4:
166 - avformat: replace some odd 30-60 rates by higher less odd ones in  get_std_framerate()
167 - swscale: fix yuv2yuvX_8 assembly on x86
168 - avcodec/hevc_ps: Check num_long_term_ref_pics_sps
169 - avcodec/mjpegdec: Fix integer overflow in shift
170 - avcodec/hevc_ps: Check return code from pps_range_extensions()
171 - avcodec/rawdec: Check the return code of avpicture_get_size()
172 - avcodec/pngdec: Check IHDR/IDAT order
173 - avcodec/flacdec: Call ff_flacdsp_init() unconditionally
174 - avcodec/utils: Check that the data is complete in avpriv_bprint_to_extradata()
175 - avcodec/mjpegdec: Fix context fields becoming inconsistent
176 - avcodec/mjpegdec: Check for pixfmtid 0x42111100 || 0x24111100 with more than 8 bits
177 - swscale/x86/rgb2rgb_template: handle the first 2 lines with C in rgb24toyv12_*()
178 - doc/APIchanges: Fix some wrong versions
179 - avformat/hlsenc: Free context after hls_append_segment
180 - avcodec/mpeg4video_parser: fix spurious extradata parse warnings
181 - lavu/opt: fix av_opt_get function
182 - avcodec/wmaprodec: Fix integer overflow in sfb_offsets initialization
183 - avcodec/utvideodec: fix assumtation that slice_height >= 1
184 - avcodec/options_table fix min of audio channels and sample rate
185 - libavutil/thread.h: Support OS/2 threads
186 - fix Makefile objects for pulseaudio support
187 - opusdec: make sure all substreams have the same number of coded samples
188 - lavu: add wrappers for the pthreads mutex API
189 - avformat/avidec: fix handling dv in avi
190 - avfilter/vf_lut: gammaval709()
191 - cinedec: report white balance gain coefficients using metadata
192 - swscale/utils: support bayer input + scaling, and bayer input + any supported output
193 - swscale: support internal scaler cascades
194 - avformat/dtsdec: dts_probe: check reserved bit, check lfe, check sr_code similarity
195 - avformat/segment: export inner muxer timebase
196 - Remove fminf() emulation, fix build issues
197 - avcodec/mpegaudio_parser: fix off by 1 error in bitrate calculation
198 - Use -fno-optimize-sibling-calls on parisc also for gcc 4.9.
199 - ffmpeg_opt: store canvas size in decoder context
200 - avcodec/mpeg12dec: do not trust AVCodecContext input dimensions
201
202 version 2.4.3:
203 - avcodec/svq1dec: zero terminate embedded message before printing
204 - avcodec/cook: check that the subpacket sizes fit in block_align
205 - avcodec/g2meet: check tile dimensions to avoid integer overflow
206 - avcodec/utils: Align dimensions by at least their chroma sub-sampling factors.
207 - avcodec/dnxhddec: treat pix_fmt like width/height
208 - avcodec/dxa: check dimensions
209 - avcodec/dirac_arith: fix integer overflow
210 - avcodec/diracdec: Tighter checks on CODEBLOCKS_X/Y
211 - avcodec/diracdec: Use 64bit in calculation of codeblock coordinates
212 - avcodec/sgidec: fix count check
213 - avcodec/sgidec: fix linesize for 16bit
214 - avcodec/hevc_ps: Check default display window bitstream and skip if invalid
215 - avcodec/tiffenc: properly compute packet size
216 - lavd: export all symbols with av_ prefix
217 - avformat/mxfdec: Fix termination of mxf_data_essence_container_uls
218 - postproc: fix qp count
219 - postproc/postprocess: fix quant store for fq mode
220 - vf_drawtext: add missing clear of pointers after av_expr_free()
221 - utvideoenc: properly set slice height/last line
222 - swresample: fix sample drop loop end condition
223 - resample: Avoid off-by-1 errors in PTS calcs.
224 - imc: fix order of operations in coefficients read
225 - hevc_mvs: make sure to always initialize the temporal MV fully
226 - hevc_mvs: initialize the temporal MV in case of missing reference
227
228 version 2.4.2:
229 - avcodec/on2avc: Check number of channels
230 - avcodec/hevc: fix chroma transform_add size
231 - avcodec/h264: Check mode before considering mixed mode intra prediction
232 - avformat/mpegts: use a padded buffer in read_sl_header()
233 - avformat/mpegts: Check desc_len / get8() return code
234 - avcodec/vorbisdec: Fix off by 1 error in ptns_to_read
235 - sdp: add support for H.261
236 - avcodec/svq3: Do not memcpy AVFrame
237 - avcodec/smc: fix off by 1 error
238 - avcodec/qpeg: fix off by 1 error in MV bounds check
239 - avcodec/gifdec: factorize interleave end handling out
240 - avcodec/cinepak: fix integer underflow
241 - avcodec/pngdec: Check bits per pixel before setting monoblack pixel format
242 - avcodec/pngdec: Calculate MPNG bytewidth more defensively
243 - avcodec/tiff: more completely check bpp/bppcount
244 - avcodec/mmvideo: Bounds check 2nd line of HHV Intra blocks
245 - avcodec/h263dec: Fix decoding messenger.h263
246 - avcodec/utils: Add case for jv to avcodec_align_dimensions2()
247 - avcodec/mjpegdec: check bits per pixel for changes similar to dimensions
248 - avcodec/jpeglsdec: Check run value more completely in ls_decode_line()
249 - avformat/hlsenc: export inner muxer timebase
250 - configure: add noexecstack to linker options if supported.
251 - avcodec/ac3enc_template: fix out of array read
252 - avutil/x86/cpu: fix cpuid sub-leaf selection
253 - avformat/img2dec: enable generic seeking for image pipes
254 - avformat/img2dec: initialize pkt->pos for image pipes
255 - avformat/img2dec: pass error code and signal EOF
256 - avformat/img2dec: fix error code at EOF for pipes
257 - libavutil/opt: fix av_opt_set_channel_layout() to access correct memory address
258 - tests/fate-run.sh: Cat .err file in case of error with V>0
259 - avformat/riffenc: Filter out "BottomUp" in ff_put_bmp_header()
260 - avcodec/webp: fix default palette color 0xff000000 -> 0x00000000
261 - avcodec/asvenc: fix AAN scaling
262 - Fix compile error on arm4/arm5 platform
263
264
265 version 2.4.1:
266 - swscale: Allow chroma samples to be above and to the left of luma samples
267 - avcodec/libilbc: support for latest git of libilbc
268 - avcodec/webp: treat out-of-bound palette index as translucent black
269 - vf_deshake: rename Transform.vector to Transform.vec to avoid compiler confusion
270 - apetag: Fix APE tag size check
271 - tools/crypto_bench: fix build when AV_READ_TIME is unavailable
272
273
274 version 2.4:
275 - Icecast protocol
276 - ported lenscorrection filter from frei0r filter
277 - large optimizations in dctdnoiz to make it usable
278 - ICY metadata are now requested by default with the HTTP protocol
279 - support for using metadata in stream specifiers in fftools
280 - LZMA compression support in TIFF decoder
281 - support for H.261 RTP payload format (RFC 4587)
282 - HEVC/H.265 RTP payload format (draft v6) depacketizer
283 - added codecview filter to visualize information exported by some codecs
284 - Matroska 3D support thorugh side data
285 - HTML generation using texi2html is deprecated in favor of makeinfo/texi2any
286 - silenceremove filter
287
288
289 version 2.3:
290 - AC3 fixed-point decoding
291 - shuffleplanes filter
292 - subfile protocol
293 - Phantom Cine demuxer
294 - replaygain data export
295 - VP7 video decoder
296 - Alias PIX image encoder and decoder
297 - Improvements to the BRender PIX image decoder
298 - Improvements to the XBM decoder
299 - QTKit input device
300 - improvements to OpenEXR image decoder
301 - support decoding 16-bit RLE SGI images
302 - GDI screen grabbing for Windows
303 - alternative rendition support for HTTP Live Streaming
304 - AVFoundation input device
305 - Direct Stream Digital (DSD) decoder
306 - Magic Lantern Video (MLV) demuxer
307 - On2 AVC (Audio for Video) decoder
308 - support for decoding through DXVA2 in ffmpeg
309 - libbs2b-based stereo-to-binaural audio filter
310 - libx264 reference frames count limiting depending on level
311 - native Opus decoder
312 - display matrix export and rotation API
313 - WebVTT encoder
314 - showcqt multimedia filter
315 - zoompan filter
316 - signalstats filter
317 - hqx filter (hq2x, hq3x, hq4x)
318 - flanger filter
319 - Image format auto-detection
320 - LRC demuxer and muxer
321 - Samba protocol (via libsmbclient)
322 - WebM DASH Manifest muxer
323 - libfribidi support in drawtext
324
325
326 version 2.2:
327
328 - HNM version 4 demuxer and video decoder
329 - Live HDS muxer
330 - setsar/setdar filters now support variables in ratio expressions
331 - elbg filter
332 - string validation in ffprobe
333 - support for decoding through VDPAU in ffmpeg (the -hwaccel option)
334 - complete Voxware MetaSound decoder
335 - remove mp3_header_compress bitstream filter
336 - Windows resource files for shared libraries
337 - aeval filter
338 - stereoscopic 3d metadata handling
339 - WebP encoding via libwebp
340 - ATRAC3+ decoder
341 - VP8 in Ogg demuxing
342 - side & metadata support in NUT
343 - framepack filter
344 - XYZ12 rawvideo support in NUT
345 - Exif metadata support in WebP decoder
346 - OpenGL device
347 - Use metadata_header_padding to control padding in ID3 tags (currently used in
348   MP3, AIFF, and OMA files), FLAC header, and the AVI "junk" block.
349 - Mirillis FIC video decoder
350 - Support DNx444
351 - libx265 encoder
352 - dejudder filter
353 - Autodetect VDA like all other hardware accelerations
354 - aliases and defaults for Ogg subtypes (opus, spx)
355
356
357 version 2.1:
358
359 - aecho filter
360 - perspective filter ported from libmpcodecs
361 - ffprobe -show_programs option
362 - compand filter
363 - RTMP seek support
364 - when transcoding with ffmpeg (i.e. not streamcopying), -ss is now accurate
365   even when used as an input option. Previous behavior can be restored with
366   the -noaccurate_seek option.
367 - ffmpeg -t option can now be used for inputs, to limit the duration of
368   data read from an input file
369 - incomplete Voxware MetaSound decoder
370 - read EXIF metadata from JPEG
371 - DVB teletext decoder
372 - phase filter ported from libmpcodecs
373 - w3fdif filter
374 - Opus support in Matroska
375 - FFV1 version 1.3 is stable and no longer experimental
376 - FFV1: YUVA(444,422,420) 9, 10 and 16 bit support
377 - changed DTS stream id in lavf mpeg ps muxer from 0x8a to 0x88, to be
378   more consistent with other muxers.
379 - adelay filter
380 - pullup filter ported from libmpcodecs
381 - ffprobe -read_intervals option
382 - Lossless and alpha support for WebP decoder
383 - Error Resilient AAC syntax (ER AAC LC) decoding
384 - Low Delay AAC (ER AAC LD) decoding
385 - mux chapters in ASF files
386 - SFTP protocol (via libssh)
387 - libx264: add ability to encode in YUVJ422P and YUVJ444P
388 - Fraps: use BT.709 colorspace by default for yuv, as reference fraps decoder does
389 - make decoding alpha optional for prores, ffv1 and vp6 by setting
390   the skip_alpha flag.
391 - ladspa wrapper filter
392 - native VP9 decoder
393 - dpx parser
394 - max_error_rate parameter in ffmpeg
395 - PulseAudio output device
396 - ReplayGain scanner
397 - Enhanced Low Delay AAC (ER AAC ELD) decoding (no LD SBR support)
398 - Linux framebuffer output device
399 - HEVC decoder
400 - raw HEVC, HEVC in MOV/MP4, HEVC in Matroska, HEVC in MPEG-TS demuxing
401 - mergeplanes filter
402
403
404 version 2.0:
405
406 - curves filter
407 - reference-counting for AVFrame and AVPacket data
408 - ffmpeg now fails when input options are used for output file
409   or vice versa
410 - support for Monkey's Audio versions from 3.93
411 - perms and aperms filters
412 - audio filtering support in ffplay
413 - 10% faster aac encoding on x86 and MIPS
414 - sine audio filter source
415 - WebP demuxing and decoding support
416 - ffmpeg options -filter_script and -filter_complex_script, which allow a
417   filtergraph description to be read from a file
418 - OpenCL support
419 - audio phaser filter
420 - separatefields filter
421 - libquvi demuxer
422 - uniform options syntax across all filters
423 - telecine filter
424 - interlace filter
425 - smptehdbars source
426 - inverse telecine filters (fieldmatch and decimate)
427 - colorbalance filter
428 - colorchannelmixer filter
429 - The matroska demuxer can now output proper verbatim ASS packets. It will
430   become the default at the next libavformat major bump.
431 - decent native animated GIF encoding
432 - asetrate filter
433 - interleave filter
434 - timeline editing with filters
435 - vidstabdetect and vidstabtransform filters for video stabilization using
436   the vid.stab library
437 - astats filter
438 - trim and atrim filters
439 - ffmpeg -t and -ss (output-only) options are now sample-accurate when
440   transcoding audio
441 - Matroska muxer can now put the index at the beginning of the file.
442 - extractplanes filter
443 - avectorscope filter
444 - ADPCM DTK decoder
445 - ADP demuxer
446 - RSD demuxer
447 - RedSpark demuxer
448 - ADPCM IMA Radical decoder
449 - zmq filters
450 - DCT denoiser filter (dctdnoiz)
451 - Wavelet denoiser filter ported from libmpcodecs as owdenoise (formerly "ow")
452 - Apple Intermediate Codec decoder
453 - Escape 130 video decoder
454 - FTP protocol support
455 - V4L2 output device
456 - 3D LUT filter (lut3d)
457 - SMPTE 302M audio encoder
458 - support for slice multithreading in libavfilter
459 - Hald CLUT support (generation and filtering)
460 - VC-1 interlaced B-frame support
461 - support for WavPack muxing (raw and in Matroska)
462 - XVideo output device
463 - vignette filter
464 - True Audio (TTA) encoder
465 - Go2Webinar decoder
466 - mcdeint filter ported from libmpcodecs
467 - sab filter ported from libmpcodecs
468 - ffprobe -show_chapters option
469 - WavPack encoding through libwavpack
470 - rotate filter
471 - spp filter ported from libmpcodecs
472 - libgme support
473 - psnr filter
474
475
476 version 1.2:
477
478 - VDPAU hardware acceleration through normal hwaccel
479 - SRTP support
480 - Error diffusion dither in Swscale
481 - Chained Ogg support
482 - Theora Midstream reconfiguration support
483 - EVRC decoder
484 - audio fade filter
485 - filtering audio with unknown channel layout
486 - allpass, bass, bandpass, bandreject, biquad, equalizer, highpass, lowpass
487   and treble audio filter
488 - improved showspectrum filter, with multichannel support and sox-like colors
489 - histogram filter
490 - tee muxer
491 - il filter ported from libmpcodecs
492 - support ID3v2 tags in ASF files
493 - encrypted TTA stream decoding support
494 - RF64 support in WAV muxer
495 - noise filter ported from libmpcodecs
496 - Subtitles character encoding conversion
497 - blend filter
498 - stereo3d filter ported from libmpcodecs
499
500
501 version 1.1:
502
503 - stream disposition information printing in ffprobe
504 - filter for loudness analysis following EBU R128
505 - Opus encoder using libopus
506 - ffprobe -select_streams option
507 - Pinnacle TARGA CineWave YUV16 decoder
508 - TAK demuxer, decoder and parser
509 - DTS-HD demuxer
510 - remove -same_quant, it hasn't worked for years
511 - FFM2 support
512 - X-Face image encoder and decoder
513 - 24-bit FLAC encoding
514 - multi-channel ALAC encoding up to 7.1
515 - metadata (INFO tag) support in WAV muxer
516 - subtitles raw text decoder
517 - support for building DLLs using MSVC
518 - LVF demuxer
519 - ffescape tool
520 - metadata (info chunk) support in CAF muxer
521 - field filter ported from libmpcodecs
522 - AVR demuxer
523 - geq filter ported from libmpcodecs
524 - remove ffserver daemon mode
525 - AST muxer/demuxer
526 - new expansion syntax for drawtext
527 - BRender PIX image decoder
528 - ffprobe -show_entries option
529 - ffprobe -sections option
530 - ADPCM IMA Dialogic decoder
531 - BRSTM demuxer
532 - animated GIF decoder and demuxer
533 - PVF demuxer
534 - subtitles filter
535 - IRCAM muxer/demuxer
536 - Paris Audio File demuxer
537 - Virtual concatenation demuxer
538 - VobSub demuxer
539 - JSON captions for TED talks decoding support
540 - SOX Resampler support in libswresample
541 - aselect filter
542 - SGI RLE 8-bit / Silicon Graphics RLE 8-bit video decoder
543 - Silicon Graphics Motion Video Compressor 1 & 2 decoder
544 - Silicon Graphics Movie demuxer
545 - apad filter
546 - Resolution & pixel format change support with multithreading for H.264
547 - documentation split into per-component manuals
548 - pp (postproc) filter ported from MPlayer
549 - NIST Sphere demuxer
550 - MPL2, VPlayer, MPlayer, AQTitle, PJS and SubViewer v1 subtitles demuxers and decoders
551 - Sony Wave64 muxer
552 - adobe and limelight publisher authentication in RTMP
553 - data: URI scheme
554 - support building on the Plan 9 operating system
555 - kerndeint filter ported from MPlayer
556 - histeq filter ported from VirtualDub
557 - Megalux Frame demuxer
558 - 012v decoder
559 - Improved AVC Intra decoding support
560
561
562 version 1.0:
563
564 - INI and flat output in ffprobe
565 - Scene detection in libavfilter
566 - Indeo Audio decoder
567 - channelsplit audio filter
568 - setnsamples audio filter
569 - atempo filter
570 - ffprobe -show_data option
571 - RTMPT protocol support
572 - iLBC encoding/decoding via libilbc
573 - Microsoft Screen 1 decoder
574 - join audio filter
575 - audio channel mapping filter
576 - Microsoft ATC Screen decoder
577 - RTSP listen mode
578 - TechSmith Screen Codec 2 decoder
579 - AAC encoding via libfdk-aac
580 - Microsoft Expression Encoder Screen decoder
581 - RTMPS protocol support
582 - RTMPTS protocol support
583 - RTMPE protocol support
584 - RTMPTE protocol support
585 - showwaves and showspectrum filter
586 - LucasArts SMUSH SANM playback support
587 - LucasArts SMUSH VIMA audio decoder (ADPCM)
588 - LucasArts SMUSH demuxer
589 - SAMI, RealText and SubViewer demuxers and decoders
590 - Heart Of Darkness PAF playback support
591 - iec61883 device
592 - asettb filter
593 - new option: -progress
594 - 3GPP Timed Text encoder/decoder
595 - GeoTIFF decoder support
596 - ffmpeg -(no)stdin option
597 - Opus decoder using libopus
598 - caca output device using libcaca
599 - alphaextract and alphamerge filters
600 - concat filter
601 - flite filter
602 - Canopus Lossless Codec decoder
603 - bitmap subtitles in filters (experimental and temporary)
604 - MP2 encoding via TwoLAME
605 - bmp parser
606 - smptebars source
607 - asetpts filter
608 - hue filter
609 - ICO muxer
610 - SubRip encoder and decoder without embedded timing
611 - edge detection filter
612 - framestep filter
613 - ffmpeg -shortest option is now per-output file
614   -pass and -passlogfile are now per-output stream
615 - volume measurement filter
616 - Ut Video encoder
617 - Microsoft Screen 2 decoder
618 - smartblur filter ported from MPlayer
619 - CPiA decoder
620 - decimate filter ported from MPlayer
621 - RTP depacketization of JPEG
622 - Smooth Streaming live segmenter muxer
623 - F4V muxer
624 - sendcmd and asendcmd filters
625 - WebVTT demuxer and decoder (simple tags supported)
626 - RTP packetization of JPEG
627 - faststart option in the MOV/MP4 muxer
628 - support for building with MSVC
629
630
631 version 0.11:
632
633 - Fixes: CVE-2012-2772, CVE-2012-2774, CVE-2012-2775, CVE-2012-2776, CVE-2012-2777,
634          CVE-2012-2779, CVE-2012-2782, CVE-2012-2783, CVE-2012-2784, CVE-2012-2785,
635          CVE-2012-2786, CVE-2012-2787, CVE-2012-2788, CVE-2012-2789, CVE-2012-2790,
636          CVE-2012-2791, CVE-2012-2792, CVE-2012-2793, CVE-2012-2794, CVE-2012-2795,
637          CVE-2012-2796, CVE-2012-2797, CVE-2012-2798, CVE-2012-2799, CVE-2012-2800,
638          CVE-2012-2801, CVE-2012-2802, CVE-2012-2803, CVE-2012-2804,
639 - v408 Quicktime and Microsoft AYUV Uncompressed 4:4:4:4 encoder and decoder
640 - setfield filter
641 - CDXL demuxer and decoder
642 - Apple ProRes encoder
643 - ffprobe -count_packets and -count_frames options
644 - Sun Rasterfile Encoder
645 - ID3v2 attached pictures reading and writing
646 - WMA Lossless decoder
647 - bluray protocol
648 - blackdetect filter
649 - libutvideo encoder wrapper (--enable-libutvideo)
650 - swapuv filter
651 - bbox filter
652 - XBM encoder and decoder
653 - RealAudio Lossless decoder
654 - ZeroCodec decoder
655 - tile video filter
656 - Metal Gear Solid: The Twin Snakes demuxer
657 - OpenEXR image decoder
658 - removelogo filter
659 - drop support for ffmpeg without libavfilter
660 - drawtext video filter: fontconfig support
661 - ffmpeg -benchmark_all option
662 - super2xsai filter ported from libmpcodecs
663 - add libavresample audio conversion library for compatibility
664 - MicroDVD decoder
665 - Avid Meridien (AVUI) encoder and decoder
666 - accept + prefix to -pix_fmt option to disable automatic conversions.
667 - complete audio filtering in libavfilter and ffmpeg
668 - add fps filter
669 - vorbis parser
670 - png parser
671 - audio mix filter
672 - ffv1: support (draft) version 1.3
673
674
675 version 0.10:
676
677 - Fixes: CVE-2011-3929, CVE-2011-3934, CVE-2011-3935, CVE-2011-3936,
678          CVE-2011-3937, CVE-2011-3940, CVE-2011-3941, CVE-2011-3944,
679          CVE-2011-3945, CVE-2011-3946, CVE-2011-3947, CVE-2011-3949,
680          CVE-2011-3950, CVE-2011-3951, CVE-2011-3952
681 - v410 Quicktime Uncompressed 4:4:4 10-bit encoder and decoder
682 - SBaGen (SBG) binaural beats script demuxer
683 - OpenMG Audio muxer
684 - Timecode extraction in DV and MOV
685 - thumbnail video filter
686 - XML output in ffprobe
687 - asplit audio filter
688 - tinterlace video filter
689 - astreamsync audio filter
690 - amerge audio filter
691 - ISMV (Smooth Streaming) muxer
692 - GSM audio parser
693 - SMJPEG muxer
694 - XWD encoder and decoder
695 - Automatic thread count based on detection number of (available) CPU cores
696 - y41p Brooktree Uncompressed 4:1:1 12-bit encoder and decoder
697 - ffprobe -show_error option
698 - Avid 1:1 10-bit RGB Packer codec
699 - v308 Quicktime Uncompressed 4:4:4 encoder and decoder
700 - yuv4 libquicktime packed 4:2:0 encoder and decoder
701 - ffprobe -show_frames option
702 - silencedetect audio filter
703 - ffprobe -show_program_version, -show_library_versions, -show_versions options
704 - rv34: frame-level multi-threading
705 - optimized iMDCT transform on x86 using SSE for for mpegaudiodec
706 - Improved PGS subtitle decoder
707 - dumpgraph option to lavfi device
708 - r210 and r10k encoders
709 - ffwavesynth decoder
710 - aviocat tool
711 - ffeval tool
712 - support encoding and decoding 4-channel SGI images
713
714
715 version 0.9:
716
717 - openal input device added
718 - boxblur filter added
719 - BWF muxer
720 - Flash Screen Video 2 decoder
721 - lavfi input device added
722 - added avconv, which is almost the same for now, except
723 for a few incompatible changes in the options, which will hopefully make them
724 easier to use. The changes are:
725     * The options placement is now strictly enforced! While in theory the
726       options for ffmpeg should be given in [input options] -i INPUT [output
727       options] OUTPUT order, in practice it was possible to give output options
728       before the -i and it mostly worked. Except when it didn't - the behavior was
729       a bit inconsistent. In avconv, it is not possible to mix input and output
730       options. All non-global options are reset after an input or output filename.
731     * All per-file options are now truly per-file - they apply only to the next
732       input or output file and specifying different values for different files
733       will now work properly (notably -ss and -t options).
734     * All per-stream options are now truly per-stream - it is possible to
735       specify which stream(s) should a given option apply to. See the Stream
736       specifiers section in the avconv manual for details.
737     * In ffmpeg some options (like -newvideo/-newaudio/...) are irregular in the
738       sense that they're specified after the output filename instead of before,
739       like all other options. In avconv this irregularity is removed, all options
740       apply to the next input or output file.
741     * -newvideo/-newaudio/-newsubtitle options were removed. Not only were they
742       irregular and highly confusing, they were also redundant. In avconv the -map
743       option will create new streams in the output file and map input streams to
744       them. E.g. avconv -i INPUT -map 0 OUTPUT will create an output stream for
745       each stream in the first input file.
746     * The -map option now has slightly different and more powerful syntax:
747         + Colons (':') are used to separate file index/stream type/stream index
748           instead of dots. Comma (',') is used to separate the sync stream instead
749           of colon.. This is done for consistency with other options.
750         + It's possible to specify stream type. E.g. -map 0:a:2 creates an
751           output stream from the third input audio stream.
752         + Omitting the stream index now maps all the streams of the given type,
753           not just the first. E.g. -map 0:s creates output streams for all the
754           subtitle streams in the first input file.
755         + Since -map can now match multiple streams, negative mappings were
756           introduced. Negative mappings disable some streams from an already
757           defined map. E.g. '-map 0 -map -0:a:1' means 'create output streams for
758           all the stream in the first input file, except for the second audio
759           stream'.
760     * There is a new option -c (or -codec) for choosing the decoder/encoder to
761       use, which allows to precisely specify target stream(s) consistently with
762       other options. E.g. -c:v lib264 sets the codec for all video streams, -c:a:0
763       libvorbis sets the codec for the first audio stream and -c copy copies all
764       the streams without reencoding. Old -vcodec/-acodec/-scodec options are now
765       aliases to -c:v/a/s
766     * It is now possible to precisely specify which stream should an AVOption
767       apply to. E.g. -b:v:0 2M sets the bitrate for the first video stream, while
768       -b:a 128k sets the bitrate for all audio streams. Note that the old -ab 128k
769       syntax is deprecated and will stop working soon.
770     * -map_chapters now takes only an input file index and applies to the next
771       output file. This is consistent with how all the other options work.
772     * -map_metadata now takes only an input metadata specifier and applies to
773       the next output file. Output metadata specifier is now part of the option
774       name, similarly to the AVOptions/map/codec feature above.
775     * -metadata can now be used to set metadata on streams and chapters, e.g.
776       -metadata:s:1 language=eng sets the language of the first stream to 'eng'.
777       This made -vlang/-alang/-slang options redundant, so they were removed.
778     * -qscale option now uses stream specifiers and applies to all streams, not
779       just video. I.e. plain -qscale number would now apply to all streams. To get
780       the old behavior, use -qscale:v. Also there is now a shortcut -q for -qscale
781       and -aq is now an alias for -q:a.
782     * -vbsf/-absf/-sbsf options were removed and replaced by a -bsf option which
783       uses stream specifiers. Use -bsf:v/a/s instead of the old options.
784     * -itsscale option now uses stream specifiers, so its argument is only the
785       scale parameter.
786     * -intra option was removed, use -g 0 for the same effect.
787     * -psnr option was removed, use -flags +psnr for the same effect.
788     * -vf option is now an alias to the new -filter option, which uses stream specifiers.
789     * -vframes/-aframes/-dframes options are now aliases to the new -frames option.
790     * -vtag/-atag/-stag options are now aliases to the new -tag option.
791 - XMV demuxer
792 - LOAS demuxer
793 - ashowinfo filter added
794 - Windows Media Image decoder
795 - amovie source added
796 - LATM muxer/demuxer
797 - Speex encoder via libspeex
798 - JSON output in ffprobe
799 - WTV muxer
800 - Optional C++ Support (needed for libstagefright)
801 - H.264 Decoding on Android via Stagefright
802 - Prores decoder
803 - BIN/XBIN/ADF/IDF text file decoder
804 - aconvert audio filter added
805 - audio support to lavfi input device added
806 - libcdio-paranoia input device for audio CD grabbing
807 - Apple ProRes decoder
808 - CELT in Ogg demuxing
809 - G.723.1 demuxer and decoder
810 - libmodplug support (--enable-libmodplug)
811 - VC-1 interlaced decoding
812 - libutvideo wrapper (--enable-libutvideo)
813 - aevalsrc audio source added
814 - Ut Video decoder
815 - Speex encoding via libspeex
816 - 4:2:2 H.264 decoding support
817 - 4:2:2 and 4:4:4 H.264 encoding with libx264
818 - Pulseaudio input device
819 - Prores encoder
820 - Video Decoder Acceleration (VDA) HWAccel module.
821 - replacement Indeo 3 decoder
822 - new ffmpeg option: -map_channel
823 - volume audio filter added
824 - earwax audio filter added
825 - libv4l2 support (--enable-libv4l2)
826 - TLS/SSL and HTTPS protocol support
827 - AVOptions API rewritten and documented
828 - most of CODEC_FLAG2_*, some CODEC_FLAG_* and many codec-specific fields in
829   AVCodecContext deprecated. Codec private options should be used instead.
830 - Properly working defaults in libx264 wrapper, support for native presets.
831 - Encrypted OMA files support
832 - Discworld II BMV decoding support
833 - VBLE Decoder
834 - OS X Video Decoder Acceleration (VDA) support
835 - compact and csv output in ffprobe
836 - pan audio filter
837 - IFF Amiga Continuous Bitmap (ACBM) decoder
838 - ass filter
839 - CRI ADX audio format muxer and demuxer
840 - Playstation Portable PMP format demuxer
841 - Microsoft Windows ICO demuxer
842 - life source
843 - PCM format support in OMA demuxer
844 - CLJR encoder
845 - new option: -report
846 - Dxtory capture format decoder
847 - cellauto source
848 - Simple segmenting muxer
849 - Indeo 4 decoder
850 - SMJPEG demuxer
851
852
853 version 0.8:
854
855 - many many things we forgot because we rather write code than changelogs
856 - WebM support in Matroska de/muxer
857 - low overhead Ogg muxing
858 - MMS-TCP support
859 - VP8 de/encoding via libvpx
860 - Demuxer for On2's IVF format
861 - Pictor/PC Paint decoder
862 - HE-AAC v2 decoder
863 - HE-AAC v2 encoding with libaacplus
864 - libfaad2 wrapper removed
865 - DTS-ES extension (XCh) decoding support
866 - native VP8 decoder
867 - RTSP tunneling over HTTP
868 - RTP depacketization of SVQ3
869 - -strict inofficial replaced by -strict unofficial
870 - ffplay -exitonkeydown and -exitonmousedown options added
871 - native GSM / GSM MS decoder
872 - RTP depacketization of QDM2
873 - ANSI/ASCII art playback system
874 - Lego Mindstorms RSO de/muxer
875 - libavcore added (and subsequently removed)
876 - SubRip subtitle file muxer and demuxer
877 - Chinese AVS encoding via libxavs
878 - ffprobe -show_packets option added
879 - RTP packetization of Theora and Vorbis
880 - RTP depacketization of MP4A-LATM
881 - RTP packetization and depacketization of VP8
882 - hflip filter
883 - Apple HTTP Live Streaming demuxer
884 - a64 codec
885 - MMS-HTTP support
886 - G.722 ADPCM audio encoder/decoder
887 - R10k video decoder
888 - ocv_smooth filter
889 - frei0r wrapper filter
890 - change crop filter syntax to width:height:x:y
891 - make the crop filter accept parametric expressions
892 - make ffprobe accept AVFormatContext options
893 - yadif filter
894 - blackframe filter
895 - Demuxer for Leitch/Harris' VR native stream format (LXF)
896 - RTP depacketization of the X-QT QuickTime format
897 - SAP (Session Announcement Protocol, RFC 2974) muxer and demuxer
898 - cropdetect filter
899 - ffmpeg -crop* options removed
900 - transpose filter added
901 - ffmpeg -force_key_frames option added
902 - demuxer for receiving raw rtp:// URLs without an SDP description
903 - single stream LATM/LOAS decoder
904 - setpts filter added
905 - Win64 support for optimized x86 assembly functions
906 - MJPEG/AVI1 to JPEG/JFIF bitstream filter
907 - ASS subtitle encoder and decoder
908 - IEC 61937 encapsulation for E-AC-3, TrueHD, DTS-HD (for HDMI passthrough)
909 - overlay filter added
910 - rename aspect filter to setdar, and pixelaspect to setsar
911 - IEC 61937 demuxer
912 - Mobotix .mxg demuxer
913 - frei0r source added
914 - hqdn3d filter added
915 - RTP depacketization of QCELP
916 - FLAC parser added
917 - gradfun filter added
918 - AMR-WB decoder
919 - replace the ocv_smooth filter with a more generic ocv filter
920 - Windows Televison (WTV) demuxer
921 - FFmpeg metadata format muxer and demuxer
922 - SubRip (srt) subtitle encoder and decoder
923 - floating-point AC-3 encoder added
924 - Lagarith decoder
925 - ffmpeg -copytb option added
926 - IVF muxer added
927 - Wing Commander IV movies decoder added
928 - movie source added
929 - Bink version 'b' audio and video decoder
930 - Bitmap Brothers JV playback system
931 - Apple HTTP Live Streaming protocol handler
932 - sndio support for playback and record
933 - Linux framebuffer input device added
934 - Chronomaster DFA decoder
935 - DPX image encoder
936 - MicroDVD subtitle file muxer and demuxer
937 - Playstation Portable PMP format demuxer
938 - fieldorder video filter added
939 - AAC encoding via libvo-aacenc
940 - AMR-WB encoding via libvo-amrwbenc
941 - xWMA demuxer
942 - Mobotix MxPEG decoder
943 - VP8 frame-multithreading
944 - NEON optimizations for VP8
945 - Lots of deprecated API cruft removed
946 - fft and imdct optimizations for AVX (Sandy Bridge) processors
947 - showinfo filter added
948 - SMPTE 302M AES3 audio decoder
949 - Apple Core Audio Format muxer
950 - 9bit and 10bit per sample support in the H.264 decoder
951 - 9bit and 10bit FFV1 encoding / decoding
952 - split filter added
953 - select filter added
954 - sdl output device added
955 - libmpcodecs video filter support (3 times as many filters than before)
956 - mpeg2 aspect ratio dection fixed
957 - libxvid aspect pickiness fixed
958 - Frame multithreaded decoding
959 - E-AC-3 audio encoder
960 - ac3enc: add channel coupling support
961 - floating-point sample format support to the ac3, eac3, dca, aac, and vorbis decoders.
962 - H264/MPEG frame-level multi-threading
963 - All av_metadata_* functions renamed to av_dict_* and moved to libavutil
964 - 4:4:4 H.264 decoding support
965 - 10-bit H.264 optimizations for x86
966 - lut, lutrgb, and lutyuv filters added
967 - buffersink libavfilter sink added
968 - Bump libswscale for recently reported ABI break
969 - New J2K encoder (via OpenJPEG)
970
971
972 version 0.7:
973
974 - all the changes for 0.8, but keeping API/ABI compatibility with the 0.6 release
975
976
977 version 0.6:
978
979 - PB-frame decoding for H.263
980 - deprecated vhook subsystem removed
981 - deprecated old scaler removed
982 - VQF demuxer
983 - Alpha channel scaler
984 - PCX encoder
985 - RTP packetization of H.263
986 - RTP packetization of AMR
987 - RTP depacketization of Vorbis
988 - CorePNG decoding support
989 - Cook multichannel decoding support
990 - introduced avlanguage helpers in libavformat
991 - 8088flex TMV demuxer and decoder
992 - per-stream language-tags extraction in asfdec
993 - V210 decoder and encoder
994 - remaining GPL parts in AC-3 decoder converted to LGPL
995 - QCP demuxer
996 - SoX native format muxer and demuxer
997 - AMR-NB decoding/encoding, AMR-WB decoding via OpenCORE libraries
998 - DPX image decoder
999 - Electronic Arts Madcow decoder
1000 - DivX (XSUB) subtitle encoder
1001 - nonfree libamr support for AMR-NB/WB decoding/encoding removed
1002 - experimental AAC encoder
1003 - RTP depacketization of ASF and RTSP from WMS servers
1004 - RTMP support in libavformat
1005 - noX handling for OPT_BOOL X options
1006 - Wave64 demuxer
1007 - IEC-61937 compatible Muxer
1008 - TwinVQ decoder
1009 - Bluray (PGS) subtitle decoder
1010 - LPCM support in MPEG-TS (HDMV RID as found on Blu-ray disks)
1011 - WMA Pro decoder
1012 - Core Audio Format demuxer
1013 - ATRAC1 decoder
1014 - MD STUDIO audio demuxer
1015 - RF64 support in WAV demuxer
1016 - MPEG-4 Audio Lossless Coding (ALS) decoder
1017 - -formats option split into -formats, -codecs, -bsfs, and -protocols
1018 - IV8 demuxer
1019 - CDG demuxer and decoder
1020 - R210 decoder
1021 - Auravision Aura 1 and 2 decoders
1022 - Deluxe Paint Animation playback system
1023 - SIPR decoder
1024 - Adobe Filmstrip muxer and demuxer
1025 - RTP depacketization of H.263
1026 - Bink demuxer and audio/video decoders
1027 - enable symbol versioning by default for linkers that support it
1028 - IFF PBM/ILBM bitmap decoder
1029 - concat protocol
1030 - Indeo 5 decoder
1031 - RTP depacketization of AMR
1032 - WMA Voice decoder
1033 - ffprobe tool
1034 - AMR-NB decoder
1035 - RTSP muxer
1036 - HE-AAC v1 decoder
1037 - Kega Game Video (KGV1) decoder
1038 - VorbisComment writing for FLAC, Ogg FLAC and Ogg Speex files
1039 - RTP depacketization of Theora
1040 - HTTP Digest authentication
1041 - RTMP/RTMPT/RTMPS/RTMPE/RTMPTE protocol support via librtmp
1042 - Psygnosis YOP demuxer and video decoder
1043 - spectral extension support in the E-AC-3 decoder
1044 - unsharp video filter
1045 - RTP hinting in the mov/3gp/mp4 muxer
1046 - Dirac in Ogg demuxing
1047 - seek to keyframes in Ogg
1048 - 4:2:2 and 4:4:4 Theora decoding
1049 - 35% faster VP3/Theora decoding
1050 - faster AAC decoding
1051 - faster H.264 decoding
1052 - RealAudio 1.0 (14.4K) encoder
1053
1054
1055 version 0.5:
1056
1057 - DV50 AKA DVCPRO50 encoder, decoder, muxer and demuxer
1058 - TechSmith Camtasia (TSCC) video decoder
1059 - IBM Ultimotion (ULTI) video decoder
1060 - Sierra Online audio file demuxer and decoder
1061 - Apple QuickDraw (qdrw) video decoder
1062 - Creative ADPCM audio decoder (16 bits as well as 8 bits schemes)
1063 - Electronic Arts Multimedia (WVE/UV2/etc.) file demuxer
1064 - Miro VideoXL (VIXL) video decoder
1065 - H.261 video encoder
1066 - QPEG video decoder
1067 - Nullsoft Video (NSV) file demuxer
1068 - Shorten audio decoder
1069 - LOCO video decoder
1070 - Apple Lossless Audio Codec (ALAC) decoder
1071 - Winnov WNV1 video decoder
1072 - Autodesk Animator Studio Codec (AASC) decoder
1073 - Indeo 2 video decoder
1074 - Fraps FPS1 video decoder
1075 - Snow video encoder/decoder
1076 - Sonic audio encoder/decoder
1077 - Vorbis audio decoder
1078 - Macromedia ADPCM decoder
1079 - Duck TrueMotion 2 video decoder
1080 - support for decoding FLX and DTA extensions in FLIC files
1081 - H.264 custom quantization matrices support
1082 - ffserver fixed, it should now be usable again
1083 - QDM2 audio decoder
1084 - Real Cooker audio decoder
1085 - TrueSpeech audio decoder
1086 - WMA2 audio decoder fixed, now all files should play correctly
1087 - RealAudio 14.4 and 28.8 decoders fixed
1088 - JPEG-LS decoder
1089 - build system improvements
1090 - tabs and trailing whitespace removed from the codebase
1091 - CamStudio video decoder
1092 - AIFF/AIFF-C audio format, encoding and decoding
1093 - ADTS AAC file reading and writing
1094 - Creative VOC file reading and writing
1095 - American Laser Games multimedia (*.mm) playback system
1096 - Zip Motion Blocks Video decoder
1097 - improved Theora/VP3 decoder
1098 - True Audio (TTA) decoder
1099 - AVS demuxer and video decoder
1100 - JPEG-LS encoder
1101 - Smacker demuxer and decoder
1102 - NuppelVideo/MythTV demuxer and RTjpeg decoder
1103 - KMVC decoder
1104 - MPEG-2 intra VLC support
1105 - MPEG-2 4:2:2 encoder
1106 - Flash Screen Video decoder
1107 - GXF demuxer
1108 - Chinese AVS decoder
1109 - GXF muxer
1110 - MXF demuxer
1111 - VC-1/WMV3/WMV9 video decoder
1112 - MacIntel support
1113 - AviSynth support
1114 - VMware video decoder
1115 - VP5 video decoder
1116 - VP6 video decoder
1117 - WavPack lossless audio decoder
1118 - Targa (.TGA) picture decoder
1119 - Vorbis audio encoder
1120 - Delphine Software .cin demuxer/audio and video decoder
1121 - Tiertex .seq demuxer/video decoder
1122 - MTV demuxer
1123 - TIFF picture encoder and decoder
1124 - GIF picture decoder
1125 - Intel Music Coder decoder
1126 - Zip Motion Blocks Video encoder
1127 - Musepack decoder
1128 - Flash Screen Video encoder
1129 - Theora encoding via libtheora
1130 - BMP encoder
1131 - WMA encoder
1132 - GSM-MS encoder and decoder
1133 - DCA decoder
1134 - DXA demuxer and decoder
1135 - DNxHD decoder
1136 - Gamecube movie (.THP) playback system
1137 - Blackfin optimizations
1138 - Interplay C93 demuxer and video decoder
1139 - Bethsoft VID demuxer and video decoder
1140 - CRYO APC demuxer
1141 - ATRAC3 decoder
1142 - V.Flash PTX decoder
1143 - RoQ muxer, RoQ audio encoder
1144 - Renderware TXD demuxer and decoder
1145 - extern C declarations for C++ removed from headers
1146 - sws_flags command line option
1147 - codebook generator
1148 - RoQ video encoder
1149 - QTRLE encoder
1150 - OS/2 support removed and restored again
1151 - AC-3 decoder
1152 - NUT muxer
1153 - additional SPARC (VIS) optimizations
1154 - Matroska muxer
1155 - slice-based parallel H.264 decoding
1156 - Monkey's Audio demuxer and decoder
1157 - AMV audio and video decoder
1158 - DNxHD encoder
1159 - H.264 PAFF decoding
1160 - Nellymoser ASAO decoder
1161 - Beam Software SIFF demuxer and decoder
1162 - libvorbis Vorbis decoding removed in favor of native decoder
1163 - IntraX8 (J-Frame) subdecoder for WMV2 and VC-1
1164 - Ogg (Theora, Vorbis and FLAC) muxer
1165 - The "device" muxers and demuxers are now in a new libavdevice library
1166 - PC Paintbrush PCX decoder
1167 - Sun Rasterfile decoder
1168 - TechnoTrend PVA demuxer
1169 - Linux Media Labs MPEG-4 (LMLM4) demuxer
1170 - AVM2 (Flash 9) SWF muxer
1171 - QT variant of IMA ADPCM encoder
1172 - VFW grabber
1173 - iPod/iPhone compatible mp4 muxer
1174 - Mimic decoder
1175 - MSN TCP Webcam stream demuxer
1176 - RL2 demuxer / decoder
1177 - IFF demuxer
1178 - 8SVX audio decoder
1179 - non-recursive Makefiles
1180 - BFI demuxer
1181 - MAXIS EA XA (.xa) demuxer / decoder
1182 - BFI video decoder
1183 - OMA demuxer
1184 - MLP/TrueHD decoder
1185 - Electronic Arts CMV decoder
1186 - Motion Pixels Video decoder
1187 - Motion Pixels MVI demuxer
1188 - removed animated GIF decoder/demuxer
1189 - D-Cinema audio muxer
1190 - Electronic Arts TGV decoder
1191 - Apple Lossless Audio Codec (ALAC) encoder
1192 - AAC decoder
1193 - floating point PCM encoder/decoder
1194 - MXF muxer
1195 - DV100 AKA DVCPRO HD decoder and demuxer
1196 - E-AC-3 support added to AC-3 decoder
1197 - Nellymoser ASAO encoder
1198 - ASS and SSA demuxer and muxer
1199 - liba52 wrapper removed
1200 - SVQ3 watermark decoding support
1201 - Speex decoding via libspeex
1202 - Electronic Arts TGQ decoder
1203 - RV40 decoder
1204 - QCELP / PureVoice decoder
1205 - RV30 decoder
1206 - hybrid WavPack support
1207 - R3D REDCODE demuxer
1208 - ALSA support for playback and record
1209 - Electronic Arts TQI decoder
1210 - OpenJPEG based JPEG 2000 decoder
1211 - NC (NC4600) camera file demuxer
1212 - Gopher client support
1213 - MXF D-10 muxer
1214 - generic metadata API
1215 - flash ScreenVideo2 encoder
1216
1217
1218 version 0.4.9-pre1:
1219
1220 - DV encoder, DV muxer
1221 - Microsoft RLE video decoder
1222 - Microsoft Video-1 decoder
1223 - Apple Animation (RLE) decoder
1224 - Apple Graphics (SMC) decoder
1225 - Apple Video (RPZA) decoder
1226 - Cinepak decoder
1227 - Sega FILM (CPK) file demuxer
1228 - Westwood multimedia support (VQA & AUD files)
1229 - Id Quake II CIN playback support
1230 - 8BPS video decoder
1231 - FLIC playback support
1232 - RealVideo 2.0 (RV20) decoder
1233 - Duck TrueMotion v1 (DUCK) video decoder
1234 - Sierra VMD demuxer and video decoder
1235 - MSZH and ZLIB decoder support
1236 - SVQ1 video encoder
1237 - AMR-WB support
1238 - PPC optimizations
1239 - rate distortion optimal cbp support
1240 - rate distorted optimal ac prediction for MPEG-4
1241 - rate distorted optimal lambda->qp support
1242 - AAC encoding with libfaac
1243 - Sunplus JPEG codec (SP5X) support
1244 - use Lagrange multipler instead of QP for ratecontrol
1245 - Theora/VP3 decoding support
1246 - XA and ADX ADPCM codecs
1247 - export MPEG-2 active display area / pan scan
1248 - Add support for configuring with IBM XLC
1249 - floating point AAN DCT
1250 - initial support for zygo video (not complete)
1251 - RGB ffv1 support
1252 - new audio/video parser API
1253 - av_log() system
1254 - av_read_frame() and av_seek_frame() support
1255 - missing last frame fixes
1256 - seek by mouse in ffplay
1257 - noise reduction of DCT coefficients
1258 - H.263 OBMC & 4MV support
1259 - H.263 alternative inter vlc support
1260 - H.263 loop filter
1261 - H.263 slice structured mode
1262 - interlaced DCT support for MPEG-2 encoding
1263 - stuffing to stay above min_bitrate
1264 - MB type & QP visualization
1265 - frame stepping for ffplay
1266 - interlaced motion estimation
1267 - alternate scantable support
1268 - SVCD scan offset support
1269 - closed GOP support
1270 - SSE2 FDCT
1271 - quantizer noise shaping
1272 - G.726 ADPCM audio codec
1273 - MS ADPCM encoding
1274 - multithreaded/SMP motion estimation
1275 - multithreaded/SMP encoding for MPEG-1/MPEG-2/MPEG-4/H.263
1276 - multithreaded/SMP decoding for MPEG-2
1277 - FLAC decoder
1278 - Metrowerks CodeWarrior suppport
1279 - H.263+ custom pcf support
1280 - nicer output for 'ffmpeg -formats'
1281 - Matroska demuxer
1282 - SGI image format, encoding and decoding
1283 - H.264 loop filter support
1284 - H.264 CABAC support
1285 - nicer looking arrows for the motion vector visualization
1286 - improved VCD support
1287 - audio timestamp drift compensation
1288 - MPEG-2 YUV 422/444 support
1289 - polyphase kaiser windowed sinc and blackman nuttall windowed sinc audio resample
1290 - better image scaling
1291 - H.261 support
1292 - correctly interleave packets during encoding
1293 - VIS optimized motion compensation
1294 - intra_dc_precision>0 encoding support
1295 - support reuse of motion vectors/MB types/field select values of the source video
1296 - more accurate deblock filter
1297 - padding support
1298 - many optimizations and bugfixes
1299 - FunCom ISS audio file demuxer and according ADPCM decoding
1300
1301
1302 version 0.4.8:
1303
1304 - MPEG-2 video encoding (Michael)
1305 - Id RoQ playback subsystem (Mike Melanson and Tim Ferguson)
1306 - Wing Commander III Movie (.mve) file playback subsystem (Mike Melanson
1307   and Mario Brito)
1308 - Xan DPCM audio decoder (Mario Brito)
1309 - Interplay MVE playback subsystem (Mike Melanson)
1310 - Duck DK3 and DK4 ADPCM audio decoders (Mike Melanson)
1311
1312
1313 version 0.4.7:
1314
1315 - RealAudio 1.0 (14_4) and 2.0 (28_8) native decoders. Author unknown, code from mplayerhq
1316   (originally from public domain player for Amiga at http://www.honeypot.net/audio)
1317 - current version now also compiles with older GCC (Fabrice)
1318 - 4X multimedia playback system including 4xm file demuxer (Mike
1319   Melanson), and 4X video and audio codecs (Michael)
1320 - Creative YUV (CYUV) decoder (Mike Melanson)
1321 - FFV1 codec (our very simple lossless intra only codec, compresses much better
1322   than HuffYUV) (Michael)
1323 - ASV1 (Asus), H.264, Intel indeo3 codecs have been added (various)
1324 - tiny PNG encoder and decoder, tiny GIF decoder, PAM decoder (PPM with
1325   alpha support), JPEG YUV colorspace support. (Fabrice Bellard)
1326 - ffplay has been replaced with a newer version which uses SDL (optionally)
1327   for multiplatform support (Fabrice)
1328 - Sorenson Version 3 codec (SVQ3) support has been added (decoding only) - donated
1329   by anonymous
1330 - AMR format has been added (Johannes Carlsson)
1331 - 3GP support has been added (Johannes Carlsson)
1332 - VP3 codec has been added (Mike Melanson)
1333 - more MPEG-1/2 fixes
1334 - better multiplatform support, MS Visual Studio fixes (various)
1335 - AltiVec optimizations (Magnus Damn and others)
1336 - SH4 processor support has been added (BERO)
1337 - new public interfaces (avcodec_get_pix_fmt) (Roman Shaposhnick)
1338 - VOB streaming support (Brian Foley)
1339 - better MP3 autodetection (Andriy Rysin)
1340 - qpel encoding (Michael)
1341 - 4mv+b frames encoding finally fixed (Michael)
1342 - chroma ME (Michael)
1343 - 5 comparison functions for ME (Michael)
1344 - B-frame encoding speedup (Michael)
1345 - WMV2 codec (unfinished - Michael)
1346 - user specified diamond size for EPZS (Michael)
1347 - Playstation STR playback subsystem, still experimental (Mike and Michael)
1348 - ASV2 codec (Michael)
1349 - CLJR decoder (Alex)
1350
1351 .. And lots more new enhancements and fixes.
1352
1353
1354 version 0.4.6:
1355
1356 - completely new integer only MPEG audio layer 1/2/3 decoder rewritten
1357   from scratch
1358 - Recoded DCT and motion vector search with gcc (no longer depends on nasm)
1359 - fix quantization bug in AC3 encoder
1360 - added PCM codecs and format. Corrected WAV/AVI/ASF PCM issues
1361 - added prototype ffplay program
1362 - added GOB header parsing on H.263/H.263+ decoder (Juanjo)
1363 - bug fix on MCBPC tables of H.263 (Juanjo)
1364 - bug fix on DC coefficients of H.263 (Juanjo)
1365 - added Advanced Prediction Mode on H.263/H.263+ decoder (Juanjo)
1366 - now we can decode H.263 streams found in QuickTime files (Juanjo)
1367 - now we can decode H.263 streams found in VIVO v1 files(Juanjo)
1368 - preliminary RTP "friendly" mode for H.263/H.263+ coding. (Juanjo)
1369 - added GOB header for H.263/H.263+ coding on RTP mode (Juanjo)
1370 - now H.263 picture size is returned on the first decoded frame (Juanjo)
1371 - added first regression tests
1372 - added MPEG-2 TS demuxer
1373 - new demux API for libav
1374 - more accurate and faster IDCT (Michael)
1375 - faster and entropy-controlled motion search (Michael)
1376 - two pass video encoding (Michael)
1377 - new video rate control (Michael)
1378 - added MSMPEG4V1, MSMPEGV2 and WMV1 support (Michael)
1379 - great performance improvement of video encoders and decoders (Michael)
1380 - new and faster bit readers and vlc parsers (Michael)
1381 - high quality encoding mode: tries all macroblock/VLC types (Michael)
1382 - added DV video decoder
1383 - preliminary RTP/RTSP support in ffserver and libavformat
1384 - H.263+ AIC decoding/encoding support (Juanjo)
1385 - VCD MPEG-PS mode (Juanjo)
1386 - PSNR stuff (Juanjo)
1387 - simple stats output (Juanjo)
1388 - 16-bit and 15-bit RGB/BGR/GBR support (Bisqwit)
1389
1390
1391 version 0.4.5:
1392
1393 - some header fixes (Zdenek Kabelac <kabi at informatics.muni.cz>)
1394 - many MMX optimizations (Nick Kurshev <nickols_k at mail.ru>)
1395 - added configure system (actually a small shell script)
1396 - added MPEG audio layer 1/2/3 decoding using LGPL'ed mpglib by
1397   Michael Hipp (temporary solution - waiting for integer only
1398   decoder)
1399 - fixed VIDIOCSYNC interrupt
1400 - added Intel H.263 decoding support ('I263' AVI fourCC)
1401 - added Real Video 1.0 decoding (needs further testing)
1402 - simplified image formats again. Added PGM format (=grey
1403   pgm). Renamed old PGM to PGMYUV.
1404 - fixed msmpeg4 slice issues (tell me if you still find problems)
1405 - fixed OpenDivX bugs with newer versions (added VOL header decoding)
1406 - added support for MPlayer interface
1407 - added macroblock skip optimization
1408 - added MJPEG decoder
1409 - added mmx/mmxext IDCT from libmpeg2
1410 - added pgmyuvpipe, ppm, and ppm_pipe formats (original patch by Celer
1411   <celer at shell.scrypt.net>)
1412 - added pixel format conversion layer (e.g. for MJPEG or PPM)
1413 - added deinterlacing option
1414 - MPEG-1/2 fixes
1415 - MPEG-4 vol header fixes (Jonathan Marsden <snmjbm at pacbell.net>)
1416 - ARM optimizations (Lionel Ulmer <lionel.ulmer at free.fr>).
1417 - Windows porting of file converter
1418 - added MJPEG raw format (input/output)
1419 - added JPEG image format support (input/output)
1420
1421
1422 version 0.4.4:
1423
1424 - fixed some std header definitions (Bjorn Lindgren
1425   <bjorn.e.lindgren at telia.com>).
1426 - added MPEG demuxer (MPEG-1 and 2 compatible).
1427 - added ASF demuxer
1428 - added prototype RM demuxer
1429 - added AC3 decoding (done with libac3 by Aaron Holtzman)
1430 - added decoding codec parameter guessing (.e.g. for MPEG, because the
1431   header does not include them)
1432 - fixed header generation in MPEG-1, AVI and ASF muxer: wmplayer can now
1433   play them (only tested video)
1434 - fixed H.263 white bug
1435 - fixed phase rounding in img resample filter
1436 - add MMX code for polyphase img resample filter
1437 - added CPU autodetection
1438 - added generic title/author/copyright/comment string handling (ASF and RM
1439   use them)
1440 - added SWF demux to extract MP3 track (not usable yet because no MP3
1441   decoder)
1442 - added fractional frame rate support
1443 - codecs are no longer searched by read_header() (should fix ffserver
1444   segfault)
1445
1446
1447 version 0.4.3:
1448
1449 - BGR24 patch (initial patch by Jeroen Vreeken <pe1rxq at amsat.org>)
1450 - fixed raw yuv output
1451 - added motion rounding support in MPEG-4
1452 - fixed motion bug rounding in MSMPEG4
1453 - added B-frame handling in video core
1454 - added full MPEG-1 decoding support
1455 - added partial (frame only) MPEG-2 support
1456 - changed the FOURCC code for H.263 to "U263" to be able to see the
1457   +AVI/H.263 file with the UB Video H.263+ decoder. MPlayer works with
1458   this +codec ;) (JuanJo).
1459 - Halfpel motion estimation after MB type selection (JuanJo)
1460 - added pgm and .Y.U.V output format
1461 - suppressed 'img:' protocol. Simply use: /tmp/test%d.[pgm|Y] as input or
1462   output.
1463 - added pgmpipe I/O format (original patch from Martin Aumueller
1464   <lists at reserv.at>, but changed completely since we use a format
1465   instead of a protocol)
1466
1467
1468 version 0.4.2:
1469
1470 - added H.263/MPEG-4/MSMPEG4 decoding support. MPEG-4 decoding support
1471   (for OpenDivX) is almost complete: 8x8 MVs and rounding are
1472   missing. MSMPEG4 support is complete.
1473 - added prototype MPEG-1 decoder. Only I- and P-frames handled yet (it
1474   can decode ffmpeg MPEGs :-)).
1475 - added libavcodec API documentation (see apiexample.c).
1476 - fixed image polyphase bug (the bottom of some images could be
1477   greenish)
1478 - added support for non clipped motion vectors (decoding only)
1479   and image sizes non-multiple of 16
1480 - added support for AC prediction (decoding only)
1481 - added file overwrite confirmation (can be disabled with -y)
1482 - added custom size picture to H.263 using H.263+ (Juanjo)
1483
1484
1485 version 0.4.1:
1486
1487 - added MSMPEG4 (aka DivX) compatible encoder. Changed default codec
1488   of AVI and ASF to DIV3.
1489 - added -me option to set motion estimation method
1490   (default=log). suppressed redundant -hq option.
1491 - added options -acodec and -vcodec to force a given codec (useful for
1492   AVI for example)
1493 - fixed -an option
1494 - improved dct_quantize speed
1495 - factorized some motion estimation code
1496
1497
1498 version 0.4.0:
1499
1500 - removing grab code from ffserver and moved it to ffmpeg. Added
1501   multistream support to ffmpeg.
1502 - added timeshifting support for live feeds (option ?date=xxx in the
1503   URL)
1504 - added high quality image resize code with polyphase filter (need
1505   mmx/see optimization). Enable multiple image size support in ffserver.
1506 - added multi live feed support in ffserver
1507 - suppressed master feature from ffserver (it should be done with an
1508   external program which opens the .ffm url and writes it to another
1509   ffserver)
1510 - added preliminary support for video stream parsing (WAV and AVI half
1511   done). Added proper support for audio/video file conversion in
1512   ffmpeg.
1513 - added preliminary support for video file sending from ffserver
1514 - redesigning I/O subsystem: now using URL based input and output
1515   (see avio.h)
1516 - added WAV format support
1517 - added "tty user interface" to ffmpeg to stop grabbing gracefully
1518 - added MMX/SSE optimizations to SAD (Sums of Absolutes Differences)
1519   (Juan J. Sierralta P. a.k.a. "Juanjo" <juanjo at atmlab.utfsm.cl>)
1520 - added MMX DCT from mpeg2_movie 1.5 (Juanjo)
1521 - added new motion estimation algorithms, log and phods (Juanjo)
1522 - changed directories: libav for format handling, libavcodec for
1523   codecs
1524
1525
1526 version 0.3.4:
1527
1528 - added stereo in MPEG audio encoder
1529
1530
1531 version 0.3.3:
1532
1533 - added 'high quality' mode which use motion vectors. It can be used in
1534   real time at low resolution.
1535 - fixed rounding problems which caused quality problems at high
1536   bitrates and large GOP size
1537
1538
1539 version 0.3.2: small fixes
1540
1541 - ASF fixes
1542 - put_seek bug fix
1543
1544
1545 version 0.3.1: added avi/divx support
1546
1547 - added AVI support
1548 - added MPEG-4 codec compatible with OpenDivX. It is based on the H.263 codec
1549 - added sound for flash format (not tested)
1550
1551
1552 version 0.3: initial public release