Update changelog for v11.11
[libav.git] / Changelog
CommitLineData
888505df
DB
1Entries are sorted chronologically from oldest to youngest within each release,
2releases are sorted from youngest to oldest.
3
8a212b1d
SM
4version 11.11:
5 - dfa: Disallow odd width/height and add proper bounds check for DDS1 chunks (CVE-2017-9992)
6 - pictor: Correctly check frame dimensions (CVE-2017-7862)
7 - h264_cavlc: check the value of run_before (bug/1000)
8 - dvbsubdec: improve error checking (CID/29575)
9 - dvbsubdec: Fixed segfault when decoding subtitles
10 - rmdec: don't ignore the return value of av_get_packet()
11 - caf: add an Opus tag
12 - yadif: Account for the buffer alignment while processing the frame edges (bug/1031)
13 - mov: log and return early on non-positive stsd entry counts
14 - arm: Fix SIGBUS on ARM when compiled with binutils 2.29
15 - smacker: return meaningful error codes on failure
16 - smacker: fix integer overflow with pts_inc (bug/1073)
17
9b40f05f 18version 11.10:
90b6a55b
SM
19 - mm: Skip unexpected audio packets (bug/1046)
20 - aacsbr: Turnoff in the event of over read. (bug/1047)
21 - smacker: Check that the data size is a multiple of a sample vector (CVE-2015-8365)
9b40f05f 22 - build: Add an option for passing linker flags to the shared library build
90b6a55b
SM
23 - flv: Validate the packet size (bug/1041)
24 - mjpeg: Report non-3 component rgb lossless as not supported (bug/1043)
25 - vc1dec: raise an error if sprite picture data is missing (bug/1013)
9b40f05f
SM
26 - doc: Drop the legacy symlink to README
27
bb371780
SM
28version 11.9:
29
30 - libvpxenc: remove some unused ctrl id mappings
31 - audiodsp/x86: fix ff_vector_clip_int32_sse2
32 - audiodsp/x86: clear the high bits of the order parameter on 64bit
33 - mpegvideo_motion: Handle edge emulation even without unrestricted_mv (bug/959)
34 - file protocol: handle the file: protocol string in file_check
35 - rtmpproto: Check the return from ff_amf_read_string
36 - rtmpproto: Lengthen the filename buffer when receiving streams
37 - rtmpproto: Send chunk size on the network channel
38 - aacsbr: Check that sample_rate is not 0 before division (bug/957)
39 - rtsp: move the CONFIG_ macros to the beginning of the check
40 - rtsp: Fix a crash with the RTSP muxer
41 - avconv: Fix the audio next dts computation
42 - m4vdec: Check for non-startcode 00 00 00 sequences in probe (bug/962)
43 - mpegvideo: Fix undefined negative shifts in ff_init_block_index (bug/980)
44 - mpegvideo: Fix undefined negative shifts in mpeg_motion_internal (bug/980)
45 - h264: er: Copy from the previous reference only if compatible
46 - h264_slice: Wait for refs to be available before we use them in error concealment
47 - mpegvideo_parser: avoid signed overflow in bitrate calculation (bug/981)
48 - mpeg12dec: avoid signed overflow in bitrate calculation (bug/981)
49 - mpeg12dec: move setting first_field to mpeg_field_start() (bug/999)
50 - http: Check for negative chunk sizes
51 - cmdutils: update copyright year to 2017
52 - matroskadec: make sure not to leave EbmlBin in an inconsistent state (bug/1001)
53 - vf_fade: Make sure to not miss the last lines of a frame
54 - mpeg4videodec: raise an error if sprite_trajectory.table is NULL (bug/1012)
55
3c3a0a06
SM
56version 11.8:
57
58 - ppc: Support little endian intreadwrite
59 - ppc: avutil: Drop a potentially dangerous workaround
60 - ppc: linux: Check altivec using the auxv
61 - ppc: Restrict some Altivec implementations to Big Endian
62 - fft: ppc: Place ff_fft_calc_interleave_altivec() under correct ifdefs
63 - ac3: Check the array bound before dereferencing
64 - librtmp: Avoid an infiniloop setting connection arguments
90b6a55b 65 - h264: only allow starting a new picture in the first slice thread (bug/690)
3c3a0a06
SM
66 - mimic: do not release the newly obsolete reference at the end of decoding
67 - buffer: fix av_buffer_realloc() when the data is offset wrt buffer start
68 - vp9: make mv bounds 32bit.
90b6a55b 69 - riff: don't overwrite bps from WAVEFORMATEX if EXTENSIBLE doesn't contain that data. (bug/950)
3c3a0a06
SM
70 - vmnc: check that subrectangles fit into their containing rectangles
71 - alac: do not return success if nothing was decoded
72 - qpeg: fix an off by 1 error in the MV check
73 - cook: use the bytestream2 API for reading extradata
74 - pcx: properly pad the scanline
75 - pcx: check that the packet is large enough before reading the header
76 - pcx: use the bytestream2 API for reading from input
77 - vc1: check that slices have a positive height
78 - mss12: validate display dimensions
79 - mov: Remove ancient heuristic hack
80 - mov: Remove old b-frame/video delay heuristic
81 - avprobe: do not call avio_close() on a custom context
82 - avprobe: Fix memory leak
83
0fc667e8
SM
84version 11.7:
85
86 - asfenc: fix some possible integer overflows (CVE-2016-2326)
87 - vf_fade: make sure the slice end is always in the frame
88 - tls: Use the right return value for breaking out due to the interrupt callback
89 - avpacket: Check buffer reference (CID/1267889)
90 - avpacket: fix setting AVPacket.data in av_packet_ref()
91 - cmdutils: update copyright year to 2016
92 - colorspace: Add support for BT709
93 - pgssub: Fix subpicture colorspace and range
94 - indeo2: Fix banding artefacts
95 - mov: Check the entries value when parsing dref boxes (CVE-2016-3062)
96 - matroska: Support V_QUICKTIME as written in the specification
97
d0c0a422
SM
98version 11.6:
99
100 - configure: add --enable-rpath
101 - concat: disable by default
102
a7cebf3d
SM
103version 11.5:
104
105 - aac_parser: add required padding for GetBitContext buffer
106 - ac3_parser: add required padding for GetBitContext buffer
107 - imc: add required padding for GetBitContext buffer
108 - h263: Always check both dimensions
109 - opusdec: properly handle mismatching configurations in multichannel streams (bug/876)
110 - configure: Set the initial ldflags to match the cflags
111 - configure: mips: Support mips r6, r2 and r1
112 - mips: intreadwrite: Only execute that code for mips r1 or r2
113 - vc1: Use logical instead of bitwise or for twomv
114 - configure: address a copy-paste typo
115 - rtmpcrypt: Do the xtea decryption in little endian mode
116 - mov: Correctly allocate ctts_data
117 - mov: Fix two memleaks
118 - bink: Factorize bink put_pixel
119 - aac: Wait to know the channels before allocating frame
120 - configure: Support MSVC 2015 (bug/864)
121 - rtpdec_asf: Check memory allocation and free memory on error (CID/1257774)
122 - jack: Check memory allocation (CID/1292520)
123 - mov: Check memory allocation (CID/1292518)
124 - audiointerleave: Always initialize new_pkt (CID/609333)
125 - sctp: Always initialize outmsg struct (CID/1302711)
126 - mkv: Correctly report the latest packet had been flushed (bug/865)
127 - h264_weight: Fix SSSE3 biweight code with weights of 128
128 - lavc: Clarify the behaviour of dimension and format context fields
129 - h264: make sure the current picture is not made a long ref multiple times
130 - aic: Fix slice size computation for widths multiples of 32 macroblocks
131 - mov: Preserve the metadata even when bit-exactness is requested (bug/845)
132 - webp: Make sure enough bytes are available
133 - h261: Set 'still image mode off' in picture header (bug/872)
134 - h261: Signal freeze picture release for intra frames (bug/873)
135 - avconv: vda: Unlock the pixel buffer once it is accessed
136 - g726: Do not crash on user mistake
137 - bytestream2: set the reader to the end when reading more than available
138 - arm: use a local label instead of the function symbol in ff_prefetch_arm
139 - af_channelmap: properly set the supported output channel layouts
140 - rtsp: Only interpret $ as interleaved packet indicator at the start of replies
141 - rtsp: Allow $ as interleaved packet indicator before a complete response header
142 - configure: arm: Assume softfp ABI on darwin
143 - vp7: bound checking in vp7_decode_frame_header
144 - imgutils: Fix a typo in avcodec_get_pix_fmt_loss
145 - mux: Make sure that the data is actually written (bug/881)
146 - file: properly forward errors from file_read() and file_write() (bug/881)
147 - mmvideo: Make sure the rle does not write over the frame boundaries (bug/887)
148 - opus: Buffer the samples from the correct offset (bug/909)
149 - nut: Use the correct codec_tag when multiple are available (bug/883)
150 - truemotion2: Fix the buffer check (bug/906)
151 - flashsv: Initialize the block array (bug/908)
152 - mimic: Always return on failure (bug/905)
153 - msnwc_tcp: Correctly report failure
154 - lagarith: Correctly compute hash_shift (bug/907)
155 - rpza: Check the blocks left before processing one (bug/903)
156 - dvdsubdec: Validate the RLE offsets
157 - avi: Validate the stream-id for DV as well (bug/879)
158 - mov: Use the correct type for size (bug/921)
d0c0a422
SM
159 - mov: Force the full parsing of mp3 (bug/899)
160 - mkv: Force the full parsing of mp3
161 - matroska: Always consider S_TEXT/UTF8 as SRT when demuxing
a7cebf3d 162
0069d459
RT
163version 11.4:
164
165 - h264: Make sure reinit failures mark the context as not initialized (CVE-2015-3417)
166 - msrle: Use FFABS to determine the frame size in msrle_decode_pal4 (CVE-2015-3395)
167 - cavs: Remove an unneeded scratch buffer
168 - configure: Disable i686 for i586 and lower CPUs (debian/783082)
169 - mjpegenc: Fix JFIF header byte ordering (bug/808)
170 - nut: Make sure to clean up on read_header failure
171 - png: Set the color range as full range
172 - avi: Validate sample_size
173 - nut: Check chapter creation in decode_info_header
174 - alac: Reject rice_limit 0 if compression is used
175 - ape: Support _0000 files with nblock smaller than 64
176 - mux: Do not leave stale side data pointers in ff_interleave_add_packet()
177 - avresample: Reallocate the internal buffer to the correct size (bug/825)
178 - mpegts: Update the PSI/SI table only if the version change
179 - rtsp: Make sure we don't write too many transport entries into a fixed-size array
180 - rtpenc_jpeg: Handle case of picture dimensions not dividing by 8
181 - mov: Fix little endian audio detection
182 - x86: Put COPY3_IF_LT under HAVE_6REGS (gentoo/541930)
183 - roqvideoenc: set enc->avctx in roq_encode_init
184 - mp3: Properly use AVCodecContext API
185 - libvpx: Fix mixed use of av_malloc() and av_reallocp()
186 - Revert "lavfi: always check av_expr_parse_and_eval() return value"
187 - alsdec: only adapt order for positive max_order
188 - alsdec: check sample pointer range in revert_channel_correlation
189 - aacpsy: correct calculation of minath in psy_3gpp_init
190 - alsdec: limit avctx->bits_per_raw_sample to 32
191 - aasc: return correct buffer size from aasc_decode_frame
192 - matroskadec: fix crash when parsing invalid mkv
193 - avconv: do not overwrite the stream codec context for streamcopy
194 - webp: ensure that each transform is only used once
195 - h264_ps: properly check cropping parameters against overflow
196 - hevc: zero the correct variables on invalid crop parameters
197 - hevc: make the crop sizes unsigned
198
fc3c1156
RT
199version 11.3:
200
00abc008
RT
201- utvideodec: Handle slice_height being zero (CVE-2014-9604)
202- adxdec: set avctx->channels in adx_read_header
203- rmenc: limit packet size
204- webp: validate the distance prefix code
205- rv10: check size of s->mb_width * s->mb_height
206- eamad: check for out of bounds read (CID/1257500)
207- mdec: check for out of bounds read (CID/1257501)
208- configure: Properly fail when libcdio/cdparanoia is not found
209- tiff: Check that there is no aliasing in pixel format selection (CVE-2014-8544)
210- aic: Fix decoding files with odd dimensions
211- vorbis: Check the vlc value in setup_classifs
212- arm: Suppress tags about used cpu arch and extensions
fc3c1156
RT
213- prores: Extend the padding check to 16bit
214- icecast: Do not use chunked post, allows feeding to icecast properly
215- img2dec: correctly use the parsed value from -start_number
216- h264_cabac: Break infinite loops
217- hevc_deblock: Fix compilation with nasm (libav #795)
218- h264: initialize H264Context.avctx in init_thread_copy
219- h264: Do not share rbsp_buffer across threads
220- h264: only ref cur_pic in update_thread_context if it is initialized
221- matroskadec: Fix read-after-free in matroska_read_seek() (chromium #427266)
222- log: Unbreak no-tty support on 256color terminals
223
5f6f2412
LB
224version 11.2:
225
226- h264: restore a block mistakenly removed in e10fd08a (libav #781)
227- on2avc: check number of channels (CVE-2014-8549)
228- smc: fix the bounds check (CVE-2014-8548)
229- gifdec: refactor interleave end handling (CVE-2014-8547)
230- mmvideo: check frame dimensions (CVE-2014-8543)
231- jvdec: check frame dimensions (CVE-2014-8542)
232- mjpegdec: check for pixel format changes (CVE-2014-8541)
233- mov: avoid a memleak when multiple stss boxes are present
234- vc1: Do not assume seek happens after decoding
235- avconv: Use the mpeg12 private option scan_offset (debian/773055)
236- xsub: Support DXSA subtitles
237- mp3dec: fix reading the Xing tag
238- matroskaenc: write correct Display{Width, Height} in stereo encoding
239- configure: Fix enabling memalign_hack automatically
240- mp3enc: fix a triggerable assert
241- latm: Do not give a score for a single instance
242- mp3: Tweak the probe scores
243- matroskaenc: write correct Display{Width, Height} in stereo encoding
244- configure: Fix enabling memalign_hack automatically
245- coverity: Fix most of the reported warnings and issues
246
60ccc1a7
RT
247version 11.1:
248
249- Replace lena.pnm (debian#771126)
250- Treat all '*.pnm' files as non-text file
251- opusdec: make sure all substreams have the same number of coded samples
252- lavu: fix memory leaks by using a mutex instead of atomics
253- lavu: add wrappers for the pthreads mutex API
254- mp3enc: fix a triggerable assert
255- resample: Avoid off-by-1 errors in PTS calcs. (libav#753)
256- imc: fix order of operations in coefficients read
257- hevc_mvs: make sure to always initialize the temporal MV fully
258- hevc_mvs: initialize the temporal MV in case of missing ref
259- h264: reset ret to avoid propagating minor failures (libav#750 / lp#905753)
260- hevc: Initialize mergecand_list to 0
261- mpeg12: Always invoke the get_format() callback
262- h264: Always invoke the get_format() callback
263- Update default FATE URL for release/11
264- apetag: Fix APE tag size check
265
07b0ccf5 266version 11:
d5717bc4 267- libx265 encoder
599b81ca 268- shuffleplanes filter
15c5a8d2 269- replaygain data export
e50f5d3c 270- Alias PIX image encoder and decoder
ae17878f 271- BRender PIX image decoder
70daeacd 272- Amazing Studio PAF playback support
678082b4 273- XBM decoder
07b0ccf5 274- BMP standalone parser
38389058 275- OpenEXR image decoder
6c1df1f2 276- support encoding and decoding 4-channel SGI images
d613091f 277- support decoding 16-bit RLE SGI images
ac4b32df 278- VP7 video decoder
a420ccd4 279- LucasArts SMUSH SANM video decoder
6f273093 280- LucasArts SMUSH VIMA audio decoder (ADPCM)
eeadcdfd 281- LucasArts SMUSH demuxer
718907cd 282- MP2 encoding via TwoLAME
ad8159e0 283- asettb filter
07761294 284- Silicon Graphics RLE 8-bit video decoder
86a04326 285- Silicon Graphics Motion Video Compressor 1 & 2 decoder
55ddd700 286- Silicon Graphics Movie demuxer
e2834567 287- On2 AVC (Audio for Video) decoder
35177ba7 288- support for decoding through DXVA2 in avconv
1c0210c7 289- libbs2b-based stereo-to-binaural audio filter
b70d7a4a 290- native Opus decoder
07b0ccf5 291- display matrix export and rotation API
894682a9 292- drop avserver, it was unmaintained for years and largely broken
eb9244f2 293- Icecast protocol
07b0ccf5 294- request Icecast metadata by default
481a3667 295- support for using metadata in stream specifiers in avtools
07b0ccf5 296- Matroska 3D support
738f8358
AK
297
298
b85a5e87
VP
299version 10:
300- av_strnstr
f5fac6f7 301- support ID3v2 tags in ASF files
d8b31be6 302- reference-counting for AVFrame and AVPacket data
e7553f4c
AK
303- avconv now fails when input options are used for output file
304 or vice versa
a2eeed61 305- avconv options -filter_script and -filter_complex_script, which allow a
a4208b9b 306 filtergraph description to be read from a file
cdac3acb 307- uniform options syntax across all filters
a2eeed61 308- interlace filter
c81a7063 309- JPEG 2000 decoder
a2eeed61
VG
310- asetpts filter (same as setpts, but for audio)
311- trim and atrim filters
8cd472d3
AK
312- avconv -t and -ss (output-only) options are now sample-accurate when
313 transcoding audio
e3b225a4 314- Matroska muxer can now put the index at the beginning of the file.
481575d2 315- avconv -deinterlace option removed, the yadif filter should be used instead
1232a164 316- Apple Intermediate Codec decoder
350914fc 317- Escape 130 video decoder
129bb238 318- support for slice multithreading in libavfilter
72821499 319- VC-1 interlaced B-frame support
2d2d6a48 320- support for WavPack muxing (raw and in Matroska)
2d66a58c 321- Go2Webinar decoder
84d3ff50 322- WavPack encoding through libwavpack
7748dd41 323- Added the -n parameter to avconv
0d6fa397 324- RTMP seek support
811bd078
AK
325- when transcoding with avconv (i.e. not streamcopying), -ss is now accurate
326 even when used as an input option. Previous behavior can be restored with
327 the -noaccurate_seek option.
488a0fa6
AK
328- avconv -t option can now be used for inputs, to limit the duration of
329 data read from an input file
56d061ce 330- Voxware MetaSound decoder
c4bfa098 331- WebP decoder
5cdefc02 332- Error Resilient AAC syntax (ER AAC LC) decoding
1914e6f0 333- Low Delay AAC (ER AAC LD) decoding
bb461370 334- mux chapters in ASF files
ecab1c77 335- Opus in Ogg demuxing
b3be41ca 336- Enhanced Low Delay AAC (ER AAC ELD) decoding (no LD SBR support)
e01fba55 337- F4V muxer
9af7a852 338- HNM version 4 demuxer and video decoder
064698d3 339- HEVC decoder
b6a47016 340- raw HEVC, HEVC in MOV/MP4, HEVC in Matroska, HEVC in MPEG-TS demuxing
fae753af 341- remove avplay -vismv option, which has not worked for a long time
435214a7 342- Live HDS muxer
34a0ac41 343- setsar/setdar filters now support variables in ratio expressions
3a14b160 344- dar variable in the scale filter now returns the actual DAR (i.e. a * sar)
72ca830f 345- VP9 decoder
7671dd7c 346- support for decoding through VDPAU in avconv (the -hwaccel option)
c6080d89 347- remove mp3_header_(de)compress bitstream filters
7e244c68 348- stereoscopic 3d metadata handling
6fd99e78 349- png standalone parser
be7c3231 350- WebP encoding via libwebp
e6f0bb65 351- ATRAC3+ decoder
a7d0e7ea 352- framepack filter
cde7df25 353- Mirillis FIC video decoder
e95018b6 354- Support DNx444
d5717bc4 355- compand audio filter
b85a5e87
VP
356
357
3f89b49b 358version 9:
d8fd06c3 359- av_basename and av_dirname
c1ea44c5 360- adobe and limelight publisher authentication in RTMP
44e065d5 361- VDPAU hardware acceleration through normal hwaccel
424da308 362- SRTP support
d8fd06c3 363
3f89b49b 364
d8fd06c3 365version 9_beta3:
00f8ad41
JR
366- ashowinfo audio filter
367- 24-bit FLAC encoding
b384e031 368- audio volume filter
b64ba37c 369- deprecated the avconv -vol option. the volume filter is to be used instead.
5e1bbb8c 370- multi-channel ALAC encoding up to 7.1
57231e4d 371- TAK demuxer, parser, and decoder
acb571c8 372- adaptive frame-level multithreading for H.264
00f8ad41
JR
373
374
375version 9_beta2:
58b619c8 376- metadata (INFO tag) support in WAV muxer
22310eef 377- support for building DLLs using MSVC
ada51a33 378- remove avserver daemon mode
60e60d99
RT
379- support building on the Plan 9 operating system
380- ffv1: support version 1.3
d1ad6bdb 381
e578f8f4
JG
382
383version 9_beta1:
384
d1ad6bdb 385- XWD encoder and decoder
83988d58 386- Support for fragmentation in the mov/mp4 muxer
4ddd54da 387- ISMV (Smooth Streaming) muxer
dc4e5748 388- CDXL demuxer and decoder
1a265f61 389- Apple ProRes encoder
d7840529 390- Sun Rasterfile Encoder
b315042c 391- remove libpostproc
32253747 392- ID3v2 attached pictures reading and writing
9d25f1f6 393- WMA Lossless decoder
0afd8f12 394- XBM encoder
18ba94c6 395- RealAudio Lossless decoder
0e714f88 396- ZeroCodec decoder
e06d2dfc 397- drop support for avconv without libavfilter
c8af852b 398- add libavresample audio conversion library
d89eca50 399- audio filters support in libavfilter and avconv
54c5dd89 400- add fps filter
afeb3590 401- audio split filter
c7448c18 402- audio mix filter
8271f55b
AK
403- avprobe output is now standard INI or JSON. The old format can still
404 be used with -of old.
c6061443 405- Indeo Audio decoder
d6251368 406- channelsplit audio filter
8e50c57d 407- RTMPT protocol support
3641b048 408- iLBC encoding/decoding via libilbc
005c80b6 409- Microsoft Screen 1 decoder
dc07fb6f 410- join audio filter
41e637e4 411- audio channel mapping filter
edf35d83 412- Microsoft ATC Screen decoder
a8ad6ffa 413- RTSP listen mode
781888da 414- TechSmith Screen Codec 2 decoder
37eeb5e2 415- AAC encoding via libfdk-aac
5b7e3a19 416- Microsoft Expression Encoder Screen decoder
6aedabc9 417- RTMPS protocol support
86991ce2 418- RTMPTS protocol support
453c02f9 419- JPEG 2000 encoding support through OpenJPEG
55c3a4f6 420- G.723.1 demuxer and decoder
acd554c1 421- RTMPE protocol support
08cd95e8 422- RTMPTE protocol support
45eaac02 423- Canopus Lossless Codec decoder
038c0b1e 424- avconv -shortest option is now per-output file,
bbcedade 425 -pass and -passlogfile are now per-output stream
1ab5a780 426- Ut Video encoder
ee769c6a 427- Microsoft Screen 2 decoder
3c198154 428- RTP depacketization of JPEG
62c9ae11 429- Smooth Streaming live segmenter muxer
cee1950b 430- RTP packetization of JPEG
6cb8c854 431- Opus decoder and encoder using libopus
fb722a90 432- remove -same_quant, it hasn't worked for years
22310eef 433- support for building with MSVC
c6061443 434
888505df 435
4b63cc18 436version 0.8:
82390f57
JR
437
438- GSM audio parser
ffa0923e 439- SMJPEG muxer
82390f57
JR
440
441
cf53a212 442version 0.8_beta2:
c11b92b3 443
e4e30256 444- Automatic thread count based on detection number of (available) CPU cores
014f8d81
RT
445- Deprecate libpostproc. If desired, the switch --enable-postproc will
446 enable it but it may be removed in a later Libav release.
cf53a212
RT
447- rv34: frame-level multi-threading
448- optimized iMDCT transform on x86 using SSE for for mpegaudiodec
c11b92b3
JG
449
450
be00d2e1
RT
451version 0.8_beta1:
452
a4ad9438 453- BWF muxer
c2d23309 454- Flash Screen Video 2 decoder
4d58e4cb 455- ffplay/ffprobe/ffserver renamed to avplay/avprobe/avserver
320d7693
AK
456- ffmpeg deprecated, added avconv, which is almost the same for now, except
457for a few incompatible changes in the options, which will hopefully make them
458easier to use. The changes are:
c4302a39
AK
459 * The options placement is now strictly enforced! While in theory the
460 options for ffmpeg should be given in [input options] -i INPUT [output
461 options] OUTPUT order, in practice it was possible to give output options
462 before the -i and it mostly worked. Except when it didn't - the behavior was
463 a bit inconsistent. In avconv, it is not possible to mix input and output
464 options. All non-global options are reset after an input or output filename.
465 * All per-file options are now truly per-file - they apply only to the next
466 input or output file and specifying different values for different files
467 will now work properly (notably -ss and -t options).
468 * All per-stream options are now truly per-stream - it is possible to
469 specify which stream(s) should a given option apply to. See the Stream
470 specifiers section in the avconv manual for details.
471 * In ffmpeg some options (like -newvideo/-newaudio/...) are irregular in the
472 sense that they're specified after the output filename instead of before,
473 like all other options. In avconv this irregularity is removed, all options
474 apply to the next input or output file.
475 * -newvideo/-newaudio/-newsubtitle options were removed. Not only were they
476 irregular and highly confusing, they were also redundant. In avconv the -map
477 option will create new streams in the output file and map input streams to
478 them. E.g. avconv -i INPUT -map 0 OUTPUT will create an output stream for
479 each stream in the first input file.
480 * The -map option now has slightly different and more powerful syntax:
481 + Colons (':') are used to separate file index/stream type/stream index
482 instead of dots. Comma (',') is used to separate the sync stream instead
483 of colon.. This is done for consistency with other options.
484 + It's possible to specify stream type. E.g. -map 0:a:2 creates an
485 output stream from the third input audio stream.
486 + Omitting the stream index now maps all the streams of the given type,
487 not just the first. E.g. -map 0:s creates output streams for all the
488 subtitle streams in the first input file.
489 + Since -map can now match multiple streams, negative mappings were
320d7693 490 introduced. Negative mappings disable some streams from an already
c4302a39
AK
491 defined map. E.g. '-map 0 -map -0:a:1' means 'create output streams for
492 all the stream in the first input file, except for the second audio
493 stream'.
494 * There is a new option -c (or -codec) for choosing the decoder/encoder to
495 use, which allows to precisely specify target stream(s) consistently with
496 other options. E.g. -c:v lib264 sets the codec for all video streams, -c:a:0
497 libvorbis sets the codec for the first audio stream and -c copy copies all
498 the streams without reencoding. Old -vcodec/-acodec/-scodec options are now
499 aliases to -c:v/a/s
320d7693 500 * It is now possible to precisely specify which stream should an AVOption
c4302a39
AK
501 apply to. E.g. -b:v:0 2M sets the bitrate for the first video stream, while
502 -b:a 128k sets the bitrate for all audio streams. Note that the old -ab 128k
503 syntax is deprecated and will stop working soon.
320d7693
AK
504 * -map_chapters now takes only an input file index and applies to the next
505 output file. This is consistent with how all the other options work.
506 * -map_metadata now takes only an input metadata specifier and applies to
507 the next output file. Output metadata specifier is now part of the option
508 name, similarly to the AVOptions/map/codec feature above.
c4302a39
AK
509 * -metadata can now be used to set metadata on streams and chapters, e.g.
510 -metadata:s:1 language=eng sets the language of the first stream to 'eng'.
511 This made -vlang/-alang/-slang options redundant, so they were removed.
512 * -qscale option now uses stream specifiers and applies to all streams, not
513 just video. I.e. plain -qscale number would now apply to all streams. To get
514 the old behavior, use -qscale:v. Also there is now a shortcut -q for -qscale
515 and -aq is now an alias for -q:a.
516 * -vbsf/-absf/-sbsf options were removed and replaced by a -bsf option which
517 uses stream specifiers. Use -bsf:v/a/s instead of the old options.
518 * -itsscale option now uses stream specifiers, so its argument is only the
519 scale parameter.
520 * -intra option was removed, use -g 0 for the same effect.
521 * -psnr option was removed, use -flags +psnr for the same effect.
522 * -vf option is now an alias to the new -filter option, which uses stream specifiers.
523 * -vframes/-aframes/-dframes options are now aliases to the new -frames option.
524 * -vtag/-atag/-stag options are now aliases to the new -tag option.
c6c6c1aa 525- XMV demuxer
45ecda85 526- Windows Media Image decoder
dcb9f6a2 527- LATM muxer/demuxer
ee42716b 528- showinfo filter
615baa13 529- split filter
e417d80d 530- libcdio-paranoia input device for audio CD grabbing
d763fb7d 531- select filter
be64629a 532- Apple ProRes decoder
4ca59d19 533- CELT in Ogg demuxing
51757ac7 534- VC-1 interlaced decoding
8fe0c527 535- lut, lutrgb, and lutyuv filters
ce6b6ef6 536- boxblur filter
0d8506b8 537- Ut Video decoder
b606a017 538- Speex encoding via libspeex
76741b0e 539- 4:2:2 H.264 decoding support
a7476298 540- 4:2:2 and 4:4:4 H.264 encoding with libx264
0de9c41f 541- Pulseaudio input device
594b54b5 542- replacement Indeo 3 decoder
183baead 543- TLS/SSL and HTTPS protocol support
a7476298
AK
544- AVOptions API rewritten and documented
545- most of CODEC_FLAG2_*, some CODEC_FLAG_* and many codec-specific fields in
546 AVCodecContext deprecated. Codec private options should be used instead.
547- Properly working defaults in libx264 wrapper, support for native presets.
548- Encrypted OMA files support
f545e006 549- Discworld II BMV decoding support
c433a3f9 550- VBLE Decoder
ac3dbb4d 551- OS X Video Decoder Acceleration (VDA) support
779ef255 552- CRI ADX audio format muxer and demuxer
f28070a1 553- Playstation Portable PMP format demuxer
c8b27a0e 554- PCM format support in OMA demuxer
e93947b7 555- CLJR encoder
19341c58 556- Dxtory capture format decoder
80f6c0bb 557- v410 QuickTime uncompressed 4:4:4 10-bit encoder and decoder
f40e7eb5 558- OpenMG Audio muxer
02e8f032 559- Simple segmenting muxer
4fb930a8
RT
560- Indeo 4 decoder
561- SMJPEG demuxer
a4ad9438
BL
562
563
bed31c7e 564version 0.7:
2db272e9 565
aa47c35d 566- E-AC-3 audio encoder
b95d19b0 567- ac3enc: add channel coupling support
b047941d
DB
568- floating-point sample format support for (E-)AC-3, DCA, AAC, Vorbis decoders
569- H.264/MPEG frame-level multithreading
570- av_metadata_* functions renamed to av_dict_* and moved to libavutil
bed31c7e
RT
571- 4:4:4 H.264 decoding support
572- 10-bit H.264 optimizations for x86
b047941d 573- bump libswscale for recently reported ABI break
aa47c35d 574
21bbca5b
RT
575
576version 0.7_beta2:
577
b047941d 578- VP8 frame-level multithreading
bed31c7e 579- NEON optimizations for VP8
b047941d
DB
580- removed a lot of deprecated API cruft
581- FFT and IMDCT optimizations for AVX (Sandy Bridge) processors
e27ce0ee 582- DPX image encoder
9aa91043 583- SMPTE 302M AES3 audio decoder
b047941d 584- ffmpeg no longer quits after the 'q' key is pressed; use 'ctrl+c' instead
bed31c7e 585- 9bit and 10bit per sample support in the H.264 decoder
e27ce0ee 586
5efef54e
RT
587
588version 0.7_beta1:
589
316d6c15 590- WebM support in Matroska de/muxer
21d52447 591- low overhead Ogg muxing
a2403986 592- MMS-TCP support
ee0e9146 593- VP8 de/encoding via libvpx
173bb37f 594- Demuxer for On2's IVF format
a526d619 595- Pictor/PC Paint decoder
a2063901 596- HE-AAC v2 decoder
41f91b5f 597- libfaad2 wrapper removed
e83aed04 598- DTS-ES extension (XCh) decoding support
db7d307f 599- native VP8 decoder
680b2321 600- RTSP tunneling over HTTP
4449df6b 601- RTP depacketization of SVQ3
2d525ef4 602- -strict inofficial replaced by -strict unofficial
066ce8c9 603- ffplay -exitonkeydown and -exitonmousedown options added
b576934d 604- native GSM / GSM MS decoder
a59096e4 605- RTP depacketization of QDM2
5a717094 606- ANSI/ASCII art playback system
e8723e24 607- Lego Mindstorms RSO de/muxer
ba2c508d 608- SubRip subtitle file muxer and demuxer
de295976 609- Chinese AVS encoding via libxavs
530bbe96 610- ffprobe -show_packets option added
91af5601 611- RTP packetization of Theora and Vorbis
1ddc176e 612- RTP depacketization of MP4A-LATM
51291e60 613- RTP packetization and depacketization of VP8
a1e171df 614- hflip filter
cd223e0b 615- Apple HTTP Live Streaming demuxer
7f50caa7 616- a64 codec
b8521394 617- MMS-HTTP support
21e681ba 618- G.722 ADPCM audio encoder/decoder
43836928 619- R10k video decoder
6ebf0bfc 620- ocv_smooth filter
47941088 621- frei0r wrapper filter
2bc05d35 622- change crop filter syntax to width:height:x:y
75b67a8a 623- make the crop filter accept parametric expressions
6afd569e 624- make ffprobe accept AVFormatContext options
5900deeb 625- yadif filter
13fabd7a 626- blackframe filter
8878e3b2 627- Demuxer for Leitch/Harris' VR native stream format (LXF)
3ece3e4c 628- RTP depacketization of the X-QT QuickTime format
01c8d258 629- SAP (Session Announcement Protocol, RFC 2974) muxer and demuxer
68b79bfc 630- cropdetect filter
5879ea6d 631- ffmpeg -crop* options removed
43945b27 632- transpose filter added
4ad08021 633- ffmpeg -force_key_frames option added
44594cc7 634- demuxer for receiving raw rtp:// URLs without an SDP description
136e19e1 635- single stream LATM/LOAS decoder
a532bb39 636- setpts filter added
b047941d 637- Win64 support for optimized x86 assembly functions
ba83c4bf 638- MJPEG/AVI1 to JPEG/JFIF bitstream filter
c99f9b0a 639- ASS subtitle encoder and decoder
b047941d 640- IEC 61937 encapsulation for E-AC-3, TrueHD, DTS-HD (for HDMI passthrough)
58935b25 641- overlay filter added
2fb21bf4 642- rename aspect filter to setdar, and pixelaspect to setsar
3b39e273 643- IEC 61937 demuxer
9d09ebf1 644- Mobotix .mxg demuxer
f8608dca 645- frei0r source added
a4dc7aa5 646- hqdn3d filter added
35014efc 647- RTP depacketization of QCELP
475ae04a 648- FLAC parser added
d5f187fd 649- gradfun filter added
2b2a597e 650- AMR-WB decoder
3579b405 651- replace the ocv_smooth filter with a more generic ocv filter
82ca054a 652- Windows Televison (WTV) demuxer
fd5b124d 653- FFmpeg metadata format muxer and demuxer
2c77c906 654- SubRip (srt) subtitle decoder
6fd96d1a 655- floating-point AC-3 encoder added
d267b339 656- Lagarith decoder
fbd56159 657- ffmpeg -copytb option added
54bc6403 658- IVF muxer added
44ddfd47 659- Wing Commander IV movies decoder added
9409c381 660- movie source added
ccfcddb3 661- Bink version 'b' audio and video decoder
402f9ad5 662- Bitmap Brothers JV playback system
dc6fdad5 663- Apple HTTP Live Streaming protocol handler
15d59d2c 664- sndio support for playback and record
c6f95144 665- Linux framebuffer input device added
42315dab 666- Chronomaster DFA decoder
ce02f9be 667- Mobotix MxPEG decoder
d89e738a 668- AAC encoding via libvo-aacenc
f502ff3f 669- AMR-WB encoding via libvo-amrwbenc
ad4c5034 670- xWMA demuxer
2f84bb42 671- fieldorder video filter added
fbe347d6
DB
672
673
674version 0.6:
675
2db272e9 676- PB-frame decoding for H.263
b11163c8 677- deprecated vhook subsystem removed
3444c914 678- deprecated old scaler removed
616e899c 679- VQF demuxer
b3b5946c 680- Alpha channel scaler
effcedf7 681- PCX encoder
9edfaf3c 682- RTP packetization of H.263
08e696c0 683- RTP packetization of AMR
e6327fba 684- RTP depacketization of Vorbis
e9356be5 685- CorePNG decoding support
9189d7eb 686- Cook multichannel decoding support
276f8e2b 687- introduced avlanguage helpers in libavformat
f0b19bd3 688- 8088flex TMV demuxer and decoder
5f1ac36d 689- per-stream language-tags extraction in asfdec
ca0bb1c4 690- V210 decoder and encoder
de08ebe3 691- remaining GPL parts in AC-3 decoder converted to LGPL
cdce0fb8 692- QCP demuxer
cbfe5bee 693- SoX native format muxer and demuxer
0b175caa 694- AMR-NB decoding/encoding, AMR-WB decoding via OpenCORE libraries
94d3d6a4 695- DPX image decoder
c63ea92b 696- Electronic Arts Madcow decoder
a4276ba2 697- DivX (XSUB) subtitle encoder
0a4a0aa7 698- nonfree libamr support for AMR-NB/WB decoding/encoding removed
57a80d79 699- experimental AAC encoder
c2f3eec4 700- RTP depacketization of ASF and RTSP from WMS servers
9fd6b843 701- RTMP support in libavformat
3106f489 702- noX handling for OPT_BOOL X options
740e89cf 703- Wave64 demuxer
ab1eff9c 704- IEC-61937 compatible Muxer
7bd47335 705- TwinVQ decoder
c58b82a2 706- Bluray (PGS) subtitle decoder
5dd3707b 707- LPCM support in MPEG-TS (HDMV RID as found on Blu-ray disks)
57a80d79 708- WMA Pro decoder
5f14b565 709- Core Audio Format demuxer
7df9e693 710- ATRAC1 decoder
61dc238b 711- MD STUDIO audio demuxer
811e0fc2 712- RF64 support in WAV demuxer
99971952 713- MPEG-4 Audio Lossless Coding (ALS) decoder
0584b718 714- -formats option split into -formats, -codecs, -bsfs, and -protocols
7c3c53c8 715- IV8 demuxer
a3d995c1 716- CDG demuxer and decoder
4aaab0a3 717- R210 decoder
ce293510 718- Auravision Aura 1 and 2 decoders
e6565055 719- Deluxe Paint Animation playback system
d140b025 720- SIPR decoder
83ab7f18 721- Adobe Filmstrip muxer and demuxer
45aa9080 722- RTP depacketization of H.263
342c7dfd 723- Bink demuxer and audio/video decoders
4ebaec79 724- enable symbol versioning by default for linkers that support it
b9e06ddd 725- IFF PBM/ILBM bitmap decoder
084eb95f 726- concat protocol
5bebe94d 727- Indeo 5 decoder
556aa7a1 728- RTP depacketization of AMR
57a80d79
DB
729- WMA Voice decoder
730- ffprobe tool
4fe3edaa 731- AMR-NB decoder
6f5a3d0a 732- RTSP muxer
ed492b61 733- HE-AAC v1 decoder
bf354122 734- Kega Game Video (KGV1) decoder
59b4b540 735- VorbisComment writing for FLAC, Ogg FLAC and Ogg Speex files
887af2aa 736- RTP depacketization of Theora
b26708d5 737- HTTP Digest authentication
0f943ce6 738- RTMP/RTMPT/RTMPS/RTMPE/RTMPTE protocol support via librtmp
38b9d8b8 739- Psygnosis YOP demuxer and video decoder
ca6e7708 740- spectral extension support in the E-AC-3 decoder
ac1c9564 741- unsharp video filter
910cde56 742- RTP hinting in the mov/3gp/mp4 muxer
a8d9a56a
DB
743- Dirac in Ogg demuxing
744- seek to keyframes in Ogg
745- 4:2:2 and 4:4:4 Theora decoding
746- 35% faster VP3/Theora decoding
747- faster AAC decoding
748- faster H.264 decoding
d31ba231 749- RealAudio 1.0 (14.4K) encoder
de08ebe3 750
2db272e9 751
e0e86c52
DB
752version 0.5:
753
06ab9cff 754- DV50 AKA DVCPRO50 encoder, decoder, muxer and demuxer
9d53d58e 755- TechSmith Camtasia (TSCC) video decoder
d0a0bbd2 756- IBM Ultimotion (ULTI) video decoder
d08d7142
MM
757- Sierra Online audio file demuxer and decoder
758- Apple QuickDraw (qdrw) video decoder
22052247 759- Creative ADPCM audio decoder (16 bits as well as 8 bits schemes)
ad81a9fe 760- Electronic Arts Multimedia (WVE/UV2/etc.) file demuxer
ab711b3c 761- Miro VideoXL (VIXL) video decoder
b06b45c4 762- H.261 video encoder
acfd8f0f 763- QPEG video decoder
353147ed 764- Nullsoft Video (NSV) file demuxer
13dfd2b9 765- Shorten audio decoder
9c7fb608 766- LOCO video decoder
115329f1 767- Apple Lossless Audio Codec (ALAC) decoder
a8a15e9d 768- Winnov WNV1 video decoder
589f8220 769- Autodesk Animator Studio Codec (AASC) decoder
bfaad39f 770- Indeo 2 video decoder
b81f8949 771- Fraps FPS1 video decoder
e0db8cfb 772- Snow video encoder/decoder
af4ca324 773- Sonic audio encoder/decoder
108ab268 774- Vorbis audio decoder
af4ca324 775- Macromedia ADPCM decoder
e0db8cfb
DB
776- Duck TrueMotion 2 video decoder
777- support for decoding FLX and DTA extensions in FLIC files
b2909f1a 778- H.264 custom quantization matrices support
a8289180 779- ffserver fixed, it should now be usable again
8d1018bf 780- QDM2 audio decoder
8a2d410e 781- Real Cooker audio decoder
bf3027c8 782- TrueSpeech audio decoder
65694974
DB
783- WMA2 audio decoder fixed, now all files should play correctly
784- RealAudio 14.4 and 28.8 decoders fixed
108ab268 785- JPEG-LS decoder
3f45598a
DB
786- build system improvements
787- tabs and trailing whitespace removed from the codebase
108ab268 788- CamStudio video decoder
f11288da 789- AIFF/AIFF-C audio format, encoding and decoding
4accd1fd 790- ADTS AAC file reading and writing
ea395e8c 791- Creative VOC file reading and writing
4e114829 792- American Laser Games multimedia (*.mm) playback system
6a7d2c3d 793- Zip Motion Blocks Video decoder
58cf42fa 794- improved Theora/VP3 decoder
8a2d410e 795- True Audio (TTA) decoder
26376701 796- AVS demuxer and video decoder
108ab268 797- JPEG-LS encoder
348efc18 798- Smacker demuxer and decoder
dfca23e3 799- NuppelVideo/MythTV demuxer and RTjpeg decoder
fd7b1991 800- KMVC decoder
58cf42fa 801- MPEG-2 intra VLC support
2d974017 802- MPEG-2 4:2:2 encoder
0919e788 803- Flash Screen Video decoder
cc0bc648 804- GXF demuxer
6a09487e 805- Chinese AVS decoder
43dcf590 806- GXF muxer
07bf2af8 807- MXF demuxer
b394e39a 808- VC-1/WMV3/WMV9 video decoder
0ccd1bb5 809- MacIntel support
03039f4c 810- AviSynth support
eb57c889 811- VMware video decoder
5ce117c3
AJ
812- VP5 video decoder
813- VP6 video decoder
730581f3 814- WavPack lossless audio decoder
3689cf16 815- Targa (.TGA) picture decoder
108ab268 816- Vorbis audio encoder
dc56e0de 817- Delphine Software .cin demuxer/audio and video decoder
29f86228 818- Tiertex .seq demuxer/video decoder
f7bc5837 819- MTV demuxer
716222db 820- TIFF picture encoder and decoder
06d392a7 821- GIF picture decoder
58cf42fa 822- Intel Music Coder decoder
6a7d2c3d 823- Zip Motion Blocks Video encoder
185c7b6b 824- Musepack decoder
8adc51f2 825- Flash Screen Video encoder
150d2772 826- Theora encoding via libtheora
52548eee 827- BMP encoder
039cd4a7 828- WMA encoder
346a655d 829- GSM-MS encoder and decoder
01ca9ac3 830- DCA decoder
33a0dd37 831- DXA demuxer and decoder
52b6bad2 832- DNxHD decoder
efb0c399 833- Gamecube movie (.THP) playback system
a5fbe001 834- Blackfin optimizations
9a0ddd09 835- Interplay C93 demuxer and video decoder
1e6c6759 836- Bethsoft VID demuxer and video decoder
8e952e4d 837- CRYO APC demuxer
7df9e693 838- ATRAC3 decoder
b46d68c6 839- V.Flash PTX decoder
58cf42fa 840- RoQ muxer, RoQ audio encoder
ad39f1a7 841- Renderware TXD demuxer and decoder
4d5588cf 842- extern C declarations for C++ removed from headers
82e60541 843- sws_flags command line option
ddcf4b5d 844- codebook generator
03e3e765 845- RoQ video encoder
d3b7406c 846- QTRLE encoder
d22e8442 847- OS/2 support removed and restored again
6ea67bbb 848- AC-3 decoder
58cf42fa 849- NUT muxer
108ab268 850- additional SPARC (VIS) optimizations
e09f7d61 851- Matroska muxer
58cf42fa 852- slice-based parallel H.264 decoding
bf4a1f17 853- Monkey's Audio demuxer and decoder
8787d837 854- AMV audio and video decoder
fc4cbc16 855- DNxHD encoder
d6c52130 856- H.264 PAFF decoding
636b13c5 857- Nellymoser ASAO decoder
66f7679c 858- Beam Software SIFF demuxer and decoder
f9def9cc 859- libvorbis Vorbis decoding removed in favor of native decoder
541432c3 860- IntraX8 (J-Frame) subdecoder for WMV2 and VC-1
56dc1fdf 861- Ogg (Theora, Vorbis and FLAC) muxer
108ab268 862- The "device" muxers and demuxers are now in a new libavdevice library
540945eb
IP
863- PC Paintbrush PCX decoder
864- Sun Rasterfile decoder
920d3609 865- TechnoTrend PVA demuxer
77c1d04d 866- Linux Media Labs MPEG-4 (LMLM4) demuxer
b264a084 867- AVM2 (Flash 9) SWF muxer
9dc92a38 868- QT variant of IMA ADPCM encoder
39fc859e 869- VFW grabber
58cf42fa 870- iPod/iPhone compatible mp4 muxer
a7129de5 871- Mimic decoder
0f3444e1 872- MSN TCP Webcam stream demuxer
86b3cf7c 873- RL2 demuxer / decoder
d299be08
JM
874- IFF demuxer
875- 8SVX audio decoder
b00b15be 876- non-recursive Makefiles
b64c096b 877- BFI demuxer
74118c07 878- MAXIS EA XA (.xa) demuxer / decoder
2003d3da 879- BFI video decoder
ea662534 880- OMA demuxer
b517af05 881- MLP/TrueHD decoder
e1c74782 882- Electronic Arts CMV decoder
822cc8f7
RP
883- Motion Pixels Video decoder
884- Motion Pixels MVI demuxer
e44bbf62 885- removed animated GIF decoder/demuxer
51c3861e 886- D-Cinema audio muxer
cfc78718 887- Electronic Arts TGV decoder
833e90dd 888- Apple Lossless Audio Codec (ALAC) encoder
7d8f3de4 889- AAC decoder
eb6fc557 890- floating point PCM encoder/decoder
cedebde1 891- MXF muxer
108ab268 892- DV100 AKA DVCPRO HD decoder and demuxer
1f6a594d 893- E-AC-3 support added to AC-3 decoder
755ba886 894- Nellymoser ASAO encoder
0c86f89a 895- ASS and SSA demuxer and muxer
d8d12c15 896- liba52 wrapper removed
0ac1dc6f 897- SVQ3 watermark decoding support
f6958006 898- Speex decoding via libspeex
42b30357 899- Electronic Arts TGQ decoder
108ab268 900- RV40 decoder
73b458e3 901- QCELP / PureVoice decoder
108ab268 902- RV30 decoder
7906f3ca 903- hybrid WavPack support
7eb68edb 904- R3D REDCODE demuxer
115d095e 905- ALSA support for playback and record
d8964f3a 906- Electronic Arts TQI decoder
9a77d59a 907- OpenJPEG based JPEG 2000 decoder
58cf42fa 908- NC (NC4600) camera file demuxer
865780ae 909- Gopher client support
bd3f81f3 910- MXF D-10 muxer
58cf42fa
DB
911- generic metadata API
912
9d53d58e 913
1defd2a8
MN
914version 0.4.9-pre1:
915
4fa1c4fa 916- DV encoder, DV muxer
2fdf638b
MM
917- Microsoft RLE video decoder
918- Microsoft Video-1 decoder
070ed1bc 919- Apple Animation (RLE) decoder
42cad81a 920- Apple Graphics (SMC) decoder
2fdf638b
MM
921- Apple Video (RPZA) decoder
922- Cinepak decoder
923- Sega FILM (CPK) file demuxer
42cad81a 924- Westwood multimedia support (VQA & AUD files)
4120a53a 925- Id Quake II CIN playback support
42cad81a
MM
926- 8BPS video decoder
927- FLIC playback support
9a4117d5
MM
928- RealVideo 2.0 (RV20) decoder
929- Duck TrueMotion v1 (DUCK) video decoder
da00f30e 930- Sierra VMD demuxer and video decoder
1defd2a8 931- MSZH and ZLIB decoder support
3b64893d 932- SVQ1 video encoder
1defd2a8 933- AMR-WB support
e0db8cfb 934- PPC optimizations
1defd2a8 935- rate distortion optimal cbp support
e0db8cfb 936- rate distorted optimal ac prediction for MPEG-4
1defd2a8
MN
937- rate distorted optimal lambda->qp support
938- AAC encoding with libfaac
939- Sunplus JPEG codec (SP5X) support
e0db8cfb
DB
940- use Lagrange multipler instead of QP for ratecontrol
941- Theora/VP3 decoding support
1defd2a8 942- XA and ADX ADPCM codecs
e0db8cfb 943- export MPEG-2 active display area / pan scan
1defd2a8
MN
944- Add support for configuring with IBM XLC
945- floating point AAN DCT
e0db8cfb
DB
946- initial support for zygo video (not complete)
947- RGB ffv1 support
1defd2a8
MN
948- new audio/video parser API
949- av_log() system
950- av_read_frame() and av_seek_frame() support
951- missing last frame fixes
952- seek by mouse in ffplay
e0db8cfb
DB
953- noise reduction of DCT coefficients
954- H.263 OBMC & 4MV support
955- H.263 alternative inter vlc support
956- H.263 loop filter
957- H.263 slice structured mode
958- interlaced DCT support for MPEG-2 encoding
1defd2a8 959- stuffing to stay above min_bitrate
e0db8cfb 960- MB type & QP visualization
1defd2a8
MN
961- frame stepping for ffplay
962- interlaced motion estimation
963- alternate scantable support
964- SVCD scan offset support
e0db8cfb
DB
965- closed GOP support
966- SSE2 FDCT
1defd2a8
MN
967- quantizer noise shaping
968- G.726 ADPCM audio codec
969- MS ADPCM encoding
970- multithreaded/SMP motion estimation
e0db8cfb
DB
971- multithreaded/SMP encoding for MPEG-1/MPEG-2/MPEG-4/H.263
972- multithreaded/SMP decoding for MPEG-2
1defd2a8
MN
973- FLAC decoder
974- Metrowerks CodeWarrior suppport
e0db8cfb 975- H.263+ custom pcf support
1defd2a8 976- nicer output for 'ffmpeg -formats'
e0db8cfb 977- Matroska demuxer
1defd2a8 978- SGI image format, encoding and decoding
e0db8cfb
DB
979- H.264 loop filter support
980- H.264 CABAC support
f073a393 981- nicer looking arrows for the motion vector visualization
1defd2a8
MN
982- improved VCD support
983- audio timestamp drift compensation
e0db8cfb 984- MPEG-2 YUV 422/444 support
1defd2a8
MN
985- polyphase kaiser windowed sinc and blackman nuttall windowed sinc audio resample
986- better image scaling
e0db8cfb 987- H.261 support
1defd2a8
MN
988- correctly interleave packets during encoding
989- VIS optimized motion compensation
e0db8cfb
DB
990- intra_dc_precision>0 encoding support
991- support reuse of motion vectors/MB types/field select values of the source video
1defd2a8
MN
992- more accurate deblock filter
993- padding support
994- many optimizations and bugfixes
055dc116 995- FunCom ISS audio file demuxer and according ADPCM decoding
2fdf638b 996
0ca3e336 997
8c522a40
FB
998version 0.4.8:
999
e0db8cfb 1000- MPEG-2 video encoding (Michael)
d9d8910b 1001- Id RoQ playback subsystem (Mike Melanson and Tim Ferguson)
b17e9c99
MM
1002- Wing Commander III Movie (.mve) file playback subsystem (Mike Melanson
1003 and Mario Brito)
1004- Xan DPCM audio decoder (Mario Brito)
186447f8 1005- Interplay MVE playback subsystem (Mike Melanson)
b17e9c99
MM
1006- Duck DK3 and DK4 ADPCM audio decoders (Mike Melanson)
1007
0ca3e336 1008
b17e9c99 1009version 0.4.7:
e07702ba 1010
e0db8cfb 1011- RealAudio 1.0 (14_4) and 2.0 (28_8) native decoders. Author unknown, code from mplayerhq
124ba583 1012 (originally from public domain player for Amiga at http://www.honeypot.net/audio)
e0db8cfb 1013- current version now also compiles with older GCC (Fabrice)
e07702ba
HBH
1014- 4X multimedia playback system including 4xm file demuxer (Mike
1015 Melanson), and 4X video and audio codecs (Michael)
1016- Creative YUV (CYUV) decoder (Mike Melanson)
1017- FFV1 codec (our very simple lossless intra only codec, compresses much better
e0db8cfb
DB
1018 than HuffYUV) (Michael)
1019- ASV1 (Asus), H.264, Intel indeo3 codecs have been added (various)
1020- tiny PNG encoder and decoder, tiny GIF decoder, PAM decoder (PPM with
e07702ba
HBH
1021 alpha support), JPEG YUV colorspace support. (Fabrice Bellard)
1022- ffplay has been replaced with a newer version which uses SDL (optionally)
e0db8cfb 1023 for multiplatform support (Fabrice)
e07702ba
HBH
1024- Sorenson Version 3 codec (SVQ3) support has been added (decoding only) - donated
1025 by anonymous
1026- AMR format has been added (Johannes Carlsson)
e0db8cfb 1027- 3GP support has been added (Johannes Carlsson)
e07702ba
HBH
1028- VP3 codec has been added (Mike Melanson)
1029- more MPEG-1/2 fixes
e0db8cfb
DB
1030- better multiplatform support, MS Visual Studio fixes (various)
1031- AltiVec optimizations (Magnus Damn and others)
e07702ba 1032- SH4 processor support has been added (BERO)
e0db8cfb
DB
1033- new public interfaces (avcodec_get_pix_fmt) (Roman Shaposhnick)
1034- VOB streaming support (Brian Foley)
1035- better MP3 autodetection (Andriy Rysin)
d3d10087
FB
1036- qpel encoding (Michael)
1037- 4mv+b frames encoding finally fixed (Michael)
1038- chroma ME (Michael)
e0db8cfb
DB
1039- 5 comparison functions for ME (Michael)
1040- B-frame encoding speedup (Michael)
1041- WMV2 codec (unfinished - Michael)
d3d10087 1042- user specified diamond size for EPZS (Michael)
b17e9c99
MM
1043- Playstation STR playback subsystem, still experimental (Mike and Michael)
1044- ASV2 codec (Michael)
1045- CLJR decoder (Alex)
d3d10087 1046
e0db8cfb 1047.. And lots more new enhancements and fixes.
e07702ba 1048
0ca3e336 1049
d3d10087 1050version 0.4.6:
739d6efa 1051
e0db8cfb
DB
1052- completely new integer only MPEG audio layer 1/2/3 decoder rewritten
1053 from scratch
1054- Recoded DCT and motion vector search with gcc (no longer depends on nasm)
1055- fix quantization bug in AC3 encoder
1056- added PCM codecs and format. Corrected WAV/AVI/ASF PCM issues
1057- added prototype ffplay program
1058- added GOB header parsing on H.263/H.263+ decoder (Juanjo)
1059- bug fix on MCBPC tables of H.263 (Juanjo)
1060- bug fix on DC coefficients of H.263 (Juanjo)
1061- added Advanced Prediction Mode on H.263/H.263+ decoder (Juanjo)
1062- now we can decode H.263 streams found in QuickTime files (Juanjo)
1063- now we can decode H.263 streams found in VIVO v1 files(Juanjo)
644d98a4 1064- preliminary RTP "friendly" mode for H.263/H.263+ coding. (Juanjo)
e0db8cfb
DB
1065- added GOB header for H.263/H.263+ coding on RTP mode (Juanjo)
1066- now H.263 picture size is returned on the first decoded frame (Juanjo)
7f913a35 1067- added first regression tests
e0db8cfb 1068- added MPEG-2 TS demuxer
a31e01c5 1069- new demux API for libav
6d291820 1070- more accurate and faster IDCT (Michael)
e0db8cfb 1071- faster and entropy-controlled motion search (Michael)
6d291820
FB
1072- two pass video encoding (Michael)
1073- new video rate control (Michael)
1074- added MSMPEG4V1, MSMPEGV2 and WMV1 support (Michael)
1075- great performance improvement of video encoders and decoders (Michael)
1076- new and faster bit readers and vlc parsers (Michael)
e0db8cfb 1077- high quality encoding mode: tries all macroblock/VLC types (Michael)
6d291820
FB
1078- added DV video decoder
1079- preliminary RTP/RTSP support in ffserver and libavformat
e0db8cfb
DB
1080- H.263+ AIC decoding/encoding support (Juanjo)
1081- VCD MPEG-PS mode (Juanjo)
1082- PSNR stuff (Juanjo)
1083- simple stats output (Juanjo)
1084- 16-bit and 15-bit RGB/BGR/GBR support (Bisqwit)
739d6efa 1085
0ca3e336 1086
de6d9b64
FB
1087version 0.4.5:
1088
dd5cf2ad
BF
1089- some header fixes (Zdenek Kabelac <kabi at informatics.muni.cz>)
1090- many MMX optimizations (Nick Kurshev <nickols_k at mail.ru>)
e0db8cfb
DB
1091- added configure system (actually a small shell script)
1092- added MPEG audio layer 1/2/3 decoding using LGPL'ed mpglib by
de6d9b64 1093 Michael Hipp (temporary solution - waiting for integer only
e0db8cfb
DB
1094 decoder)
1095- fixed VIDIOCSYNC interrupt
1096- added Intel H.263 decoding support ('I263' AVI fourCC)
1097- added Real Video 1.0 decoding (needs further testing)
de6d9b64
FB
1098- simplified image formats again. Added PGM format (=grey
1099 pgm). Renamed old PGM to PGMYUV.
e0db8cfb
DB
1100- fixed msmpeg4 slice issues (tell me if you still find problems)
1101- fixed OpenDivX bugs with newer versions (added VOL header decoding)
1102- added support for MPlayer interface
1103- added macroblock skip optimization
1104- added MJPEG decoder
1105- added mmx/mmxext IDCT from libmpeg2
0c1e384c 1106- added pgmyuvpipe, ppm, and ppm_pipe formats (original patch by Celer
dd5cf2ad 1107 <celer at shell.scrypt.net>)
e0db8cfb
DB
1108- added pixel format conversion layer (e.g. for MJPEG or PPM)
1109- added deinterlacing option
1110- MPEG-1/2 fixes
dd5cf2ad
BF
1111- MPEG-4 vol header fixes (Jonathan Marsden <snmjbm at pacbell.net>)
1112- ARM optimizations (Lionel Ulmer <lionel.ulmer at free.fr>).
e0db8cfb
DB
1113- Windows porting of file converter
1114- added MJPEG raw format (input/ouput)
1115- added JPEG image format support (input/output)
de6d9b64 1116
0ca3e336 1117
de6d9b64
FB
1118version 0.4.4:
1119
1120- fixed some std header definitions (Bjorn Lindgren
dd5cf2ad 1121 <bjorn.e.lindgren at telia.com>).
e0db8cfb
DB
1122- added MPEG demuxer (MPEG-1 and 2 compatible).
1123- added ASF demuxer
1124- added prototype RM demuxer
1125- added AC3 decoding (done with libac3 by Aaron Holtzman)
1126- added decoding codec parameter guessing (.e.g. for MPEG, because the
1127 header does not include them)
1128- fixed header generation in MPEG-1, AVI and ASF muxer: wmplayer can now
1129 play them (only tested video)
1130- fixed H.263 white bug
1131- fixed phase rounding in img resample filter
1132- add MMX code for polyphase img resample filter
1133- added CPU autodetection
1134- added generic title/author/copyright/comment string handling (ASF and RM
1135 use them)
de6d9b64 1136- added SWF demux to extract MP3 track (not usable yet because no MP3
e0db8cfb
DB
1137 decoder)
1138- added fractional frame rate support
de6d9b64 1139- codecs are no longer searched by read_header() (should fix ffserver
e0db8cfb 1140 segfault)
de6d9b64 1141
0ca3e336 1142
de6d9b64
FB
1143version 0.4.3:
1144
dd5cf2ad 1145- BGR24 patch (initial patch by Jeroen Vreeken <pe1rxq at amsat.org>)
e0db8cfb
DB
1146- fixed raw yuv output
1147- added motion rounding support in MPEG-4
1148- fixed motion bug rounding in MSMPEG4
1149- added B-frame handling in video core
1150- added full MPEG-1 decoding support
1151- added partial (frame only) MPEG-2 support
de6d9b64 1152- changed the FOURCC code for H.263 to "U263" to be able to see the
e0db8cfb
DB
1153 +AVI/H.263 file with the UB Video H.263+ decoder. MPlayer works with
1154 this +codec ;) (JuanJo).
1155- Halfpel motion estimation after MB type selection (JuanJo)
1156- added pgm and .Y.U.V output format
de6d9b64
FB
1157- suppressed 'img:' protocol. Simply use: /tmp/test%d.[pgm|Y] as input or
1158 output.
1159- added pgmpipe I/O format (original patch from Martin Aumueller
dd5cf2ad 1160 <lists at reserv.at>, but changed completely since we use a format
e0db8cfb 1161 instead of a protocol)
de6d9b64 1162
0ca3e336 1163
de6d9b64
FB
1164version 0.4.2:
1165
e0db8cfb
DB
1166- added H.263/MPEG-4/MSMPEG4 decoding support. MPEG-4 decoding support
1167 (for OpenDivX) is almost complete: 8x8 MVs and rounding are
de6d9b64 1168 missing. MSMPEG4 support is complete.
e0db8cfb
DB
1169- added prototype MPEG-1 decoder. Only I- and P-frames handled yet (it
1170 can decode ffmpeg MPEGs :-)).
de6d9b64
FB
1171- added libavcodec API documentation (see apiexample.c).
1172- fixed image polyphase bug (the bottom of some images could be
e0db8cfb 1173 greenish)
de6d9b64 1174- added support for non clipped motion vectors (decoding only)
e0db8cfb
DB
1175 and image sizes non-multiple of 16
1176- added support for AC prediction (decoding only)
1177- added file overwrite confirmation (can be disabled with -y)
1178- added custom size picture to H.263 using H.263+ (Juanjo)
de6d9b64 1179
0ca3e336 1180
de6d9b64
FB
1181version 0.4.1:
1182
e0db8cfb
DB
1183- added MSMPEG4 (aka DivX) compatible encoder. Changed default codec
1184 of AVI and ASF to DIV3.
de6d9b64
FB
1185- added -me option to set motion estimation method
1186 (default=log). suppressed redundant -hq option.
1187- added options -acodec and -vcodec to force a given codec (useful for
e0db8cfb
DB
1188 AVI for example)
1189- fixed -an option
1190- improved dct_quantize speed
1191- factorized some motion estimation code
de6d9b64 1192
0ca3e336 1193
de6d9b64
FB
1194version 0.4.0:
1195
e0db8cfb
DB
1196- removing grab code from ffserver and moved it to ffmpeg. Added
1197 multistream support to ffmpeg.
de6d9b64 1198- added timeshifting support for live feeds (option ?date=xxx in the
e0db8cfb 1199 URL)
de6d9b64 1200- added high quality image resize code with polyphase filter (need
56cc85a0 1201 mmx/see optimization). Enable multiple image size support in ffserver.
e0db8cfb 1202- added multi live feed support in ffserver
de6d9b64
FB
1203- suppressed master feature from ffserver (it should be done with an
1204 external program which opens the .ffm url and writes it to another
e0db8cfb
DB
1205 ffserver)
1206- added preliminary support for video stream parsing (WAV and AVI half
1207 done). Added proper support for audio/video file conversion in
de6d9b64 1208 ffmpeg.
e0db8cfb
DB
1209- added preliminary support for video file sending from ffserver
1210- redesigning I/O subsystem: now using URL based input and output
1211 (see avio.h)
1212- added WAV format support
1213- added "tty user interface" to ffmpeg to stop grabbing gracefully
1214- added MMX/SSE optimizations to SAD (Sums of Absolutes Differences)
dd5cf2ad 1215 (Juan J. Sierralta P. a.k.a. "Juanjo" <juanjo at atmlab.utfsm.cl>)
e0db8cfb
DB
1216- added MMX DCT from mpeg2_movie 1.5 (Juanjo)
1217- added new motion estimation algorithms, log and phods (Juanjo)
1218- changed directories: libav for format handling, libavcodec for
1219 codecs
de6d9b64 1220
0ca3e336 1221
de6d9b64
FB
1222version 0.3.4:
1223
e0db8cfb 1224- added stereo in MPEG audio encoder
de6d9b64 1225
0ca3e336 1226
de6d9b64
FB
1227version 0.3.3:
1228
1229- added 'high quality' mode which use motion vectors. It can be used in
1230 real time at low resolution.
1231- fixed rounding problems which caused quality problems at high
e0db8cfb 1232 bitrates and large GOP size
de6d9b64 1233
0ca3e336 1234
de6d9b64
FB
1235version 0.3.2: small fixes
1236
e0db8cfb 1237- ASF fixes
de6d9b64
FB
1238- put_seek bug fix
1239
0ca3e336 1240
de6d9b64
FB
1241version 0.3.1: added avi/divx support
1242
e0db8cfb
DB
1243- added AVI support
1244- added MPEG-4 codec compatible with OpenDivX. It is based on the H.263 codec
de6d9b64
FB
1245- added sound for flash format (not tested)
1246
0ca3e336 1247
de6d9b64 1248version 0.3: initial public release