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