avcodec/cavsdsp: use av_clip_uint8() for idct
[ffmpeg.git] / Changelog
1 Entries are sorted chronologically from oldest to youngest within each release,
2 releases are sorted from youngest to oldest.
3
4 version 2.8.8
5 - avformat/movenc: Check packet in mov_write_single_packet() too
6 - avformat/movenc: Factor check_pkt() out
7 - avformat/utils: fix timebase error in avformat_seek_file()
8 - avcodec/g726: Add missing ADDB output mask
9 - avcodec/avpacket: clear side_data_elems
10 - avcodec/ccaption_dec: Use simple array instead of AVBuffer
11 - swscale/swscale_unscaled: Try to fix Rgb16ToPlanarRgb16Wrapper() with slices
12 - swscale/swscale_unscaled: Fix packed_16bpc_bswap() with slices
13 - avformat/avidec: Fix infinite loop in avi_read_nikon()
14 - cmdutils: fix implicit declaration of SetDllDirectory function
15 - cmdutils: check for SetDllDirectory() availability
16 - avcodec/aacenc: Tighter input checks
17 - libavcodec/wmalosslessdec: Check the remaining bits
18 - avcodec/diracdec: Check numx/y
19 - avcodec/indeo2: check ctab
20 - avformat/swfdec: Fix inflate() error code check
21 - avcodec/h264: Put context_count check back
22 - cmdutils: remove the current working directory from the DLL search path on win32
23 - avcodec/raw: Fix decoding of ilacetest.mov
24 - avcodec/ffv1enc: Fix assertion failure with non zero bits per sample
25 - avformat/oggdec: Fix integer overflow with invalid pts
26 - ffplay: Fix invalid array index
27 - avcodec/vp9_parser: Check the input frame sizes for being consistent
28 - libavformat/rtpdec_asf: zero initialize the AVIOContext struct
29 - libavutil/opt: Small bugfix in example.
30 - libx264: Increase x264 opts character limit to 4096
31 - avformat/mov: Check sample size
32 - avformat/format: Fix registering a format more than once and related races
33 - avcodec/flac_parser: Raise threshold for detecting invalid data
34 - avfilter/vf_telecine: Make frame writable before writing into it
35 - avcodec/mpc8: Correct end truncation
36 - avcodec/mpegvideo: Do not clear the parse context during init
37 - MAINTAINERs cleanup (remove myself from things i de facto dont maintain)
38 - avcodec/h264: Fix off by 1 context count
39 - avcodec/alsdec: Check r to prevent out of array read
40 - avcodec/alsdec: fix max bits in ltp prefix code
41 - avcodec/utils: check skip_samples signedness
42 - avformat/mpegts: Do not trust BSSD descriptor, it is sometimes not an S302M stream
43 - avcodec/bmp_parser: Check fsize
44 - avcodec/bmp_parser: reset state
45 - avcodec/bmp_parser: Fix remaining size
46 - avcodec/bmp_parser: Fix frame_start_found in cross frame cases
47 - avfilter/af_amix: dont fail if there are no samples in output_frame()
48 - avformat/allformats: Making av_register_all() thread-safe.
49 - avcodec/mpegvideo: Deallocate last/next picture earlier
50 - avcodec/bmp_parser: Fix state
51 - avformat/oggparseopus: Fix Undefined behavior in oggparseopus.c and libavformat/utils.c
52 - doc/developer.texi: Add a code of conduct
53 - avformat/avidec: Detect index with too short entries
54 - avformat/utils: Check negative bps before shifting in ff_get_pcm_codec_id()
55 - avformat/utils: Do not compute the bitrate from duration == 0
56 - ffmpeg: Check that r_frame_rate is set before attempting to use it
57 - swresample/rematrix: Use clipping s16 rematrixing if overflows are possible
58 - swresample/rematrix: Use error diffusion to avoid error in the DC component of the matrix
59 - libavformat/oggdec: Free stream private when header parsing fails.
60 - avformat/utils: Check bps before using it in a shift in ff_get_pcm_codec_id()
61 - avformat/oggparseopus: Check that granule pos is within the supported range
62 - avcodec/mjpegdec: Do not try to detect last scan but apply idct after all scans for progressive jpeg
63 - avformat/options_table: Add missing identifier for very strict compliance
64 - librtmp: Avoid an infiniloop setting connection arguments
65 - avformat/oggparsevp8: fix pts calculation on pages ending with an invisible frame
66
67
68 version 2.8.7
69 - avcodec/motion_est: Attempt to fix "short data segment overflowed" on IA64
70 - avformat/ffmdec: Check pix_fmt
71 - avcodec/ttaenc: Reallocate packet if its too small
72 - pgssubdec: fix subpicture output colorspace and range
73 - avcodec/ac3dec: Reset SPX when switching from EAC3 to AC3
74 - avfilter/vf_drawtext: Check return code of load_glyph()
75 - avcodec/takdec: add code that got somehow lost in process of REing
76 - avcodec/apedec: fix decoding of stereo files with one channel full of silence
77 - avcodec/avpacket: Fix off by 5 error
78 - avcodec/h264: Fix for H.264 configuration parsing
79 - avcodec/bmp_parser: Ensure remaining_size is not too small in startcode packet crossing corner case
80 - avfilter/src_movie: fix how we check for overflows with seek_point
81 - avcodec/j2kenc: Add attribution to OpenJPEG project:
82 - avcodec/h264_slice: Check PPS more extensively when its not copied
83 - avcodec/libutvideodec: copy frame so it has reference counters when refcounted_frames is set
84 - avformat/rtpdec_jpeg: fix low contrast image on low quality setting
85 - avcodec/mjpegenc_common: Store approximate aspect if exact cannot be stored
86 - lavc/hevc: Allow arbitrary garbage in bytestream as long as at least one NAL unit is found.
87 - avcodec/resample: Remove disabled and faulty code
88 - indeo2: Fix banding artefacts
89 - indeo2data: K&R formatting cosmetics
90 - avcodec/imgconvert: Support non-planar colorspaces while padding
91 - avutil/random_seed: Add the runtime in cycles of the main loop to the entropy pool
92 - avutil/channel_layout: AV_CH_LAYOUT_6POINT1_BACK not reachable in parsing
93 - avformat/concatdec: set safe mode to enabled instead of auto
94 - avformat/utils: fix dts from pts code in compute_pkt_fields() during ascending delay
95 - avformat/rtpenc: Fix integer overflow in NTP_TO_RTP_FORMAT
96 - avformat/cache: Fix memleak of tree entries
97 - lavf/mov: downgrade sidx errors to non-fatal warnings; fixes trac #5216 (cherry picked from commit 22dbc1caaf13e4bb17c9e0164a5b1ccaf490e428)
98 - lavf/mov: fix sidx with edit lists (cherry picked from commit 3617e69d50dd9dd07b5011dfb9477a9d1a630354)
99 - avcodec/mjpegdec: Fix decoding slightly odd progressive jpeg
100 - libwebpenc_animencoder: print library messages in verbose log levels
101 - libwebpenc_animencoder: zero initialize the WebPAnimEncoderOptions struct
102 - doc/utils: fix typo for min() description
103 - avcodec/avpacket: clear priv in av_init_packet()
104 - swscale/utils: Fix chrSrcHSubSample for GBRAP16
105 - swscale/input: Fix GBRAP16 input
106 - postproc: fix unaligned access
107 - avutil/pixdesc: Make get_color_type() aware of CIE XYZ formats
108 - avcodec/h264: Execute error concealment before marking the frame as done.
109 - swscale/x86/output: Fix yuv2planeX_16* with unaligned destination
110 - swscale/x86/output: Move code into yuv2planeX_mainloop
111 - avutil/frame: Free destination qp_table_buf in frame_copy_props()
112
113
114 version 2.8.6
115 - avcodec/jpeg2000dec: More completely check cdef
116 - avutil/opt: check for and handle errors in av_opt_set_dict2()
117 - avcodec/flacenc: fix calculation of bits required in case of custom sample rate
118 - avformat: Document urls a bit
119 - avformat/libquvi: Set default demuxer and protocol limitations
120 - avformat/concat: Check protocol prefix
121 - doc/demuxers: Document enable_drefs and use_absolute_path
122 - avcodec/mjpegdec: Check for end for both bytes in unescaping
123 - avcodec/mpegvideo_enc: Check for integer overflow in ff_mpv_reallocate_putbitbuffer()
124 - avformat/avformat: Replace some references to filenames by urls
125 - avcodec/wmaenc: Check ff_wma_init() for failure
126 - avcodec/mpeg12enc: Move high resolution thread check to before initializing threads
127 - avformat/img2dec: Use AVOpenCallback
128 - avformat/avio: Limit url option parsing to the documented cases
129 - avformat/img2dec: do not interpret the filename by default if a IO context has been opened
130 - avcodec/ass_split: Fix null pointer dereference in ff_ass_style_get()
131 - mov: Add an option to toggle dref opening
132 - avcodec/gif: Fix lzw buffer size
133 - avcodec/put_bits: Assert buf_ptr in flush_put_bits()
134 - avcodec/tiff: Check subsample & rps values more completely
135 - swscale/swscale: Add some sanity checks for srcSlice* parameters
136 - swscale/x86/rgb2rgb_template: Fix planar2x() for short width
137 - swscale/swscale_unscaled: Fix odd height inputs for bayer_to_yv12_wrapper()
138 - swscale/swscale_unscaled: Fix odd height inputs for bayer_to_rgb24_wrapper()
139 - avcodec/aacenc: Check both channels for finiteness
140 - asfdec_o: check for too small size in asf_read_unknown
141 - asfdec_o: break if EOF is reached after asf_read_packet_header
142 - asfdec_o: make sure packet_size is non-zero before seeking
143 - asfdec_o: prevent overflow causing seekback
144 - asfdec_o: check avio_skip in asf_read_simple_index
145 - asfdec_o: reject size > INT64_MAX in asf_read_unknown
146 - asfdec_o: only set asf_pkt->data_size after sanity checks
147 - Merge commit '8375dc1dd101d51baa430f34c0bcadfa37873896'
148 - dca: fix misaligned access in avpriv_dca_convert_bitstream
149 - brstm: fix missing closing brace
150 - brstm: also allocate b->table in read_packet
151 - brstm: make sure an ADPC chunk was read for adpcm_thp
152 - vorbisdec: reject rangebits 0 with non-0 partitions
153 - vorbisdec: reject channel mapping with less than two channels
154 - ffmdec: reset packet_end in case of failure
155 - avformat/ipmovie: put video decoding_map_size into packet and use it in decoder
156 - avformat/brstm: fix overflow
157
158
159 version 2.8.5
160 - avformat/hls: Even stricter URL checks
161 - avformat/hls: More strict url checks
162 - avcodec/pngenc: Fix mixed up linesizes
163 - avcodec/pngenc: Replace memcpy by av_image_copy()
164 - swscale/vscale: Check that 2 tap filters are bilinear before using bilinear code
165 - swscale: Move VScalerContext into vscale.c
166 - swscale/utils: Detect and skip unneeded sws_setColorspaceDetails() calls
167 - swscale/yuv2rgb: Increase YUV2RGB table headroom
168 - swscale/yuv2rgb: Factor YUVRGB_TABLE_LUMA_HEADROOM out
169 - avformat/hls: forbid all protocols except http(s) & file
170 - avformat/aviobuf: Fix end check in put_str16()
171 - avformat/asfenc: Check pts
172 - avcodec/mpeg4video: Check time_incr
173 - avcodec/wavpackenc: Check the number of channels
174 - avcodec/wavpackenc: Headers are per channel
175 - avcodec/aacdec_template: Check id_map
176 - avcodec/dvdec: Fix "left shift of negative value -254"
177 - avcodec/g2meet: Check for ff_els_decode_bit() failure in epic_decode_run_length()
178 - avcodec/mjpegdec: Fix negative shift
179 - avcodec/mss2: Check for repeat overflow
180 - avformat: Add integer fps from 31 to 60 to get_std_framerate()
181 - avformat/ivfenc: fix division by zero
182 - avcodec/mpegvideo_enc: Clip bits_per_raw_sample within valid range
183 - avfilter/vf_scale: set proper out frame color range
184 - avcodec/motion_est: Fix mv_penalty table size
185 - avcodec/h264_slice: Fix integer overflow in implicit weight computation
186 - swscale/utils: Use normal bilinear scaler if fast cannot be used due to tiny dimensions
187 - avcodec/put_bits: Always check buffer end before writing
188 - mjpegdec: extend check for incompatible values of s->rgb and s->ls
189 - swscale/utils: Fix intermediate format for cascaded alpha downscaling
190 - avformat/mov: Update handbrake_version threshold for full mp3 parsing
191 - x86/float_dsp: zero extend offset from ff_scalarproduct_float_sse
192 - avfilter/vf_zoompan: do not free frame we pushed to lavfi
193 - nuv: sanitize negative fps rate
194 - nutdec: reject negative value_len in read_sm_data
195 - xwddec: prevent overflow of lsize * avctx->height
196 - nutdec: only copy the header if it exists
197 - exr: fix out of bounds read in get_code
198 - on2avc: limit number of bits to 30 in get_egolomb
199
200
201 version 2.8.4
202 - rawdec: only exempt BIT0 with need_copy from buffer sanity check
203 - mlvdec: check that index_entries exist
204 - avcodec/mpeg4videodec: also for empty partitioned slices
205 - avcodec/h264_refs: Fix long_idx check
206 - avcodec/h264_mc_template: prefetch list1 only if it is used in the MB
207 - avcodec/h264_slice: Simplify ref2frm indexing
208 - avfilter/vf_mpdecimate: Add missing emms_c()
209 - sonic: make sure num_taps * channels is not larger than frame_size
210 - opus_silk: fix typo causing overflow in silk_stabilize_lsf
211 - ffm: reject invalid codec_id and codec_type
212 - golomb: always check for invalid UE golomb codes in get_ue_golomb
213 - sbr_qmf_analysis: sanitize input for 32-bit imdct
214 - sbrdsp_fixed: assert that input values are in the valid range
215 - aacsbr: ensure strictly monotone time borders
216 - aacenc: update max_sfb when num_swb changes
217 - aaccoder: prevent crash of anmr coder
218 - ffmdec: reject zero-sized chunks
219 - swscale/x86/rgb2rgb_template: Fallback to mmx in interleaveBytes() if the alignment is insufficient for SSE*
220 - swscale/x86/rgb2rgb_template: Do not crash on misaligend stride
221 - avformat/mxfenc: Do not crash if there is no packet in the first stream
222 - lavf/tee: fix side data double free.
223 - avformat/hlsenc: Check the return code of avformat_write_header()
224 - avformat/mov: Enable parser for mp3s by old HandBrake
225 - avformat/mxfenc: Fix integer overflow in length computation
226 - avformat/utils: estimate_timings_from_pts - increase retry counter, fixes invalid duration for ts files with hevc codec
227 - avformat/matroskaenc: Check codecdelay before use
228 - avutil/mathematics: Fix division by 0
229 - mjpegdec: consider chroma subsampling in size check
230 - libvpxenc: remove some unused ctrl id mappings
231 - avcodec/vp3: ensure header is parsed successfully before tables
232 - avcodec/jpeg2000dec: Check bpno in decode_cblk()
233 - avcodec/pgssubdec: Fix left shift of 255 by 24 places cannot be represented in type int
234 - swscale/utils: Fix for runtime error: left shift of negative value -1
235 - avcodec/hevc: Fix integer overflow of entry_point_offset
236 - avcodec/dirac_parser: Check that there is a previous PU before accessing it
237 - avcodec/dirac_parser: Add basic validity checks for next_pu_offset and prev_pu_offset
238 - avcodec/dirac_parser: Fix potential overflows in pointer checks
239 - avcodec/wmaprodec: Check bits per sample to be within the range not causing integer overflows
240 - avcodec/wmaprodec: Fix overflow of cutoff
241 - avformat/smacker: fix integer overflow with pts_inc
242 - avcodec/vp3: Fix "runtime error: left shift of negative value"
243 - avformat/riffdec: Initialize bitrate
244 - mpegencts: Fix overflow in cbr mode period calculations
245 - avutil/timecode: Fix fps check
246 - avutil/mathematics: return INT64_MIN (=AV_NOPTS_VALUE) from av_rescale_rnd() for overflows
247 - avcodec/apedec: Check length in long_filter_high_3800()
248 - avcodec/vp3: always set pix_fmt in theora_decode_header()
249 - avcodec/mpeg4videodec: Check available data before reading custom matrix
250 - avutil/mathematics: Do not treat INT64_MIN as positive in av_rescale_rnd
251 - avutil/integer: Fix av_mod_i() with negative dividend
252 - avformat/dump: Fix integer overflow in av_dump_format()
253 - avcodec/h264_refs: Check that long references match before use
254 - avcodec/utils: Clear dimensions in ff_get_buffer() on failure
255 - avcodec/utils: Use 64bit for aspect ratio calculation in avcodec_string()
256 - avcodec/hevc: Check max ctb addresses for WPP
257 - avcodec/vp3: Clear context on reinitialization failure
258 - avcodec/hevc: allocate entries unconditionally
259 - avcodec/hevc_cabac: Fix multiple integer overflows
260 - avcodec/jpeg2000dwt: Check ndeclevels before calling dwt_encode*()
261 - avcodec/jpeg2000dwt: Check ndeclevels before calling dwt_decode*()
262 - avcodec/hevc: Check entry_point_offsets
263 - lavf/rtpenc_jpeg: Less strict check for standard Huffman tables.
264 - avcodec/ffv1dec: Clear quant_table_count if its invalid
265 - avcodec/ffv1dec: Print an error if the quant table count is invalid
266 - doc/filters/drawtext: fix centering example
267
268
269 version 2.8.3
270 - avcodec/cabac: Check initial cabac decoder state
271 - avcodec/cabac_functions: Fix "left shift of negative value -31767"
272 - avcodec/h264_slice: Limit max_contexts when slice_context_count is initialized
273 - rtmpcrypt: Do the xtea decryption in little endian mode
274 - avformat/matroskadec: Check subtitle stream before dereferencing
275 - avcodec/pngdec: Replace assert by request for sample for unsupported TRNS cases
276 - avformat/utils: Do not init parser if probing is unfinished
277 - avcodec/jpeg2000dec: Fix potential integer overflow with tile dimensions
278 - avcodec/jpeg2000: Use av_image_check_size() in ff_jpeg2000_init_component()
279 - avcodec/wmaprodec: Check for overread in decode_packet()
280 - avcodec/smacker: Check that the data size is a multiple of a sample vector
281 - avcodec/takdec: Skip last p2 sample (which is unused)
282 - avcodec/dxtory: Fix input size check in dxtory_decode_v1_410()
283 - avcodec/dxtory: Fix input size check in dxtory_decode_v1_420()
284 - avcodec/error_resilience: avoid accessing previous or next frames tables beyond height
285 - avcodec/dpx: Move need_align to act per line
286 - avcodec/flashsv: Check size before updating it
287 - avcodec/ivi: Check image dimensions
288 - avcodec/utils: Better check for channels in av_get_audio_frame_duration()
289 - avcodec/jpeg2000dec: Check for duplicate SIZ marker
290 - aacsbr: don't call sbr_dequant twice without intermediate read_sbr_data
291 - hqx: correct type and size check of info_offset
292 - mxfdec: check edit_rate also for physical_track
293 - avcodec/jpeg2000: Change coord to 32bit to support larger than 32k width or height
294 - avcodec/jpeg2000dec: Check SIZ dimensions to be within the supported range
295 - avcodec/jpeg2000: Check comp coords to be within the supported size
296 - mpegvideo: clear overread in clear_context
297 - avcodec/avrndec: Use the AVFrame format instead of the context
298 - dds: disable palette flag for compressed images
299 - dds: validate compressed source buffer size
300 - dds: validate source buffer size before copying
301 - dvdsubdec: validate offset2 similar to offset1
302 - brstm: reject negative sample rate
303 - aacps: avoid division by zero in stereo_processing
304 - softfloat: assert when the argument of av_sqrt_sf is negative
305
306 version 2.8.2
307 - various fixes in the aac_fixed decoder
308 - various fixes in softfloat
309 - swresample/resample: increase precision for compensation
310 - lavf/mov: add support for sidx fragment indexes
311 - avformat/mxfenc: Only store user comment related tags when needed
312 - tests/fate/avformat: Fix fate-lavf
313 - doc/ffmpeg: Clarify that the sdp_file option requires an rtp output.
314 - ffmpeg: Don't try and write sdp info if none of the outputs had an rtp format.
315 - apng: use correct size for output buffer
316 - jvdec: avoid unsigned overflow in comparison
317 - avcodec/jpeg2000dec: Clip all tile coordinates
318 - avcodec/microdvddec: Check for string end in 'P' case
319 - avcodec/dirac_parser: Fix undefined memcpy() use
320 - avformat/xmv: Discard remainder of packet on error
321 - avformat/xmv: factor return check out of if/else
322 - avcodec/mpeg12dec: Do not call show_bits() with invalid bits
323 - avcodec/faxcompr: Add missing runs check in decode_uncompressed()
324 - libavutil/channel_layout: Check strtol*() for failure
325 - avformat/mpegts: Only start probing data streams within probe_packets
326 - avcodec/hevc_ps: Check chroma_format_idc
327 - avcodec/ffv1dec: Check for 0 quant tables
328 - avcodec/mjpegdec: Reinitialize IDCT on BPP changes
329 - avcodec/mjpegdec: Check index in ljpeg_decode_yuv_scan() before using it
330 - avutil/file_open: avoid file handle inheritance on Windows
331 - avcodec/h264_slice: Disable slice threads if there are multiple access units in a packet
332 - avformat/hls: update cookies on setcookie response
333 - opusdec: Don't run vector_fmul_scalar on zero length arrays
334 - avcodec/opusdec: Fix extra samples read index
335 - avcodec/ffv1: Initialize vlc_state on allocation
336 - avcodec/ffv1dec: update progress in case of broken pointer chains
337 - avcodec/ffv1dec: Clear slice coordinates if they are invalid or slice header decoding fails for other reasons
338 - rtsp: Allow $ as interleaved packet indicator before a complete response header
339 - videodsp: don't overread edges in vfix3 emu_edge.
340 - avformat/mp3dec: improve junk skipping heuristic
341 - concatdec: fix file_start_time calculation regression
342 - avcodec: loongson optimize h264dsp idct and loop filter with mmi
343 - avcodec/jpeg2000dec: Clear properties in jpeg2000_dec_cleanup() too
344 - avformat/hls: add support for EXT-X-MAP
345 - avformat/hls: fix segment selection regression on track changes of live streams
346 - configure: Require libkvazaar < 0.7.
347 - avcodec/vp8: Do not use num_coeff_partitions in thread/buffer setup
348
349
350 version 2.8.1:
351 - swscale: fix ticket #4881
352 - doc: fix spelling errors
353 - hls: only seek if there is an offset
354 - asfdec: add more checks for size left in asf packet buffer
355 - asfdec: alloc enough space for storing name in asf_read_metadata_obj
356 - avcodec/pngdec: Check blend_op.
357 - h264_mp4toannexb: fix pps offfset fault when there are more than one sps in avcc
358 - avcodec/h264_mp4toannexb_bsf: Use av_freep() to free spspps_buf
359 - avformat/avidec: Workaround broken initial frame
360 - avformat/hls: fix some cases of HLS streams which require cookies
361 - avcodec/pngdec: reset has_trns after every decode_frame_png()
362 - lavf/img2dec: Fix memory leak
363 - avcodec/mp3: fix skipping zeros
364 - avformat/srtdec: make sure we probe a number
365 - configure: check for ID3D11VideoContext
366 - avformat/vobsub: compare correct packet stream IDs
367 - avformat/srtdec: more lenient first line probing
368 - avformat/srtdec: fix number check for the first character
369 - avcodec/mips: build fix for MSA 64bit
370 - avcodec/mips: build fix for MSA
371 - avformat/httpauth: Add space after commas in HTTP/RTSP auth header
372 - libavformat/hlsenc: Use of uninitialized memory unlinking old files
373 - avcodec/x86/sbrdsp: Fix using uninitialized upper 32bit of noise
374 - avcodec/ffv1dec: Fix off by 1 error in quant_table_count check
375 - avcodec/ffv1dec: Explicitly check read_quant_table() return value
376 - dnxhddata: correct weight tables
377 - dnxhddec: decode and use interlace mb flag
378 - swscale: fix ticket #4877
379 - avcodec/rangecoder: Check e
380 - avcodec/ffv1: separate slice_count from max_slice_count
381 - swscale: fix ticket 4850
382 - cmdutils: Filter dst/srcw/h
383 - avutil/log: fix zero length gnu_printf format string warning
384 - lavf/webvttenc: Require webvtt file to contain exactly one WebVTT stream.
385 - swscale/swscale: Fix "unused variable" warning
386 - avcodec/mjpegdec: Fix decoding RGBA RCT LJPEG
387 - MAINTAINERS: add 2.8, drop 2.2
388 - doc: mention libavcodec can decode Opus natively
389 - hevc: properly handle no_rasl_output_flag when removing pictures from the DPB
390 - avfilter/af_ladspa: process all channels for nb_handles > 1
391 - configure: add libsoxr to swresample's pkgconfig
392 - lavc: Fix compilation with --disable-everything --enable-parser=mpeg4video.
393
394 version 2.8:
395 - colorkey video filter
396 - BFSTM/BCSTM demuxer
397 - little-endian ADPCM_THP decoder
398 - Hap decoder and encoder
399 - DirectDraw Surface image/texture decoder
400 - ssim filter
401 - optional new ASF demuxer
402 - showvolume filter
403 - Many improvements to the JPEG 2000 decoder
404 - Go2Meeting decoding support
405 - adrawgraph audio and drawgraph video filter
406 - removegrain video filter
407 - Intel QSV-accelerated MPEG-2 video and HEVC encoding
408 - Intel QSV-accelerated MPEG-2 video and HEVC decoding
409 - Intel QSV-accelerated VC-1 video decoding
410 - libkvazaar HEVC encoder
411 - erosion, dilation, deflate and inflate video filters
412 - Dynamic Audio Normalizer as dynaudnorm filter
413 - Reverse video and areverse audio filter
414 - Random filter
415 - deband filter
416 - AAC fixed-point decoding
417 - sidechaincompress audio filter
418 - bitstream filter for converting HEVC from MP4 to Annex B
419 - acrossfade audio filter
420 - allyuv and allrgb video sources
421 - atadenoise video filter
422 - OS X VideoToolbox support
423 - aphasemeter filter
424 - showfreqs filter
425 - vectorscope filter
426 - waveform filter
427 - hstack and vstack filter
428 - Support DNx100 (1440x1080@8)
429 - VAAPI hevc hwaccel
430 - VDPAU hevc hwaccel
431 - framerate filter
432 - Switched default encoders for webm to VP9 and Opus
433 - Removed experimental flag from the JPEG 2000 encoder
434
435
436 version 2.7:
437 - FFT video filter
438 - TDSC decoder
439 - DTS lossless extension (XLL) decoding (not lossless, disabled by default)
440 - showwavespic filter
441 - DTS decoding through libdcadec
442 - Drop support for nvenc API before 5.0
443 - nvenc HEVC encoder
444 - Detelecine filter
445 - Intel QSV-accelerated H.264 encoding
446 - MMAL-accelerated H.264 decoding
447 - basic APNG encoder and muxer with default extension "apng"
448 - unpack DivX-style packed B-frames in MPEG-4 bitstream filter
449 - WebM Live Chunk Muxer
450 - nvenc level and tier options
451 - chorus filter
452 - Canopus HQ/HQA decoder
453 - Automatically rotate videos based on metadata in ffmpeg
454 - improved Quickdraw compatibility
455 - VP9 high bit-depth and extended colorspaces decoding support
456 - WebPAnimEncoder API when available for encoding and muxing WebP
457 - Direct3D11-accelerated decoding
458 - Support Secure Transport
459 - Multipart JPEG demuxer
460
461
462 version 2.6:
463 - nvenc encoder
464 - 10bit spp filter
465 - colorlevels filter
466 - RIFX format for *.wav files
467 - RTP/mpegts muxer
468 - non continuous cache protocol support
469 - tblend filter
470 - cropdetect support for non 8bpp, absolute (if limit >= 1) and relative (if limit < 1.0) threshold
471 - Camellia symmetric block cipher
472 - OpenH264 encoder wrapper
473 - VOC seeking support
474 - Closed caption Decoder
475 - fspp, uspp, pp7 MPlayer postprocessing filters ported to native filters
476 - showpalette filter
477 - Twofish symmetric block cipher
478 - Support DNx100 (960x720@8)
479 - eq2 filter ported from libmpcodecs as eq filter
480 - removed libmpcodecs
481 - Changed default DNxHD colour range in QuickTime .mov derivatives to mpeg range
482 - ported softpulldown filter from libmpcodecs as repeatfields filter
483 - dcshift filter
484 - RTP depacketizer for loss tolerant payload format for MP3 audio (RFC 5219)
485 - RTP depacketizer for AC3 payload format (RFC 4184)
486 - palettegen and paletteuse filters
487 - VP9 RTP payload format (draft 0) experimental depacketizer
488 - RTP depacketizer for DV (RFC 6469)
489 - DXVA2-accelerated HEVC decoding
490 - AAC ELD 480 decoding
491 - Intel QSV-accelerated H.264 decoding
492 - DSS SP decoder and DSS demuxer
493 - Fix stsd atom corruption in DNxHD QuickTimes
494 - Canopus HQX decoder
495 - RTP depacketization of T.140 text (RFC 4103)
496 - Port MIPS optimizations to 64-bit
497
498
499 version 2.5:
500 - HEVC/H.265 RTP payload format (draft v6) packetizer
501 - SUP/PGS subtitle demuxer
502 - ffprobe -show_pixel_formats option
503 - CAST128 symmetric block cipher, ECB mode
504 - STL subtitle demuxer and decoder
505 - libutvideo YUV 4:2:2 10bit support
506 - XCB-based screen-grabber
507 - UDP-Lite support (RFC 3828)
508 - xBR scaling filter
509 - AVFoundation screen capturing support
510 - ffserver supports codec private options
511 - creating DASH compatible fragmented MP4, MPEG-DASH segmenting muxer
512 - WebP muxer with animated WebP support
513 - zygoaudio decoding support
514 - APNG demuxer
515 - postproc visualization support
516
517
518 version 2.4:
519 - Icecast protocol
520 - ported lenscorrection filter from frei0r filter
521 - large optimizations in dctdnoiz to make it usable
522 - ICY metadata are now requested by default with the HTTP protocol
523 - support for using metadata in stream specifiers in fftools
524 - LZMA compression support in TIFF decoder
525 - H.261 RTP payload format (RFC 4587) depacketizer and experimental packetizer
526 - HEVC/H.265 RTP payload format (draft v6) depacketizer
527 - added codecview filter to visualize information exported by some codecs
528 - Matroska 3D support thorugh side data
529 - HTML generation using texi2html is deprecated in favor of makeinfo/texi2any
530 - silenceremove filter
531
532
533 version 2.3:
534 - AC3 fixed-point decoding
535 - shuffleplanes filter
536 - subfile protocol
537 - Phantom Cine demuxer
538 - replaygain data export
539 - VP7 video decoder
540 - Alias PIX image encoder and decoder
541 - Improvements to the BRender PIX image decoder
542 - Improvements to the XBM decoder
543 - QTKit input device
544 - improvements to OpenEXR image decoder
545 - support decoding 16-bit RLE SGI images
546 - GDI screen grabbing for Windows
547 - alternative rendition support for HTTP Live Streaming
548 - AVFoundation input device
549 - Direct Stream Digital (DSD) decoder
550 - Magic Lantern Video (MLV) demuxer
551 - On2 AVC (Audio for Video) decoder
552 - support for decoding through DXVA2 in ffmpeg
553 - libbs2b-based stereo-to-binaural audio filter
554 - libx264 reference frames count limiting depending on level
555 - native Opus decoder
556 - display matrix export and rotation API
557 - WebVTT encoder
558 - showcqt multimedia filter
559 - zoompan filter
560 - signalstats filter
561 - hqx filter (hq2x, hq3x, hq4x)
562 - flanger filter
563 - Image format auto-detection
564 - LRC demuxer and muxer
565 - Samba protocol (via libsmbclient)
566 - WebM DASH Manifest muxer
567 - libfribidi support in drawtext
568
569
570 version 2.2:
571
572 - HNM version 4 demuxer and video decoder
573 - Live HDS muxer
574 - setsar/setdar filters now support variables in ratio expressions
575 - elbg filter
576 - string validation in ffprobe
577 - support for decoding through VDPAU in ffmpeg (the -hwaccel option)
578 - complete Voxware MetaSound decoder
579 - remove mp3_header_compress bitstream filter
580 - Windows resource files for shared libraries
581 - aeval filter
582 - stereoscopic 3d metadata handling
583 - WebP encoding via libwebp
584 - ATRAC3+ decoder
585 - VP8 in Ogg demuxing
586 - side & metadata support in NUT
587 - framepack filter
588 - XYZ12 rawvideo support in NUT
589 - Exif metadata support in WebP decoder
590 - OpenGL device
591 - Use metadata_header_padding to control padding in ID3 tags (currently used in
592   MP3, AIFF, and OMA files), FLAC header, and the AVI "junk" block.
593 - Mirillis FIC video decoder
594 - Support DNx444
595 - libx265 encoder
596 - dejudder filter
597 - Autodetect VDA like all other hardware accelerations
598 - aliases and defaults for Ogg subtypes (opus, spx)
599
600
601 version 2.1:
602
603 - aecho filter
604 - perspective filter ported from libmpcodecs
605 - ffprobe -show_programs option
606 - compand filter
607 - RTMP seek support
608 - when transcoding with ffmpeg (i.e. not streamcopying), -ss is now accurate
609   even when used as an input option. Previous behavior can be restored with
610   the -noaccurate_seek option.
611 - ffmpeg -t option can now be used for inputs, to limit the duration of
612   data read from an input file
613 - incomplete Voxware MetaSound decoder
614 - read EXIF metadata from JPEG
615 - DVB teletext decoder
616 - phase filter ported from libmpcodecs
617 - w3fdif filter
618 - Opus support in Matroska
619 - FFV1 version 1.3 is stable and no longer experimental
620 - FFV1: YUVA(444,422,420) 9, 10 and 16 bit support
621 - changed DTS stream id in lavf mpeg ps muxer from 0x8a to 0x88, to be
622   more consistent with other muxers.
623 - adelay filter
624 - pullup filter ported from libmpcodecs
625 - ffprobe -read_intervals option
626 - Lossless and alpha support for WebP decoder
627 - Error Resilient AAC syntax (ER AAC LC) decoding
628 - Low Delay AAC (ER AAC LD) decoding
629 - mux chapters in ASF files
630 - SFTP protocol (via libssh)
631 - libx264: add ability to encode in YUVJ422P and YUVJ444P
632 - Fraps: use BT.709 colorspace by default for yuv, as reference fraps decoder does
633 - make decoding alpha optional for prores, ffv1 and vp6 by setting
634   the skip_alpha flag.
635 - ladspa wrapper filter
636 - native VP9 decoder
637 - dpx parser
638 - max_error_rate parameter in ffmpeg
639 - PulseAudio output device
640 - ReplayGain scanner
641 - Enhanced Low Delay AAC (ER AAC ELD) decoding (no LD SBR support)
642 - Linux framebuffer output device
643 - HEVC decoder
644 - raw HEVC, HEVC in MOV/MP4, HEVC in Matroska, HEVC in MPEG-TS demuxing
645 - mergeplanes filter
646
647
648 version 2.0:
649
650 - curves filter
651 - reference-counting for AVFrame and AVPacket data
652 - ffmpeg now fails when input options are used for output file
653   or vice versa
654 - support for Monkey's Audio versions from 3.93
655 - perms and aperms filters
656 - audio filtering support in ffplay
657 - 10% faster aac encoding on x86 and MIPS
658 - sine audio filter source
659 - WebP demuxing and decoding support
660 - ffmpeg options -filter_script and -filter_complex_script, which allow a
661   filtergraph description to be read from a file
662 - OpenCL support
663 - audio phaser filter
664 - separatefields filter
665 - libquvi demuxer
666 - uniform options syntax across all filters
667 - telecine filter
668 - interlace filter
669 - smptehdbars source
670 - inverse telecine filters (fieldmatch and decimate)
671 - colorbalance filter
672 - colorchannelmixer filter
673 - The matroska demuxer can now output proper verbatim ASS packets. It will
674   become the default at the next libavformat major bump.
675 - decent native animated GIF encoding
676 - asetrate filter
677 - interleave filter
678 - timeline editing with filters
679 - vidstabdetect and vidstabtransform filters for video stabilization using
680   the vid.stab library
681 - astats filter
682 - trim and atrim filters
683 - ffmpeg -t and -ss (output-only) options are now sample-accurate when
684   transcoding audio
685 - Matroska muxer can now put the index at the beginning of the file.
686 - extractplanes filter
687 - avectorscope filter
688 - ADPCM DTK decoder
689 - ADP demuxer
690 - RSD demuxer
691 - RedSpark demuxer
692 - ADPCM IMA Radical decoder
693 - zmq filters
694 - DCT denoiser filter (dctdnoiz)
695 - Wavelet denoiser filter ported from libmpcodecs as owdenoise (formerly "ow")
696 - Apple Intermediate Codec decoder
697 - Escape 130 video decoder
698 - FTP protocol support
699 - V4L2 output device
700 - 3D LUT filter (lut3d)
701 - SMPTE 302M audio encoder
702 - support for slice multithreading in libavfilter
703 - Hald CLUT support (generation and filtering)
704 - VC-1 interlaced B-frame support
705 - support for WavPack muxing (raw and in Matroska)
706 - XVideo output device
707 - vignette filter
708 - True Audio (TTA) encoder
709 - Go2Webinar decoder
710 - mcdeint filter ported from libmpcodecs
711 - sab filter ported from libmpcodecs
712 - ffprobe -show_chapters option
713 - WavPack encoding through libwavpack
714 - rotate filter
715 - spp filter ported from libmpcodecs
716 - libgme support
717 - psnr filter
718
719
720 version 1.2:
721
722 - VDPAU hardware acceleration through normal hwaccel
723 - SRTP support
724 - Error diffusion dither in Swscale
725 - Chained Ogg support
726 - Theora Midstream reconfiguration support
727 - EVRC decoder
728 - audio fade filter
729 - filtering audio with unknown channel layout
730 - allpass, bass, bandpass, bandreject, biquad, equalizer, highpass, lowpass
731   and treble audio filter
732 - improved showspectrum filter, with multichannel support and sox-like colors
733 - histogram filter
734 - tee muxer
735 - il filter ported from libmpcodecs
736 - support ID3v2 tags in ASF files
737 - encrypted TTA stream decoding support
738 - RF64 support in WAV muxer
739 - noise filter ported from libmpcodecs
740 - Subtitles character encoding conversion
741 - blend filter
742 - stereo3d filter ported from libmpcodecs
743
744
745 version 1.1:
746
747 - stream disposition information printing in ffprobe
748 - filter for loudness analysis following EBU R128
749 - Opus encoder using libopus
750 - ffprobe -select_streams option
751 - Pinnacle TARGA CineWave YUV16 decoder
752 - TAK demuxer, decoder and parser
753 - DTS-HD demuxer
754 - remove -same_quant, it hasn't worked for years
755 - FFM2 support
756 - X-Face image encoder and decoder
757 - 24-bit FLAC encoding
758 - multi-channel ALAC encoding up to 7.1
759 - metadata (INFO tag) support in WAV muxer
760 - subtitles raw text decoder
761 - support for building DLLs using MSVC
762 - LVF demuxer
763 - ffescape tool
764 - metadata (info chunk) support in CAF muxer
765 - field filter ported from libmpcodecs
766 - AVR demuxer
767 - geq filter ported from libmpcodecs
768 - remove ffserver daemon mode
769 - AST muxer/demuxer
770 - new expansion syntax for drawtext
771 - BRender PIX image decoder
772 - ffprobe -show_entries option
773 - ffprobe -sections option
774 - ADPCM IMA Dialogic decoder
775 - BRSTM demuxer
776 - animated GIF decoder and demuxer
777 - PVF demuxer
778 - subtitles filter
779 - IRCAM muxer/demuxer
780 - Paris Audio File demuxer
781 - Virtual concatenation demuxer
782 - VobSub demuxer
783 - JSON captions for TED talks decoding support
784 - SOX Resampler support in libswresample
785 - aselect filter
786 - SGI RLE 8-bit / Silicon Graphics RLE 8-bit video decoder
787 - Silicon Graphics Motion Video Compressor 1 & 2 decoder
788 - Silicon Graphics Movie demuxer
789 - apad filter
790 - Resolution & pixel format change support with multithreading for H.264
791 - documentation split into per-component manuals
792 - pp (postproc) filter ported from MPlayer
793 - NIST Sphere demuxer
794 - MPL2, VPlayer, MPlayer, AQTitle, PJS and SubViewer v1 subtitles demuxers and decoders
795 - Sony Wave64 muxer
796 - adobe and limelight publisher authentication in RTMP
797 - data: URI scheme
798 - support building on the Plan 9 operating system
799 - kerndeint filter ported from MPlayer
800 - histeq filter ported from VirtualDub
801 - Megalux Frame demuxer
802 - 012v decoder
803 - Improved AVC Intra decoding support
804
805
806 version 1.0:
807
808 - INI and flat output in ffprobe
809 - Scene detection in libavfilter
810 - Indeo Audio decoder
811 - channelsplit audio filter
812 - setnsamples audio filter
813 - atempo filter
814 - ffprobe -show_data option
815 - RTMPT protocol support
816 - iLBC encoding/decoding via libilbc
817 - Microsoft Screen 1 decoder
818 - join audio filter
819 - audio channel mapping filter
820 - Microsoft ATC Screen decoder
821 - RTSP listen mode
822 - TechSmith Screen Codec 2 decoder
823 - AAC encoding via libfdk-aac
824 - Microsoft Expression Encoder Screen decoder
825 - RTMPS protocol support
826 - RTMPTS protocol support
827 - RTMPE protocol support
828 - RTMPTE protocol support
829 - showwaves and showspectrum filter
830 - LucasArts SMUSH SANM playback support
831 - LucasArts SMUSH VIMA audio decoder (ADPCM)
832 - LucasArts SMUSH demuxer
833 - SAMI, RealText and SubViewer demuxers and decoders
834 - Heart Of Darkness PAF playback support
835 - iec61883 device
836 - asettb filter
837 - new option: -progress
838 - 3GPP Timed Text encoder/decoder
839 - GeoTIFF decoder support
840 - ffmpeg -(no)stdin option
841 - Opus decoder using libopus
842 - caca output device using libcaca
843 - alphaextract and alphamerge filters
844 - concat filter
845 - flite filter
846 - Canopus Lossless Codec decoder
847 - bitmap subtitles in filters (experimental and temporary)
848 - MP2 encoding via TwoLAME
849 - bmp parser
850 - smptebars source
851 - asetpts filter
852 - hue filter
853 - ICO muxer
854 - SubRip encoder and decoder without embedded timing
855 - edge detection filter
856 - framestep filter
857 - ffmpeg -shortest option is now per-output file
858   -pass and -passlogfile are now per-output stream
859 - volume measurement filter
860 - Ut Video encoder
861 - Microsoft Screen 2 decoder
862 - smartblur filter ported from MPlayer
863 - CPiA decoder
864 - decimate filter ported from MPlayer
865 - RTP depacketization of JPEG
866 - Smooth Streaming live segmenter muxer
867 - F4V muxer
868 - sendcmd and asendcmd filters
869 - WebVTT demuxer and decoder (simple tags supported)
870 - RTP packetization of JPEG
871 - faststart option in the MOV/MP4 muxer
872 - support for building with MSVC
873
874
875 version 0.11:
876
877 - Fixes: CVE-2012-2772, CVE-2012-2774, CVE-2012-2775, CVE-2012-2776, CVE-2012-2777,
878          CVE-2012-2779, CVE-2012-2782, CVE-2012-2783, CVE-2012-2784, CVE-2012-2785,
879          CVE-2012-2786, CVE-2012-2787, CVE-2012-2788, CVE-2012-2789, CVE-2012-2790,
880          CVE-2012-2791, CVE-2012-2792, CVE-2012-2793, CVE-2012-2794, CVE-2012-2795,
881          CVE-2012-2796, CVE-2012-2797, CVE-2012-2798, CVE-2012-2799, CVE-2012-2800,
882          CVE-2012-2801, CVE-2012-2802, CVE-2012-2803, CVE-2012-2804,
883 - v408 Quicktime and Microsoft AYUV Uncompressed 4:4:4:4 encoder and decoder
884 - setfield filter
885 - CDXL demuxer and decoder
886 - Apple ProRes encoder
887 - ffprobe -count_packets and -count_frames options
888 - Sun Rasterfile Encoder
889 - ID3v2 attached pictures reading and writing
890 - WMA Lossless decoder
891 - bluray protocol
892 - blackdetect filter
893 - libutvideo encoder wrapper (--enable-libutvideo)
894 - swapuv filter
895 - bbox filter
896 - XBM encoder and decoder
897 - RealAudio Lossless decoder
898 - ZeroCodec decoder
899 - tile video filter
900 - Metal Gear Solid: The Twin Snakes demuxer
901 - OpenEXR image decoder
902 - removelogo filter
903 - drop support for ffmpeg without libavfilter
904 - drawtext video filter: fontconfig support
905 - ffmpeg -benchmark_all option
906 - super2xsai filter ported from libmpcodecs
907 - add libavresample audio conversion library for compatibility
908 - MicroDVD decoder
909 - Avid Meridien (AVUI) encoder and decoder
910 - accept + prefix to -pix_fmt option to disable automatic conversions.
911 - complete audio filtering in libavfilter and ffmpeg
912 - add fps filter
913 - vorbis parser
914 - png parser
915 - audio mix filter
916 - ffv1: support (draft) version 1.3
917
918
919 version 0.10:
920
921 - Fixes: CVE-2011-3929, CVE-2011-3934, CVE-2011-3935, CVE-2011-3936,
922          CVE-2011-3937, CVE-2011-3940, CVE-2011-3941, CVE-2011-3944,
923          CVE-2011-3945, CVE-2011-3946, CVE-2011-3947, CVE-2011-3949,
924          CVE-2011-3950, CVE-2011-3951, CVE-2011-3952
925 - v410 Quicktime Uncompressed 4:4:4 10-bit encoder and decoder
926 - SBaGen (SBG) binaural beats script demuxer
927 - OpenMG Audio muxer
928 - Timecode extraction in DV and MOV
929 - thumbnail video filter
930 - XML output in ffprobe
931 - asplit audio filter
932 - tinterlace video filter
933 - astreamsync audio filter
934 - amerge audio filter
935 - ISMV (Smooth Streaming) muxer
936 - GSM audio parser
937 - SMJPEG muxer
938 - XWD encoder and decoder
939 - Automatic thread count based on detection number of (available) CPU cores
940 - y41p Brooktree Uncompressed 4:1:1 12-bit encoder and decoder
941 - ffprobe -show_error option
942 - Avid 1:1 10-bit RGB Packer codec
943 - v308 Quicktime Uncompressed 4:4:4 encoder and decoder
944 - yuv4 libquicktime packed 4:2:0 encoder and decoder
945 - ffprobe -show_frames option
946 - silencedetect audio filter
947 - ffprobe -show_program_version, -show_library_versions, -show_versions options
948 - rv34: frame-level multi-threading
949 - optimized iMDCT transform on x86 using SSE for for mpegaudiodec
950 - Improved PGS subtitle decoder
951 - dumpgraph option to lavfi device
952 - r210 and r10k encoders
953 - ffwavesynth decoder
954 - aviocat tool
955 - ffeval tool
956 - support encoding and decoding 4-channel SGI images
957
958
959 version 0.9:
960
961 - openal input device added
962 - boxblur filter added
963 - BWF muxer
964 - Flash Screen Video 2 decoder
965 - lavfi input device added
966 - added avconv, which is almost the same for now, except
967 for a few incompatible changes in the options, which will hopefully make them
968 easier to use. The changes are:
969     * The options placement is now strictly enforced! While in theory the
970       options for ffmpeg should be given in [input options] -i INPUT [output
971       options] OUTPUT order, in practice it was possible to give output options
972       before the -i and it mostly worked. Except when it didn't - the behavior was
973       a bit inconsistent. In avconv, it is not possible to mix input and output
974       options. All non-global options are reset after an input or output filename.
975     * All per-file options are now truly per-file - they apply only to the next
976       input or output file and specifying different values for different files
977       will now work properly (notably -ss and -t options).
978     * All per-stream options are now truly per-stream - it is possible to
979       specify which stream(s) should a given option apply to. See the Stream
980       specifiers section in the avconv manual for details.
981     * In ffmpeg some options (like -newvideo/-newaudio/...) are irregular in the
982       sense that they're specified after the output filename instead of before,
983       like all other options. In avconv this irregularity is removed, all options
984       apply to the next input or output file.
985     * -newvideo/-newaudio/-newsubtitle options were removed. Not only were they
986       irregular and highly confusing, they were also redundant. In avconv the -map
987       option will create new streams in the output file and map input streams to
988       them. E.g. avconv -i INPUT -map 0 OUTPUT will create an output stream for
989       each stream in the first input file.
990     * The -map option now has slightly different and more powerful syntax:
991         + Colons (':') are used to separate file index/stream type/stream index
992           instead of dots. Comma (',') is used to separate the sync stream instead
993           of colon.. This is done for consistency with other options.
994         + It's possible to specify stream type. E.g. -map 0:a:2 creates an
995           output stream from the third input audio stream.
996         + Omitting the stream index now maps all the streams of the given type,
997           not just the first. E.g. -map 0:s creates output streams for all the
998           subtitle streams in the first input file.
999         + Since -map can now match multiple streams, negative mappings were
1000           introduced. Negative mappings disable some streams from an already
1001           defined map. E.g. '-map 0 -map -0:a:1' means 'create output streams for
1002           all the stream in the first input file, except for the second audio
1003           stream'.
1004     * There is a new option -c (or -codec) for choosing the decoder/encoder to
1005       use, which makes it possible to precisely specify target stream(s) consistently with
1006       other options. E.g. -c:v lib264 sets the codec for all video streams, -c:a:0
1007       libvorbis sets the codec for the first audio stream and -c copy copies all
1008       the streams without reencoding. Old -vcodec/-acodec/-scodec options are now
1009       aliases to -c:v/a/s
1010     * It is now possible to precisely specify which stream should an AVOption
1011       apply to. E.g. -b:v:0 2M sets the bitrate for the first video stream, while
1012       -b:a 128k sets the bitrate for all audio streams. Note that the old -ab 128k
1013       syntax is deprecated and will stop working soon.
1014     * -map_chapters now takes only an input file index and applies to the next
1015       output file. This is consistent with how all the other options work.
1016     * -map_metadata now takes only an input metadata specifier and applies to
1017       the next output file. Output metadata specifier is now part of the option
1018       name, similarly to the AVOptions/map/codec feature above.
1019     * -metadata can now be used to set metadata on streams and chapters, e.g.
1020       -metadata:s:1 language=eng sets the language of the first stream to 'eng'.
1021       This made -vlang/-alang/-slang options redundant, so they were removed.
1022     * -qscale option now uses stream specifiers and applies to all streams, not
1023       just video. I.e. plain -qscale number would now apply to all streams. To get
1024       the old behavior, use -qscale:v. Also there is now a shortcut -q for -qscale
1025       and -aq is now an alias for -q:a.
1026     * -vbsf/-absf/-sbsf options were removed and replaced by a -bsf option which
1027       uses stream specifiers. Use -bsf:v/a/s instead of the old options.
1028     * -itsscale option now uses stream specifiers, so its argument is only the
1029       scale parameter.
1030     * -intra option was removed, use -g 0 for the same effect.
1031     * -psnr option was removed, use -flags +psnr for the same effect.
1032     * -vf option is now an alias to the new -filter option, which uses stream specifiers.
1033     * -vframes/-aframes/-dframes options are now aliases to the new -frames option.
1034     * -vtag/-atag/-stag options are now aliases to the new -tag option.
1035 - XMV demuxer
1036 - LOAS demuxer
1037 - ashowinfo filter added
1038 - Windows Media Image decoder
1039 - amovie source added
1040 - LATM muxer/demuxer
1041 - Speex encoder via libspeex
1042 - JSON output in ffprobe
1043 - WTV muxer
1044 - Optional C++ Support (needed for libstagefright)
1045 - H.264 Decoding on Android via Stagefright
1046 - Prores decoder
1047 - BIN/XBIN/ADF/IDF text file decoder
1048 - aconvert audio filter added
1049 - audio support to lavfi input device added
1050 - libcdio-paranoia input device for audio CD grabbing
1051 - Apple ProRes decoder
1052 - CELT in Ogg demuxing
1053 - G.723.1 demuxer and decoder
1054 - libmodplug support (--enable-libmodplug)
1055 - VC-1 interlaced decoding
1056 - libutvideo wrapper (--enable-libutvideo)
1057 - aevalsrc audio source added
1058 - Ut Video decoder
1059 - Speex encoding via libspeex
1060 - 4:2:2 H.264 decoding support
1061 - 4:2:2 and 4:4:4 H.264 encoding with libx264
1062 - Pulseaudio input device
1063 - Prores encoder
1064 - Video Decoder Acceleration (VDA) HWAccel module.
1065 - replacement Indeo 3 decoder
1066 - new ffmpeg option: -map_channel
1067 - volume audio filter added
1068 - earwax audio filter added
1069 - libv4l2 support (--enable-libv4l2)
1070 - TLS/SSL and HTTPS protocol support
1071 - AVOptions API rewritten and documented
1072 - most of CODEC_FLAG2_*, some CODEC_FLAG_* and many codec-specific fields in
1073   AVCodecContext deprecated. Codec private options should be used instead.
1074 - Properly working defaults in libx264 wrapper, support for native presets.
1075 - Encrypted OMA files support
1076 - Discworld II BMV decoding support
1077 - VBLE Decoder
1078 - OS X Video Decoder Acceleration (VDA) support
1079 - compact and csv output in ffprobe
1080 - pan audio filter
1081 - IFF Amiga Continuous Bitmap (ACBM) decoder
1082 - ass filter
1083 - CRI ADX audio format muxer and demuxer
1084 - Playstation Portable PMP format demuxer
1085 - Microsoft Windows ICO demuxer
1086 - life source
1087 - PCM format support in OMA demuxer
1088 - CLJR encoder
1089 - new option: -report
1090 - Dxtory capture format decoder
1091 - cellauto source
1092 - Simple segmenting muxer
1093 - Indeo 4 decoder
1094 - SMJPEG demuxer
1095
1096
1097 version 0.8:
1098
1099 - many many things we forgot because we rather write code than changelogs
1100 - WebM support in Matroska de/muxer
1101 - low overhead Ogg muxing
1102 - MMS-TCP support
1103 - VP8 de/encoding via libvpx
1104 - Demuxer for On2's IVF format
1105 - Pictor/PC Paint decoder
1106 - HE-AAC v2 decoder
1107 - HE-AAC v2 encoding with libaacplus
1108 - libfaad2 wrapper removed
1109 - DTS-ES extension (XCh) decoding support
1110 - native VP8 decoder
1111 - RTSP tunneling over HTTP
1112 - RTP depacketization of SVQ3
1113 - -strict inofficial replaced by -strict unofficial
1114 - ffplay -exitonkeydown and -exitonmousedown options added
1115 - native GSM / GSM MS decoder
1116 - RTP depacketization of QDM2
1117 - ANSI/ASCII art playback system
1118 - Lego Mindstorms RSO de/muxer
1119 - libavcore added (and subsequently removed)
1120 - SubRip subtitle file muxer and demuxer
1121 - Chinese AVS encoding via libxavs
1122 - ffprobe -show_packets option added
1123 - RTP packetization of Theora and Vorbis
1124 - RTP depacketization of MP4A-LATM
1125 - RTP packetization and depacketization of VP8
1126 - hflip filter
1127 - Apple HTTP Live Streaming demuxer
1128 - a64 codec
1129 - MMS-HTTP support
1130 - G.722 ADPCM audio encoder/decoder
1131 - R10k video decoder
1132 - ocv_smooth filter
1133 - frei0r wrapper filter
1134 - change crop filter syntax to width:height:x:y
1135 - make the crop filter accept parametric expressions
1136 - make ffprobe accept AVFormatContext options
1137 - yadif filter
1138 - blackframe filter
1139 - Demuxer for Leitch/Harris' VR native stream format (LXF)
1140 - RTP depacketization of the X-QT QuickTime format
1141 - SAP (Session Announcement Protocol, RFC 2974) muxer and demuxer
1142 - cropdetect filter
1143 - ffmpeg -crop* options removed
1144 - transpose filter added
1145 - ffmpeg -force_key_frames option added
1146 - demuxer for receiving raw rtp:// URLs without an SDP description
1147 - single stream LATM/LOAS decoder
1148 - setpts filter added
1149 - Win64 support for optimized x86 assembly functions
1150 - MJPEG/AVI1 to JPEG/JFIF bitstream filter
1151 - ASS subtitle encoder and decoder
1152 - IEC 61937 encapsulation for E-AC-3, TrueHD, DTS-HD (for HDMI passthrough)
1153 - overlay filter added
1154 - rename aspect filter to setdar, and pixelaspect to setsar
1155 - IEC 61937 demuxer
1156 - Mobotix .mxg demuxer
1157 - frei0r source added
1158 - hqdn3d filter added
1159 - RTP depacketization of QCELP
1160 - FLAC parser added
1161 - gradfun filter added
1162 - AMR-WB decoder
1163 - replace the ocv_smooth filter with a more generic ocv filter
1164 - Windows Televison (WTV) demuxer
1165 - FFmpeg metadata format muxer and demuxer
1166 - SubRip (srt) subtitle encoder and decoder
1167 - floating-point AC-3 encoder added
1168 - Lagarith decoder
1169 - ffmpeg -copytb option added
1170 - IVF muxer added
1171 - Wing Commander IV movies decoder added
1172 - movie source added
1173 - Bink version 'b' audio and video decoder
1174 - Bitmap Brothers JV playback system
1175 - Apple HTTP Live Streaming protocol handler
1176 - sndio support for playback and record
1177 - Linux framebuffer input device added
1178 - Chronomaster DFA decoder
1179 - DPX image encoder
1180 - MicroDVD subtitle file muxer and demuxer
1181 - Playstation Portable PMP format demuxer
1182 - fieldorder video filter added
1183 - AAC encoding via libvo-aacenc
1184 - AMR-WB encoding via libvo-amrwbenc
1185 - xWMA demuxer
1186 - Mobotix MxPEG decoder
1187 - VP8 frame-multithreading
1188 - NEON optimizations for VP8
1189 - Lots of deprecated API cruft removed
1190 - fft and imdct optimizations for AVX (Sandy Bridge) processors
1191 - showinfo filter added
1192 - SMPTE 302M AES3 audio decoder
1193 - Apple Core Audio Format muxer
1194 - 9bit and 10bit per sample support in the H.264 decoder
1195 - 9bit and 10bit FFV1 encoding / decoding
1196 - split filter added
1197 - select filter added
1198 - sdl output device added
1199 - libmpcodecs video filter support (3 times as many filters than before)
1200 - mpeg2 aspect ratio dection fixed
1201 - libxvid aspect pickiness fixed
1202 - Frame multithreaded decoding
1203 - E-AC-3 audio encoder
1204 - ac3enc: add channel coupling support
1205 - floating-point sample format support to the ac3, eac3, dca, aac, and vorbis decoders.
1206 - H264/MPEG frame-level multi-threading
1207 - All av_metadata_* functions renamed to av_dict_* and moved to libavutil
1208 - 4:4:4 H.264 decoding support
1209 - 10-bit H.264 optimizations for x86
1210 - lut, lutrgb, and lutyuv filters added
1211 - buffersink libavfilter sink added
1212 - Bump libswscale for recently reported ABI break
1213 - New J2K encoder (via OpenJPEG)
1214
1215
1216 version 0.7:
1217
1218 - all the changes for 0.8, but keeping API/ABI compatibility with the 0.6 release
1219
1220
1221 version 0.6:
1222
1223 - PB-frame decoding for H.263
1224 - deprecated vhook subsystem removed
1225 - deprecated old scaler removed
1226 - VQF demuxer
1227 - Alpha channel scaler
1228 - PCX encoder
1229 - RTP packetization of H.263
1230 - RTP packetization of AMR
1231 - RTP depacketization of Vorbis
1232 - CorePNG decoding support
1233 - Cook multichannel decoding support
1234 - introduced avlanguage helpers in libavformat
1235 - 8088flex TMV demuxer and decoder
1236 - per-stream language-tags extraction in asfdec
1237 - V210 decoder and encoder
1238 - remaining GPL parts in AC-3 decoder converted to LGPL
1239 - QCP demuxer
1240 - SoX native format muxer and demuxer
1241 - AMR-NB decoding/encoding, AMR-WB decoding via OpenCORE libraries
1242 - DPX image decoder
1243 - Electronic Arts Madcow decoder
1244 - DivX (XSUB) subtitle encoder
1245 - nonfree libamr support for AMR-NB/WB decoding/encoding removed
1246 - experimental AAC encoder
1247 - RTP depacketization of ASF and RTSP from WMS servers
1248 - RTMP support in libavformat
1249 - noX handling for OPT_BOOL X options
1250 - Wave64 demuxer
1251 - IEC-61937 compatible Muxer
1252 - TwinVQ decoder
1253 - Bluray (PGS) subtitle decoder
1254 - LPCM support in MPEG-TS (HDMV RID as found on Blu-ray disks)
1255 - WMA Pro decoder
1256 - Core Audio Format demuxer
1257 - ATRAC1 decoder
1258 - MD STUDIO audio demuxer
1259 - RF64 support in WAV demuxer
1260 - MPEG-4 Audio Lossless Coding (ALS) decoder
1261 - -formats option split into -formats, -codecs, -bsfs, and -protocols
1262 - IV8 demuxer
1263 - CDG demuxer and decoder
1264 - R210 decoder
1265 - Auravision Aura 1 and 2 decoders
1266 - Deluxe Paint Animation playback system
1267 - SIPR decoder
1268 - Adobe Filmstrip muxer and demuxer
1269 - RTP depacketization of H.263
1270 - Bink demuxer and audio/video decoders
1271 - enable symbol versioning by default for linkers that support it
1272 - IFF PBM/ILBM bitmap decoder
1273 - concat protocol
1274 - Indeo 5 decoder
1275 - RTP depacketization of AMR
1276 - WMA Voice decoder
1277 - ffprobe tool
1278 - AMR-NB decoder
1279 - RTSP muxer
1280 - HE-AAC v1 decoder
1281 - Kega Game Video (KGV1) decoder
1282 - VorbisComment writing for FLAC, Ogg FLAC and Ogg Speex files
1283 - RTP depacketization of Theora
1284 - HTTP Digest authentication
1285 - RTMP/RTMPT/RTMPS/RTMPE/RTMPTE protocol support via librtmp
1286 - Psygnosis YOP demuxer and video decoder
1287 - spectral extension support in the E-AC-3 decoder
1288 - unsharp video filter
1289 - RTP hinting in the mov/3gp/mp4 muxer
1290 - Dirac in Ogg demuxing
1291 - seek to keyframes in Ogg
1292 - 4:2:2 and 4:4:4 Theora decoding
1293 - 35% faster VP3/Theora decoding
1294 - faster AAC decoding
1295 - faster H.264 decoding
1296 - RealAudio 1.0 (14.4K) encoder
1297
1298
1299 version 0.5:
1300
1301 - DV50 AKA DVCPRO50 encoder, decoder, muxer and demuxer
1302 - TechSmith Camtasia (TSCC) video decoder
1303 - IBM Ultimotion (ULTI) video decoder
1304 - Sierra Online audio file demuxer and decoder
1305 - Apple QuickDraw (qdrw) video decoder
1306 - Creative ADPCM audio decoder (16 bits as well as 8 bits schemes)
1307 - Electronic Arts Multimedia (WVE/UV2/etc.) file demuxer
1308 - Miro VideoXL (VIXL) video decoder
1309 - H.261 video encoder
1310 - QPEG video decoder
1311 - Nullsoft Video (NSV) file demuxer
1312 - Shorten audio decoder
1313 - LOCO video decoder
1314 - Apple Lossless Audio Codec (ALAC) decoder
1315 - Winnov WNV1 video decoder
1316 - Autodesk Animator Studio Codec (AASC) decoder
1317 - Indeo 2 video decoder
1318 - Fraps FPS1 video decoder
1319 - Snow video encoder/decoder
1320 - Sonic audio encoder/decoder
1321 - Vorbis audio decoder
1322 - Macromedia ADPCM decoder
1323 - Duck TrueMotion 2 video decoder
1324 - support for decoding FLX and DTA extensions in FLIC files
1325 - H.264 custom quantization matrices support
1326 - ffserver fixed, it should now be usable again
1327 - QDM2 audio decoder
1328 - Real Cooker audio decoder
1329 - TrueSpeech audio decoder
1330 - WMA2 audio decoder fixed, now all files should play correctly
1331 - RealAudio 14.4 and 28.8 decoders fixed
1332 - JPEG-LS decoder
1333 - build system improvements
1334 - tabs and trailing whitespace removed from the codebase
1335 - CamStudio video decoder
1336 - AIFF/AIFF-C audio format, encoding and decoding
1337 - ADTS AAC file reading and writing
1338 - Creative VOC file reading and writing
1339 - American Laser Games multimedia (*.mm) playback system
1340 - Zip Motion Blocks Video decoder
1341 - improved Theora/VP3 decoder
1342 - True Audio (TTA) decoder
1343 - AVS demuxer and video decoder
1344 - JPEG-LS encoder
1345 - Smacker demuxer and decoder
1346 - NuppelVideo/MythTV demuxer and RTjpeg decoder
1347 - KMVC decoder
1348 - MPEG-2 intra VLC support
1349 - MPEG-2 4:2:2 encoder
1350 - Flash Screen Video decoder
1351 - GXF demuxer
1352 - Chinese AVS decoder
1353 - GXF muxer
1354 - MXF demuxer
1355 - VC-1/WMV3/WMV9 video decoder
1356 - MacIntel support
1357 - AviSynth support
1358 - VMware video decoder
1359 - VP5 video decoder
1360 - VP6 video decoder
1361 - WavPack lossless audio decoder
1362 - Targa (.TGA) picture decoder
1363 - Vorbis audio encoder
1364 - Delphine Software .cin demuxer/audio and video decoder
1365 - Tiertex .seq demuxer/video decoder
1366 - MTV demuxer
1367 - TIFF picture encoder and decoder
1368 - GIF picture decoder
1369 - Intel Music Coder decoder
1370 - Zip Motion Blocks Video encoder
1371 - Musepack decoder
1372 - Flash Screen Video encoder
1373 - Theora encoding via libtheora
1374 - BMP encoder
1375 - WMA encoder
1376 - GSM-MS encoder and decoder
1377 - DCA decoder
1378 - DXA demuxer and decoder
1379 - DNxHD decoder
1380 - Gamecube movie (.THP) playback system
1381 - Blackfin optimizations
1382 - Interplay C93 demuxer and video decoder
1383 - Bethsoft VID demuxer and video decoder
1384 - CRYO APC demuxer
1385 - ATRAC3 decoder
1386 - V.Flash PTX decoder
1387 - RoQ muxer, RoQ audio encoder
1388 - Renderware TXD demuxer and decoder
1389 - extern C declarations for C++ removed from headers
1390 - sws_flags command line option
1391 - codebook generator
1392 - RoQ video encoder
1393 - QTRLE encoder
1394 - OS/2 support removed and restored again
1395 - AC-3 decoder
1396 - NUT muxer
1397 - additional SPARC (VIS) optimizations
1398 - Matroska muxer
1399 - slice-based parallel H.264 decoding
1400 - Monkey's Audio demuxer and decoder
1401 - AMV audio and video decoder
1402 - DNxHD encoder
1403 - H.264 PAFF decoding
1404 - Nellymoser ASAO decoder
1405 - Beam Software SIFF demuxer and decoder
1406 - libvorbis Vorbis decoding removed in favor of native decoder
1407 - IntraX8 (J-Frame) subdecoder for WMV2 and VC-1
1408 - Ogg (Theora, Vorbis and FLAC) muxer
1409 - The "device" muxers and demuxers are now in a new libavdevice library
1410 - PC Paintbrush PCX decoder
1411 - Sun Rasterfile decoder
1412 - TechnoTrend PVA demuxer
1413 - Linux Media Labs MPEG-4 (LMLM4) demuxer
1414 - AVM2 (Flash 9) SWF muxer
1415 - QT variant of IMA ADPCM encoder
1416 - VFW grabber
1417 - iPod/iPhone compatible mp4 muxer
1418 - Mimic decoder
1419 - MSN TCP Webcam stream demuxer
1420 - RL2 demuxer / decoder
1421 - IFF demuxer
1422 - 8SVX audio decoder
1423 - non-recursive Makefiles
1424 - BFI demuxer
1425 - MAXIS EA XA (.xa) demuxer / decoder
1426 - BFI video decoder
1427 - OMA demuxer
1428 - MLP/TrueHD decoder
1429 - Electronic Arts CMV decoder
1430 - Motion Pixels Video decoder
1431 - Motion Pixels MVI demuxer
1432 - removed animated GIF decoder/demuxer
1433 - D-Cinema audio muxer
1434 - Electronic Arts TGV decoder
1435 - Apple Lossless Audio Codec (ALAC) encoder
1436 - AAC decoder
1437 - floating point PCM encoder/decoder
1438 - MXF muxer
1439 - DV100 AKA DVCPRO HD decoder and demuxer
1440 - E-AC-3 support added to AC-3 decoder
1441 - Nellymoser ASAO encoder
1442 - ASS and SSA demuxer and muxer
1443 - liba52 wrapper removed
1444 - SVQ3 watermark decoding support
1445 - Speex decoding via libspeex
1446 - Electronic Arts TGQ decoder
1447 - RV40 decoder
1448 - QCELP / PureVoice decoder
1449 - RV30 decoder
1450 - hybrid WavPack support
1451 - R3D REDCODE demuxer
1452 - ALSA support for playback and record
1453 - Electronic Arts TQI decoder
1454 - OpenJPEG based JPEG 2000 decoder
1455 - NC (NC4600) camera file demuxer
1456 - Gopher client support
1457 - MXF D-10 muxer
1458 - generic metadata API
1459 - flash ScreenVideo2 encoder
1460
1461
1462 version 0.4.9-pre1:
1463
1464 - DV encoder, DV muxer
1465 - Microsoft RLE video decoder
1466 - Microsoft Video-1 decoder
1467 - Apple Animation (RLE) decoder
1468 - Apple Graphics (SMC) decoder
1469 - Apple Video (RPZA) decoder
1470 - Cinepak decoder
1471 - Sega FILM (CPK) file demuxer
1472 - Westwood multimedia support (VQA & AUD files)
1473 - Id Quake II CIN playback support
1474 - 8BPS video decoder
1475 - FLIC playback support
1476 - RealVideo 2.0 (RV20) decoder
1477 - Duck TrueMotion v1 (DUCK) video decoder
1478 - Sierra VMD demuxer and video decoder
1479 - MSZH and ZLIB decoder support
1480 - SVQ1 video encoder
1481 - AMR-WB support
1482 - PPC optimizations
1483 - rate distortion optimal cbp support
1484 - rate distorted optimal ac prediction for MPEG-4
1485 - rate distorted optimal lambda->qp support
1486 - AAC encoding with libfaac
1487 - Sunplus JPEG codec (SP5X) support
1488 - use Lagrange multipler instead of QP for ratecontrol
1489 - Theora/VP3 decoding support
1490 - XA and ADX ADPCM codecs
1491 - export MPEG-2 active display area / pan scan
1492 - Add support for configuring with IBM XLC
1493 - floating point AAN DCT
1494 - initial support for zygo video (not complete)
1495 - RGB ffv1 support
1496 - new audio/video parser API
1497 - av_log() system
1498 - av_read_frame() and av_seek_frame() support
1499 - missing last frame fixes
1500 - seek by mouse in ffplay
1501 - noise reduction of DCT coefficients
1502 - H.263 OBMC & 4MV support
1503 - H.263 alternative inter vlc support
1504 - H.263 loop filter
1505 - H.263 slice structured mode
1506 - interlaced DCT support for MPEG-2 encoding
1507 - stuffing to stay above min_bitrate
1508 - MB type & QP visualization
1509 - frame stepping for ffplay
1510 - interlaced motion estimation
1511 - alternate scantable support
1512 - SVCD scan offset support
1513 - closed GOP support
1514 - SSE2 FDCT
1515 - quantizer noise shaping
1516 - G.726 ADPCM audio codec
1517 - MS ADPCM encoding
1518 - multithreaded/SMP motion estimation
1519 - multithreaded/SMP encoding for MPEG-1/MPEG-2/MPEG-4/H.263
1520 - multithreaded/SMP decoding for MPEG-2
1521 - FLAC decoder
1522 - Metrowerks CodeWarrior suppport
1523 - H.263+ custom pcf support
1524 - nicer output for 'ffmpeg -formats'
1525 - Matroska demuxer
1526 - SGI image format, encoding and decoding
1527 - H.264 loop filter support
1528 - H.264 CABAC support
1529 - nicer looking arrows for the motion vector visualization
1530 - improved VCD support
1531 - audio timestamp drift compensation
1532 - MPEG-2 YUV 422/444 support
1533 - polyphase kaiser windowed sinc and blackman nuttall windowed sinc audio resample
1534 - better image scaling
1535 - H.261 support
1536 - correctly interleave packets during encoding
1537 - VIS optimized motion compensation
1538 - intra_dc_precision>0 encoding support
1539 - support reuse of motion vectors/MB types/field select values of the source video
1540 - more accurate deblock filter
1541 - padding support
1542 - many optimizations and bugfixes
1543 - FunCom ISS audio file demuxer and according ADPCM decoding
1544
1545
1546 version 0.4.8:
1547
1548 - MPEG-2 video encoding (Michael)
1549 - Id RoQ playback subsystem (Mike Melanson and Tim Ferguson)
1550 - Wing Commander III Movie (.mve) file playback subsystem (Mike Melanson
1551   and Mario Brito)
1552 - Xan DPCM audio decoder (Mario Brito)
1553 - Interplay MVE playback subsystem (Mike Melanson)
1554 - Duck DK3 and DK4 ADPCM audio decoders (Mike Melanson)
1555
1556
1557 version 0.4.7:
1558
1559 - RealAudio 1.0 (14_4) and 2.0 (28_8) native decoders. Author unknown, code from mplayerhq
1560   (originally from public domain player for Amiga at http://www.honeypot.net/audio)
1561 - current version now also compiles with older GCC (Fabrice)
1562 - 4X multimedia playback system including 4xm file demuxer (Mike
1563   Melanson), and 4X video and audio codecs (Michael)
1564 - Creative YUV (CYUV) decoder (Mike Melanson)
1565 - FFV1 codec (our very simple lossless intra only codec, compresses much better
1566   than HuffYUV) (Michael)
1567 - ASV1 (Asus), H.264, Intel indeo3 codecs have been added (various)
1568 - tiny PNG encoder and decoder, tiny GIF decoder, PAM decoder (PPM with
1569   alpha support), JPEG YUV colorspace support. (Fabrice Bellard)
1570 - ffplay has been replaced with a newer version which uses SDL (optionally)
1571   for multiplatform support (Fabrice)
1572 - Sorenson Version 3 codec (SVQ3) support has been added (decoding only) - donated
1573   by anonymous
1574 - AMR format has been added (Johannes Carlsson)
1575 - 3GP support has been added (Johannes Carlsson)
1576 - VP3 codec has been added (Mike Melanson)
1577 - more MPEG-1/2 fixes
1578 - better multiplatform support, MS Visual Studio fixes (various)
1579 - AltiVec optimizations (Magnus Damn and others)
1580 - SH4 processor support has been added (BERO)
1581 - new public interfaces (avcodec_get_pix_fmt) (Roman Shaposhnick)
1582 - VOB streaming support (Brian Foley)
1583 - better MP3 autodetection (Andriy Rysin)
1584 - qpel encoding (Michael)
1585 - 4mv+b frames encoding finally fixed (Michael)
1586 - chroma ME (Michael)
1587 - 5 comparison functions for ME (Michael)
1588 - B-frame encoding speedup (Michael)
1589 - WMV2 codec (unfinished - Michael)
1590 - user specified diamond size for EPZS (Michael)
1591 - Playstation STR playback subsystem, still experimental (Mike and Michael)
1592 - ASV2 codec (Michael)
1593 - CLJR decoder (Alex)
1594
1595 .. And lots more new enhancements and fixes.
1596
1597
1598 version 0.4.6:
1599
1600 - completely new integer only MPEG audio layer 1/2/3 decoder rewritten
1601   from scratch
1602 - Recoded DCT and motion vector search with gcc (no longer depends on nasm)
1603 - fix quantization bug in AC3 encoder
1604 - added PCM codecs and format. Corrected WAV/AVI/ASF PCM issues
1605 - added prototype ffplay program
1606 - added GOB header parsing on H.263/H.263+ decoder (Juanjo)
1607 - bug fix on MCBPC tables of H.263 (Juanjo)
1608 - bug fix on DC coefficients of H.263 (Juanjo)
1609 - added Advanced Prediction Mode on H.263/H.263+ decoder (Juanjo)
1610 - now we can decode H.263 streams found in QuickTime files (Juanjo)
1611 - now we can decode H.263 streams found in VIVO v1 files(Juanjo)
1612 - preliminary RTP "friendly" mode for H.263/H.263+ coding. (Juanjo)
1613 - added GOB header for H.263/H.263+ coding on RTP mode (Juanjo)
1614 - now H.263 picture size is returned on the first decoded frame (Juanjo)
1615 - added first regression tests
1616 - added MPEG-2 TS demuxer
1617 - new demux API for libav
1618 - more accurate and faster IDCT (Michael)
1619 - faster and entropy-controlled motion search (Michael)
1620 - two pass video encoding (Michael)
1621 - new video rate control (Michael)
1622 - added MSMPEG4V1, MSMPEGV2 and WMV1 support (Michael)
1623 - great performance improvement of video encoders and decoders (Michael)
1624 - new and faster bit readers and vlc parsers (Michael)
1625 - high quality encoding mode: tries all macroblock/VLC types (Michael)
1626 - added DV video decoder
1627 - preliminary RTP/RTSP support in ffserver and libavformat
1628 - H.263+ AIC decoding/encoding support (Juanjo)
1629 - VCD MPEG-PS mode (Juanjo)
1630 - PSNR stuff (Juanjo)
1631 - simple stats output (Juanjo)
1632 - 16-bit and 15-bit RGB/BGR/GBR support (Bisqwit)
1633
1634
1635 version 0.4.5:
1636
1637 - some header fixes (Zdenek Kabelac <kabi at informatics.muni.cz>)
1638 - many MMX optimizations (Nick Kurshev <nickols_k at mail.ru>)
1639 - added configure system (actually a small shell script)
1640 - added MPEG audio layer 1/2/3 decoding using LGPL'ed mpglib by
1641   Michael Hipp (temporary solution - waiting for integer only
1642   decoder)
1643 - fixed VIDIOCSYNC interrupt
1644 - added Intel H.263 decoding support ('I263' AVI fourCC)
1645 - added Real Video 1.0 decoding (needs further testing)
1646 - simplified image formats again. Added PGM format (=grey
1647   pgm). Renamed old PGM to PGMYUV.
1648 - fixed msmpeg4 slice issues (tell me if you still find problems)
1649 - fixed OpenDivX bugs with newer versions (added VOL header decoding)
1650 - added support for MPlayer interface
1651 - added macroblock skip optimization
1652 - added MJPEG decoder
1653 - added mmx/mmxext IDCT from libmpeg2
1654 - added pgmyuvpipe, ppm, and ppm_pipe formats (original patch by Celer
1655   <celer at shell.scrypt.net>)
1656 - added pixel format conversion layer (e.g. for MJPEG or PPM)
1657 - added deinterlacing option
1658 - MPEG-1/2 fixes
1659 - MPEG-4 vol header fixes (Jonathan Marsden <snmjbm at pacbell.net>)
1660 - ARM optimizations (Lionel Ulmer <lionel.ulmer at free.fr>).
1661 - Windows porting of file converter
1662 - added MJPEG raw format (input/output)
1663 - added JPEG image format support (input/output)
1664
1665
1666 version 0.4.4:
1667
1668 - fixed some std header definitions (Bjorn Lindgren
1669   <bjorn.e.lindgren at telia.com>).
1670 - added MPEG demuxer (MPEG-1 and 2 compatible).
1671 - added ASF demuxer
1672 - added prototype RM demuxer
1673 - added AC3 decoding (done with libac3 by Aaron Holtzman)
1674 - added decoding codec parameter guessing (.e.g. for MPEG, because the
1675   header does not include them)
1676 - fixed header generation in MPEG-1, AVI and ASF muxer: wmplayer can now
1677   play them (only tested video)
1678 - fixed H.263 white bug
1679 - fixed phase rounding in img resample filter
1680 - add MMX code for polyphase img resample filter
1681 - added CPU autodetection
1682 - added generic title/author/copyright/comment string handling (ASF and RM
1683   use them)
1684 - added SWF demux to extract MP3 track (not usable yet because no MP3
1685   decoder)
1686 - added fractional frame rate support
1687 - codecs are no longer searched by read_header() (should fix ffserver
1688   segfault)
1689
1690
1691 version 0.4.3:
1692
1693 - BGR24 patch (initial patch by Jeroen Vreeken <pe1rxq at amsat.org>)
1694 - fixed raw yuv output
1695 - added motion rounding support in MPEG-4
1696 - fixed motion bug rounding in MSMPEG4
1697 - added B-frame handling in video core
1698 - added full MPEG-1 decoding support
1699 - added partial (frame only) MPEG-2 support
1700 - changed the FOURCC code for H.263 to "U263" to be able to see the
1701   +AVI/H.263 file with the UB Video H.263+ decoder. MPlayer works with
1702   this +codec ;) (JuanJo).
1703 - Halfpel motion estimation after MB type selection (JuanJo)
1704 - added pgm and .Y.U.V output format
1705 - suppressed 'img:' protocol. Simply use: /tmp/test%d.[pgm|Y] as input or
1706   output.
1707 - added pgmpipe I/O format (original patch from Martin Aumueller
1708   <lists at reserv.at>, but changed completely since we use a format
1709   instead of a protocol)
1710
1711
1712 version 0.4.2:
1713
1714 - added H.263/MPEG-4/MSMPEG4 decoding support. MPEG-4 decoding support
1715   (for OpenDivX) is almost complete: 8x8 MVs and rounding are
1716   missing. MSMPEG4 support is complete.
1717 - added prototype MPEG-1 decoder. Only I- and P-frames handled yet (it
1718   can decode ffmpeg MPEGs :-)).
1719 - added libavcodec API documentation (see apiexample.c).
1720 - fixed image polyphase bug (the bottom of some images could be
1721   greenish)
1722 - added support for non clipped motion vectors (decoding only)
1723   and image sizes non-multiple of 16
1724 - added support for AC prediction (decoding only)
1725 - added file overwrite confirmation (can be disabled with -y)
1726 - added custom size picture to H.263 using H.263+ (Juanjo)
1727
1728
1729 version 0.4.1:
1730
1731 - added MSMPEG4 (aka DivX) compatible encoder. Changed default codec
1732   of AVI and ASF to DIV3.
1733 - added -me option to set motion estimation method
1734   (default=log). suppressed redundant -hq option.
1735 - added options -acodec and -vcodec to force a given codec (useful for
1736   AVI for example)
1737 - fixed -an option
1738 - improved dct_quantize speed
1739 - factorized some motion estimation code
1740
1741
1742 version 0.4.0:
1743
1744 - removing grab code from ffserver and moved it to ffmpeg. Added
1745   multistream support to ffmpeg.
1746 - added timeshifting support for live feeds (option ?date=xxx in the
1747   URL)
1748 - added high quality image resize code with polyphase filter (need
1749   mmx/see optimization). Enable multiple image size support in ffserver.
1750 - added multi live feed support in ffserver
1751 - suppressed master feature from ffserver (it should be done with an
1752   external program which opens the .ffm url and writes it to another
1753   ffserver)
1754 - added preliminary support for video stream parsing (WAV and AVI half
1755   done). Added proper support for audio/video file conversion in
1756   ffmpeg.
1757 - added preliminary support for video file sending from ffserver
1758 - redesigning I/O subsystem: now using URL based input and output
1759   (see avio.h)
1760 - added WAV format support
1761 - added "tty user interface" to ffmpeg to stop grabbing gracefully
1762 - added MMX/SSE optimizations to SAD (Sums of Absolutes Differences)
1763   (Juan J. Sierralta P. a.k.a. "Juanjo" <juanjo at atmlab.utfsm.cl>)
1764 - added MMX DCT from mpeg2_movie 1.5 (Juanjo)
1765 - added new motion estimation algorithms, log and phods (Juanjo)
1766 - changed directories: libav for format handling, libavcodec for
1767   codecs
1768
1769
1770 version 0.3.4:
1771
1772 - added stereo in MPEG audio encoder
1773
1774
1775 version 0.3.3:
1776
1777 - added 'high quality' mode which use motion vectors. It can be used in
1778   real time at low resolution.
1779 - fixed rounding problems which caused quality problems at high
1780   bitrates and large GOP size
1781
1782
1783 version 0.3.2: small fixes
1784
1785 - ASF fixes
1786 - put_seek bug fix
1787
1788
1789 version 0.3.1: added avi/divx support
1790
1791 - added AVI support
1792 - added MPEG-4 codec compatible with OpenDivX. It is based on the H.263 codec
1793 - added sound for flash format (not tested)
1794
1795
1796 version 0.3: initial public release