mirror of https://git.ffmpeg.org/ffmpeg.git
1289 lines
50 KiB
Plaintext
1289 lines
50 KiB
Plaintext
Entries are sorted chronologically from oldest to youngest within each release,
|
|
releases are sorted from youngest to oldest.
|
|
|
|
version 0.8.16:
|
|
|
|
- avcodec: Add more missing #includes for ff_get_buffer()
|
|
- ffv1dec: check that global parameters do not change in version 0/1 (CVE-2013-7020)
|
|
- arm: dsputil: fix overreads in put/avg_pixels functions
|
|
- arm: dsputil: prettify some conditional instructions in put_pixels macros
|
|
- arm/neon: dsputil: use correct size specifiers on vld1/vst1
|
|
- vp8: avoid race condition on segment map.
|
|
- nutdec: Remove unused and broken debug function stub
|
|
- h264_refs: Fix debug tprintf argument types
|
|
- swscale: Remove two bogus asserts
|
|
- elbg: Fix an assert
|
|
- mpegvideo: remove last_picture_ptr / h264 assert.
|
|
- parser: Don't use pc as context for av_dlog
|
|
- h264: Remove an assert on current_picture_ptr being null
|
|
- svq1enc: Set picture_structure correctly
|
|
- adpcmenc: Calculate the IMA_QT predictor without overflow
|
|
- ffmpeg: Clarify wording of ffmpeg --> avconv deprecation message
|
|
- doc: Fix syntax and logical errors in avconv stream combination example (libav/661)
|
|
|
|
version 0.8.15:
|
|
|
|
- avcodec: Introduce ff_get_buffer (CVE-2011-3935)
|
|
- configure: Check for -Werror parameters on clang
|
|
- lavf: Fix leftovers from the ff_get_buffer patch
|
|
|
|
version 0.8.14:
|
|
|
|
- vp3: Copy all 3 frames for thread updates (CVE-2011-3934)
|
|
- mpegts: Do not try to write a PMT larger than SECTION_SIZE (CVE-2014-2263)
|
|
- mpegts: Define the section length with a constant
|
|
- error_concealment: avoid using the picture if not fully setup (CVE-2013-0860)
|
|
- svq1: do not modify the input packet
|
|
- cdgraphics: do not return 0 from the decode function
|
|
- cdgraphics: switch to bytestream2 (CVE-2013-3674)
|
|
- huffyuvdec: check width size for yuv422p (CVE-2013-0848)
|
|
- mmvideo: check horizontal coordinate too (CVE-2013-3672)
|
|
- huffyuv: Check and propagate function return values (CVE-2013-0868)
|
|
- twinvq: fix out of bounds array access
|
|
- h264: slice-mt: check master context for valid current_picture_ptr
|
|
- h264: prevent theoretical infinite loop in SEI parsing (CVE-2011-3946)
|
|
- h264_sei: check SEI size
|
|
- pgssubdec: Check RLE size before copying (CVE-2013-0852)
|
|
- x86: Fix linking with some or all of yasm, mmx, optimizations disabled
|
|
- cmdutils: Conditionally compile libswscale-related bits
|
|
- video4linux2: Avoid a floating point exception
|
|
- vf_select: Drop a debug av_log with an unchecked double to enum conversion
|
|
- eamad: use the bytestream2 API instead of AV_RL (CVE-2013-0851)
|
|
|
|
version 0.8.13:
|
|
|
|
- lzo: Handle integer overflow
|
|
- sgidec: fix an incorrect backport
|
|
|
|
version 0.8.12:
|
|
|
|
- h264: set parameters from SPS whenever it changes
|
|
- alac: Limit max_samples_per_frame
|
|
- swscale: Fix an undefined behaviour
|
|
- apedec: do not buffer decoded samples over AVPackets (debian/744901)
|
|
- isom: lpcm in mov default to big endian
|
|
- movdec: handle 0x7fff langcode as macintosh per the specs
|
|
- avi: Improve non-interleaved detection (libav/666)
|
|
- h264: reset next_output_pic earlier in start_frame() (libav/672, debian/741240, ubuntu/1288206)
|
|
- tiffdec: use bytestream2 to simplify overread/overwrite protection
|
|
- bytestream: add bytestream2_copy_buffer() functions
|
|
- bytestream: add functions for accessing size of buffer
|
|
- movenc: allow override of "writing application" tag
|
|
- matroskaenc: allow override of "writing application" tag
|
|
- avfilter: Add missing emms_c when needed
|
|
- mpeg12: check scantable indices in all decode_block functions
|
|
- sgidec: fix buffer size check in expand_rle_row()
|
|
- adx: check that the offset is not negative
|
|
- mpegvideo: set reference/pict_type on generated reference frames
|
|
- h264: reset data partitioning at the beginning of each decode call
|
|
- h264: reset ref count if decoding the slice header fails
|
|
- h264: reset first_field if frame_start() fails for missing refs
|
|
- h264: limit allowed pred modes in ff_h264_check_intra_pred_mode() to 3
|
|
- h264: reject mismatching luma/chroma bit depths during sps parsing
|
|
- h264: check that execute_decode_slices() is not called too many times
|
|
- h264: do not use 422 functions for monochrome
|
|
- h264: reset data_partitioning if decoding the slice header for NAL_DPA fails
|
|
- h264_refs: make sure not to write over the bounds of the default ref list
|
|
- h264: check buffer size before accessing it
|
|
- configure: use utilities from /usr/xpg4/bin if it exists
|
|
- cmdutils: update copyright year to 2014.
|
|
- ituh263: reject b-frame with pp_time = 0
|
|
|
|
version 0.8.11:
|
|
|
|
- configure: Update freetype check to follow upstream
|
|
- drawtext: Drop pointless header
|
|
- configure: Support preprocessor macros as header names
|
|
- arm: hpeldsp: fix put_pixels8_y2_{,no_rnd_}armv6
|
|
- arm: hpeldsp: prevent overreads in armv6 asm
|
|
- lagarith: reallocate rgb_planes when needed
|
|
- lagarith: avoid infinite loop in lag_rac_refill()
|
|
- lagarith: pad RGB buffer by 1 byte.
|
|
- truemotion1: check the header size
|
|
- shorten: pad the internal bitstream buffer
|
|
- samplefmt: avoid integer overflow in av_samples_get_buffer_size()
|
|
- h264: Fix a typo from the previous commit
|
|
- h264: Lower bound check for slice offsets
|
|
- rpza: limit the number of blocks to the total remaining blocks in the frame
|
|
- Prepare for 0.8.11 Release
|
|
- lavf: make av_probe_input_buffer more robust
|
|
|
|
version 0.8.10:
|
|
|
|
- oggparseogm: check timing variables
|
|
- mathematics: remove asserts from av_rescale_rnd()
|
|
- vc1: Always reset numref when parsing a new frame header.
|
|
- h264: reset num_reorder_frames if it is invalid
|
|
- h264: check that an IDR NAL only contains I slices
|
|
- mov: Free an earlier allocated array if allocating a new one
|
|
- segafilm: fix leaks if reading the header fails
|
|
- h264_cavlc: check the size of the intra PCM data.
|
|
- cavs: Check for negative cbp
|
|
- avi: DV in AVI must be considered single stream
|
|
- avutil: use align == 0 for default alignment in audio sample buffer functions
|
|
- flashsv: Check diff_start diff_height values
|
|
- dsputil/pngdsp: fix signed/unsigned type in end comparison
|
|
- vqavideo: check chunk sizes before reading chunks
|
|
- avi: directly resync on DV in AVI read failure
|
|
- get_bits: change the failure condition in init_get_bits
|
|
- twinvq: Cope with gcc-4.8.2 miscompilation
|
|
- pthread: Avoid spurious wakeups
|
|
- pthread: Fix deadlock during thread initialization
|
|
- mpegvideo: Initialize chroma_*_shift and codec_tag even if the size is 0
|
|
- vc1dec: Don't decode slices when the latest slice header failed to decode
|
|
- vc1dec: Make sure last_picture is initialized in vc1_decode_skip_blocks
|
|
- r3d: Add more input value validation
|
|
- fraps: Make the input buffer size checks more strict
|
|
- svq3: Avoid a division by zero
|
|
- rmdec: Validate the fps value
|
|
- twinvqdec: Check the ibps parameter separately
|
|
- asfdec: Check the return value of asf_read_stream_properties
|
|
- mxfdec: set audio timebase to 1/samplerate
|
|
- pcx: Check the packet size before assuming it fits a palette
|
|
- rpza: Fix a buffer size check
|
|
- xxan: Disallow odd width
|
|
- xan: Only read within the data that actually was initialized
|
|
- xan: Use bytestream2 to limit reading to within the buffer
|
|
- pcx: Consume the whole packet if giving up due to missing palette
|
|
- pngdec: Stop trying to decode once inflate returns Z_STREAM_END
|
|
- mov: Make sure the read sample count is nonnegative
|
|
- bfi: Add some very basic sanity checks for input packet sizes
|
|
- bfi: Avoid divisions by zero
|
|
- electronicarts: Add more sanity checking for the number of channels
|
|
- riffdec: Add sanity checks for the sample rate
|
|
- mvi: Add sanity checking for the audio frame size
|
|
- xwma: Avoid division by zero
|
|
- avidec: Make sure a packet is large enough before reading its data
|
|
- vqf: Make sure the bitrate is in the valid range
|
|
- vqf: Make sure sample_rate is set to a valid value
|
|
- vc1dec: Undo mpegvideo initialization if unable to allocate tables
|
|
- vc1dec: Fix leaks in ff_vc1_decode_init_alloc_tables on errors
|
|
- wnv1: Make sure the input packet is large enough
|
|
- dca: Validate the lfe parameter
|
|
- rl2: Avoid a division by zero
|
|
- wtv: Add more sanity checks for a length read from the file
|
|
- segafilm: Validate the number of audio channels
|
|
- qpeg: Add checks for running out of rows in qpeg_decode_inter
|
|
- mpegaudiodec: Validate that the number of channels fits at the given offset
|
|
- asv1: Verify the amount of extradata
|
|
- idroqdec: Make sure a video stream has been allocated before returning packets
|
|
- rv10: Validate the dimensions set from the container
|
|
- xmv: Add more sanity checks for parameters read from the bitstream
|
|
- ffv1: Make sure at least one slice context is initialized
|
|
- truemotion2: Use av_freep properly in an error path
|
|
- eacmv: Make sure a reference frame exists before referencing it
|
|
- mpeg4videodec: Check the width/height in mpeg4_decode_sprite_trajectory
|
|
- ivi_common: Make sure color planes have been initialized
|
|
- oggparseogm: Convert to use bytestream2
|
|
- rv34: Check the return value from ff_rv34_decode_init
|
|
- matroskadec: Verify realaudio codec parameters
|
|
- mace: Make sure that the channel count is set to a valid value
|
|
- svq3: Check for any negative return value from ff_h264_check_intra_pred_mode
|
|
- vp3: Check the framerate for validity
|
|
- cavsdec: Make sure a sequence header has been decoded before decoding pictures
|
|
- sierravmd: Do sanity checking of frame sizes
|
|
- omadec: Properly check lengths before incrementing the position
|
|
- mpc8: Make sure the first stream exists before parsing the seek table
|
|
- mpc8: Check the seek table size parsed from the bitstream
|
|
- zmbvdec: Check the buffer size for uncompressed data
|
|
- ape: Don't allow the seektable to be omitted
|
|
- shorten: Break out of loop looking for fmt chunk if none is found
|
|
- shorten: Use a checked bytestream reader for the wave header
|
|
- smacker: Make sure we don't fill in huffman codes out of range
|
|
- smacker: Avoid integer overflow when allocating packets
|
|
- smacker: Don't return packets in unallocated streams
|
|
- dsicin: Add some basic sanity checks for fields read from the file
|
|
- roqvideodec: check dimensions validity
|
|
- qdm2: check array index before use, fix out of array accesses
|
|
- alsdec: check block length
|
|
|
|
version 0.8.9:
|
|
|
|
- x86: fft: Remove 3DNow! optimizations, they break FATE
|
|
- x86: ac3dsp: Drop mmx variant of ac3_max_msb_abs_int16
|
|
- aac: Check init_get_bits return value
|
|
- aac: return meaningful errors
|
|
- dsicinav: K&R formatting cosmetics
|
|
- mov: Seek back if overreading an individual atom
|
|
- vcr1: add sanity checks
|
|
- pictordec: pass correct context to avpriv_request_sample
|
|
- dsicinav: Clip the source size to the expected maximum
|
|
- alsdec: Clean up error paths
|
|
- ogg: Fix potential infinite discard loop
|
|
- nuv: check rtjpeg_decode_frame_yuv420 return value
|
|
- nuv: Reset the frame on resize
|
|
- nuv: Use av_fast_realloc
|
|
- nuv: return meaningful error codes.
|
|
- nuv: Pad the lzo outbuf
|
|
- nuv: Do not ignore lzo decompression failures
|
|
- oma: correctly mark and decrypt partial packets
|
|
- oma: check geob tag boundary
|
|
- oma: refactor seek function
|
|
- 8bps: Bound-check the input buffer
|
|
- rtmp: Do not misuse memcmp
|
|
- rtmp: rename data_size to size
|
|
- lavc: set the default rc_initial_buffer_occupancy (libav/222, ubuntu/1023408)
|
|
- 4xm: Reject not a multiple of 16 dimension
|
|
- 4xm: do not overread the prestream buffer
|
|
- 4xm: validate the buffer size before parsing it
|
|
- indeo: Do not reference mismatched tiles
|
|
- indeo: Sanitize ff_ivi_init_planes fail paths
|
|
- indeo: Bound-check before applying motion compensation
|
|
- indeo: Bound-check before applying transform
|
|
- indeo: reject negative array indexes
|
|
- indeo: Cosmetic formatting
|
|
- indeo: Refactor ff_ivi_init_tiles and ivi_decode_blocks
|
|
- indeo: Refactor ff_ivi_dec_huff_desc
|
|
- lavf: fix the comparison in an overflow check
|
|
- dv: Add a guard to not overread the ppcm array
|
|
- mpegvideo: Avoid 32-bit wrapping of linesize multiplications
|
|
- mjpegb: Detect changing number of planes in interlaced video
|
|
- matroskadec: Check that .lang was allocated and set before reading it
|
|
- ape demuxer: check for EOF in potentially long loops
|
|
- lavf: avoid integer overflow when estimating bitrate
|
|
- pictordec: break out of both decoding loops when y drops below 0
|
|
- ac3: Return proper error codes
|
|
- ac3: Clean up the error paths
|
|
- ac3: Do not clash with normal AVERROR
|
|
- dxa: Make sure the reference frame exists
|
|
- h261: check the mtype index
|
|
- segafilm: Error out on impossible packet size
|
|
- ogg: Always alloc the private context in vorbis_header
|
|
- vc1: check mb_height validity.
|
|
- vc1: check the source buffer in vc1_mc functions
|
|
- bink: Bound check the quantization matrix.
|
|
- xl: Make sure the width is valid
|
|
- alsdec: Fix the clipping range
|
|
- dsicinav: Bound-check the source buffer when needed
|
|
- mov: Do not allow updating the time scale after it has been set
|
|
- ac3dec: Don't consume more data than the actual input packet size
|
|
- indeo: Reject impossible FRAMETYPE_NULL
|
|
- indeo5: return proper error codes
|
|
- indeo4: Validate scantable dimension
|
|
- indeo4: Check the quantization matrix index
|
|
- indeo4: Do not access missing reference MV
|
|
- adpcm: Unbreak ima-dk4
|
|
- ac3dec: validate channel output mode against channel count
|
|
- dca: Respect the current limits in the downmixing capabilities
|
|
- dca: Error out on missing DSYNC
|
|
- pcm: always use codec->id instead of codec_id
|
|
- mlpdec: Do not set invalid context in read_restart_header
|
|
- pcx: Do not overread source buffer in pcx_rle_decode
|
|
- wmavoice: conceal clearly corrupted blocks
|
|
- iff: Do not read over the source buffer
|
|
- qdm2: Conceal broken samples
|
|
- qdm2: refactor joined stereo support
|
|
- adpcm: Write the correct number of samples for ima-dk4
|
|
- imc: Catch a division by zero
|
|
- atrac3: Error on impossible encoding/channel combinations
|
|
- atrac3: set the getbits context the right buffer_end
|
|
- atrac3: fix error handling
|
|
- qdm2: check and reset dithering index per channel
|
|
- westwood_vqa: do not free extradata on error in read_header
|
|
- vqavideo: check the version
|
|
- rmdec: Use the AVIOContext given as parameter in rm_read_metadata()
|
|
- avio: Handle AVERROR_EOF in the same way as the return value 0
|
|
- wtv: Mark attachment with a negative stream id
|
|
- avidec: Let the inner dv demuxer take care of discarding
|
|
- swfdec: do better validation of tag length
|
|
|
|
|
|
version 0.8.8:
|
|
|
|
- kmvc: Clip pixel position to valid range
|
|
- kmvc: use fixed sized arrays in the context
|
|
- indeo: use a typedef for the mc function pointer
|
|
- lavc: check for overflow in init_get_bits
|
|
- mjpegdec: properly report unsupported disabled features
|
|
- jpegls: return meaningful errors
|
|
- jpegls: factorize return paths
|
|
- jpegls: check the scan offset
|
|
- wavpack: validate samples size parsed in wavpack_decode_block
|
|
- ljpeg: use the correct number of components in yuv
|
|
- mjpeg: Validate sampling factors
|
|
- mjpegdec: validate parameters in mjpeg_decode_scan_progressive_ac
|
|
- wavpack: check packet size early
|
|
- wavpack: return meaningful errors
|
|
- apetag: use int64_t for filesize
|
|
- tiff: do not overread the source buffer
|
|
- Prepare for 0.8.8 Release
|
|
- smacker: fix an off by one in huff.length computation
|
|
- smacker: check the return value of smacker_decode_tree
|
|
- smacker: pad the extradata allocation
|
|
- smacker: check frame size validity
|
|
- vmdav: convert to bytestream2
|
|
- 4xm: don't rely on get_buffer() initializing the frame.
|
|
- 4xm: check the return value of read_huffman_tables().
|
|
- 4xm: use the correct logging context
|
|
- 4xm: reject frames not compatible with the declared version
|
|
- 4xm: check bitstream_size boundary before using it
|
|
- 4xm: do not overread the source buffer in decode_p_block
|
|
|
|
|
|
version 0.8.7:
|
|
|
|
- avfiltergraph: check for sws opts being non-NULL before using them
|
|
- bmv: check for len being valid in bmv_decode_frame()
|
|
- dfa: check for invalid access in decode_wdlt()
|
|
- indeo3: check motion vectors
|
|
- indeo3: fix data size check
|
|
- indeo3: switch parsing the header to bytestream2
|
|
- lavf: make sure stream probe data gets freed.
|
|
- oggdec: fix faulty cleanup prototype
|
|
- oma: Validate sample rates
|
|
- qdm2: check that the FFT size is a power of 2
|
|
- rv10: check that extradata is large enough
|
|
- xmv: check audio track parameters validity
|
|
- xmv: do not leak memory in the error paths in xmv_read_header()
|
|
- aac: check the maximum number of channels
|
|
- indeo3: fix off by one in MV validity check, Bug #503
|
|
- id3v2: check for end of file while unescaping tags
|
|
- wav: Always seek to an even offset, Bug #500, LP: #1174737
|
|
- proresdec: support mixed interlaced/non-interlaced content
|
|
|
|
version 0.8.6:
|
|
|
|
- Build system fixes: Fix Altivec detection (Debian Bug#701710) and fix
|
|
CAF demuxer dependencies
|
|
- Various minor documentation fixes
|
|
- atrac3: avoid oversized shifting in decode_bytes()
|
|
- dsputil: fix invalid array indexing
|
|
- flacdec: simplify bounds checking in flac_probe() to avoid undefined behavior.
|
|
- h264: check for luma and chroma bit depth being equal (CVE-2013-2277)
|
|
- iff: validate CMAP palette size (CVE-2013-2495)
|
|
- indeo3: initialise pixel planes on allocation
|
|
- ivi_common: do not call MC for intra frames when dc_transform is unset
|
|
- lavf: fix arithmetic overflows in avformat_seek_file()
|
|
- lzo: fix overflow checking in copy_backptr()
|
|
- matroskadec: request a read buffer for the wav header
|
|
- mp3: exit on parsing error in mp_decode_frame
|
|
- msrledec: convert to bytestream2 API and add proper bounds checking (CVE-2013-2496)
|
|
- oggdec: make sure the private parse data is cleaned up
|
|
- parser: fix large overreads
|
|
- png: use av_mallocz_array() for the zlib zalloc function, avoids accessing uninitialized memory
|
|
- pthread: set the frame properties from the thread context, not user
|
|
- roqvideodec: fix a potential infinite loop in roqvideo_decode_frame()
|
|
- update year to 2013
|
|
- various potentially security relevant fixes to the shorten decoder
|
|
- vmdaudio: fix invalid reads when packet size is not a multiple of chunk size
|
|
- vorbisdec: Error on bark_map_size equal to 0 (CVE-2013-0894)
|
|
- wmadec: require block_align to be set
|
|
- wmaprodec: require block_align to be set, avoids infinite loop
|
|
- wmaprodec: return an error, not 0, when the input is too small
|
|
- xxan: fix invalid memory access in xan_decode_frame_type0()
|
|
|
|
|
|
version 0.8.5:
|
|
|
|
- Several bugs and crashes have been fixed in the following codecs:
|
|
Indeo 4 (CVE-2012-2791), VP5/VP6 (CVE-2012-2783), Indeo 3 (CVE-2012-2804),
|
|
MPEG-1/2 (CVE-2012-2803), MP3 (CVE-2012-2797), AAC (CVE-2012-5144),
|
|
AC-3 (CVE-2012-2802), AVS (CVE-2012-2801), DFA (CVE-2012-2798)
|
|
|
|
- backported hardening patches for h264 and svq3
|
|
|
|
- smaller bug fixes in id3v2 (Bug 395), RTSP, option handling, ALAC,
|
|
Flash Screen Video
|
|
|
|
- unconditionally enable PIC on PowerPC
|
|
|
|
- x86: Require an assembler able to cope with AVX instructions
|
|
|
|
- fix a serious memory leak on broken Ogg files
|
|
|
|
|
|
version 0.8.4:
|
|
|
|
- Several bugs and crashes have been fixed in the following codecs:
|
|
h264 (Bug 118), vc1dec (CVE-2012-2796), sipr, bmpdec (bug 367), alsdec
|
|
(CVE-2012-2775), rv34/rv40 (CVE-2012-2772), indeo3/indeo4
|
|
(CVE-2012-2776, CVE-2012-2779, CVE-2012-2787, CVE-2012-2794,
|
|
CVE-2012-2800), vorbisenc, vorbisdec (Bug 277), snow, ac3dec
|
|
(CVE-2012-2802), avsdec (CVE-2012-2801), dfa (CVE-2012-2786,
|
|
CVE-2012-2798), lagrith (CVE-2012-2793), wmaprodec (CVE-2012-2789 &
|
|
Bug 327), avidec (CVE-2012-2788, CVE-2012-2790), cavsdec
|
|
(CVE-2012-2777, CVE-2012-2784), wav (Bug 379), yuff4mpeg (Bug 373),
|
|
mpegaudio, tiffenc, smacker (Bug 265).
|
|
|
|
- smaller bug fixes in avconv (Bug 352)
|
|
|
|
- fix lt() and lte() in function evaluator
|
|
|
|
- fix segfault in avformat_open_input()
|
|
|
|
- fix segfault in golomb decoder (bug 310)
|
|
|
|
- fix segfault (double free) in libavfilter
|
|
|
|
- convert dfa decoder to bytestream2 API to protect from overreads
|
|
|
|
- bugfix in vf_pad/scale filter (Bug 203 & 245)
|
|
|
|
- lavc: remove stats_out and stats_in from the options table. (Bug 380)
|
|
|
|
|
|
version 0.8.3:
|
|
|
|
- Several bugs and crashes have been fixed in the following codecs: PNG,
|
|
Electronic Arts TQI, H.264 (CVE-2012-0851) and H.263 (CVE-2011-3937)
|
|
|
|
|
|
version 0.8.2:
|
|
|
|
- Several bugs and crashes have been fixed in the following codecs: AAC,
|
|
APE, H.263, H.264, Indeo 4, Mimic, MJPEG, Motion Pixels Video, RAW,
|
|
TTA, VC1, VQA, WMA Voice, vqavideo (CVE-2012-0947).
|
|
|
|
- Several bugs and crashes have been fixed in the following formats:
|
|
ASF, ID3v2, MOV, xWMA
|
|
|
|
- This release additionally updates the following codecs to the
|
|
bytestream2 API, and therefore benefit from additional overflow
|
|
checks: truemotion2, utvideo, vqavideo
|
|
|
|
|
|
version 0.8.1:
|
|
|
|
- Several bugs and crashes have been fixed in the following codecs: AAC,
|
|
AC-3, ADPCM, AMR (both NB and WB), ATRAC3, CAVC, Cook, camstudio, DCA,
|
|
DPCM, DSI CIN, DV, EA TGQ, FLAC, fraps, G.722 (both encoder and
|
|
decoder), H.264, huvffyuv, BB JV decoder, Indeo 3, KGV1, LCL, the
|
|
libx264 wrapper, MJPEG, mp3on4, Musepack, MPEG1/2, PNG, QDM2, Qt RLE,
|
|
ROQ, RV10, RV30/RV34/RV40, shorten, smacker, subrip, SVQ3, TIFF,
|
|
Truemotion2, TTA, VC1, VMware Screen codec, Vorbis, VP5, VP6, WMA,
|
|
Westwood SNDx, XXAN.
|
|
|
|
- This release additionally updates the following codecs to the
|
|
bytestream2 API, and therefore benefit from additional overflow
|
|
checks: XXAN, ALG MM, TQG, SMC, Qt SMC, ROQ, PNG
|
|
|
|
- Several bugs and crashes have been fixed in the following formats:
|
|
AIFF, ASF, DV, Matroska, NSV, MOV, MPEG-TS, Smacker, Sony OpenMG, RM,
|
|
SWF.
|
|
|
|
- Libswscale has an potential overflow for large image size fixed.
|
|
|
|
- The following APIs have been added:
|
|
|
|
avcodec_is_open()
|
|
avformat_get_riff_video_tags()
|
|
avformat_get_riff_audio_tags()
|
|
|
|
Please see the file doc/APIchanges and the Doxygen documentation for
|
|
further information.
|
|
|
|
|
|
version 0.8:
|
|
|
|
- GSM audio parser
|
|
- SMJPEG muxer
|
|
|
|
|
|
version 0.8_beta2:
|
|
|
|
- Automatic thread count based on detection number of (available) CPU cores
|
|
- Deprecate libpostproc. If desired, the switch --enable-postproc will
|
|
enable it but it may be removed in a later Libav release.
|
|
- rv34: frame-level multi-threading
|
|
- optimized iMDCT transform on x86 using SSE for for mpegaudiodec
|
|
|
|
|
|
version 0.8_beta1:
|
|
|
|
- BWF muxer
|
|
- Flash Screen Video 2 decoder
|
|
- ffplay/ffprobe/ffserver renamed to avplay/avprobe/avserver
|
|
- ffmpeg deprecated, added avconv, which is almost the same for now, except
|
|
for a few incompatible changes in the options, which will hopefully make them
|
|
easier to use. The changes are:
|
|
* The options placement is now strictly enforced! While in theory the
|
|
options for ffmpeg should be given in [input options] -i INPUT [output
|
|
options] OUTPUT order, in practice it was possible to give output options
|
|
before the -i and it mostly worked. Except when it didn't - the behavior was
|
|
a bit inconsistent. In avconv, it is not possible to mix input and output
|
|
options. All non-global options are reset after an input or output filename.
|
|
* All per-file options are now truly per-file - they apply only to the next
|
|
input or output file and specifying different values for different files
|
|
will now work properly (notably -ss and -t options).
|
|
* All per-stream options are now truly per-stream - it is possible to
|
|
specify which stream(s) should a given option apply to. See the Stream
|
|
specifiers section in the avconv manual for details.
|
|
* In ffmpeg some options (like -newvideo/-newaudio/...) are irregular in the
|
|
sense that they're specified after the output filename instead of before,
|
|
like all other options. In avconv this irregularity is removed, all options
|
|
apply to the next input or output file.
|
|
* -newvideo/-newaudio/-newsubtitle options were removed. Not only were they
|
|
irregular and highly confusing, they were also redundant. In avconv the -map
|
|
option will create new streams in the output file and map input streams to
|
|
them. E.g. avconv -i INPUT -map 0 OUTPUT will create an output stream for
|
|
each stream in the first input file.
|
|
* The -map option now has slightly different and more powerful syntax:
|
|
+ Colons (':') are used to separate file index/stream type/stream index
|
|
instead of dots. Comma (',') is used to separate the sync stream instead
|
|
of colon.. This is done for consistency with other options.
|
|
+ It's possible to specify stream type. E.g. -map 0:a:2 creates an
|
|
output stream from the third input audio stream.
|
|
+ Omitting the stream index now maps all the streams of the given type,
|
|
not just the first. E.g. -map 0:s creates output streams for all the
|
|
subtitle streams in the first input file.
|
|
+ Since -map can now match multiple streams, negative mappings were
|
|
introduced. Negative mappings disable some streams from an already
|
|
defined map. E.g. '-map 0 -map -0:a:1' means 'create output streams for
|
|
all the stream in the first input file, except for the second audio
|
|
stream'.
|
|
* There is a new option -c (or -codec) for choosing the decoder/encoder to
|
|
use, which allows to precisely specify target stream(s) consistently with
|
|
other options. E.g. -c:v lib264 sets the codec for all video streams, -c:a:0
|
|
libvorbis sets the codec for the first audio stream and -c copy copies all
|
|
the streams without reencoding. Old -vcodec/-acodec/-scodec options are now
|
|
aliases to -c:v/a/s
|
|
* It is now possible to precisely specify which stream should an AVOption
|
|
apply to. E.g. -b:v:0 2M sets the bitrate for the first video stream, while
|
|
-b:a 128k sets the bitrate for all audio streams. Note that the old -ab 128k
|
|
syntax is deprecated and will stop working soon.
|
|
* -map_chapters now takes only an input file index and applies to the next
|
|
output file. This is consistent with how all the other options work.
|
|
* -map_metadata now takes only an input metadata specifier and applies to
|
|
the next output file. Output metadata specifier is now part of the option
|
|
name, similarly to the AVOptions/map/codec feature above.
|
|
* -metadata can now be used to set metadata on streams and chapters, e.g.
|
|
-metadata:s:1 language=eng sets the language of the first stream to 'eng'.
|
|
This made -vlang/-alang/-slang options redundant, so they were removed.
|
|
* -qscale option now uses stream specifiers and applies to all streams, not
|
|
just video. I.e. plain -qscale number would now apply to all streams. To get
|
|
the old behavior, use -qscale:v. Also there is now a shortcut -q for -qscale
|
|
and -aq is now an alias for -q:a.
|
|
* -vbsf/-absf/-sbsf options were removed and replaced by a -bsf option which
|
|
uses stream specifiers. Use -bsf:v/a/s instead of the old options.
|
|
* -itsscale option now uses stream specifiers, so its argument is only the
|
|
scale parameter.
|
|
* -intra option was removed, use -g 0 for the same effect.
|
|
* -psnr option was removed, use -flags +psnr for the same effect.
|
|
* -vf option is now an alias to the new -filter option, which uses stream specifiers.
|
|
* -vframes/-aframes/-dframes options are now aliases to the new -frames option.
|
|
* -vtag/-atag/-stag options are now aliases to the new -tag option.
|
|
- XMV demuxer
|
|
- Windows Media Image decoder
|
|
- LATM muxer/demuxer
|
|
- showinfo filter
|
|
- split filter
|
|
- libcdio-paranoia input device for audio CD grabbing
|
|
- select filter
|
|
- Apple ProRes decoder
|
|
- CELT in Ogg demuxing
|
|
- VC-1 interlaced decoding
|
|
- lut, lutrgb, and lutyuv filters
|
|
- boxblur filter
|
|
- Ut Video decoder
|
|
- Speex encoding via libspeex
|
|
- 4:2:2 H.264 decoding support
|
|
- 4:2:2 and 4:4:4 H.264 encoding with libx264
|
|
- Pulseaudio input device
|
|
- replacement Indeo 3 decoder
|
|
- TLS/SSL and HTTPS protocol support
|
|
- AVOptions API rewritten and documented
|
|
- most of CODEC_FLAG2_*, some CODEC_FLAG_* and many codec-specific fields in
|
|
AVCodecContext deprecated. Codec private options should be used instead.
|
|
- Properly working defaults in libx264 wrapper, support for native presets.
|
|
- Encrypted OMA files support
|
|
- Discworld II BMV decoding support
|
|
- VBLE Decoder
|
|
- OS X Video Decoder Acceleration (VDA) support
|
|
- CRI ADX audio format muxer and demuxer
|
|
- Playstation Portable PMP format demuxer
|
|
- PCM format support in OMA demuxer
|
|
- CLJR encoder
|
|
- Dxtory capture format decoder
|
|
- v410 QuickTime uncompressed 4:4:4 10-bit encoder and decoder
|
|
- OpenMG Audio muxer
|
|
- Simple segmenting muxer
|
|
- Indeo 4 decoder
|
|
- SMJPEG demuxer
|
|
|
|
|
|
version 0.7:
|
|
|
|
- E-AC-3 audio encoder
|
|
- ac3enc: add channel coupling support
|
|
- floating-point sample format support for (E-)AC-3, DCA, AAC, Vorbis decoders
|
|
- H.264/MPEG frame-level multithreading
|
|
- av_metadata_* functions renamed to av_dict_* and moved to libavutil
|
|
- 4:4:4 H.264 decoding support
|
|
- 10-bit H.264 optimizations for x86
|
|
- bump libswscale for recently reported ABI break
|
|
|
|
|
|
version 0.7_beta2:
|
|
|
|
- VP8 frame-level multithreading
|
|
- NEON optimizations for VP8
|
|
- removed a lot of deprecated API cruft
|
|
- FFT and IMDCT optimizations for AVX (Sandy Bridge) processors
|
|
- DPX image encoder
|
|
- SMPTE 302M AES3 audio decoder
|
|
- ffmpeg no longer quits after the 'q' key is pressed; use 'ctrl+c' instead
|
|
- 9bit and 10bit per sample support in the H.264 decoder
|
|
|
|
|
|
version 0.7_beta1:
|
|
|
|
- WebM support in Matroska de/muxer
|
|
- low overhead Ogg muxing
|
|
- MMS-TCP support
|
|
- VP8 de/encoding via libvpx
|
|
- Demuxer for On2's IVF format
|
|
- Pictor/PC Paint decoder
|
|
- HE-AAC v2 decoder
|
|
- libfaad2 wrapper removed
|
|
- DTS-ES extension (XCh) decoding support
|
|
- native VP8 decoder
|
|
- RTSP tunneling over HTTP
|
|
- RTP depacketization of SVQ3
|
|
- -strict inofficial replaced by -strict unofficial
|
|
- ffplay -exitonkeydown and -exitonmousedown options added
|
|
- native GSM / GSM MS decoder
|
|
- RTP depacketization of QDM2
|
|
- ANSI/ASCII art playback system
|
|
- Lego Mindstorms RSO de/muxer
|
|
- SubRip subtitle file muxer and demuxer
|
|
- Chinese AVS encoding via libxavs
|
|
- ffprobe -show_packets option added
|
|
- RTP packetization of Theora and Vorbis
|
|
- RTP depacketization of MP4A-LATM
|
|
- RTP packetization and depacketization of VP8
|
|
- hflip filter
|
|
- Apple HTTP Live Streaming demuxer
|
|
- a64 codec
|
|
- MMS-HTTP support
|
|
- G.722 ADPCM audio encoder/decoder
|
|
- R10k video decoder
|
|
- ocv_smooth filter
|
|
- frei0r wrapper filter
|
|
- change crop filter syntax to width:height:x:y
|
|
- make the crop filter accept parametric expressions
|
|
- make ffprobe accept AVFormatContext options
|
|
- yadif filter
|
|
- blackframe filter
|
|
- Demuxer for Leitch/Harris' VR native stream format (LXF)
|
|
- RTP depacketization of the X-QT QuickTime format
|
|
- SAP (Session Announcement Protocol, RFC 2974) muxer and demuxer
|
|
- cropdetect filter
|
|
- ffmpeg -crop* options removed
|
|
- transpose filter added
|
|
- ffmpeg -force_key_frames option added
|
|
- demuxer for receiving raw rtp:// URLs without an SDP description
|
|
- single stream LATM/LOAS decoder
|
|
- setpts filter added
|
|
- Win64 support for optimized x86 assembly functions
|
|
- MJPEG/AVI1 to JPEG/JFIF bitstream filter
|
|
- ASS subtitle encoder and decoder
|
|
- IEC 61937 encapsulation for E-AC-3, TrueHD, DTS-HD (for HDMI passthrough)
|
|
- overlay filter added
|
|
- rename aspect filter to setdar, and pixelaspect to setsar
|
|
- IEC 61937 demuxer
|
|
- Mobotix .mxg demuxer
|
|
- frei0r source added
|
|
- hqdn3d filter added
|
|
- RTP depacketization of QCELP
|
|
- FLAC parser added
|
|
- gradfun filter added
|
|
- AMR-WB decoder
|
|
- replace the ocv_smooth filter with a more generic ocv filter
|
|
- Windows Televison (WTV) demuxer
|
|
- FFmpeg metadata format muxer and demuxer
|
|
- SubRip (srt) subtitle decoder
|
|
- floating-point AC-3 encoder added
|
|
- Lagarith decoder
|
|
- ffmpeg -copytb option added
|
|
- IVF muxer added
|
|
- Wing Commander IV movies decoder added
|
|
- movie source added
|
|
- Bink version 'b' audio and video decoder
|
|
- Bitmap Brothers JV playback system
|
|
- Apple HTTP Live Streaming protocol handler
|
|
- sndio support for playback and record
|
|
- Linux framebuffer input device added
|
|
- Chronomaster DFA decoder
|
|
- Mobotix MxPEG decoder
|
|
- AAC encoding via libvo-aacenc
|
|
- AMR-WB encoding via libvo-amrwbenc
|
|
- xWMA demuxer
|
|
- fieldorder video filter added
|
|
|
|
|
|
version 0.6:
|
|
|
|
- PB-frame decoding for H.263
|
|
- deprecated vhook subsystem removed
|
|
- deprecated old scaler removed
|
|
- VQF demuxer
|
|
- Alpha channel scaler
|
|
- PCX encoder
|
|
- RTP packetization of H.263
|
|
- RTP packetization of AMR
|
|
- RTP depacketization of Vorbis
|
|
- CorePNG decoding support
|
|
- Cook multichannel decoding support
|
|
- introduced avlanguage helpers in libavformat
|
|
- 8088flex TMV demuxer and decoder
|
|
- per-stream language-tags extraction in asfdec
|
|
- V210 decoder and encoder
|
|
- remaining GPL parts in AC-3 decoder converted to LGPL
|
|
- QCP demuxer
|
|
- SoX native format muxer and demuxer
|
|
- AMR-NB decoding/encoding, AMR-WB decoding via OpenCORE libraries
|
|
- DPX image decoder
|
|
- Electronic Arts Madcow decoder
|
|
- DivX (XSUB) subtitle encoder
|
|
- nonfree libamr support for AMR-NB/WB decoding/encoding removed
|
|
- experimental AAC encoder
|
|
- RTP depacketization of ASF and RTSP from WMS servers
|
|
- RTMP support in libavformat
|
|
- noX handling for OPT_BOOL X options
|
|
- Wave64 demuxer
|
|
- IEC-61937 compatible Muxer
|
|
- TwinVQ decoder
|
|
- Bluray (PGS) subtitle decoder
|
|
- LPCM support in MPEG-TS (HDMV RID as found on Blu-ray disks)
|
|
- WMA Pro decoder
|
|
- Core Audio Format demuxer
|
|
- Atrac1 decoder
|
|
- MD STUDIO audio demuxer
|
|
- RF64 support in WAV demuxer
|
|
- MPEG-4 Audio Lossless Coding (ALS) decoder
|
|
- -formats option split into -formats, -codecs, -bsfs, and -protocols
|
|
- IV8 demuxer
|
|
- CDG demuxer and decoder
|
|
- R210 decoder
|
|
- Auravision Aura 1 and 2 decoders
|
|
- Deluxe Paint Animation playback system
|
|
- SIPR decoder
|
|
- Adobe Filmstrip muxer and demuxer
|
|
- RTP depacketization of H.263
|
|
- Bink demuxer and audio/video decoders
|
|
- enable symbol versioning by default for linkers that support it
|
|
- IFF PBM/ILBM bitmap decoder
|
|
- concat protocol
|
|
- Indeo 5 decoder
|
|
- RTP depacketization of AMR
|
|
- WMA Voice decoder
|
|
- ffprobe tool
|
|
- AMR-NB decoder
|
|
- RTSP muxer
|
|
- HE-AAC v1 decoder
|
|
- Kega Game Video (KGV1) decoder
|
|
- VorbisComment writing for FLAC, Ogg FLAC and Ogg Speex files
|
|
- RTP depacketization of Theora
|
|
- HTTP Digest authentication
|
|
- RTMP/RTMPT/RTMPS/RTMPE/RTMPTE protocol support via librtmp
|
|
- Psygnosis YOP demuxer and video decoder
|
|
- spectral extension support in the E-AC-3 decoder
|
|
- unsharp video filter
|
|
- RTP hinting in the mov/3gp/mp4 muxer
|
|
- Dirac in Ogg demuxing
|
|
- seek to keyframes in Ogg
|
|
- 4:2:2 and 4:4:4 Theora decoding
|
|
- 35% faster VP3/Theora decoding
|
|
- faster AAC decoding
|
|
- faster H.264 decoding
|
|
- RealAudio 1.0 (14.4K) encoder
|
|
|
|
|
|
version 0.5:
|
|
|
|
- DV50 AKA DVCPRO50 encoder, decoder, muxer and demuxer
|
|
- TechSmith Camtasia (TSCC) video decoder
|
|
- IBM Ultimotion (ULTI) video decoder
|
|
- Sierra Online audio file demuxer and decoder
|
|
- Apple QuickDraw (qdrw) video decoder
|
|
- Creative ADPCM audio decoder (16 bits as well as 8 bits schemes)
|
|
- Electronic Arts Multimedia (WVE/UV2/etc.) file demuxer
|
|
- Miro VideoXL (VIXL) video decoder
|
|
- H.261 video encoder
|
|
- QPEG video decoder
|
|
- Nullsoft Video (NSV) file demuxer
|
|
- Shorten audio decoder
|
|
- LOCO video decoder
|
|
- Apple Lossless Audio Codec (ALAC) decoder
|
|
- Winnov WNV1 video decoder
|
|
- Autodesk Animator Studio Codec (AASC) decoder
|
|
- Indeo 2 video decoder
|
|
- Fraps FPS1 video decoder
|
|
- Snow video encoder/decoder
|
|
- Sonic audio encoder/decoder
|
|
- Vorbis audio decoder
|
|
- Macromedia ADPCM decoder
|
|
- Duck TrueMotion 2 video decoder
|
|
- support for decoding FLX and DTA extensions in FLIC files
|
|
- H.264 custom quantization matrices support
|
|
- ffserver fixed, it should now be usable again
|
|
- QDM2 audio decoder
|
|
- Real Cooker audio decoder
|
|
- TrueSpeech audio decoder
|
|
- WMA2 audio decoder fixed, now all files should play correctly
|
|
- RealAudio 14.4 and 28.8 decoders fixed
|
|
- JPEG-LS decoder
|
|
- build system improvements
|
|
- tabs and trailing whitespace removed from the codebase
|
|
- CamStudio video decoder
|
|
- AIFF/AIFF-C audio format, encoding and decoding
|
|
- ADTS AAC file reading and writing
|
|
- Creative VOC file reading and writing
|
|
- American Laser Games multimedia (*.mm) playback system
|
|
- Zip Motion Blocks Video decoder
|
|
- improved Theora/VP3 decoder
|
|
- True Audio (TTA) decoder
|
|
- AVS demuxer and video decoder
|
|
- JPEG-LS encoder
|
|
- Smacker demuxer and decoder
|
|
- NuppelVideo/MythTV demuxer and RTjpeg decoder
|
|
- KMVC decoder
|
|
- MPEG-2 intra VLC support
|
|
- MPEG-2 4:2:2 encoder
|
|
- Flash Screen Video decoder
|
|
- GXF demuxer
|
|
- Chinese AVS decoder
|
|
- GXF muxer
|
|
- MXF demuxer
|
|
- VC-1/WMV3/WMV9 video decoder
|
|
- MacIntel support
|
|
- AVISynth support
|
|
- VMware video decoder
|
|
- VP5 video decoder
|
|
- VP6 video decoder
|
|
- WavPack lossless audio decoder
|
|
- Targa (.TGA) picture decoder
|
|
- Vorbis audio encoder
|
|
- Delphine Software .cin demuxer/audio and video decoder
|
|
- Tiertex .seq demuxer/video decoder
|
|
- MTV demuxer
|
|
- TIFF picture encoder and decoder
|
|
- GIF picture decoder
|
|
- Intel Music Coder decoder
|
|
- Zip Motion Blocks Video encoder
|
|
- Musepack decoder
|
|
- Flash Screen Video encoder
|
|
- Theora encoding via libtheora
|
|
- BMP encoder
|
|
- WMA encoder
|
|
- GSM-MS encoder and decoder
|
|
- DCA decoder
|
|
- DXA demuxer and decoder
|
|
- DNxHD decoder
|
|
- Gamecube movie (.THP) playback system
|
|
- Blackfin optimizations
|
|
- Interplay C93 demuxer and video decoder
|
|
- Bethsoft VID demuxer and video decoder
|
|
- CRYO APC demuxer
|
|
- Atrac3 decoder
|
|
- V.Flash PTX decoder
|
|
- RoQ muxer, RoQ audio encoder
|
|
- Renderware TXD demuxer and decoder
|
|
- extern C declarations for C++ removed from headers
|
|
- sws_flags command line option
|
|
- codebook generator
|
|
- RoQ video encoder
|
|
- QTRLE encoder
|
|
- OS/2 support removed and restored again
|
|
- AC-3 decoder
|
|
- NUT muxer
|
|
- additional SPARC (VIS) optimizations
|
|
- Matroska muxer
|
|
- slice-based parallel H.264 decoding
|
|
- Monkey's Audio demuxer and decoder
|
|
- AMV audio and video decoder
|
|
- DNxHD encoder
|
|
- H.264 PAFF decoding
|
|
- Nellymoser ASAO decoder
|
|
- Beam Software SIFF demuxer and decoder
|
|
- libvorbis Vorbis decoding removed in favor of native decoder
|
|
- IntraX8 (J-Frame) subdecoder for WMV2 and VC-1
|
|
- Ogg (Theora, Vorbis and FLAC) muxer
|
|
- The "device" muxers and demuxers are now in a new libavdevice library
|
|
- PC Paintbrush PCX decoder
|
|
- Sun Rasterfile decoder
|
|
- TechnoTrend PVA demuxer
|
|
- Linux Media Labs MPEG-4 (LMLM4) demuxer
|
|
- AVM2 (Flash 9) SWF muxer
|
|
- QT variant of IMA ADPCM encoder
|
|
- VFW grabber
|
|
- iPod/iPhone compatible mp4 muxer
|
|
- Mimic decoder
|
|
- MSN TCP Webcam stream demuxer
|
|
- RL2 demuxer / decoder
|
|
- IFF demuxer
|
|
- 8SVX audio decoder
|
|
- non-recursive Makefiles
|
|
- BFI demuxer
|
|
- MAXIS EA XA (.xa) demuxer / decoder
|
|
- BFI video decoder
|
|
- OMA demuxer
|
|
- MLP/TrueHD decoder
|
|
- Electronic Arts CMV decoder
|
|
- Motion Pixels Video decoder
|
|
- Motion Pixels MVI demuxer
|
|
- removed animated GIF decoder/demuxer
|
|
- D-Cinema audio muxer
|
|
- Electronic Arts TGV decoder
|
|
- Apple Lossless Audio Codec (ALAC) encoder
|
|
- AAC decoder
|
|
- floating point PCM encoder/decoder
|
|
- MXF muxer
|
|
- DV100 AKA DVCPRO HD decoder and demuxer
|
|
- E-AC-3 support added to AC-3 decoder
|
|
- Nellymoser ASAO encoder
|
|
- ASS and SSA demuxer and muxer
|
|
- liba52 wrapper removed
|
|
- SVQ3 watermark decoding support
|
|
- Speex decoding via libspeex
|
|
- Electronic Arts TGQ decoder
|
|
- RV40 decoder
|
|
- QCELP / PureVoice decoder
|
|
- RV30 decoder
|
|
- hybrid WavPack support
|
|
- R3D REDCODE demuxer
|
|
- ALSA support for playback and record
|
|
- Electronic Arts TQI decoder
|
|
- OpenJPEG based JPEG 2000 decoder
|
|
- NC (NC4600) camera file demuxer
|
|
- Gopher client support
|
|
- MXF D-10 muxer
|
|
- generic metadata API
|
|
|
|
|
|
version 0.4.9-pre1:
|
|
|
|
- DV encoder, DV muxer
|
|
- Microsoft RLE video decoder
|
|
- Microsoft Video-1 decoder
|
|
- Apple Animation (RLE) decoder
|
|
- Apple Graphics (SMC) decoder
|
|
- Apple Video (RPZA) decoder
|
|
- Cinepak decoder
|
|
- Sega FILM (CPK) file demuxer
|
|
- Westwood multimedia support (VQA & AUD files)
|
|
- Id Quake II CIN playback support
|
|
- 8BPS video decoder
|
|
- FLIC playback support
|
|
- RealVideo 2.0 (RV20) decoder
|
|
- Duck TrueMotion v1 (DUCK) video decoder
|
|
- Sierra VMD demuxer and video decoder
|
|
- MSZH and ZLIB decoder support
|
|
- SVQ1 video encoder
|
|
- AMR-WB support
|
|
- PPC optimizations
|
|
- rate distortion optimal cbp support
|
|
- rate distorted optimal ac prediction for MPEG-4
|
|
- rate distorted optimal lambda->qp support
|
|
- AAC encoding with libfaac
|
|
- Sunplus JPEG codec (SP5X) support
|
|
- use Lagrange multipler instead of QP for ratecontrol
|
|
- Theora/VP3 decoding support
|
|
- XA and ADX ADPCM codecs
|
|
- export MPEG-2 active display area / pan scan
|
|
- Add support for configuring with IBM XLC
|
|
- floating point AAN DCT
|
|
- initial support for zygo video (not complete)
|
|
- RGB ffv1 support
|
|
- new audio/video parser API
|
|
- av_log() system
|
|
- av_read_frame() and av_seek_frame() support
|
|
- missing last frame fixes
|
|
- seek by mouse in ffplay
|
|
- noise reduction of DCT coefficients
|
|
- H.263 OBMC & 4MV support
|
|
- H.263 alternative inter vlc support
|
|
- H.263 loop filter
|
|
- H.263 slice structured mode
|
|
- interlaced DCT support for MPEG-2 encoding
|
|
- stuffing to stay above min_bitrate
|
|
- MB type & QP visualization
|
|
- frame stepping for ffplay
|
|
- interlaced motion estimation
|
|
- alternate scantable support
|
|
- SVCD scan offset support
|
|
- closed GOP support
|
|
- SSE2 FDCT
|
|
- quantizer noise shaping
|
|
- G.726 ADPCM audio codec
|
|
- MS ADPCM encoding
|
|
- multithreaded/SMP motion estimation
|
|
- multithreaded/SMP encoding for MPEG-1/MPEG-2/MPEG-4/H.263
|
|
- multithreaded/SMP decoding for MPEG-2
|
|
- FLAC decoder
|
|
- Metrowerks CodeWarrior suppport
|
|
- H.263+ custom pcf support
|
|
- nicer output for 'ffmpeg -formats'
|
|
- Matroska demuxer
|
|
- SGI image format, encoding and decoding
|
|
- H.264 loop filter support
|
|
- H.264 CABAC support
|
|
- nicer looking arrows for the motion vector visualization
|
|
- improved VCD support
|
|
- audio timestamp drift compensation
|
|
- MPEG-2 YUV 422/444 support
|
|
- polyphase kaiser windowed sinc and blackman nuttall windowed sinc audio resample
|
|
- better image scaling
|
|
- H.261 support
|
|
- correctly interleave packets during encoding
|
|
- VIS optimized motion compensation
|
|
- intra_dc_precision>0 encoding support
|
|
- support reuse of motion vectors/MB types/field select values of the source video
|
|
- more accurate deblock filter
|
|
- padding support
|
|
- many optimizations and bugfixes
|
|
- FunCom ISS audio file demuxer and according ADPCM decoding
|
|
|
|
|
|
version 0.4.8:
|
|
|
|
- MPEG-2 video encoding (Michael)
|
|
- Id RoQ playback subsystem (Mike Melanson and Tim Ferguson)
|
|
- Wing Commander III Movie (.mve) file playback subsystem (Mike Melanson
|
|
and Mario Brito)
|
|
- Xan DPCM audio decoder (Mario Brito)
|
|
- Interplay MVE playback subsystem (Mike Melanson)
|
|
- Duck DK3 and DK4 ADPCM audio decoders (Mike Melanson)
|
|
|
|
|
|
version 0.4.7:
|
|
|
|
- RealAudio 1.0 (14_4) and 2.0 (28_8) native decoders. Author unknown, code from mplayerhq
|
|
(originally from public domain player for Amiga at http://www.honeypot.net/audio)
|
|
- current version now also compiles with older GCC (Fabrice)
|
|
- 4X multimedia playback system including 4xm file demuxer (Mike
|
|
Melanson), and 4X video and audio codecs (Michael)
|
|
- Creative YUV (CYUV) decoder (Mike Melanson)
|
|
- FFV1 codec (our very simple lossless intra only codec, compresses much better
|
|
than HuffYUV) (Michael)
|
|
- ASV1 (Asus), H.264, Intel indeo3 codecs have been added (various)
|
|
- tiny PNG encoder and decoder, tiny GIF decoder, PAM decoder (PPM with
|
|
alpha support), JPEG YUV colorspace support. (Fabrice Bellard)
|
|
- ffplay has been replaced with a newer version which uses SDL (optionally)
|
|
for multiplatform support (Fabrice)
|
|
- Sorenson Version 3 codec (SVQ3) support has been added (decoding only) - donated
|
|
by anonymous
|
|
- AMR format has been added (Johannes Carlsson)
|
|
- 3GP support has been added (Johannes Carlsson)
|
|
- VP3 codec has been added (Mike Melanson)
|
|
- more MPEG-1/2 fixes
|
|
- better multiplatform support, MS Visual Studio fixes (various)
|
|
- AltiVec optimizations (Magnus Damn and others)
|
|
- SH4 processor support has been added (BERO)
|
|
- new public interfaces (avcodec_get_pix_fmt) (Roman Shaposhnick)
|
|
- VOB streaming support (Brian Foley)
|
|
- better MP3 autodetection (Andriy Rysin)
|
|
- qpel encoding (Michael)
|
|
- 4mv+b frames encoding finally fixed (Michael)
|
|
- chroma ME (Michael)
|
|
- 5 comparison functions for ME (Michael)
|
|
- B-frame encoding speedup (Michael)
|
|
- WMV2 codec (unfinished - Michael)
|
|
- user specified diamond size for EPZS (Michael)
|
|
- Playstation STR playback subsystem, still experimental (Mike and Michael)
|
|
- ASV2 codec (Michael)
|
|
- CLJR decoder (Alex)
|
|
|
|
.. And lots more new enhancements and fixes.
|
|
|
|
|
|
version 0.4.6:
|
|
|
|
- completely new integer only MPEG audio layer 1/2/3 decoder rewritten
|
|
from scratch
|
|
- Recoded DCT and motion vector search with gcc (no longer depends on nasm)
|
|
- fix quantization bug in AC3 encoder
|
|
- added PCM codecs and format. Corrected WAV/AVI/ASF PCM issues
|
|
- added prototype ffplay program
|
|
- added GOB header parsing on H.263/H.263+ decoder (Juanjo)
|
|
- bug fix on MCBPC tables of H.263 (Juanjo)
|
|
- bug fix on DC coefficients of H.263 (Juanjo)
|
|
- added Advanced Prediction Mode on H.263/H.263+ decoder (Juanjo)
|
|
- now we can decode H.263 streams found in QuickTime files (Juanjo)
|
|
- now we can decode H.263 streams found in VIVO v1 files(Juanjo)
|
|
- preliminary RTP "friendly" mode for H.263/H.263+ coding. (Juanjo)
|
|
- added GOB header for H.263/H.263+ coding on RTP mode (Juanjo)
|
|
- now H.263 picture size is returned on the first decoded frame (Juanjo)
|
|
- added first regression tests
|
|
- added MPEG-2 TS demuxer
|
|
- new demux API for libav
|
|
- more accurate and faster IDCT (Michael)
|
|
- faster and entropy-controlled motion search (Michael)
|
|
- two pass video encoding (Michael)
|
|
- new video rate control (Michael)
|
|
- added MSMPEG4V1, MSMPEGV2 and WMV1 support (Michael)
|
|
- great performance improvement of video encoders and decoders (Michael)
|
|
- new and faster bit readers and vlc parsers (Michael)
|
|
- high quality encoding mode: tries all macroblock/VLC types (Michael)
|
|
- added DV video decoder
|
|
- preliminary RTP/RTSP support in ffserver and libavformat
|
|
- H.263+ AIC decoding/encoding support (Juanjo)
|
|
- VCD MPEG-PS mode (Juanjo)
|
|
- PSNR stuff (Juanjo)
|
|
- simple stats output (Juanjo)
|
|
- 16-bit and 15-bit RGB/BGR/GBR support (Bisqwit)
|
|
|
|
|
|
version 0.4.5:
|
|
|
|
- some header fixes (Zdenek Kabelac <kabi at informatics.muni.cz>)
|
|
- many MMX optimizations (Nick Kurshev <nickols_k at mail.ru>)
|
|
- added configure system (actually a small shell script)
|
|
- added MPEG audio layer 1/2/3 decoding using LGPL'ed mpglib by
|
|
Michael Hipp (temporary solution - waiting for integer only
|
|
decoder)
|
|
- fixed VIDIOCSYNC interrupt
|
|
- added Intel H.263 decoding support ('I263' AVI fourCC)
|
|
- added Real Video 1.0 decoding (needs further testing)
|
|
- simplified image formats again. Added PGM format (=grey
|
|
pgm). Renamed old PGM to PGMYUV.
|
|
- fixed msmpeg4 slice issues (tell me if you still find problems)
|
|
- fixed OpenDivX bugs with newer versions (added VOL header decoding)
|
|
- added support for MPlayer interface
|
|
- added macroblock skip optimization
|
|
- added MJPEG decoder
|
|
- added mmx/mmxext IDCT from libmpeg2
|
|
- added pgmyuvpipe, ppm, and ppm_pipe formats (original patch by Celer
|
|
<celer at shell.scrypt.net>)
|
|
- added pixel format conversion layer (e.g. for MJPEG or PPM)
|
|
- added deinterlacing option
|
|
- MPEG-1/2 fixes
|
|
- MPEG-4 vol header fixes (Jonathan Marsden <snmjbm at pacbell.net>)
|
|
- ARM optimizations (Lionel Ulmer <lionel.ulmer at free.fr>).
|
|
- Windows porting of file converter
|
|
- added MJPEG raw format (input/ouput)
|
|
- added JPEG image format support (input/output)
|
|
|
|
|
|
version 0.4.4:
|
|
|
|
- fixed some std header definitions (Bjorn Lindgren
|
|
<bjorn.e.lindgren at telia.com>).
|
|
- added MPEG demuxer (MPEG-1 and 2 compatible).
|
|
- added ASF demuxer
|
|
- added prototype RM demuxer
|
|
- added AC3 decoding (done with libac3 by Aaron Holtzman)
|
|
- added decoding codec parameter guessing (.e.g. for MPEG, because the
|
|
header does not include them)
|
|
- fixed header generation in MPEG-1, AVI and ASF muxer: wmplayer can now
|
|
play them (only tested video)
|
|
- fixed H.263 white bug
|
|
- fixed phase rounding in img resample filter
|
|
- add MMX code for polyphase img resample filter
|
|
- added CPU autodetection
|
|
- added generic title/author/copyright/comment string handling (ASF and RM
|
|
use them)
|
|
- added SWF demux to extract MP3 track (not usable yet because no MP3
|
|
decoder)
|
|
- added fractional frame rate support
|
|
- codecs are no longer searched by read_header() (should fix ffserver
|
|
segfault)
|
|
|
|
|
|
version 0.4.3:
|
|
|
|
- BGR24 patch (initial patch by Jeroen Vreeken <pe1rxq at amsat.org>)
|
|
- fixed raw yuv output
|
|
- added motion rounding support in MPEG-4
|
|
- fixed motion bug rounding in MSMPEG4
|
|
- added B-frame handling in video core
|
|
- added full MPEG-1 decoding support
|
|
- added partial (frame only) MPEG-2 support
|
|
- changed the FOURCC code for H.263 to "U263" to be able to see the
|
|
+AVI/H.263 file with the UB Video H.263+ decoder. MPlayer works with
|
|
this +codec ;) (JuanJo).
|
|
- Halfpel motion estimation after MB type selection (JuanJo)
|
|
- added pgm and .Y.U.V output format
|
|
- suppressed 'img:' protocol. Simply use: /tmp/test%d.[pgm|Y] as input or
|
|
output.
|
|
- added pgmpipe I/O format (original patch from Martin Aumueller
|
|
<lists at reserv.at>, but changed completely since we use a format
|
|
instead of a protocol)
|
|
|
|
|
|
version 0.4.2:
|
|
|
|
- added H.263/MPEG-4/MSMPEG4 decoding support. MPEG-4 decoding support
|
|
(for OpenDivX) is almost complete: 8x8 MVs and rounding are
|
|
missing. MSMPEG4 support is complete.
|
|
- added prototype MPEG-1 decoder. Only I- and P-frames handled yet (it
|
|
can decode ffmpeg MPEGs :-)).
|
|
- added libavcodec API documentation (see apiexample.c).
|
|
- fixed image polyphase bug (the bottom of some images could be
|
|
greenish)
|
|
- added support for non clipped motion vectors (decoding only)
|
|
and image sizes non-multiple of 16
|
|
- added support for AC prediction (decoding only)
|
|
- added file overwrite confirmation (can be disabled with -y)
|
|
- added custom size picture to H.263 using H.263+ (Juanjo)
|
|
|
|
|
|
version 0.4.1:
|
|
|
|
- added MSMPEG4 (aka DivX) compatible encoder. Changed default codec
|
|
of AVI and ASF to DIV3.
|
|
- added -me option to set motion estimation method
|
|
(default=log). suppressed redundant -hq option.
|
|
- added options -acodec and -vcodec to force a given codec (useful for
|
|
AVI for example)
|
|
- fixed -an option
|
|
- improved dct_quantize speed
|
|
- factorized some motion estimation code
|
|
|
|
|
|
version 0.4.0:
|
|
|
|
- removing grab code from ffserver and moved it to ffmpeg. Added
|
|
multistream support to ffmpeg.
|
|
- added timeshifting support for live feeds (option ?date=xxx in the
|
|
URL)
|
|
- added high quality image resize code with polyphase filter (need
|
|
mmx/see optimization). Enable multiple image size support in ffserver.
|
|
- added multi live feed support in ffserver
|
|
- suppressed master feature from ffserver (it should be done with an
|
|
external program which opens the .ffm url and writes it to another
|
|
ffserver)
|
|
- added preliminary support for video stream parsing (WAV and AVI half
|
|
done). Added proper support for audio/video file conversion in
|
|
ffmpeg.
|
|
- added preliminary support for video file sending from ffserver
|
|
- redesigning I/O subsystem: now using URL based input and output
|
|
(see avio.h)
|
|
- added WAV format support
|
|
- added "tty user interface" to ffmpeg to stop grabbing gracefully
|
|
- added MMX/SSE optimizations to SAD (Sums of Absolutes Differences)
|
|
(Juan J. Sierralta P. a.k.a. "Juanjo" <juanjo at atmlab.utfsm.cl>)
|
|
- added MMX DCT from mpeg2_movie 1.5 (Juanjo)
|
|
- added new motion estimation algorithms, log and phods (Juanjo)
|
|
- changed directories: libav for format handling, libavcodec for
|
|
codecs
|
|
|
|
|
|
version 0.3.4:
|
|
|
|
- added stereo in MPEG audio encoder
|
|
|
|
|
|
version 0.3.3:
|
|
|
|
- added 'high quality' mode which use motion vectors. It can be used in
|
|
real time at low resolution.
|
|
- fixed rounding problems which caused quality problems at high
|
|
bitrates and large GOP size
|
|
|
|
|
|
version 0.3.2: small fixes
|
|
|
|
- ASF fixes
|
|
- put_seek bug fix
|
|
|
|
|
|
version 0.3.1: added avi/divx support
|
|
|
|
- added AVI support
|
|
- added MPEG-4 codec compatible with OpenDivX. It is based on the H.263 codec
|
|
- added sound for flash format (not tested)
|
|
|
|
|
|
version 0.3: initial public release
|