diff --git a/Changelog b/Changelog deleted file mode 100644 index 6c67dd9541..0000000000 --- a/Changelog +++ /dev/null @@ -1,1366 +0,0 @@ -Releases are sorted from youngest to oldest. - - -version : -- alac: Do bounds checking of lpc_order read from the bitstream -- ape: Don't allow the seektable to be omitted -- asfdec: Check the return value of asf_read_stream_properties -- asvdec: Verify the amount of extradata -- avidec: Make sure a packet is large enough before reading its data -- bfi: Add some very basic sanity checks for input packet sizes -- bfi: Avoid divisions by zero -- cavsdec: Make sure a sequence header has been decoded before decoding pictures -- dcadec: Validate the lfe parameter -- dsicin: Add some basic sanity checks for fields read from the file -- eacmv: Make sure a reference frame exists before referencing it -- electronicarts: Add more sanity checking for the number of channels -- electronicarts: Check packet sizes before reading -- ffv1: Make sure at least one slice context is initialized -- fraps: Make the input buffer size checks more strict -- h263dec: Remove a hack that can cause infinite loops -- idroqdec: Make sure a video stream has been allocated before returning packets -- ivi_common: Make sure color planes have been initialized -- lavf: Avoid setting avg_frame_rate if delta_dts is negative -- mace: Make sure that the channel count is set to a valid value -- matroskadec: Verify realaudio codec parameters -- mov: Don't use a negative duration for setting other fields -- mov: Make sure the read sample count is nonnegative -- mpc8: Check the seek table size parsed from the bitstream -- mpc8: Make sure the first stream exists before parsing the seek table -- mpeg4videodec: Check the width/height in mpeg4_decode_sprite_trajectory -- mpegaudiodec: Validate that the number of channels fits at the given offset -- mpegvideo: Initialize chroma_*_shift and codec_tag even if the size is 0 -- mvi: Add sanity checking for the audio frame size -- mxfdec: set audio timebase to 1/samplerate -- oggparseogm: Convert to use bytestream2 -- omadec: Properly check lengths before incrementing the position -- pcx: Check the packet size before assuming it fits a palette -- pcx: Consume the whole packet if giving up due to missing palette -- pngdec: Stop trying to decode once inflate returns Z_STREAM_END -- qpeg: Add checks for running out of rows in qpeg_decode_inter -- r3d: Add more input value validation -- riffdec: Add sanity checks for the sample rate -- rl2: Avoid a division by zero -- rmdec: Validate the fps value -- rpza: Fix a buffer size check -- rv10: Validate the dimensions set from the container -- rv34: Check the return value from ff_rv34_decode_init -- segafilm: Validate the number of audio channels -- shorten: Break out of loop looking for fmt chunk if none is found -- shorten: Use a checked bytestream reader for the wave header -- sierravmd: Do sanity checking of frame sizes -- smacker: Avoid integer overflow when allocating packets -- smacker: Don't return packets in unallocated streams -- smacker: Make sure we don't fill in huffman codes out of range -- svq3: Avoid a division by zero -- svq3: Check for any negative return value from ff_h264_check_intra_pred_mode -- truemotion2: Use av_freep properly in an error path -- twinvqdec: Check the ibps parameter separately -- vc1dec: Don't decode slices when the latest slice header failed to decode -- vc1dec: Fix leaks in ff_vc1_decode_init_alloc_tables on errors -- vc1dec: Make sure last_picture is initialized in vc1_decode_skip_blocks -- vc1dec: Undo mpegvideo initialization if unable to allocate tables -- vocdec: Don't update codec parameters mid-stream -- vp3: Check the framerate for validity -- vqf: Make sure sample_rate is set to a valid value -- vqf: Make sure the bitrate is in the valid range -- wnv1: Make sure the input packet is large enough -- wtv: Add more sanity checks for a length read from the file -- xan: Only read within the data that actually was initialized -- xan: Use bytestream2 to limit reading to within the buffer -- xmv: Add more sanity checks for parameters read from the bitstream -- xwma: Avoid division by zero -- xxan: Disallow odd width -- zmbvdec: Check the buffer size for uncompressed data -- 4xm: check that bits per sample is strictly positive -- 4xm: Check that the read track value is non-negative -- 4xm: Reject not a multiple of 16 dimension -- 8bps: Bound-check the input buffer -- aac: Check init_get_bits return value -- aac: return meaningful errors -- ac3: Clean up the error paths -- ac3dec: Don't consume more data than the actual input packet size -- ac3dec: Increment channel pointers only once per channel -- ac3: Do not clash with normal AVERROR -- ac3: Return proper error codes -- adpcm: Write the correct number of samples for ima-dk4 -- alac: Check that the channels fit at the given offset -- alac: Limit max_samples_per_frame -- alsdec: Clean up error paths -- alsdec: Fix the clipping range -- ape demuxer: check for EOF in potentially long loops -- atrac3: Error on impossible encoding/channel combinations -- atrac3: fix error handling -- atrac3: set the getbits context the right buffer_end -- ffmpeg: do not use lavfi direct rendering with -deinterlace -- avidec: Let the inner dv demuxer take care of discarding -- avio: Handle AVERROR_EOF in the same way as the return value 0 -- bink: Bound check the quantization matrix. -- dca: Error out on missing DSYNC -- dca: Respect the current limits in the downmixing capabilities -- dsicinav: Bound-check the source buffer when needed -- dsicinav: Clip the source size to the expected maximum -- dv: Add a guard to not overread the ppcm array -- dxa: Make sure the reference frame exists -- h261: check the mtype index -- iff: Do not read over the source buffer -- imc: Catch a division by zero -- indeo4: Check the quantization matrix index -- indeo4: Do not access missing reference MV -- indeo4: Validate scantable dimension -- indeo5: return proper error codes -- indeo: Bound-check before applying motion compensation -- indeo: Bound-check before applying transform -- indeo: Do not reference mismatched tiles -- indeo: Reject impossible FRAMETYPE_NULL -- indeo: Sanitize ff_ivi_init_planes fail paths -- lavf: avoid integer overflow when estimating bitrate -- lavf: Make sure avg_frame_rate can be calculated without integer overflow -- matroskadec: Check that .lang was allocated and set before reading it -- mjpegb: Detect changing number of planes in interlaced video -- mlpdec: Do not set invalid context in read_restart_header -- mov: Do not allow updating the time scale after it has been set -- mov: Seek back if overreading an individual atom -- mpegvideo: Avoid 32-bit wrapping of linesize multiplications -- nuv: check ff_rtjpeg_decode_frame_yuv420 return value -- nuv: Do not ignore lzo decompression failures -- nuv: Pad the lzo outbuf -- nuv: Reset the frame on resize -- nuv: return meaningful error codes. -- nuv: Use av_fast_realloc -- ogg: Always alloc the private context in vorbis_header -- ogg: Fix potential infinite discard loop -- oma: check geob tag boundary -- oma: correctly mark and decrypt partial packets -- oma: refactor seek function -- pcm: always use codec->id instead of codec_id -- pcx: Do not overread source buffer in pcx_rle_decode -- pictordec: break out of both decoding loops when y drops below 0 -- pictordec: pass correct context to avpriv_request_sample -- qdm2: check and reset dithering index per channel -- qdm2: Conceal broken samples -- qdm2: refactor joined stereo support -- qdm2: use init_static_data -- rmdec: Use the AVIOContext given as parameter in rm_read_metadata() -- rtjpeg: Use init_get_bits8 -- rtmp: Do not misuse memcmp -- rtmp: rename data_size to size -- segafilm: Error out on impossible packet size -- vc1: check mb_height validity. -- vc1: check the source buffer in vc1_mc functions -- vcr1: add sanity checks -- vqavideo: check the version -- westwood_vqa: do not free extradata on error in read_header -- wmavoice: conceal clearly corrupted blocks -- wtv: Mark attachment with a negative stream id -- xl: Make sure the width is valid -- kmvc: Clip pixel position to valid range -- kmvc: Use fixed sized arrays in the context -- indeo: Reject negative array indexes -- indeo: Check for reference when inheriting motion vectors -- indeo: Properly forward the error codes -- mjpeg: Check the unescaped size for overflows -- wmapro: Error out on impossible scale factor offsets -- wmapro: Check the min_samples_per_subframe -- wmapro: Return early on unsupported condition -- wmapro: Check num_vec_coeffs against the actual available buffer -- wmapro: Make sure there is room to store the current packet -- lavc: Move put_bits_left in put_bits.h -- 4xm: Do not overread the source buffer in decode_p_block -- 4xm: Check bitstream_size boundary before using it - -Most of the following fixes resulted from test samples that the Google -Security Team has kindly made available to us: - -- 4xm: fix several programming errors to avoid crashes, etc. -- apetag: use int64_t for filesize -- jpegls: Fix invalid writes to memory -- ljpeg: use the correct number of components in YUV -- mjpeg: Validate sampling factors -- mjpegdec: properly report unsupported disabled features -- mjpegdec: validate parameters in mjpeg_decode_scan_progressive_ac -- mpegvideo: allocate sufficiently large scratch buffer for interlaced vid -- pixdesc: mark gray8 as pseudopal -- smacker: fix several programming errors to avoid crashes, etc. -- tiff: do not overread the source buffer -- vmd: drop incomplete chunks and spurious samples -- vmdav: convert to bytestream2 to avoid invalid reads and writes -- wavpack: check packet size early -- wavpack: use bytestream2 in wavpack_decode_block -- wavpack: validate samples size parsed in wavpack_decode_block - -- aac: check the maximum number of channels to avoid invalid writes -- indeo3: fix off by one in MV validity check -- id3v2: check for end of file while unescaping tags to avoid invalid - writes, reported by Google Security Team -- afifo: fix request_samples on the last frame in certain cases -- hls, segment: fix splitting for audio-only streams -- wav: Always seek to an even offset, Bug #500, LP: #1174737 -- swscale: Use alpha from the right row in yuva2rgba_c, Bug #504 -- indeo3: use unaligned reads on reference blocks, Bug #503 -- oma: properly forward errors in oma_read_packet -- af_asyncts: fix offset calculation -- proresdec: support mixed interlaced/non-interlaced content - -Most of the following fixes resulted from test samples that the Google -Security Team has kindly made available to us: - -- af_channelmap: sanity check input channel indices in all cases -- avfiltergraph: check for sws opts being non-NULL before using them -- bmv: check for len being valid in bmv_decode_frame() -- configure: Enable hwaccels without external dependencies by default -- dfa: check for invalid access in decode_wdlt() -- id3v2: pad the APIC packets as required by lavc -- indeo3: check motion vectors -- indeo3: fix data size check -- indeo3: switch parsing the header to bytestream2 -- lavf: make sure stream probe data gets freed -- matroska: Update the available size after lace parsing -- matroska: fix a corner case in ebml-lace parsing -- matroska: pass the lace size to the matroska_parse_rm_audio -- mp3dec: fallback to generic seeking when a TOC is not present -- oggdec: fix faulty cleanup prototype -- oma: Validate sample rates -- qdm2: check that the FFT size is a power of 2 -- riff: check for eof if chunk size and code are 0 to prevent an infinite loop -- rv10: check that extradata is large enough -- svq1dec: check that the reference frame has the same dimensions as the current one -- svq1dec: clip motion vectors to the frame size -- xmv: check audio track parameters validity -- xmv: do not leak memory in the error paths in xmv_read_header() -- atrac3: avoid oversized shifting in decode_bytes() -- eamad: allocate a dummy reference frame when the real one is missing -- ffv1: fix calculating slice dimensions for version 2 -- flacdec: simplify bounds checking in flac_probe() -- h264: check for luma and chroma bit dept being equal (CVE-2013-2277) -- hqdn3d: Fix out of array read in LOWPASS -- iff: validate CMAP palette size (CVE-2013-2495) -- ivi_common: do not call MC for intra frames when dc_transform is unset -- libmp3lame: use the correct remaining buffer size when flushing -- lzo: fix overflow checking in copy_backptr() -- mp3dec: Fix VBR bit rate parsing -- png: use av_mallocz_array() for the zlib zalloc function -- roqvideodec: fix a potential infinite loop in roqvideo_decode_frame() -- shorten: fix various programming mistakes -- vf_gradfun: fix uninitialized variable use -- vf_hqdn3d: fix uninitialized variable use -- vmdaudio: fix invalid reads when packet size is not a multiple of chunk size -- wmadec: require block_align to be set -- wmaprodec: require block_align to be set -- wmaprodec: return an error, not 0, when the input is too small -- xxan: fix invalid memory access in xan_decode_frame_type0() -- h264: fix deadlocks with broken/fuzzed files -- flvdec: make decoder more robust -- vorbisdec: fix buffer overflow (CVE-2013-0894) -- ac3dec: validate channel output mode against channel count -- doc: minor improvements -- loco: check that there is data left after decoding a plane. -- mov: use the format context for logging. -- lagarith: avoid infinite loop in lag_rac_refill() with corrupted files -- flicvideo: avoid an infinite loop in byte run compression -- av_memcpy_backptr: avoid an infinite loop for back = 0 -- mlpdec: do not try to allocate a zero-sized output buffer. -- qtrle: add more checks against pixel_ptr being negative. -- 4xm: check the return value of read_huffman_tables(). -- cavs: initialize various context tables, avoids crashes with corrupted files -- x86/H.264: Don't use redzone in AVX h264_deblock on Win64 -- VQA video: check chunk sizes before reading chunks -- RoQ video decoder: check dimensions validity -- QDM2: check array index before use, fix out of array accesses -- mpegvideo: Do REBASE_PICTURE with byte pointers -- SVQ3: unbreak decoding -- libopencore-amrwb: Make AMR-WB ifdeffery more precise -- libopencore-amr: Conditionally compile decoder and encoder bits -- arm: Fall back to runtime cpu feature detection via /proc/cpuinfo -- xxan: properly handle odd heights -- msrledec: check bounds before constructing a possibly invalid pointer (CVE-2496) -- qtrle: fix the topmost line for 1bit -- aasc: fix output for msrle compression -- yop: check for input overreads -- yop: check that extradata is large enough -- fraps: fix off-by one bug for version 1 -- vf_delogo: fix copying the input frame -- vf_delogo: fix an uninitialized read -- dnxhdenc: fix invalid reads in dnxhd_mb_var_thread() -- ATRAC3: use correct loop variable in add_tonal_components() -- MLP: store the channel layout for each substream -- MLP decoder: TrueHD: use Libav channel order -- x86: ac3: Fix HAVE_MMXEXT condition to only refer to external assembly -- arm: vp8: Fix the plain-armv6 version of vp8_luma_dc_wht -- lavr: call mix_function_init() in ff_audio_mix_set_matrix() -- rtpenc_chain: Use the original AVFormatContext for getting payload type -- rtp: Make sure the output format pointer is set -- rtp: Make sure priv_data is set before reading it -- videodsp_armv5te: remove #if HAVE_ARMV5TE_EXTERNAL -- get_bits: change the failure condition in init_get_bits -- mpegvideo: fix loop condition in draw_line() -- fate: update ref after rv30_loop_filter fix -- RV30: fix masking in rv30_loop_filter() -- libcdio: support recent cdio-paranoia -- Theora: Skip zero-sized headers -- H.264: add 3 pixels below for subpixel filter wait position -- H.264: fix ff_generate_sliding_window_mmcos() prototype -- H.264: don't clobber mmco opcode tables for non-first slice headers -- libx264: use the library specific default rc_initial_buffer_occupancy -- lavc: set the default rc_initial_buffer_occupancy -- lavc: introduce the convenience function init_get_bits8 -- lavc: check for overflow in init_get_bits -- configure: enable pic for shared libs on AArch64 -- zmbv: Reset the decoder on keyframe errors -- VC1 decoder: prevent a crash due missing pred_flag parameter -- matroska: Fix use after free -- VP3: Fix double free in vp3_decode_end() -- Fix a crash on windows platforms related to automatic stack alignment - in libavresample -- Fix memleaks in the Ogg demuxer. Related to CVE-2012-2882 - - -version 1.1: - -- stream disposition information printing in ffprobe -- filter for loudness analysis following EBU R128 -- Opus encoder using libopus -- ffprobe -select_streams option -- Pinnacle TARGA CineWave YUV16 decoder -- TAK demuxer, decoder and parser -- DTS-HD demuxer -- remove -same_quant, it hasn't worked for years -- FFM2 support -- X-Face image encoder and decoder -- 24-bit FLAC encoding -- multi-channel ALAC encoding up to 7.1 -- metadata (INFO tag) support in WAV muxer -- subtitles raw text decoder -- support for building DLLs using MSVC -- LVF demuxer -- ffescape tool -- metadata (info chunk) support in CAF muxer -- field filter ported from libmpcodecs -- AVR demuxer -- geq filter ported from libmpcodecs -- remove ffserver daemon mode -- AST muxer/demuxer -- new expansion syntax for drawtext -- BRender PIX image decoder -- ffprobe -show_entries option -- ffprobe -sections option -- ADPCM IMA Dialogic decoder -- BRSTM demuxer -- animated GIF decoder and demuxer -- PVF demuxer -- subtitles filter -- IRCAM muxer/demuxer -- Paris Audio File demuxer -- Virtual concatenation demuxer -- VobSub demuxer -- JSON captions for TED talks decoding support -- SOX Resampler support in libswresample -- aselect filter -- SGI RLE 8-bit decoder -- Silicon Graphics Motion Video Compressor 1 & 2 decoder -- Silicon Graphics Movie demuxer -- apad filter -- Resolution & pixel format change support with multithreading for H.264 -- documentation split into per-component manuals -- pp (postproc) filter ported from MPlayer -- NIST Sphere demuxer -- MPL2, VPlayer, MPlayer, AQTitle, PJS and SubViewer v1 subtitles demuxers and decoders -- Sony Wave64 muxer -- adobe and limelight publisher authentication in RTMP -- data: URI scheme -- support building on the Plan 9 operating system -- kerndeint filter ported from MPlayer -- histeq filter ported from VirtualDub -- Megalux Frame demuxer -- 012v decoder -- Improved AVC Intra decoding support - - -version 1.0: - -- INI and flat output in ffprobe -- Scene detection in libavfilter -- Indeo Audio decoder -- channelsplit audio filter -- setnsamples audio filter -- atempo filter -- ffprobe -show_data option -- RTMPT protocol support -- iLBC encoding/decoding via libilbc -- Microsoft Screen 1 decoder -- join audio filter -- audio channel mapping filter -- Microsoft ATC Screen decoder -- RTSP listen mode -- TechSmith Screen Codec 2 decoder -- AAC encoding via libfdk-aac -- Microsoft Expression Encoder Screen decoder -- RTMPS protocol support -- RTMPTS protocol support -- RTMPE protocol support -- RTMPTE protocol support -- showwaves and showspectrum filter -- LucasArts SMUSH playback support -- SAMI, RealText and SubViewer demuxers and decoders -- Heart Of Darkness PAF playback support -- iec61883 device -- asettb filter -- new option: -progress -- 3GPP Timed Text encoder/decoder -- GeoTIFF decoder support -- ffmpeg -(no)stdin option -- Opus decoder using libopus -- caca output device using libcaca -- alphaextract and alphamerge filters -- concat filter -- flite filter -- Canopus Lossless Codec decoder -- bitmap subtitles in filters (experimental and temporary) -- MP2 encoding via TwoLAME -- bmp parser -- smptebars source -- asetpts filter -- hue filter -- ICO muxer -- SubRip encoder and decoder without embedded timing -- edge detection filter -- framestep filter -- ffmpeg -shortest option is now per-output file - -pass and -passlogfile are now per-output stream -- volume measurement filter -- Ut Video encoder -- Microsoft Screen 2 decoder -- smartblur filter ported from MPlayer -- CPiA decoder -- decimate filter ported from MPlayer -- RTP depacketization of JPEG -- Smooth Streaming live segmenter muxer -- F4V muxer -- sendcmd and asendcmd filters -- WebVTT demuxer and decoder (simple tags supported) -- RTP packetization of JPEG -- faststart option in the MOV/MP4 muxer -- support for building with MSVC - - -version 0.11: - -- Fixes: CVE-2012-2772, CVE-2012-2774, CVE-2012-2775, CVE-2012-2776, CVE-2012-2777, - CVE-2012-2779, CVE-2012-2782, CVE-2012-2783, CVE-2012-2784, CVE-2012-2785, - CVE-2012-2786, CVE-2012-2787, CVE-2012-2788, CVE-2012-2789, CVE-2012-2790, - CVE-2012-2791, CVE-2012-2792, CVE-2012-2793, CVE-2012-2794, CVE-2012-2795, - CVE-2012-2796, CVE-2012-2797, CVE-2012-2798, CVE-2012-2799, CVE-2012-2800, - CVE-2012-2801, CVE-2012-2802, CVE-2012-2803, CVE-2012-2804, -- v408 Quicktime and Microsoft AYUV Uncompressed 4:4:4:4 encoder and decoder -- setfield filter -- CDXL demuxer and decoder -- Apple ProRes encoder -- ffprobe -count_packets and -count_frames options -- Sun Rasterfile Encoder -- ID3v2 attached pictures reading and writing -- WMA Lossless decoder -- bluray protocol -- blackdetect filter -- libutvideo encoder wrapper (--enable-libutvideo) -- swapuv filter -- bbox filter -- XBM encoder and decoder -- RealAudio Lossless decoder -- ZeroCodec decoder -- tile video filter -- Metal Gear Solid: The Twin Snakes demuxer -- OpenEXR image decoder -- removelogo filter -- drop support for ffmpeg without libavfilter -- drawtext video filter: fontconfig support -- ffmpeg -benchmark_all option -- super2xsai filter ported from libmpcodecs -- add libavresample audio conversion library for compatibility -- MicroDVD decoder -- Avid Meridien (AVUI) encoder and decoder -- accept + prefix to -pix_fmt option to disable automatic conversions. -- complete audio filtering in libavfilter and ffmpeg -- add fps filter -- vorbis parser -- png parser -- audio mix filter -- ffv1: support (draft) version 1.3 - - -version 0.10: - -- Fixes: CVE-2011-3929, CVE-2011-3934, CVE-2011-3935, CVE-2011-3936, - CVE-2011-3937, CVE-2011-3940, CVE-2011-3941, CVE-2011-3944, - CVE-2011-3945, CVE-2011-3946, CVE-2011-3947, CVE-2011-3949, - CVE-2011-3950, CVE-2011-3951, CVE-2011-3952 -- v410 Quicktime Uncompressed 4:4:4 10-bit encoder and decoder -- SBaGen (SBG) binaural beats script demuxer -- OpenMG Audio muxer -- Timecode extraction in DV and MOV -- thumbnail video filter -- XML output in ffprobe -- asplit audio filter -- tinterlace video filter -- astreamsync audio filter -- amerge audio filter -- ISMV (Smooth Streaming) muxer -- GSM audio parser -- SMJPEG muxer -- XWD encoder and decoder -- Automatic thread count based on detection number of (available) CPU cores -- y41p Brooktree Uncompressed 4:1:1 12-bit encoder and decoder -- ffprobe -show_error option -- Avid 1:1 10-bit RGB Packer codec -- v308 Quicktime Uncompressed 4:4:4 encoder and decoder -- yuv4 libquicktime packed 4:2:0 encoder and decoder -- ffprobe -show_frames option -- silencedetect audio filter -- ffprobe -show_program_version, -show_library_versions, -show_versions options -- rv34: frame-level multi-threading -- optimized iMDCT transform on x86 using SSE for for mpegaudiodec -- Improved PGS subtitle decoder -- dumpgraph option to lavfi device -- r210 and r10k encoders -- ffwavesynth decoder -- aviocat tool -- ffeval tool - - -version 0.9: - -- openal input device added -- boxblur filter added -- BWF muxer -- Flash Screen Video 2 decoder -- lavfi input device added -- 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 -- LOAS demuxer -- ashowinfo filter added -- Windows Media Image decoder -- amovie source added -- LATM muxer/demuxer -- Speex encoder via libspeex -- JSON output in ffprobe -- WTV muxer -- Optional C++ Support (needed for libstagefright) -- H.264 Decoding on Android via Stagefright -- Prores decoder -- BIN/XBIN/ADF/IDF text file decoder -- aconvert audio filter added -- audio support to lavfi input device added -- libcdio-paranoia input device for audio CD grabbing -- Apple ProRes decoder -- CELT in Ogg demuxing -- G.723.1 demuxer and decoder -- libmodplug support (--enable-libmodplug) -- VC-1 interlaced decoding -- libutvideo wrapper (--enable-libutvideo) -- aevalsrc audio source added -- 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 -- Prores encoder -- Video Decoder Acceleration (VDA) HWAccel module. -- replacement Indeo 3 decoder -- new ffmpeg option: -map_channel -- volume audio filter added -- earwax audio filter added -- libv4l2 support (--enable-libv4l2) -- 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 -- compact and csv output in ffprobe -- pan audio filter -- IFF Amiga Continuous Bitmap (ACBM) decoder -- ass filter -- CRI ADX audio format muxer and demuxer -- Playstation Portable PMP format demuxer -- Microsoft Windows ICO demuxer -- life source -- PCM format support in OMA demuxer -- CLJR encoder -- new option: -report -- Dxtory capture format decoder -- cellauto source -- Simple segmenting muxer -- Indeo 4 decoder -- SMJPEG demuxer - - -version 0.8: - -- many many things we forgot because we rather write code than changelogs -- 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 -- HE-AAC v2 encoding with libaacplus -- 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 -- libavcore added (and subsequently removed) -- 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 encoder and 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 -- DPX image encoder -- MicroDVD subtitle file muxer and demuxer -- Playstation Portable PMP format demuxer -- fieldorder video filter added -- AAC encoding via libvo-aacenc -- AMR-WB encoding via libvo-amrwbenc -- xWMA demuxer -- Mobotix MxPEG decoder -- VP8 frame-multithreading -- NEON optimizations for VP8 -- Lots of deprecated API cruft removed -- fft and imdct optimizations for AVX (Sandy Bridge) processors -- showinfo filter added -- SMPTE 302M AES3 audio decoder -- Apple Core Audio Format muxer -- 9bit and 10bit per sample support in the H.264 decoder -- 9bit and 10bit FFV1 encoding / decoding -- split filter added -- select filter added -- sdl output device added -- libmpcodecs video filter support (3 times as many filters than before) -- mpeg2 aspect ratio dection fixed -- libxvid aspect pickiness fixed -- Frame multithreaded decoding -- E-AC-3 audio encoder -- ac3enc: add channel coupling support -- floating-point sample format support to the ac3, eac3, dca, aac, and vorbis decoders. -- H264/MPEG frame-level multi-threading -- All 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 -- lut, lutrgb, and lutyuv filters added -- buffersink libavfilter sink added -- Bump libswscale for recently reported ABI break -- New J2K encoder (via OpenJPEG) - - -version 0.7: - -- all the changes for 0.8, but keeping API/ABI compatibility with the 0.6 release - - -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 -- flash ScreenVideo2 encoder - - -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 ) -- many MMX optimizations (Nick Kurshev ) -- 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 - ) -- 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 ) -- ARM optimizations (Lionel Ulmer ). -- Windows porting of file converter -- added MJPEG raw format (input/output) -- added JPEG image format support (input/output) - - -version 0.4.4: - -- fixed some std header definitions (Bjorn Lindgren - ). -- 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 ) -- 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 - , 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" ) -- 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