Update for 4.0.4
[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 4.0.4:
5 - avcodec/dfa: Check the chunk header is not truncated
6 - avcodec/clearvideo: Check remaining data in P frames
7 - avcodec/dvbsubdec: Check object position
8 - avcodec/cdgraphics: Use ff_set_dimensions()
9 - avformat/gdv: Check fps
10 - configure: use vpx_codec_vp8_dx/cx for libvpx-vp8 checking
11 - configure: add missing pthreads extralibs dependency for libvpx-vp9
12 - avcodec/mpeg4videodec: Check idx in mpeg4_decode_studio_block()
13 - avcodec/dxv: Correct integer overflow in get_opcodes()
14 - avcodec/scpr: Fix use of uninitialized variable
15 - avcodec/qpeg: Limit copy in qpeg_decode_intra() to the available bytes
16 - avcodec/aic: Check remaining bits in aic_decode_coeffs()
17 - avcodec/gdv: Check for truncated tags in decompress_5()
18 - avcodec/bethsoftvideo: Check block_type
19 - avcodec/jpeg2000dwt: Fix integer overflow in dwt_decode97_int()
20 - avcodec/error_resilience: Use a symmetric check for skipping MV estimation
21 - avcodec/mlpdec: Insuffient typo
22 - avcodec/zmbv: obtain frame later
23 - avcodec/jvdec: Check available input space before decode8x8()
24 - avcodec/h264_direct: Fix overflow in POC comparission
25 - avformat/webmdashenc: Check id in adaption_sets
26 - avformat/http: Fix Out-of-Bounds access in process_line()
27 - avformat/ftp: Fix Out-of-Bounds Access and Information Leak in ftp.c:393
28 - avcodec/htmlsubtitles: Fixes denial of service due to use of sscanf in inner loop for handling braces
29 - avcodec/htmlsubtitles: Fixes denial of service due to use of sscanf in inner loop for tag scaning
30 - avformat/matroskadec: Do not leak queued packets on sync errors
31 - avcodec/mpeg4videodec: Clear interlaced_dct for studio profile
32 - avformat/mov: Do not use reference stream in mov_read_sidx() if there is no reference stream
33 - avcodec/sbrdsp_fixed.c: remove input value limit for sbr_sum_square_c()
34 - avformat/mov: validate chunk_count vs stsc_data
35 - avformat/mov.c: require tfhd to begin parsing trun
36 - avcodec/pgssubdec: Check for duplicate display segments
37 - avformat/rtsp: Check number of streams in sdp_parse_line()
38 - avformat/rtsp: Clear reply in every iteration in ff_rtsp_connect()
39 - avcodec/fic: Check that there is input left in fic_decode_block()
40 - avcodec/tiff: Check for 12bit gray fax
41 - avutil/imgutils: Optimize memset_bytes() by using av_memcpy_backptr()
42 - avutil/mem: Optimize fill32() by unrolling and using 64bit
43 - configure: bump year
44 - avcodec/diracdec: Check component quant
45 - avcodec/tests/rangecoder: initialize array to avoid valgrind warning
46 - avcodec/h264_slice: Fix integer overflow in implicit_weight_table()
47 - avcodec/exr: set layer_match in all branches
48 - avcodec/exr: Check for duplicate channel index
49 - avcodec/4xm: Fix returned error codes
50 - avformat/libopenmpt: Fix successfull typo
51 - avcodec/v4l2_m2m: fix cant typo
52 - avcodec/mjpegbdec: Fix some misplaced {} and spaces
53 - avformat/wvdec: detect and error out on WavPack DSD files
54 - avcodec/mips: Fix failed case: hevc-conformance-AMP_A_Samsung_* when enable msa
55 - avcodec/fic: Fail on invalid slice size/off
56 - postproc/postprocess_template: remove FF_REG_sp from clobber list
57 - postproc/postprocess_template: Avoid using %4 for the threshold compare
58 - avcodec/rpza: Check that there is enough data for all the blocks
59 - avcodec/rpza: Move frame allocation to a later point
60 - avcodec/avcodec: Document the data type for AV_PKT_DATA_MPEGTS_STREAM_ID
61 - avformat/mpegts: Fix side data type for stream id
62 - tests/fate/filter-video: increase fuzz for fate-filter-refcmp-psnr-rgb
63 - avcodec/mjpegdec: Fix indention of ljpeg_decode_yuv_scan()
64 - lavf/id3v2: fail read_apic on EOF reading mimetype
65 - avformat/nutenc: Document trailer index assert better
66 - lavf/mov: ensure only one tkhd per trak
67 - avcodec/clearvideo: Check remaining input bits in P macro block loop
68 - avcodec/dxv: Check that there is enough data to decompress
69 - avcodec/ppc/hevcdsp: Fix build failures with powerpc-linux-gnu-gcc-4.8 with --disable-optimizations
70 - avcodec/msvideo1: Check for too small dimensions
71 - avcodec/wmv2dec: Skip I frame if its smaller than 1/8 of the minimal size
72 - avcodec/msmpeg4dec: Skip frame if its smaller than 1/8 of the minimal size
73 - avcodec/truemotion2rt: Fix rounding in input size check
74 - avcodec/truemotion2: fix integer overflows in tm2_low_chroma()
75 - avcodec/pngdec: Check compression method
76 - fftools/ffmpeg: Repair reinit_filter feature
77 - avcodec/shorten: Fix integer overflow with offset
78 - h264_redundant_pps: Fix logging context
79 - avcodec/cavsdec: Propagate error codes inside decode_mb_i()
80 - avcodec/mpeg4videodec: Clear partitioned frame in decode_studio_vop_header()
81 - avcodec/mpegaudio_parser: Consume more than 0 bytes in case of the unsupported mp3adu case
82 - avcodec/hevcdec: decode at most one slice reporting being the first in the picture
83 - avformat/dsfdec: fix calculation of size of data chunk
84 - avformat/dsfdec: properly handle padded last packet
85 - avcodec/hevcdec: fix non-ref frame judgement
86 - avcodec/libaomenc: remove AVOption related to frame partitions
87
88 version 4.0.3:
89 - avutil/integer: Fix integer overflow in av_mul_i()
90 - avcodec/msrle: Check that the input is large enough to contain a end of picture code
91 - avformat/ftp: return AVERROR_EOF for EOF
92 - avcodec/libx264: remove FF_CODEC_CAP_INIT_THREADSAFE flag
93 - avcodec/jpeg2000dec: Fix off by 1 error in JPEG2000_PGOD_CPRL handling
94 - avcodec/mpeg4videodec: Fix typo in sprite delta check
95 - avcodec/h264_cavlc: Check mb_skip_run
96 - avcodec/ra144: Fix integer overflow in add_wav()
97 - avformat/utils: Never store negative values in last_IP_duration
98 - avformat/utils: Fix integer overflow in discontinuity check
99 - Revert "avcodec/cbs_h264: silence errors about end_of_seq nalus"
100 - avcodec/cbs: ensure user_data is padded for GBC parsing
101 - avcodec/cbs: fix crash in sei_pic_timestamp
102 - avcodec/cbs_h264: silence errors about end_of_seq nalus
103 - avcodec/cuviddec: properly take deinterlacing and display delay into account for buffer_full check
104 - avcodec/h2645_parse: skip NALUs with no content after stripping all the trailing zeros
105 - configure: <fflib>_deps: validate, reduce sensitivity
106 - configure: speed up check_deps()
107 - configure: speed up print_enabled_components()
108 - configure: speed up flatten_extralibs_wrapper()
109 - avformat/utils: Fix potential integer overflow in extract_extradata()
110 - avcodec/unary: Improve get_unary() docs
111 - avcodec/gdv: Replace divisions by shifts in rescale()
112 - avcodec/ac3dec: Fix shift signedness in mask creation
113 - avcodec/eac3dec: Check that channel_map does not contain more than EAC3_MAX_CHANNELS
114 - doc/examples/vaapi_transcode: Fix the typo
115 - avcodec/dvdsubdec: Sanity check len in decode_rle()
116 - avcodec/mpeg4videodec: Fix undefined shift in get_amv()
117 - avcodec/zmbv: Check that the decompressed data size is correct
118 - avcodec/zmbv: Update decomp_len in raw frames
119 - avcodec/shorten: Fix bitstream end check in read_header()
120 - avcodec/dvdsubdec: Avoid branch in decode_run_8bit()
121 - avcodec/h264_refs: Document last if() in ff_h264_execute_ref_pic_marking()
122 - avcodec/ra144: Fix undefined integer overflow in add_wav()
123 - avcodec/indeo4: Check dimensions in decode_pic_hdr()
124 - avformat/mov: Error on too large stsd entry counts.
125 - examples: Fix use of AV_CODEC_FLAG_GLOBAL_HEADER
126 - avcodec/hq_hqa: Check remaining input bits in hqa_decode_mb()
127 - avcodec/vb: Check for end of bytestream before reading blocktype
128 - avcodec/snowdec: Fix integer overflow with motion vector residual
129 - avcodec/mpeg4videodec: Fix slice end detection in mpeg4_decode_studio_mb()
130 - avformat/nsvdec: Do not parse multiple NSVf
131 - avformat/dashdec: Fix strlen(rep_id_val) with it being NULL
132 - avformat/mlvdec: read_string() received unsigned size, make the argument unsigned
133 - avformat/rmdec: Fix EOF check in the stream loop in ivr_read_header()
134 - avcodec/scpr: Check for min > max in decompress_p()
135 - avcodec/shorten: Fix signed 32bit overflow in shift in shorten_decode_frame()
136 - avcodec/shorten: Fix integer overflow in residual/LPC combination
137 - avcodec/shorten: Check verbatim length
138 - avcodec/mpegaudio_parser: Initialize poutbuf*
139 - avcodec/aacpsdsp_template: Fix integer overflow in ps_stereo_interpolate_c()
140 - avformat/flvenc: Check audio packet size
141 - lavc/svq3: Fix regression decoding some files.
142 - avcodec/mlp_parser: Check if synccode is within buffer
143 - avcodec/qtrle: Check remaining bytestream in qtrle_decode_XYbpp()
144 - avcodec/diracdec: Check bytes count in else branch in decode_lowdelay() too
145 - avcodec/diracdec: Check slice numbers for overflows in relation to picture dimensions
146 - avcodec/diracdec: Change frame_number to 64bit as its a 32bit from the bitstream and we also have a -1 special case
147 - avcodec/dirac_dwt_template: Fix several integer overflows in horizontal_compose_daub97i()
148 - avcodec/diracdec: Prevent integer overflow in intermediate in global_mv()
149 - swresample/swresample: Fix input channel count in resample_first computation
150 - avutil/pixfmt: Document chroma plane size for odd resolutions
151 - lavf/libsmbclient: return AVERROR_EOF for EOF.
152 - lavc/videotoolboxenc: Fix compilation on osx 10.10.5 Yosemite
153 - avcodec/mediacodecdec: fix SEGV on modern nvidia decoders
154 - avcodec/bitstream_filters: check the input argument of av_bsf_get_by_name() for NULL
155 - avformat/librtmp: fix returning EOF from Read/Write
156 - avcodec/videotoolboxenc: fix undefined behavior with rc_max_rate=0
157
158
159 version 4.0.2:
160 - avcodec/dvdsub_parser: Allocate input padding
161 - avcodec/dvdsub_parser: Init output buf/size
162 - avcodec/dirac_dwt_template: Fix signedness regression in interleave()
163 - avformat/mov: Simplify last element computation in mov_estimate_video_delay()
164 - avformat/mov: Break out of inner loop early in mov_estimate_video_delay()
165 - avformat/mov: Eliminate variable buf_size from mov_estimate_video_delay()
166 - avformat/mov: remove modulo operations from mov_estimate_video_delay()
167 - avformat/movenc: Write version 2 of audio atom if channels is not known
168 - swresample/arm: rename labels to fix xcode build error
169 - avformat/movenc: Check input sample count
170 - avcodec/mjpegdec: Check for odd progressive RGB
171 - avcodec/vp8_parser: Do not leave data/size uninitialized
172 - avformat/mms: Add missing chunksize check
173 - avformat/pva: Check for EOF before retrying in read_part_of_packet()
174 - avformat/rmdec: Do not pass mime type in rm_read_multi() to ff_rm_read_mdpr_codecdata()
175 - avformat/asfdec_o: Check size_bmp more fully
176 - avformat/mxfdec: Fix av_log context
177 - avcodec/mpeg4videodec: Check for bitstream end in read_quant_matrix_ext()
178 - avcodec/indeo4: Check for end of bitstream in decode_mb_info()
179 - avcodec/ac3dec: Check channel_map index
180 - avcodec/mpeg4videodec: Remove use of FF_PROFILE_MPEG4_SIMPLE_STUDIO as indicator of studio profile
181 - avcodec/shorten: Fix undefined addition in shorten_decode_frame()
182 - avcodec/shorten: Fix undefined integer overflow
183 - avcodec/jpeg2000dec: Fixes invalid shifts in jpeg2000_decode_packets_po_iteration()
184 - avcodec/jpeg2000dec: Check that there are enough bytes for all tiles
185 - avformat/movenc: Use mov->fc consistently for av_log()
186 - avcodec/mpeg4videodec: Check read profile before setting it
187 - avformat/movenc: Do not pass AVCodecParameters in avpriv_request_sample
188 - avcodec/ac3_parser: Check init_get_bits8() for failure
189 - avformat/movenc: Check that frame_types other than EAC3_FRAME_TYPE_INDEPENDENT have a supported substream id
190 - avcodec/dpx: Check elements in 12bps planar path
191 - avcodec/escape124: Fix spelling errors in comment
192 - avcodec/ra144: Fix integer overflow in ff_eval_refl()
193 - avcodec/cscd: Check output buffer size for lzo.
194 - avcodec/escape124: Check buf_size against num_superblocks
195 - avcodec/h264_parser: Reduce needed history for parsing mb index
196 - avcodec/magicyuv: Check bits left in flags&1 branch
197 - avcodec/mjpegdec: Check for end of bitstream in ljpeg_decode_rgb_scan()
198 - ffmpeg: fix -stream_loop with multiple inputs
199 - ffmpeg: factorize input thread creation and destruction
200 - avformat/mpegts: parse large PMTs with multiple tables
201 - Revert "avcodec/mediacodecdec: wait on first frame after input buffers are full"
202 - avcodec/videotoolboxenc: fix invalid session on iOS
203 - avcodec/videotoolboxenc: split initialization
204 - avcodec/videotoolboxenc: fix mutex/cond leak in error path
205
206 version 4.0.1:
207 - avcodec/aacdec_fixed: Fix undefined integer overflow in apply_independent_coupling_fixed()
208 - avcodec/dirac_dwt_template: Fix undefined behavior in interleave()
209 - avutil/common: Fix undefined behavior in av_clip_uintp2_c()
210 - fftools/ffmpeg: Fallback to duration if sample rate is unavailable
211 - avformat/mov: Only set pkt->duration to non negative values
212 - avcodec/mpeg4videodec: Clear bits_per_raw_sample if it has originated from a previous instance
213 - avformat/movenc: fix recognization of cover image streams
214 - avformat/movenc: properly handle cover image codecs
215 - avcodec/h264_slice: Fix overflow in recovery_frame computation
216 - avcodec/h264_ps: Move MAX_LOG2_MAX_FRAME_NUM to header so it can be used in h264_sei
217 - avcodec/h264_mc_template: Only prefetch motion if the list is used.
218 - avcodec/xwddec: Use ff_set_dimensions()
219 - avcodec/wavpack: Fix overflow in adding tail
220 - avcodec/shorten: Fix multiple integer overflows
221 - avcodec/shorten: Fix undefined shift in fix_bitshift()
222 - avcodec/shorten: Fix a negative left shift in shorten_decode_frame()
223 - avcodec/shorten: Sanity check nmeans
224 - avcodec/shorten: Check non COMM chunk len before skip in decode_aiff_header()
225 - avcodec/mjpegdec: Fix integer overflow in ljpeg_decode_rgb_scan()
226 - avcodec/truemotion2: Fix overflow in tm2_apply_deltas()
227 - avcodec/opus_silk: Change silk_lsf2lpc() slightly toward silk/NLSF2A.c
228 - avcodec/amrwbdec: Fix division by 0 in find_hb_gain()
229 - avcodec/h263dec: Reinitialize idct context if it has not been setup for the active profile
230 - avcodec/idctdsp: Clear idct/idct_add for studio profile
231 - avformat/mov: replace a value error by clipping into valid range in mov_read_stsc()
232 - avformat/bintext: Reduce detection for random .bin files as it more likely is not a multimedia related file
233 - avformat/mov: Break out early if chunk_count is 0 in mov_build_index()
234 - avcodec/fic: Avoid some magic numbers related to cursors
235 - avcodec/mpeg4video: Detect reference studio streams as studio streams
236 - avcodec/mpeg4videodec: Do not corrupt bits_per_raw_sample
237 - avcodec/mpeg4videode: Eliminate out of loop VOP startcode reading for studio profile
238 - avcodec/g2meet: ask for sample with overflowing RGB
239 - avcodec/idctdsp: Transmit studio_profile to init instead of using AVCodecContext profile
240 - avcodec/ac3dec: Check that the number of channels with dependant streams is valid
241 - avcodec/ac3dec: Fix null pointer dereference in ac3_decode_frame()
242 - avcodec/aacdec_fixed: use 64bit to avoid overflow in rounding in apply_dependent_coupling_fixed()
243 - oavcodec/aacpsdsp_template: Use unsigned for hs0X to prevent undefined behavior
244 - avcodec/g723_1dec: Clip bits2 in both directions
245 - avcodec/mpeg4videoenc: Use 64 bit for times in mpeg4_encode_gop_header()
246 - avcodec/mlpdec: Only change noise_type if the related fields are valid
247 - indeo4: Decode all or nothing of a band header.
248 - avcodec/ac3dec: Use frame_size if superframe_size is 0
249 - avformat/mov: Only fail for STCO/STSC contradictions if both exist
250 - avcodec/dirac_dwt: Fix integer overflow in COMPOSE_DD97iH0 / COMPOSE_DD137iL0
251 - avcodec/fic: Check available input space for cursor
252 - avcodec/mpeg4videodec: Check bps (VOL header) before VOP for studio profile
253 - avcodec/g2meet: Check RGB upper limit
254 - avcodec/jpeg2000dec: Fix undefined shift in the jpeg2000_decode_packets_po_iteration() CPRL case
255 - avcodec/jpeg2000dec: Skip init for component in CPRL if nothing is to be done
256 - avcodec/g2meet: Change order of operations to avoid undefined behavior
257 - avcodec/flac_parser: Fix infinite loop
258 - avcodec/mpeg4videodec: Split decode_studio_vol_header() out of decode_studiovisualobject()
259 - avcodec/mpeg4videodec: Move decode_studiovisualobject() parsing in the branch for visual object parsing
260 - avcodec/mpeg4video_parser: Avoid litteral 0x1B6, use named constant instead
261 - avcodec/mpeg4video_parser: Fix incorrect spliting of MPEG-4 studio frames
262 - avformat/m4vdec: Use the same constant names as libavcodec
263 - avformat/m4vdec: Fix detection of raw MPEG-4 ES Studio
264 - avcodec/wavpack: Fix integer overflow in DEC_MED() / INC_MED()
265 - avcodec/wavpack: Fix integer overflow in wv_unpack_stereo()
266 - avcodec/error_resilience: Fix integer overflow in filter181()
267 - avcodec/h263dec: Check slice_ret in mspeg4 slice loop
268 - avcodec/elsdec: Fix memleaks
269 - avcodec/vc1_block: simplify ac_val computation
270 - avcodec/ffv1enc: Check that the crc + version combination is supported
271 - configure: The eac3_core bitstream filter needs the ac3 parser.
272 - configure: fix arm inline asm checks
273 - lavf/libssh: translate a read of 0 to EOF
274 - ffprobe: fix SEGV when new streams are added
275 - avformat/mpegts: fix incorrect indentation
276 - avformat/mpegts: initialize section_buf to fix valgrind test failure
277 - avformat/mpegts: reindent after last change
278 - avformat/mpegts: parse sections with multiple tables
279 - avformat/mpegts: clean up whitespace
280 - avformat/mpegts: use MAX_SECTION_SIZE instead of hardcoded value
281 - avformat/mpegts: skip non-PMT tids earlier
282 - avcodec/mediacodecdec: add workaround for buggy amlogic mpeg2 decoder
283 - avcodec/mediacodecdec: wait on first frame after input buffers are full
284 - avcodec/mediacodecdec: restructure mediacodec_receive_frame
285 - avcodec/mediacodec_wrapper: add helper to fetch SDK_INT
286 - avcodec/mediacodecdec: refactor pts handling
287 - avcodec/mediacodecdec: use AV_TIME_BASE_Q
288 - avcodec/mediacodecdec: clarify delay_flush specific code
289 - avcodec/videotoolbox: fix decoding of some HEVC videos
290 - avcodec/hevc: remove videotoolbox hack
291 - avcodec/videotoolbox: split h264/hevc callbacks
292 - avcodec/videotoolbox: cleanups
293 - avcodec/videotoolbox: fix kVTCouldNotFindVideoDecoderErr trying to decode HEVC on iOS
294 - avcodec/videotoolbox: improve logging of decoder errors
295 - avcodec/xwddec: fix palette alpha
296 - avformat/webm_chunk: always use a static buffer for get_chunk_filename
297 - configure: fix configure check for lilv-0
298 - avcodec/nvdec_hevc: fix scaling lists
299 - avcodec/hevcdec: make ff_hevc_frame_nb_refs take a const pointer
300 - lavf/bluray: translate a read of 0 to EOF
301 - lavf/dashenc: don't call flush_init_segment before avformat_write_header
302 - avdevice/decklink_dec: unref packets on avpacket_queue_put error
303 - avcodec/hnm4video: fix palette alpha
304 - avcodec/anm: fix palette alpha
305 - avformat/qtpalette: parse color table according to the QuickTime file format specs
306 - ffplay: Fix realloc_texture when input texture is NULL.
307 - hwcontext_vaapi: Fix compilation with libva versions < 1.4.0
308 - lavf/qsv: clone the frame which may be managed by framework
309 - lavf: make overlay_qsv work based on framesync
310 - avformat/segafilm - revert keyframe detection
311 - avformat/utils: refactor upstream_stream_timings
312 - avformat/utils: ignore outlier durations on subtitle/data streams as well
313
314
315 version 4.0:
316 - Bitstream filters for editing metadata in H.264, HEVC and MPEG-2 streams
317 - Dropped support for OpenJPEG versions 2.0 and below. Using OpenJPEG now
318   requires 2.1 (or later) and pkg-config.
319 - VDA dropped (use VideoToolbox instead)
320 - MagicYUV encoder
321 - Raw AMR-NB and AMR-WB demuxers
322 - TiVo ty/ty+ demuxer
323 - Intel QSV-accelerated MJPEG encoding
324 - PCE support for extended channel layouts in the AAC encoder
325 - native aptX and aptX HD encoder and decoder
326 - Raw aptX and aptX HD muxer and demuxer
327 - NVIDIA NVDEC-accelerated H.264, HEVC, MJPEG, MPEG-1/2/4, VC1, VP8/9 hwaccel decoding
328 - Intel QSV-accelerated overlay filter
329 - mcompand audio filter
330 - acontrast audio filter
331 - OpenCL overlay filter
332 - video mix filter
333 - video normalize filter
334 - audio lv2 wrapper filter
335 - VAAPI MJPEG and VP8 decoding
336 - AMD AMF H.264 and HEVC encoders
337 - video fillborders filter
338 - video setrange filter
339 - nsp demuxer
340 - support LibreSSL (via libtls)
341 - AVX-512/ZMM support added
342 - Dropped support for building for Windows XP. The minimum supported Windows
343   version is Windows Vista.
344 - deconvolve video filter
345 - entropy video filter
346 - hilbert audio filter source
347 - aiir audio filter
348 - aiff: add support for CD-ROM XA ADPCM
349 - Removed the ffserver program
350 - Removed the ffmenc and ffmdec muxer and demuxer
351 - VideoToolbox HEVC encoder and hwaccel
352 - VAAPI-accelerated ProcAmp (color balance), denoise and sharpness filters
353 - Add android_camera indev
354 - codec2 en/decoding via libcodec2
355 - muxer/demuxer for raw codec2 files and .c2 files
356 - Moved nvidia codec headers into an external repository.
357   They can be found at http://git.videolan.org/?p=ffmpeg/nv-codec-headers.git
358 - native SBC encoder and decoder
359 - drmeter audio filter
360 - hapqa_extract bitstream filter
361 - filter_units bitstream filter
362 - AV1 Support through libaom
363 - E-AC-3 dependent frames support
364 - bitstream filter for extracting E-AC-3 core
365 - Haivision SRT protocol via libsrt
366 - segafilm muxer
367 - vfrdet filter
368
369
370 version 3.4:
371 - deflicker video filter
372 - doubleweave video filter
373 - lumakey video filter
374 - pixscope video filter
375 - oscilloscope video filter
376 - config.log and other configuration files moved into ffbuild/ directory
377 - update cuvid/nvenc headers to Video Codec SDK 8.0.14
378 - afir audio filter
379 - scale_cuda CUDA based video scale filter
380 - librsvg support for svg rasterization
381 - crossfeed audio filter
382 - spec compliant VP9 muxing support in MP4
383 - remove the libnut muxer/demuxer wrappers
384 - remove the libschroedinger encoder/decoder wrappers
385 - surround audio filter
386 - sofalizer filter switched to libmysofa
387 - Gremlin Digital Video demuxer and decoder
388 - headphone audio filter
389 - superequalizer audio filter
390 - roberts video filter
391 - The x86 assembler default switched from yasm to nasm, pass
392   --x86asmexe=yasm to configure to restore the old behavior.
393 - additional frame format support for Interplay MVE movies
394 - support for decoding through D3D11VA in ffmpeg
395 - limiter video filter
396 - libvmaf video filter
397 - Dolby E decoder and SMPTE 337M demuxer
398 - unpremultiply video filter
399 - tlut2 video filter
400 - floodfill video filter
401 - pseudocolor video filter
402 - raw G.726 muxer and demuxer, left- and right-justified
403 - NewTek NDI input/output device
404 - Some video filters with several inputs now use a common set of options:
405   blend, libvmaf, lut3d, overlay, psnr, ssim.
406   They must always be used by name.
407 - FITS demuxer and decoder
408 - FITS muxer and encoder
409 - add --disable-autodetect build switch
410 - drop deprecated qtkit input device (use avfoundation instead)
411 - despill video filter
412 - haas audio filter
413 - SUP/PGS subtitle muxer
414 - convolve video filter
415 - VP9 tile threading support
416 - KMS screen grabber
417 - CUDA thumbnail filter
418 - V4L2 mem2mem HW assisted codecs
419 - Rockchip MPP hardware decoding
420 - vmafmotion video filter
421 - use MIME type "G726" for little-endian G.726, "AAL2-G726" for big-endian G.726
422
423
424 version 3.3:
425 - CrystalHD decoder moved to new decode API
426 - add internal ebur128 library, remove external libebur128 dependency
427 - Pro-MPEG CoP #3-R2 FEC protocol
428 - premultiply video filter
429 - Support for spherical videos
430 - configure now fails if autodetect-libraries are requested but not found
431 - PSD Decoder
432 - 16.8 floating point pcm decoder
433 - 24.0 floating point pcm decoder
434 - Apple Pixlet decoder
435 - QDMC audio decoder
436 - NewTek SpeedHQ decoder
437 - MIDI Sample Dump Standard demuxer
438 - readeia608 filter
439 - Sample Dump eXchange demuxer
440 - abitscope multimedia filter
441 - Scenarist Closed Captions demuxer and muxer
442 - threshold filter
443 - midequalizer filter
444 - Optimal Huffman tables for (M)JPEG encoding
445 - VAAPI-accelerated MPEG-2 and VP8 encoding
446 - FM Screen Capture Codec decoder
447 - native Opus encoder
448 - ScreenPressor decoder
449 - incomplete ClearVideo decoder
450 - Intel QSV video scaling and deinterlacing filters
451 - Support MOV with multiple sample description tables
452 - XPM decoder
453 - Removed the legacy X11 screen grabber, use XCB instead
454 - MPEG-7 Video Signature filter
455 - Removed asyncts filter (use af_aresample instead)
456 - Intel QSV-accelerated VP8 video decoding
457 - VAAPI-accelerated deinterlacing
458
459
460 version 3.2:
461 - libopenmpt demuxer
462 - tee protocol
463 - Changed metadata print option to accept general urls
464 - Alias muxer for Ogg Video (.ogv)
465 - VP8 in Ogg muxing
466 - curves filter doesn't automatically insert points at x=0 and x=1 anymore
467 - 16-bit support in curves filter and selectivecolor filter
468 - OpenH264 decoder wrapper
469 - MediaCodec H.264/HEVC/MPEG-4/VP8/VP9 hwaccel
470 - True Audio (TTA) muxer
471 - crystalizer audio filter
472 - acrusher audio filter
473 - bitplanenoise video filter
474 - floating point support in als decoder
475 - fifo muxer
476 - maskedclamp filter
477 - hysteresis filter
478 - lut2 filter
479 - yuvtestsrc filter
480 - CUDA CUVID H.263/VP8/VP9/10 bit HEVC (Dithered) Decoding
481 - vaguedenoiser filter
482 - added threads option per filter instance
483 - weave filter
484 - gblur filter
485 - avgblur filter
486 - sobel and prewitt filter
487 - MediaCodec HEVC/MPEG-4/VP8/VP9 decoding
488 - Meridian Lossless Packing (MLP) / TrueHD encoder
489 - Non-Local Means (nlmeans) denoising filter
490 - sdl2 output device and ffplay support
491 - sdl1 output device and sdl1 support removed
492 - extended mov edit list support
493 - libfaac encoder removed
494 - Matroska muxer now writes CRC32 elements by default in all Level 1 elements
495 - sidedata video and asidedata audio filter
496 - Changed mapping of rtp MIME type G726 to codec g726le.
497 - spec compliant VAAPI/DXVA2 VC-1 decoding of slices in frame-coded images
498
499
500 version 3.1:
501 - DXVA2-accelerated HEVC Main10 decoding
502 - fieldhint filter
503 - loop video filter and aloop audio filter
504 - Bob Weaver deinterlacing filter
505 - firequalizer filter
506 - datascope filter
507 - bench and abench filters
508 - ciescope filter
509 - protocol blacklisting API
510 - MediaCodec H264 decoding
511 - VC-2 HQ RTP payload format (draft v1) depacketizer and packetizer
512 - VP9 RTP payload format (draft v2) packetizer
513 - AudioToolbox audio decoders
514 - AudioToolbox audio encoders
515 - coreimage filter (GPU based image filtering on OSX)
516 - libdcadec removed
517 - bitstream filter for extracting DTS core
518 - ADPCM IMA DAT4 decoder
519 - musx demuxer
520 - aix demuxer
521 - remap filter
522 - hash and framehash muxers
523 - colorspace filter
524 - hdcd filter
525 - readvitc filter
526 - VAAPI-accelerated format conversion and scaling
527 - libnpp/CUDA-accelerated format conversion and scaling
528 - Duck TrueMotion 2.0 Real Time decoder
529 - Wideband Single-bit Data (WSD) demuxer
530 - VAAPI-accelerated H.264/HEVC/MJPEG encoding
531 - DTS Express (LBR) decoder
532 - Generic OpenMAX IL encoder with support for Raspberry Pi
533 - IFF ANIM demuxer & decoder
534 - Direct Stream Transfer (DST) decoder
535 - loudnorm filter
536 - MTAF demuxer and decoder
537 - MagicYUV decoder
538 - OpenExr improvements (tile data and B44/B44A support)
539 - BitJazz SheerVideo decoder
540 - CUDA CUVID H264/HEVC decoder
541 - 10-bit depth support in native utvideo decoder
542 - libutvideo wrapper removed
543 - YUY2 Lossless Codec decoder
544 - VideoToolbox H.264 encoder
545
546
547 version 3.0:
548 - Common Encryption (CENC) MP4 encoding and decoding support
549 - DXV decoding
550 - extrastereo filter
551 - ocr filter
552 - alimiter filter
553 - stereowiden filter
554 - stereotools filter
555 - rubberband filter
556 - tremolo filter
557 - agate filter
558 - chromakey filter
559 - maskedmerge filter
560 - Screenpresso SPV1 decoding
561 - chromaprint fingerprinting muxer
562 - ffplay dynamic volume control
563 - displace filter
564 - selectivecolor filter
565 - extensive native AAC encoder improvements and removal of experimental flag
566 - ADPCM PSX decoder
567 - 3dostr, dcstr, fsb, genh, vag, xvag, ads, msf, svag & vpk demuxer
568 - zscale filter
569 - wve demuxer
570 - zero-copy Intel QSV transcoding in ffmpeg
571 - shuffleframes filter
572 - SDX2 DPCM decoder
573 - vibrato filter
574 - innoHeim/Rsupport Screen Capture Codec decoder
575 - ADPCM AICA decoder
576 - Interplay ACM demuxer and audio decoder
577 - XMA1 & XMA2 decoder
578 - realtime filter
579 - anoisesrc audio filter source
580 - IVR demuxer
581 - compensationdelay filter
582 - acompressor filter
583 - support encoding 16-bit RLE SGI images
584 - apulsator filter
585 - sidechaingate audio filter
586 - mipsdspr1 option has been renamed to mipsdsp
587 - aemphasis filter
588 - mips32r5 option has been removed
589 - mips64r6 option has been removed
590 - DXVA2-accelerated VP9 decoding
591 - SOFAlizer: virtual binaural acoustics filter
592 - VAAPI VP9 hwaccel
593 - audio high-order multiband parametric equalizer
594 - automatic bitstream filtering
595 - showspectrumpic filter
596 - libstagefright support removed
597 - spectrumsynth filter
598 - ahistogram filter
599 - only seek with the right mouse button in ffplay
600 - toggle full screen when double-clicking with the left mouse button in ffplay
601 - afftfilt filter
602 - convolution filter
603 - libquvi support removed
604 - support for dvaudio in wav and avi
605 - libaacplus and libvo-aacenc support removed
606 - Cineform HD decoder
607 - new DCA decoder with full support for DTS-HD extensions
608 - significant performance improvements in Windows Television (WTV) demuxer
609 - nnedi deinterlacer
610 - streamselect video and astreamselect audio filter
611 - swaprect filter
612 - metadata video and ametadata audio filter
613 - SMPTE VC-2 HQ profile support for the Dirac decoder
614 - SMPTE VC-2 native encoder supporting the HQ profile
615
616
617 version 2.8:
618 - colorkey video filter
619 - BFSTM/BCSTM demuxer
620 - little-endian ADPCM_THP decoder
621 - Hap decoder and encoder
622 - DirectDraw Surface image/texture decoder
623 - ssim filter
624 - optional new ASF demuxer
625 - showvolume filter
626 - Many improvements to the JPEG 2000 decoder
627 - Go2Meeting decoding support
628 - adrawgraph audio and drawgraph video filter
629 - removegrain video filter
630 - Intel QSV-accelerated MPEG-2 video and HEVC encoding
631 - Intel QSV-accelerated MPEG-2 video and HEVC decoding
632 - Intel QSV-accelerated VC-1 video decoding
633 - libkvazaar HEVC encoder
634 - erosion, dilation, deflate and inflate video filters
635 - Dynamic Audio Normalizer as dynaudnorm filter
636 - Reverse video and areverse audio filter
637 - Random filter
638 - deband filter
639 - AAC fixed-point decoding
640 - sidechaincompress audio filter
641 - bitstream filter for converting HEVC from MP4 to Annex B
642 - acrossfade audio filter
643 - allyuv and allrgb video sources
644 - atadenoise video filter
645 - OS X VideoToolbox support
646 - aphasemeter filter
647 - showfreqs filter
648 - vectorscope filter
649 - waveform filter
650 - hstack and vstack filter
651 - Support DNx100 (1440x1080@8)
652 - VAAPI hevc hwaccel
653 - VDPAU hevc hwaccel
654 - framerate filter
655 - Switched default encoders for webm to VP9 and Opus
656 - Removed experimental flag from the JPEG 2000 encoder
657
658
659 version 2.7:
660 - FFT video filter
661 - TDSC decoder
662 - DTS lossless extension (XLL) decoding (not lossless, disabled by default)
663 - showwavespic filter
664 - DTS decoding through libdcadec
665 - Drop support for nvenc API before 5.0
666 - nvenc HEVC encoder
667 - Detelecine filter
668 - Intel QSV-accelerated H.264 encoding
669 - MMAL-accelerated H.264 decoding
670 - basic APNG encoder and muxer with default extension "apng"
671 - unpack DivX-style packed B-frames in MPEG-4 bitstream filter
672 - WebM Live Chunk Muxer
673 - nvenc level and tier options
674 - chorus filter
675 - Canopus HQ/HQA decoder
676 - Automatically rotate videos based on metadata in ffmpeg
677 - improved Quickdraw compatibility
678 - VP9 high bit-depth and extended colorspaces decoding support
679 - WebPAnimEncoder API when available for encoding and muxing WebP
680 - Direct3D11-accelerated decoding
681 - Support Secure Transport
682 - Multipart JPEG demuxer
683
684
685 version 2.6:
686 - nvenc encoder
687 - 10bit spp filter
688 - colorlevels filter
689 - RIFX format for *.wav files
690 - RTP/mpegts muxer
691 - non continuous cache protocol support
692 - tblend filter
693 - cropdetect support for non 8bpp, absolute (if limit >= 1) and relative (if limit < 1.0) threshold
694 - Camellia symmetric block cipher
695 - OpenH264 encoder wrapper
696 - VOC seeking support
697 - Closed caption Decoder
698 - fspp, uspp, pp7 MPlayer postprocessing filters ported to native filters
699 - showpalette filter
700 - Twofish symmetric block cipher
701 - Support DNx100 (960x720@8)
702 - eq2 filter ported from libmpcodecs as eq filter
703 - removed libmpcodecs
704 - Changed default DNxHD colour range in QuickTime .mov derivatives to mpeg range
705 - ported softpulldown filter from libmpcodecs as repeatfields filter
706 - dcshift filter
707 - RTP depacketizer for loss tolerant payload format for MP3 audio (RFC 5219)
708 - RTP depacketizer for AC3 payload format (RFC 4184)
709 - palettegen and paletteuse filters
710 - VP9 RTP payload format (draft 0) experimental depacketizer
711 - RTP depacketizer for DV (RFC 6469)
712 - DXVA2-accelerated HEVC decoding
713 - AAC ELD 480 decoding
714 - Intel QSV-accelerated H.264 decoding
715 - DSS SP decoder and DSS demuxer
716 - Fix stsd atom corruption in DNxHD QuickTimes
717 - Canopus HQX decoder
718 - RTP depacketization of T.140 text (RFC 4103)
719 - Port MIPS optimizations to 64-bit
720
721
722 version 2.5:
723 - HEVC/H.265 RTP payload format (draft v6) packetizer
724 - SUP/PGS subtitle demuxer
725 - ffprobe -show_pixel_formats option
726 - CAST128 symmetric block cipher, ECB mode
727 - STL subtitle demuxer and decoder
728 - libutvideo YUV 4:2:2 10bit support
729 - XCB-based screen-grabber
730 - UDP-Lite support (RFC 3828)
731 - xBR scaling filter
732 - AVFoundation screen capturing support
733 - ffserver supports codec private options
734 - creating DASH compatible fragmented MP4, MPEG-DASH segmenting muxer
735 - WebP muxer with animated WebP support
736 - zygoaudio decoding support
737 - APNG demuxer
738 - postproc visualization support
739
740
741 version 2.4:
742 - Icecast protocol
743 - ported lenscorrection filter from frei0r filter
744 - large optimizations in dctdnoiz to make it usable
745 - ICY metadata are now requested by default with the HTTP protocol
746 - support for using metadata in stream specifiers in fftools
747 - LZMA compression support in TIFF decoder
748 - H.261 RTP payload format (RFC 4587) depacketizer and experimental packetizer
749 - HEVC/H.265 RTP payload format (draft v6) depacketizer
750 - added codecview filter to visualize information exported by some codecs
751 - Matroska 3D support thorugh side data
752 - HTML generation using texi2html is deprecated in favor of makeinfo/texi2any
753 - silenceremove filter
754
755
756 version 2.3:
757 - AC3 fixed-point decoding
758 - shuffleplanes filter
759 - subfile protocol
760 - Phantom Cine demuxer
761 - replaygain data export
762 - VP7 video decoder
763 - Alias PIX image encoder and decoder
764 - Improvements to the BRender PIX image decoder
765 - Improvements to the XBM decoder
766 - QTKit input device
767 - improvements to OpenEXR image decoder
768 - support decoding 16-bit RLE SGI images
769 - GDI screen grabbing for Windows
770 - alternative rendition support for HTTP Live Streaming
771 - AVFoundation input device
772 - Direct Stream Digital (DSD) decoder
773 - Magic Lantern Video (MLV) demuxer
774 - On2 AVC (Audio for Video) decoder
775 - support for decoding through DXVA2 in ffmpeg
776 - libbs2b-based stereo-to-binaural audio filter
777 - libx264 reference frames count limiting depending on level
778 - native Opus decoder
779 - display matrix export and rotation API
780 - WebVTT encoder
781 - showcqt multimedia filter
782 - zoompan filter
783 - signalstats filter
784 - hqx filter (hq2x, hq3x, hq4x)
785 - flanger filter
786 - Image format auto-detection
787 - LRC demuxer and muxer
788 - Samba protocol (via libsmbclient)
789 - WebM DASH Manifest muxer
790 - libfribidi support in drawtext
791
792
793 version 2.2:
794
795 - HNM version 4 demuxer and video decoder
796 - Live HDS muxer
797 - setsar/setdar filters now support variables in ratio expressions
798 - elbg filter
799 - string validation in ffprobe
800 - support for decoding through VDPAU in ffmpeg (the -hwaccel option)
801 - complete Voxware MetaSound decoder
802 - remove mp3_header_compress bitstream filter
803 - Windows resource files for shared libraries
804 - aeval filter
805 - stereoscopic 3d metadata handling
806 - WebP encoding via libwebp
807 - ATRAC3+ decoder
808 - VP8 in Ogg demuxing
809 - side & metadata support in NUT
810 - framepack filter
811 - XYZ12 rawvideo support in NUT
812 - Exif metadata support in WebP decoder
813 - OpenGL device
814 - Use metadata_header_padding to control padding in ID3 tags (currently used in
815   MP3, AIFF, and OMA files), FLAC header, and the AVI "junk" block.
816 - Mirillis FIC video decoder
817 - Support DNx444
818 - libx265 encoder
819 - dejudder filter
820 - Autodetect VDA like all other hardware accelerations
821 - aliases and defaults for Ogg subtypes (opus, spx)
822
823
824 version 2.1:
825
826 - aecho filter
827 - perspective filter ported from libmpcodecs
828 - ffprobe -show_programs option
829 - compand filter
830 - RTMP seek support
831 - when transcoding with ffmpeg (i.e. not streamcopying), -ss is now accurate
832   even when used as an input option. Previous behavior can be restored with
833   the -noaccurate_seek option.
834 - ffmpeg -t option can now be used for inputs, to limit the duration of
835   data read from an input file
836 - incomplete Voxware MetaSound decoder
837 - read EXIF metadata from JPEG
838 - DVB teletext decoder
839 - phase filter ported from libmpcodecs
840 - w3fdif filter
841 - Opus support in Matroska
842 - FFV1 version 1.3 is stable and no longer experimental
843 - FFV1: YUVA(444,422,420) 9, 10 and 16 bit support
844 - changed DTS stream id in lavf mpeg ps muxer from 0x8a to 0x88, to be
845   more consistent with other muxers.
846 - adelay filter
847 - pullup filter ported from libmpcodecs
848 - ffprobe -read_intervals option
849 - Lossless and alpha support for WebP decoder
850 - Error Resilient AAC syntax (ER AAC LC) decoding
851 - Low Delay AAC (ER AAC LD) decoding
852 - mux chapters in ASF files
853 - SFTP protocol (via libssh)
854 - libx264: add ability to encode in YUVJ422P and YUVJ444P
855 - Fraps: use BT.709 colorspace by default for yuv, as reference fraps decoder does
856 - make decoding alpha optional for prores, ffv1 and vp6 by setting
857   the skip_alpha flag.
858 - ladspa wrapper filter
859 - native VP9 decoder
860 - dpx parser
861 - max_error_rate parameter in ffmpeg
862 - PulseAudio output device
863 - ReplayGain scanner
864 - Enhanced Low Delay AAC (ER AAC ELD) decoding (no LD SBR support)
865 - Linux framebuffer output device
866 - HEVC decoder
867 - raw HEVC, HEVC in MOV/MP4, HEVC in Matroska, HEVC in MPEG-TS demuxing
868 - mergeplanes filter
869
870
871 version 2.0:
872
873 - curves filter
874 - reference-counting for AVFrame and AVPacket data
875 - ffmpeg now fails when input options are used for output file
876   or vice versa
877 - support for Monkey's Audio versions from 3.93
878 - perms and aperms filters
879 - audio filtering support in ffplay
880 - 10% faster aac encoding on x86 and MIPS
881 - sine audio filter source
882 - WebP demuxing and decoding support
883 - ffmpeg options -filter_script and -filter_complex_script, which allow a
884   filtergraph description to be read from a file
885 - OpenCL support
886 - audio phaser filter
887 - separatefields filter
888 - libquvi demuxer
889 - uniform options syntax across all filters
890 - telecine filter
891 - interlace filter
892 - smptehdbars source
893 - inverse telecine filters (fieldmatch and decimate)
894 - colorbalance filter
895 - colorchannelmixer filter
896 - The matroska demuxer can now output proper verbatim ASS packets. It will
897   become the default at the next libavformat major bump.
898 - decent native animated GIF encoding
899 - asetrate filter
900 - interleave filter
901 - timeline editing with filters
902 - vidstabdetect and vidstabtransform filters for video stabilization using
903   the vid.stab library
904 - astats filter
905 - trim and atrim filters
906 - ffmpeg -t and -ss (output-only) options are now sample-accurate when
907   transcoding audio
908 - Matroska muxer can now put the index at the beginning of the file.
909 - extractplanes filter
910 - avectorscope filter
911 - ADPCM DTK decoder
912 - ADP demuxer
913 - RSD demuxer
914 - RedSpark demuxer
915 - ADPCM IMA Radical decoder
916 - zmq filters
917 - DCT denoiser filter (dctdnoiz)
918 - Wavelet denoiser filter ported from libmpcodecs as owdenoise (formerly "ow")
919 - Apple Intermediate Codec decoder
920 - Escape 130 video decoder
921 - FTP protocol support
922 - V4L2 output device
923 - 3D LUT filter (lut3d)
924 - SMPTE 302M audio encoder
925 - support for slice multithreading in libavfilter
926 - Hald CLUT support (generation and filtering)
927 - VC-1 interlaced B-frame support
928 - support for WavPack muxing (raw and in Matroska)
929 - XVideo output device
930 - vignette filter
931 - True Audio (TTA) encoder
932 - Go2Webinar decoder
933 - mcdeint filter ported from libmpcodecs
934 - sab filter ported from libmpcodecs
935 - ffprobe -show_chapters option
936 - WavPack encoding through libwavpack
937 - rotate filter
938 - spp filter ported from libmpcodecs
939 - libgme support
940 - psnr filter
941
942
943 version 1.2:
944
945 - VDPAU hardware acceleration through normal hwaccel
946 - SRTP support
947 - Error diffusion dither in Swscale
948 - Chained Ogg support
949 - Theora Midstream reconfiguration support
950 - EVRC decoder
951 - audio fade filter
952 - filtering audio with unknown channel layout
953 - allpass, bass, bandpass, bandreject, biquad, equalizer, highpass, lowpass
954   and treble audio filter
955 - improved showspectrum filter, with multichannel support and sox-like colors
956 - histogram filter
957 - tee muxer
958 - il filter ported from libmpcodecs
959 - support ID3v2 tags in ASF files
960 - encrypted TTA stream decoding support
961 - RF64 support in WAV muxer
962 - noise filter ported from libmpcodecs
963 - Subtitles character encoding conversion
964 - blend filter
965 - stereo3d filter ported from libmpcodecs
966
967
968 version 1.1:
969
970 - stream disposition information printing in ffprobe
971 - filter for loudness analysis following EBU R128
972 - Opus encoder using libopus
973 - ffprobe -select_streams option
974 - Pinnacle TARGA CineWave YUV16 decoder
975 - TAK demuxer, decoder and parser
976 - DTS-HD demuxer
977 - remove -same_quant, it hasn't worked for years
978 - FFM2 support
979 - X-Face image encoder and decoder
980 - 24-bit FLAC encoding
981 - multi-channel ALAC encoding up to 7.1
982 - metadata (INFO tag) support in WAV muxer
983 - subtitles raw text decoder
984 - support for building DLLs using MSVC
985 - LVF demuxer
986 - ffescape tool
987 - metadata (info chunk) support in CAF muxer
988 - field filter ported from libmpcodecs
989 - AVR demuxer
990 - geq filter ported from libmpcodecs
991 - remove ffserver daemon mode
992 - AST muxer/demuxer
993 - new expansion syntax for drawtext
994 - BRender PIX image decoder
995 - ffprobe -show_entries option
996 - ffprobe -sections option
997 - ADPCM IMA Dialogic decoder
998 - BRSTM demuxer
999 - animated GIF decoder and demuxer
1000 - PVF demuxer
1001 - subtitles filter
1002 - IRCAM muxer/demuxer
1003 - Paris Audio File demuxer
1004 - Virtual concatenation demuxer
1005 - VobSub demuxer
1006 - JSON captions for TED talks decoding support
1007 - SOX Resampler support in libswresample
1008 - aselect filter
1009 - SGI RLE 8-bit / Silicon Graphics RLE 8-bit video decoder
1010 - Silicon Graphics Motion Video Compressor 1 & 2 decoder
1011 - Silicon Graphics Movie demuxer
1012 - apad filter
1013 - Resolution & pixel format change support with multithreading for H.264
1014 - documentation split into per-component manuals
1015 - pp (postproc) filter ported from MPlayer
1016 - NIST Sphere demuxer
1017 - MPL2, VPlayer, MPlayer, AQTitle, PJS and SubViewer v1 subtitles demuxers and decoders
1018 - Sony Wave64 muxer
1019 - adobe and limelight publisher authentication in RTMP
1020 - data: URI scheme
1021 - support building on the Plan 9 operating system
1022 - kerndeint filter ported from MPlayer
1023 - histeq filter ported from VirtualDub
1024 - Megalux Frame demuxer
1025 - 012v decoder
1026 - Improved AVC Intra decoding support
1027
1028
1029 version 1.0:
1030
1031 - INI and flat output in ffprobe
1032 - Scene detection in libavfilter
1033 - Indeo Audio decoder
1034 - channelsplit audio filter
1035 - setnsamples audio filter
1036 - atempo filter
1037 - ffprobe -show_data option
1038 - RTMPT protocol support
1039 - iLBC encoding/decoding via libilbc
1040 - Microsoft Screen 1 decoder
1041 - join audio filter
1042 - audio channel mapping filter
1043 - Microsoft ATC Screen decoder
1044 - RTSP listen mode
1045 - TechSmith Screen Codec 2 decoder
1046 - AAC encoding via libfdk-aac
1047 - Microsoft Expression Encoder Screen decoder
1048 - RTMPS protocol support
1049 - RTMPTS protocol support
1050 - RTMPE protocol support
1051 - RTMPTE protocol support
1052 - showwaves and showspectrum filter
1053 - LucasArts SMUSH SANM playback support
1054 - LucasArts SMUSH VIMA audio decoder (ADPCM)
1055 - LucasArts SMUSH demuxer
1056 - SAMI, RealText and SubViewer demuxers and decoders
1057 - Heart Of Darkness PAF playback support
1058 - iec61883 device
1059 - asettb filter
1060 - new option: -progress
1061 - 3GPP Timed Text encoder/decoder
1062 - GeoTIFF decoder support
1063 - ffmpeg -(no)stdin option
1064 - Opus decoder using libopus
1065 - caca output device using libcaca
1066 - alphaextract and alphamerge filters
1067 - concat filter
1068 - flite filter
1069 - Canopus Lossless Codec decoder
1070 - bitmap subtitles in filters (experimental and temporary)
1071 - MP2 encoding via TwoLAME
1072 - bmp parser
1073 - smptebars source
1074 - asetpts filter
1075 - hue filter
1076 - ICO muxer
1077 - SubRip encoder and decoder without embedded timing
1078 - edge detection filter
1079 - framestep filter
1080 - ffmpeg -shortest option is now per-output file
1081   -pass and -passlogfile are now per-output stream
1082 - volume measurement filter
1083 - Ut Video encoder
1084 - Microsoft Screen 2 decoder
1085 - smartblur filter ported from MPlayer
1086 - CPiA decoder
1087 - decimate filter ported from MPlayer
1088 - RTP depacketization of JPEG
1089 - Smooth Streaming live segmenter muxer
1090 - F4V muxer
1091 - sendcmd and asendcmd filters
1092 - WebVTT demuxer and decoder (simple tags supported)
1093 - RTP packetization of JPEG
1094 - faststart option in the MOV/MP4 muxer
1095 - support for building with MSVC
1096
1097
1098 version 0.11:
1099
1100 - Fixes: CVE-2012-2772, CVE-2012-2774, CVE-2012-2775, CVE-2012-2776, CVE-2012-2777,
1101          CVE-2012-2779, CVE-2012-2782, CVE-2012-2783, CVE-2012-2784, CVE-2012-2785,
1102          CVE-2012-2786, CVE-2012-2787, CVE-2012-2788, CVE-2012-2789, CVE-2012-2790,
1103          CVE-2012-2791, CVE-2012-2792, CVE-2012-2793, CVE-2012-2794, CVE-2012-2795,
1104          CVE-2012-2796, CVE-2012-2797, CVE-2012-2798, CVE-2012-2799, CVE-2012-2800,
1105          CVE-2012-2801, CVE-2012-2802, CVE-2012-2803, CVE-2012-2804,
1106 - v408 Quicktime and Microsoft AYUV Uncompressed 4:4:4:4 encoder and decoder
1107 - setfield filter
1108 - CDXL demuxer and decoder
1109 - Apple ProRes encoder
1110 - ffprobe -count_packets and -count_frames options
1111 - Sun Rasterfile Encoder
1112 - ID3v2 attached pictures reading and writing
1113 - WMA Lossless decoder
1114 - bluray protocol
1115 - blackdetect filter
1116 - libutvideo encoder wrapper (--enable-libutvideo)
1117 - swapuv filter
1118 - bbox filter
1119 - XBM encoder and decoder
1120 - RealAudio Lossless decoder
1121 - ZeroCodec decoder
1122 - tile video filter
1123 - Metal Gear Solid: The Twin Snakes demuxer
1124 - OpenEXR image decoder
1125 - removelogo filter
1126 - drop support for ffmpeg without libavfilter
1127 - drawtext video filter: fontconfig support
1128 - ffmpeg -benchmark_all option
1129 - super2xsai filter ported from libmpcodecs
1130 - add libavresample audio conversion library for compatibility
1131 - MicroDVD decoder
1132 - Avid Meridien (AVUI) encoder and decoder
1133 - accept + prefix to -pix_fmt option to disable automatic conversions.
1134 - complete audio filtering in libavfilter and ffmpeg
1135 - add fps filter
1136 - vorbis parser
1137 - png parser
1138 - audio mix filter
1139 - ffv1: support (draft) version 1.3
1140
1141
1142 version 0.10:
1143
1144 - Fixes: CVE-2011-3929, CVE-2011-3934, CVE-2011-3935, CVE-2011-3936,
1145          CVE-2011-3937, CVE-2011-3940, CVE-2011-3941, CVE-2011-3944,
1146          CVE-2011-3945, CVE-2011-3946, CVE-2011-3947, CVE-2011-3949,
1147          CVE-2011-3950, CVE-2011-3951, CVE-2011-3952
1148 - v410 Quicktime Uncompressed 4:4:4 10-bit encoder and decoder
1149 - SBaGen (SBG) binaural beats script demuxer
1150 - OpenMG Audio muxer
1151 - Timecode extraction in DV and MOV
1152 - thumbnail video filter
1153 - XML output in ffprobe
1154 - asplit audio filter
1155 - tinterlace video filter
1156 - astreamsync audio filter
1157 - amerge audio filter
1158 - ISMV (Smooth Streaming) muxer
1159 - GSM audio parser
1160 - SMJPEG muxer
1161 - XWD encoder and decoder
1162 - Automatic thread count based on detection number of (available) CPU cores
1163 - y41p Brooktree Uncompressed 4:1:1 12-bit encoder and decoder
1164 - ffprobe -show_error option
1165 - Avid 1:1 10-bit RGB Packer codec
1166 - v308 Quicktime Uncompressed 4:4:4 encoder and decoder
1167 - yuv4 libquicktime packed 4:2:0 encoder and decoder
1168 - ffprobe -show_frames option
1169 - silencedetect audio filter
1170 - ffprobe -show_program_version, -show_library_versions, -show_versions options
1171 - rv34: frame-level multi-threading
1172 - optimized iMDCT transform on x86 using SSE for for mpegaudiodec
1173 - Improved PGS subtitle decoder
1174 - dumpgraph option to lavfi device
1175 - r210 and r10k encoders
1176 - ffwavesynth decoder
1177 - aviocat tool
1178 - ffeval tool
1179 - support encoding and decoding 4-channel SGI images
1180
1181
1182 version 0.9:
1183
1184 - openal input device added
1185 - boxblur filter added
1186 - BWF muxer
1187 - Flash Screen Video 2 decoder
1188 - lavfi input device added
1189 - added avconv, which is almost the same for now, except
1190 for a few incompatible changes in the options, which will hopefully make them
1191 easier to use. The changes are:
1192     * The options placement is now strictly enforced! While in theory the
1193       options for ffmpeg should be given in [input options] -i INPUT [output
1194       options] OUTPUT order, in practice it was possible to give output options
1195       before the -i and it mostly worked. Except when it didn't - the behavior was
1196       a bit inconsistent. In avconv, it is not possible to mix input and output
1197       options. All non-global options are reset after an input or output filename.
1198     * All per-file options are now truly per-file - they apply only to the next
1199       input or output file and specifying different values for different files
1200       will now work properly (notably -ss and -t options).
1201     * All per-stream options are now truly per-stream - it is possible to
1202       specify which stream(s) should a given option apply to. See the Stream
1203       specifiers section in the avconv manual for details.
1204     * In ffmpeg some options (like -newvideo/-newaudio/...) are irregular in the
1205       sense that they're specified after the output filename instead of before,
1206       like all other options. In avconv this irregularity is removed, all options
1207       apply to the next input or output file.
1208     * -newvideo/-newaudio/-newsubtitle options were removed. Not only were they
1209       irregular and highly confusing, they were also redundant. In avconv the -map
1210       option will create new streams in the output file and map input streams to
1211       them. E.g. avconv -i INPUT -map 0 OUTPUT will create an output stream for
1212       each stream in the first input file.
1213     * The -map option now has slightly different and more powerful syntax:
1214         + Colons (':') are used to separate file index/stream type/stream index
1215           instead of dots. Comma (',') is used to separate the sync stream instead
1216           of colon.. This is done for consistency with other options.
1217         + It's possible to specify stream type. E.g. -map 0:a:2 creates an
1218           output stream from the third input audio stream.
1219         + Omitting the stream index now maps all the streams of the given type,
1220           not just the first. E.g. -map 0:s creates output streams for all the
1221           subtitle streams in the first input file.
1222         + Since -map can now match multiple streams, negative mappings were
1223           introduced. Negative mappings disable some streams from an already
1224           defined map. E.g. '-map 0 -map -0:a:1' means 'create output streams for
1225           all the stream in the first input file, except for the second audio
1226           stream'.
1227     * There is a new option -c (or -codec) for choosing the decoder/encoder to
1228       use, which makes it possible to precisely specify target stream(s) consistently with
1229       other options. E.g. -c:v lib264 sets the codec for all video streams, -c:a:0
1230       libvorbis sets the codec for the first audio stream and -c copy copies all
1231       the streams without reencoding. Old -vcodec/-acodec/-scodec options are now
1232       aliases to -c:v/a/s
1233     * It is now possible to precisely specify which stream should an AVOption
1234       apply to. E.g. -b:v:0 2M sets the bitrate for the first video stream, while
1235       -b:a 128k sets the bitrate for all audio streams. Note that the old -ab 128k
1236       syntax is deprecated and will stop working soon.
1237     * -map_chapters now takes only an input file index and applies to the next
1238       output file. This is consistent with how all the other options work.
1239     * -map_metadata now takes only an input metadata specifier and applies to
1240       the next output file. Output metadata specifier is now part of the option
1241       name, similarly to the AVOptions/map/codec feature above.
1242     * -metadata can now be used to set metadata on streams and chapters, e.g.
1243       -metadata:s:1 language=eng sets the language of the first stream to 'eng'.
1244       This made -vlang/-alang/-slang options redundant, so they were removed.
1245     * -qscale option now uses stream specifiers and applies to all streams, not
1246       just video. I.e. plain -qscale number would now apply to all streams. To get
1247       the old behavior, use -qscale:v. Also there is now a shortcut -q for -qscale
1248       and -aq is now an alias for -q:a.
1249     * -vbsf/-absf/-sbsf options were removed and replaced by a -bsf option which
1250       uses stream specifiers. Use -bsf:v/a/s instead of the old options.
1251     * -itsscale option now uses stream specifiers, so its argument is only the
1252       scale parameter.
1253     * -intra option was removed, use -g 0 for the same effect.
1254     * -psnr option was removed, use -flags +psnr for the same effect.
1255     * -vf option is now an alias to the new -filter option, which uses stream specifiers.
1256     * -vframes/-aframes/-dframes options are now aliases to the new -frames option.
1257     * -vtag/-atag/-stag options are now aliases to the new -tag option.
1258 - XMV demuxer
1259 - LOAS demuxer
1260 - ashowinfo filter added
1261 - Windows Media Image decoder
1262 - amovie source added
1263 - LATM muxer/demuxer
1264 - Speex encoder via libspeex
1265 - JSON output in ffprobe
1266 - WTV muxer
1267 - Optional C++ Support (needed for libstagefright)
1268 - H.264 Decoding on Android via Stagefright
1269 - Prores decoder
1270 - BIN/XBIN/ADF/IDF text file decoder
1271 - aconvert audio filter added
1272 - audio support to lavfi input device added
1273 - libcdio-paranoia input device for audio CD grabbing
1274 - Apple ProRes decoder
1275 - CELT in Ogg demuxing
1276 - G.723.1 demuxer and decoder
1277 - libmodplug support (--enable-libmodplug)
1278 - VC-1 interlaced decoding
1279 - libutvideo wrapper (--enable-libutvideo)
1280 - aevalsrc audio source added
1281 - Ut Video decoder
1282 - Speex encoding via libspeex
1283 - 4:2:2 H.264 decoding support
1284 - 4:2:2 and 4:4:4 H.264 encoding with libx264
1285 - Pulseaudio input device
1286 - Prores encoder
1287 - Video Decoder Acceleration (VDA) HWAccel module.
1288 - replacement Indeo 3 decoder
1289 - new ffmpeg option: -map_channel
1290 - volume audio filter added
1291 - earwax audio filter added
1292 - libv4l2 support (--enable-libv4l2)
1293 - TLS/SSL and HTTPS protocol support
1294 - AVOptions API rewritten and documented
1295 - most of CODEC_FLAG2_*, some CODEC_FLAG_* and many codec-specific fields in
1296   AVCodecContext deprecated. Codec private options should be used instead.
1297 - Properly working defaults in libx264 wrapper, support for native presets.
1298 - Encrypted OMA files support
1299 - Discworld II BMV decoding support
1300 - VBLE Decoder
1301 - OS X Video Decoder Acceleration (VDA) support
1302 - compact and csv output in ffprobe
1303 - pan audio filter
1304 - IFF Amiga Continuous Bitmap (ACBM) decoder
1305 - ass filter
1306 - CRI ADX audio format muxer and demuxer
1307 - Playstation Portable PMP format demuxer
1308 - Microsoft Windows ICO demuxer
1309 - life source
1310 - PCM format support in OMA demuxer
1311 - CLJR encoder
1312 - new option: -report
1313 - Dxtory capture format decoder
1314 - cellauto source
1315 - Simple segmenting muxer
1316 - Indeo 4 decoder
1317 - SMJPEG demuxer
1318
1319
1320 version 0.8:
1321
1322 - many many things we forgot because we rather write code than changelogs
1323 - WebM support in Matroska de/muxer
1324 - low overhead Ogg muxing
1325 - MMS-TCP support
1326 - VP8 de/encoding via libvpx
1327 - Demuxer for On2's IVF format
1328 - Pictor/PC Paint decoder
1329 - HE-AAC v2 decoder
1330 - HE-AAC v2 encoding with libaacplus
1331 - libfaad2 wrapper removed
1332 - DTS-ES extension (XCh) decoding support
1333 - native VP8 decoder
1334 - RTSP tunneling over HTTP
1335 - RTP depacketization of SVQ3
1336 - -strict inofficial replaced by -strict unofficial
1337 - ffplay -exitonkeydown and -exitonmousedown options added
1338 - native GSM / GSM MS decoder
1339 - RTP depacketization of QDM2
1340 - ANSI/ASCII art playback system
1341 - Lego Mindstorms RSO de/muxer
1342 - libavcore added (and subsequently removed)
1343 - SubRip subtitle file muxer and demuxer
1344 - Chinese AVS encoding via libxavs
1345 - ffprobe -show_packets option added
1346 - RTP packetization of Theora and Vorbis
1347 - RTP depacketization of MP4A-LATM
1348 - RTP packetization and depacketization of VP8
1349 - hflip filter
1350 - Apple HTTP Live Streaming demuxer
1351 - a64 codec
1352 - MMS-HTTP support
1353 - G.722 ADPCM audio encoder/decoder
1354 - R10k video decoder
1355 - ocv_smooth filter
1356 - frei0r wrapper filter
1357 - change crop filter syntax to width:height:x:y
1358 - make the crop filter accept parametric expressions
1359 - make ffprobe accept AVFormatContext options
1360 - yadif filter
1361 - blackframe filter
1362 - Demuxer for Leitch/Harris' VR native stream format (LXF)
1363 - RTP depacketization of the X-QT QuickTime format
1364 - SAP (Session Announcement Protocol, RFC 2974) muxer and demuxer
1365 - cropdetect filter
1366 - ffmpeg -crop* options removed
1367 - transpose filter added
1368 - ffmpeg -force_key_frames option added
1369 - demuxer for receiving raw rtp:// URLs without an SDP description
1370 - single stream LATM/LOAS decoder
1371 - setpts filter added
1372 - Win64 support for optimized x86 assembly functions
1373 - MJPEG/AVI1 to JPEG/JFIF bitstream filter
1374 - ASS subtitle encoder and decoder
1375 - IEC 61937 encapsulation for E-AC-3, TrueHD, DTS-HD (for HDMI passthrough)
1376 - overlay filter added
1377 - rename aspect filter to setdar, and pixelaspect to setsar
1378 - IEC 61937 demuxer
1379 - Mobotix .mxg demuxer
1380 - frei0r source added
1381 - hqdn3d filter added
1382 - RTP depacketization of QCELP
1383 - FLAC parser added
1384 - gradfun filter added
1385 - AMR-WB decoder
1386 - replace the ocv_smooth filter with a more generic ocv filter
1387 - Windows Televison (WTV) demuxer
1388 - FFmpeg metadata format muxer and demuxer
1389 - SubRip (srt) subtitle encoder and decoder
1390 - floating-point AC-3 encoder added
1391 - Lagarith decoder
1392 - ffmpeg -copytb option added
1393 - IVF muxer added
1394 - Wing Commander IV movies decoder added
1395 - movie source added
1396 - Bink version 'b' audio and video decoder
1397 - Bitmap Brothers JV playback system
1398 - Apple HTTP Live Streaming protocol handler
1399 - sndio support for playback and record
1400 - Linux framebuffer input device added
1401 - Chronomaster DFA decoder
1402 - DPX image encoder
1403 - MicroDVD subtitle file muxer and demuxer
1404 - Playstation Portable PMP format demuxer
1405 - fieldorder video filter added
1406 - AAC encoding via libvo-aacenc
1407 - AMR-WB encoding via libvo-amrwbenc
1408 - xWMA demuxer
1409 - Mobotix MxPEG decoder
1410 - VP8 frame-multithreading
1411 - NEON optimizations for VP8
1412 - Lots of deprecated API cruft removed
1413 - fft and imdct optimizations for AVX (Sandy Bridge) processors
1414 - showinfo filter added
1415 - SMPTE 302M AES3 audio decoder
1416 - Apple Core Audio Format muxer
1417 - 9 bits and 10 bits per sample support in the H.264 decoder
1418 - 9 bits and 10 bits FFV1 encoding / decoding
1419 - split filter added
1420 - select filter added
1421 - sdl output device added
1422 - libmpcodecs video filter support (3 times as many filters than before)
1423 - mpeg2 aspect ratio dection fixed
1424 - libxvid aspect pickiness fixed
1425 - Frame multithreaded decoding
1426 - E-AC-3 audio encoder
1427 - ac3enc: add channel coupling support
1428 - floating-point sample format support to the ac3, eac3, dca, aac, and vorbis decoders.
1429 - H264/MPEG frame-level multi-threading
1430 - All av_metadata_* functions renamed to av_dict_* and moved to libavutil
1431 - 4:4:4 H.264 decoding support
1432 - 10-bit H.264 optimizations for x86
1433 - lut, lutrgb, and lutyuv filters added
1434 - buffersink libavfilter sink added
1435 - Bump libswscale for recently reported ABI break
1436 - New J2K encoder (via OpenJPEG)
1437
1438
1439 version 0.7:
1440
1441 - all the changes for 0.8, but keeping API/ABI compatibility with the 0.6 release
1442
1443
1444 version 0.6:
1445
1446 - PB-frame decoding for H.263
1447 - deprecated vhook subsystem removed
1448 - deprecated old scaler removed
1449 - VQF demuxer
1450 - Alpha channel scaler
1451 - PCX encoder
1452 - RTP packetization of H.263
1453 - RTP packetization of AMR
1454 - RTP depacketization of Vorbis
1455 - CorePNG decoding support
1456 - Cook multichannel decoding support
1457 - introduced avlanguage helpers in libavformat
1458 - 8088flex TMV demuxer and decoder
1459 - per-stream language-tags extraction in asfdec
1460 - V210 decoder and encoder
1461 - remaining GPL parts in AC-3 decoder converted to LGPL
1462 - QCP demuxer
1463 - SoX native format muxer and demuxer
1464 - AMR-NB decoding/encoding, AMR-WB decoding via OpenCORE libraries
1465 - DPX image decoder
1466 - Electronic Arts Madcow decoder
1467 - DivX (XSUB) subtitle encoder
1468 - nonfree libamr support for AMR-NB/WB decoding/encoding removed
1469 - experimental AAC encoder
1470 - RTP depacketization of ASF and RTSP from WMS servers
1471 - RTMP support in libavformat
1472 - noX handling for OPT_BOOL X options
1473 - Wave64 demuxer
1474 - IEC-61937 compatible Muxer
1475 - TwinVQ decoder
1476 - Bluray (PGS) subtitle decoder
1477 - LPCM support in MPEG-TS (HDMV RID as found on Blu-ray disks)
1478 - WMA Pro decoder
1479 - Core Audio Format demuxer
1480 - ATRAC1 decoder
1481 - MD STUDIO audio demuxer
1482 - RF64 support in WAV demuxer
1483 - MPEG-4 Audio Lossless Coding (ALS) decoder
1484 - -formats option split into -formats, -codecs, -bsfs, and -protocols
1485 - IV8 demuxer
1486 - CDG demuxer and decoder
1487 - R210 decoder
1488 - Auravision Aura 1 and 2 decoders
1489 - Deluxe Paint Animation playback system
1490 - SIPR decoder
1491 - Adobe Filmstrip muxer and demuxer
1492 - RTP depacketization of H.263
1493 - Bink demuxer and audio/video decoders
1494 - enable symbol versioning by default for linkers that support it
1495 - IFF PBM/ILBM bitmap decoder
1496 - concat protocol
1497 - Indeo 5 decoder
1498 - RTP depacketization of AMR
1499 - WMA Voice decoder
1500 - ffprobe tool
1501 - AMR-NB decoder
1502 - RTSP muxer
1503 - HE-AAC v1 decoder
1504 - Kega Game Video (KGV1) decoder
1505 - VorbisComment writing for FLAC, Ogg FLAC and Ogg Speex files
1506 - RTP depacketization of Theora
1507 - HTTP Digest authentication
1508 - RTMP/RTMPT/RTMPS/RTMPE/RTMPTE protocol support via librtmp
1509 - Psygnosis YOP demuxer and video decoder
1510 - spectral extension support in the E-AC-3 decoder
1511 - unsharp video filter
1512 - RTP hinting in the mov/3gp/mp4 muxer
1513 - Dirac in Ogg demuxing
1514 - seek to keyframes in Ogg
1515 - 4:2:2 and 4:4:4 Theora decoding
1516 - 35% faster VP3/Theora decoding
1517 - faster AAC decoding
1518 - faster H.264 decoding
1519 - RealAudio 1.0 (14.4K) encoder
1520
1521
1522 version 0.5:
1523
1524 - DV50 AKA DVCPRO50 encoder, decoder, muxer and demuxer
1525 - TechSmith Camtasia (TSCC) video decoder
1526 - IBM Ultimotion (ULTI) video decoder
1527 - Sierra Online audio file demuxer and decoder
1528 - Apple QuickDraw (qdrw) video decoder
1529 - Creative ADPCM audio decoder (16 bits as well as 8 bits schemes)
1530 - Electronic Arts Multimedia (WVE/UV2/etc.) file demuxer
1531 - Miro VideoXL (VIXL) video decoder
1532 - H.261 video encoder
1533 - QPEG video decoder
1534 - Nullsoft Video (NSV) file demuxer
1535 - Shorten audio decoder
1536 - LOCO video decoder
1537 - Apple Lossless Audio Codec (ALAC) decoder
1538 - Winnov WNV1 video decoder
1539 - Autodesk Animator Studio Codec (AASC) decoder
1540 - Indeo 2 video decoder
1541 - Fraps FPS1 video decoder
1542 - Snow video encoder/decoder
1543 - Sonic audio encoder/decoder
1544 - Vorbis audio decoder
1545 - Macromedia ADPCM decoder
1546 - Duck TrueMotion 2 video decoder
1547 - support for decoding FLX and DTA extensions in FLIC files
1548 - H.264 custom quantization matrices support
1549 - ffserver fixed, it should now be usable again
1550 - QDM2 audio decoder
1551 - Real Cooker audio decoder
1552 - TrueSpeech audio decoder
1553 - WMA2 audio decoder fixed, now all files should play correctly
1554 - RealAudio 14.4 and 28.8 decoders fixed
1555 - JPEG-LS decoder
1556 - build system improvements
1557 - tabs and trailing whitespace removed from the codebase
1558 - CamStudio video decoder
1559 - AIFF/AIFF-C audio format, encoding and decoding
1560 - ADTS AAC file reading and writing
1561 - Creative VOC file reading and writing
1562 - American Laser Games multimedia (*.mm) playback system
1563 - Zip Motion Blocks Video decoder
1564 - improved Theora/VP3 decoder
1565 - True Audio (TTA) decoder
1566 - AVS demuxer and video decoder
1567 - JPEG-LS encoder
1568 - Smacker demuxer and decoder
1569 - NuppelVideo/MythTV demuxer and RTjpeg decoder
1570 - KMVC decoder
1571 - MPEG-2 intra VLC support
1572 - MPEG-2 4:2:2 encoder
1573 - Flash Screen Video decoder
1574 - GXF demuxer
1575 - Chinese AVS decoder
1576 - GXF muxer
1577 - MXF demuxer
1578 - VC-1/WMV3/WMV9 video decoder
1579 - MacIntel support
1580 - AviSynth support
1581 - VMware video decoder
1582 - VP5 video decoder
1583 - VP6 video decoder
1584 - WavPack lossless audio decoder
1585 - Targa (.TGA) picture decoder
1586 - Vorbis audio encoder
1587 - Delphine Software .cin demuxer/audio and video decoder
1588 - Tiertex .seq demuxer/video decoder
1589 - MTV demuxer
1590 - TIFF picture encoder and decoder
1591 - GIF picture decoder
1592 - Intel Music Coder decoder
1593 - Zip Motion Blocks Video encoder
1594 - Musepack decoder
1595 - Flash Screen Video encoder
1596 - Theora encoding via libtheora
1597 - BMP encoder
1598 - WMA encoder
1599 - GSM-MS encoder and decoder
1600 - DCA decoder
1601 - DXA demuxer and decoder
1602 - DNxHD decoder
1603 - Gamecube movie (.THP) playback system
1604 - Blackfin optimizations
1605 - Interplay C93 demuxer and video decoder
1606 - Bethsoft VID demuxer and video decoder
1607 - CRYO APC demuxer
1608 - ATRAC3 decoder
1609 - V.Flash PTX decoder
1610 - RoQ muxer, RoQ audio encoder
1611 - Renderware TXD demuxer and decoder
1612 - extern C declarations for C++ removed from headers
1613 - sws_flags command line option
1614 - codebook generator
1615 - RoQ video encoder
1616 - QTRLE encoder
1617 - OS/2 support removed and restored again
1618 - AC-3 decoder
1619 - NUT muxer
1620 - additional SPARC (VIS) optimizations
1621 - Matroska muxer
1622 - slice-based parallel H.264 decoding
1623 - Monkey's Audio demuxer and decoder
1624 - AMV audio and video decoder
1625 - DNxHD encoder
1626 - H.264 PAFF decoding
1627 - Nellymoser ASAO decoder
1628 - Beam Software SIFF demuxer and decoder
1629 - libvorbis Vorbis decoding removed in favor of native decoder
1630 - IntraX8 (J-Frame) subdecoder for WMV2 and VC-1
1631 - Ogg (Theora, Vorbis and FLAC) muxer
1632 - The "device" muxers and demuxers are now in a new libavdevice library
1633 - PC Paintbrush PCX decoder
1634 - Sun Rasterfile decoder
1635 - TechnoTrend PVA demuxer
1636 - Linux Media Labs MPEG-4 (LMLM4) demuxer
1637 - AVM2 (Flash 9) SWF muxer
1638 - QT variant of IMA ADPCM encoder
1639 - VFW grabber
1640 - iPod/iPhone compatible mp4 muxer
1641 - Mimic decoder
1642 - MSN TCP Webcam stream demuxer
1643 - RL2 demuxer / decoder
1644 - IFF demuxer
1645 - 8SVX audio decoder
1646 - non-recursive Makefiles
1647 - BFI demuxer
1648 - MAXIS EA XA (.xa) demuxer / decoder
1649 - BFI video decoder
1650 - OMA demuxer
1651 - MLP/TrueHD decoder
1652 - Electronic Arts CMV decoder
1653 - Motion Pixels Video decoder
1654 - Motion Pixels MVI demuxer
1655 - removed animated GIF decoder/demuxer
1656 - D-Cinema audio muxer
1657 - Electronic Arts TGV decoder
1658 - Apple Lossless Audio Codec (ALAC) encoder
1659 - AAC decoder
1660 - floating point PCM encoder/decoder
1661 - MXF muxer
1662 - DV100 AKA DVCPRO HD decoder and demuxer
1663 - E-AC-3 support added to AC-3 decoder
1664 - Nellymoser ASAO encoder
1665 - ASS and SSA demuxer and muxer
1666 - liba52 wrapper removed
1667 - SVQ3 watermark decoding support
1668 - Speex decoding via libspeex
1669 - Electronic Arts TGQ decoder
1670 - RV40 decoder
1671 - QCELP / PureVoice decoder
1672 - RV30 decoder
1673 - hybrid WavPack support
1674 - R3D REDCODE demuxer
1675 - ALSA support for playback and record
1676 - Electronic Arts TQI decoder
1677 - OpenJPEG based JPEG 2000 decoder
1678 - NC (NC4600) camera file demuxer
1679 - Gopher client support
1680 - MXF D-10 muxer
1681 - generic metadata API
1682 - flash ScreenVideo2 encoder
1683
1684
1685 version 0.4.9-pre1:
1686
1687 - DV encoder, DV muxer
1688 - Microsoft RLE video decoder
1689 - Microsoft Video-1 decoder
1690 - Apple Animation (RLE) decoder
1691 - Apple Graphics (SMC) decoder
1692 - Apple Video (RPZA) decoder
1693 - Cinepak decoder
1694 - Sega FILM (CPK) file demuxer
1695 - Westwood multimedia support (VQA & AUD files)
1696 - Id Quake II CIN playback support
1697 - 8BPS video decoder
1698 - FLIC playback support
1699 - RealVideo 2.0 (RV20) decoder
1700 - Duck TrueMotion v1 (DUCK) video decoder
1701 - Sierra VMD demuxer and video decoder
1702 - MSZH and ZLIB decoder support
1703 - SVQ1 video encoder
1704 - AMR-WB support
1705 - PPC optimizations
1706 - rate distortion optimal cbp support
1707 - rate distorted optimal ac prediction for MPEG-4
1708 - rate distorted optimal lambda->qp support
1709 - AAC encoding with libfaac
1710 - Sunplus JPEG codec (SP5X) support
1711 - use Lagrange multiplier instead of QP for ratecontrol
1712 - Theora/VP3 decoding support
1713 - XA and ADX ADPCM codecs
1714 - export MPEG-2 active display area / pan scan
1715 - Add support for configuring with IBM XLC
1716 - floating point AAN DCT
1717 - initial support for zygo video (not complete)
1718 - RGB ffv1 support
1719 - new audio/video parser API
1720 - av_log() system
1721 - av_read_frame() and av_seek_frame() support
1722 - missing last frame fixes
1723 - seek by mouse in ffplay
1724 - noise reduction of DCT coefficients
1725 - H.263 OBMC & 4MV support
1726 - H.263 alternative inter vlc support
1727 - H.263 loop filter
1728 - H.263 slice structured mode
1729 - interlaced DCT support for MPEG-2 encoding
1730 - stuffing to stay above min_bitrate
1731 - MB type & QP visualization
1732 - frame stepping for ffplay
1733 - interlaced motion estimation
1734 - alternate scantable support
1735 - SVCD scan offset support
1736 - closed GOP support
1737 - SSE2 FDCT
1738 - quantizer noise shaping
1739 - G.726 ADPCM audio codec
1740 - MS ADPCM encoding
1741 - multithreaded/SMP motion estimation
1742 - multithreaded/SMP encoding for MPEG-1/MPEG-2/MPEG-4/H.263
1743 - multithreaded/SMP decoding for MPEG-2
1744 - FLAC decoder
1745 - Metrowerks CodeWarrior suppport
1746 - H.263+ custom pcf support
1747 - nicer output for 'ffmpeg -formats'
1748 - Matroska demuxer
1749 - SGI image format, encoding and decoding
1750 - H.264 loop filter support
1751 - H.264 CABAC support
1752 - nicer looking arrows for the motion vector visualization
1753 - improved VCD support
1754 - audio timestamp drift compensation
1755 - MPEG-2 YUV 422/444 support
1756 - polyphase kaiser windowed sinc and blackman nuttall windowed sinc audio resample
1757 - better image scaling
1758 - H.261 support
1759 - correctly interleave packets during encoding
1760 - VIS optimized motion compensation
1761 - intra_dc_precision>0 encoding support
1762 - support reuse of motion vectors/MB types/field select values of the source video
1763 - more accurate deblock filter
1764 - padding support
1765 - many optimizations and bugfixes
1766 - FunCom ISS audio file demuxer and according ADPCM decoding
1767
1768
1769 version 0.4.8:
1770
1771 - MPEG-2 video encoding (Michael)
1772 - Id RoQ playback subsystem (Mike Melanson and Tim Ferguson)
1773 - Wing Commander III Movie (.mve) file playback subsystem (Mike Melanson
1774   and Mario Brito)
1775 - Xan DPCM audio decoder (Mario Brito)
1776 - Interplay MVE playback subsystem (Mike Melanson)
1777 - Duck DK3 and DK4 ADPCM audio decoders (Mike Melanson)
1778
1779
1780 version 0.4.7:
1781
1782 - RealAudio 1.0 (14_4) and 2.0 (28_8) native decoders. Author unknown, code from mplayerhq
1783   (originally from public domain player for Amiga at http://www.honeypot.net/audio)
1784 - current version now also compiles with older GCC (Fabrice)
1785 - 4X multimedia playback system including 4xm file demuxer (Mike
1786   Melanson), and 4X video and audio codecs (Michael)
1787 - Creative YUV (CYUV) decoder (Mike Melanson)
1788 - FFV1 codec (our very simple lossless intra only codec, compresses much better
1789   than HuffYUV) (Michael)
1790 - ASV1 (Asus), H.264, Intel indeo3 codecs have been added (various)
1791 - tiny PNG encoder and decoder, tiny GIF decoder, PAM decoder (PPM with
1792   alpha support), JPEG YUV colorspace support. (Fabrice Bellard)
1793 - ffplay has been replaced with a newer version which uses SDL (optionally)
1794   for multiplatform support (Fabrice)
1795 - Sorenson Version 3 codec (SVQ3) support has been added (decoding only) - donated
1796   by anonymous
1797 - AMR format has been added (Johannes Carlsson)
1798 - 3GP support has been added (Johannes Carlsson)
1799 - VP3 codec has been added (Mike Melanson)
1800 - more MPEG-1/2 fixes
1801 - better multiplatform support, MS Visual Studio fixes (various)
1802 - AltiVec optimizations (Magnus Damn and others)
1803 - SH4 processor support has been added (BERO)
1804 - new public interfaces (avcodec_get_pix_fmt) (Roman Shaposhnick)
1805 - VOB streaming support (Brian Foley)
1806 - better MP3 autodetection (Andriy Rysin)
1807 - qpel encoding (Michael)
1808 - 4mv+b frames encoding finally fixed (Michael)
1809 - chroma ME (Michael)
1810 - 5 comparison functions for ME (Michael)
1811 - B-frame encoding speedup (Michael)
1812 - WMV2 codec (unfinished - Michael)
1813 - user specified diamond size for EPZS (Michael)
1814 - Playstation STR playback subsystem, still experimental (Mike and Michael)
1815 - ASV2 codec (Michael)
1816 - CLJR decoder (Alex)
1817
1818 .. And lots more new enhancements and fixes.
1819
1820
1821 version 0.4.6:
1822
1823 - completely new integer only MPEG audio layer 1/2/3 decoder rewritten
1824   from scratch
1825 - Recoded DCT and motion vector search with gcc (no longer depends on nasm)
1826 - fix quantization bug in AC3 encoder
1827 - added PCM codecs and format. Corrected WAV/AVI/ASF PCM issues
1828 - added prototype ffplay program
1829 - added GOB header parsing on H.263/H.263+ decoder (Juanjo)
1830 - bug fix on MCBPC tables of H.263 (Juanjo)
1831 - bug fix on DC coefficients of H.263 (Juanjo)
1832 - added Advanced Prediction Mode on H.263/H.263+ decoder (Juanjo)
1833 - now we can decode H.263 streams found in QuickTime files (Juanjo)
1834 - now we can decode H.263 streams found in VIVO v1 files(Juanjo)
1835 - preliminary RTP "friendly" mode for H.263/H.263+ coding. (Juanjo)
1836 - added GOB header for H.263/H.263+ coding on RTP mode (Juanjo)
1837 - now H.263 picture size is returned on the first decoded frame (Juanjo)
1838 - added first regression tests
1839 - added MPEG-2 TS demuxer
1840 - new demux API for libav
1841 - more accurate and faster IDCT (Michael)
1842 - faster and entropy-controlled motion search (Michael)
1843 - two pass video encoding (Michael)
1844 - new video rate control (Michael)
1845 - added MSMPEG4V1, MSMPEGV2 and WMV1 support (Michael)
1846 - great performance improvement of video encoders and decoders (Michael)
1847 - new and faster bit readers and vlc parsers (Michael)
1848 - high quality encoding mode: tries all macroblock/VLC types (Michael)
1849 - added DV video decoder
1850 - preliminary RTP/RTSP support in ffserver and libavformat
1851 - H.263+ AIC decoding/encoding support (Juanjo)
1852 - VCD MPEG-PS mode (Juanjo)
1853 - PSNR stuff (Juanjo)
1854 - simple stats output (Juanjo)
1855 - 16-bit and 15-bit RGB/BGR/GBR support (Bisqwit)
1856
1857
1858 version 0.4.5:
1859
1860 - some header fixes (Zdenek Kabelac <kabi at informatics.muni.cz>)
1861 - many MMX optimizations (Nick Kurshev <nickols_k at mail.ru>)
1862 - added configure system (actually a small shell script)
1863 - added MPEG audio layer 1/2/3 decoding using LGPL'ed mpglib by
1864   Michael Hipp (temporary solution - waiting for integer only
1865   decoder)
1866 - fixed VIDIOCSYNC interrupt
1867 - added Intel H.263 decoding support ('I263' AVI fourCC)
1868 - added Real Video 1.0 decoding (needs further testing)
1869 - simplified image formats again. Added PGM format (=grey
1870   pgm). Renamed old PGM to PGMYUV.
1871 - fixed msmpeg4 slice issues (tell me if you still find problems)
1872 - fixed OpenDivX bugs with newer versions (added VOL header decoding)
1873 - added support for MPlayer interface
1874 - added macroblock skip optimization
1875 - added MJPEG decoder
1876 - added mmx/mmxext IDCT from libmpeg2
1877 - added pgmyuvpipe, ppm, and ppm_pipe formats (original patch by Celer
1878   <celer at shell.scrypt.net>)
1879 - added pixel format conversion layer (e.g. for MJPEG or PPM)
1880 - added deinterlacing option
1881 - MPEG-1/2 fixes
1882 - MPEG-4 vol header fixes (Jonathan Marsden <snmjbm at pacbell.net>)
1883 - ARM optimizations (Lionel Ulmer <lionel.ulmer at free.fr>).
1884 - Windows porting of file converter
1885 - added MJPEG raw format (input/output)
1886 - added JPEG image format support (input/output)
1887
1888
1889 version 0.4.4:
1890
1891 - fixed some std header definitions (Bjorn Lindgren
1892   <bjorn.e.lindgren at telia.com>).
1893 - added MPEG demuxer (MPEG-1 and 2 compatible).
1894 - added ASF demuxer
1895 - added prototype RM demuxer
1896 - added AC3 decoding (done with libac3 by Aaron Holtzman)
1897 - added decoding codec parameter guessing (.e.g. for MPEG, because the
1898   header does not include them)
1899 - fixed header generation in MPEG-1, AVI and ASF muxer: wmplayer can now
1900   play them (only tested video)
1901 - fixed H.263 white bug
1902 - fixed phase rounding in img resample filter
1903 - add MMX code for polyphase img resample filter
1904 - added CPU autodetection
1905 - added generic title/author/copyright/comment string handling (ASF and RM
1906   use them)
1907 - added SWF demux to extract MP3 track (not usable yet because no MP3
1908   decoder)
1909 - added fractional frame rate support
1910 - codecs are no longer searched by read_header() (should fix ffserver
1911   segfault)
1912
1913
1914 version 0.4.3:
1915
1916 - BGR24 patch (initial patch by Jeroen Vreeken <pe1rxq at amsat.org>)
1917 - fixed raw yuv output
1918 - added motion rounding support in MPEG-4
1919 - fixed motion bug rounding in MSMPEG4
1920 - added B-frame handling in video core
1921 - added full MPEG-1 decoding support
1922 - added partial (frame only) MPEG-2 support
1923 - changed the FOURCC code for H.263 to "U263" to be able to see the
1924   +AVI/H.263 file with the UB Video H.263+ decoder. MPlayer works with
1925   this +codec ;) (JuanJo).
1926 - Halfpel motion estimation after MB type selection (JuanJo)
1927 - added pgm and .Y.U.V output format
1928 - suppressed 'img:' protocol. Simply use: /tmp/test%d.[pgm|Y] as input or
1929   output.
1930 - added pgmpipe I/O format (original patch from Martin Aumueller
1931   <lists at reserv.at>, but changed completely since we use a format
1932   instead of a protocol)
1933
1934
1935 version 0.4.2:
1936
1937 - added H.263/MPEG-4/MSMPEG4 decoding support. MPEG-4 decoding support
1938   (for OpenDivX) is almost complete: 8x8 MVs and rounding are
1939   missing. MSMPEG4 support is complete.
1940 - added prototype MPEG-1 decoder. Only I- and P-frames handled yet (it
1941   can decode ffmpeg MPEGs :-)).
1942 - added libavcodec API documentation (see apiexample.c).
1943 - fixed image polyphase bug (the bottom of some images could be
1944   greenish)
1945 - added support for non clipped motion vectors (decoding only)
1946   and image sizes non-multiple of 16
1947 - added support for AC prediction (decoding only)
1948 - added file overwrite confirmation (can be disabled with -y)
1949 - added custom size picture to H.263 using H.263+ (Juanjo)
1950
1951
1952 version 0.4.1:
1953
1954 - added MSMPEG4 (aka DivX) compatible encoder. Changed default codec
1955   of AVI and ASF to DIV3.
1956 - added -me option to set motion estimation method
1957   (default=log). suppressed redundant -hq option.
1958 - added options -acodec and -vcodec to force a given codec (useful for
1959   AVI for example)
1960 - fixed -an option
1961 - improved dct_quantize speed
1962 - factorized some motion estimation code
1963
1964
1965 version 0.4.0:
1966
1967 - removing grab code from ffserver and moved it to ffmpeg. Added
1968   multistream support to ffmpeg.
1969 - added timeshifting support for live feeds (option ?date=xxx in the
1970   URL)
1971 - added high quality image resize code with polyphase filter (need
1972   mmx/see optimization). Enable multiple image size support in ffserver.
1973 - added multi live feed support in ffserver
1974 - suppressed master feature from ffserver (it should be done with an
1975   external program which opens the .ffm url and writes it to another
1976   ffserver)
1977 - added preliminary support for video stream parsing (WAV and AVI half
1978   done). Added proper support for audio/video file conversion in
1979   ffmpeg.
1980 - added preliminary support for video file sending from ffserver
1981 - redesigning I/O subsystem: now using URL based input and output
1982   (see avio.h)
1983 - added WAV format support
1984 - added "tty user interface" to ffmpeg to stop grabbing gracefully
1985 - added MMX/SSE optimizations to SAD (Sums of Absolutes Differences)
1986   (Juan J. Sierralta P. a.k.a. "Juanjo" <juanjo at atmlab.utfsm.cl>)
1987 - added MMX DCT from mpeg2_movie 1.5 (Juanjo)
1988 - added new motion estimation algorithms, log and phods (Juanjo)
1989 - changed directories: libav for format handling, libavcodec for
1990   codecs
1991
1992
1993 version 0.3.4:
1994
1995 - added stereo in MPEG audio encoder
1996
1997
1998 version 0.3.3:
1999
2000 - added 'high quality' mode which use motion vectors. It can be used in
2001   real time at low resolution.
2002 - fixed rounding problems which caused quality problems at high
2003   bitrates and large GOP size
2004
2005
2006 version 0.3.2: small fixes
2007
2008 - ASF fixes
2009 - put_seek bug fix
2010
2011
2012 version 0.3.1: added avi/divx support
2013
2014 - added AVI support
2015 - added MPEG-4 codec compatible with OpenDivX. It is based on the H.263 codec
2016 - added sound for flash format (not tested)
2017
2018
2019 version 0.3: initial public release