FFmpeg Changelog

What's new in FFmpeg 4.1

Mar 10, 2019
  • Deblock filter
  • Tmix filter
  • Amplify filter
  • Fftdnoiz filter
  • Aderivative and aintegral audio filters
  • Pal75bars and pal100bars video filter sources
  • Support mbedTLS based TLS
  • Adeclick filter
  • Adeclip filter
  • Libtensorflow backend for DNN based filters like srcnn
  • Vc1 decoder is now bit-exact
  • ATRAC9 decoder
  • Lensfun wrapper filter
  • Colorconstancy filter
  • AVS2 video decoder via libdavs2
  • IMM4 video decoder
  • Brooktree ProSumer video decoder
  • MatchWare Screen Capture Codec decoder
  • WinCam Motion Video decoder
  • 1D LUT filter (lut1d)
  • RemotelyAnywhere Screen Capture decoder
  • Cue and acue filters
  • Support for AV1 in MP4
  • Transpose_npp filter
  • AVS2 video encoder via libxavs2
  • Amultiply filter
  • Block-Matching 3d (bm3d) denoising filter
  • Acrossover filter
  • Ilbc decoder
  • Audio denoiser as afftdn filter
  • AV1 parser
  • SER demuxer
  • Sinc audio filter source
  • Chromahold filter
  • Setparams filter
  • Vibrance filter
  • Decoding S12M timecode in h264
  • Xstack filter
  • Pcm vidc decoder and encoder
  • (a)graphmonitor filter
  • Yadif_cuda filter

New in FFmpeg 4.0.2 (Jul 19, 2018)

  • avcodec/dvdsub_parser: Allocate input padding
  • avcodec/dvdsub_parser: Init output buf/size
  • avcodec/dirac_dwt_template: Fix signedness regression in interleave()
  • avformat/mov: Simplify last element computation in mov_estimate_video_delay()
  • avformat/mov: Break out of inner loop early in mov_estimate_video_delay()
  • avformat/mov: Eliminate variable buf_size from mov_estimate_video_delay()
  • avformat/mov: remove modulo operations from mov_estimate_video_delay()
  • avformat/movenc: Write version 2 of audio atom if channels is not known
  • swresample/arm: rename labels to fix xcode build error
  • avformat/movenc: Check input sample count
  • avcodec/mjpegdec: Check for odd progressive RGB
  • avcodec/vp8_parser: Do not leave data/size uninitialized
  • avformat/mms: Add missing chunksize check
  • avformat/pva: Check for EOF before retrying in read_part_of_packet()
  • avformat/rmdec: Do not pass mime type in rm_read_multi() to ff_rm_read_mdpr_codecdata()
  • avformat/asfdec_o: Check size_bmp more fully
  • avformat/mxfdec: Fix av_log context
  • avcodec/mpeg4videodec: Check for bitstream end in read_quant_matrix_ext()
  • avcodec/indeo4: Check for end of bitstream in decode_mb_info()
  • avcodec/ac3dec: Check channel_map index
  • avcodec/mpeg4videodec: Remove use of FF_PROFILE_MPEG4_SIMPLE_STUDIO as indicator of studio profile
  • avcodec/shorten: Fix undefined addition in shorten_decode_frame()
  • avcodec/shorten: Fix undefined integer overflow
  • avcodec/jpeg2000dec: Fixes invalid shifts in jpeg2000_decode_packets_po_iteration()
  • avcodec/jpeg2000dec: Check that there are enough bytes for all tiles
  • avformat/movenc: Use mov->fc consistently for av_log()
  • avcodec/mpeg4videodec: Check read profile before setting it
  • avformat/movenc: Do not pass AVCodecParameters in avpriv_request_sample
  • avcodec/ac3_parser: Check init_get_bits8() for failure
  • avformat/movenc: Check that frame_types other than EAC3_FRAME_TYPE_INDEPENDENT have a supported substream id
  • avcodec/dpx: Check elements in 12bps planar path
  • avcodec/escape124: Fix spelling errors in comment
  • avcodec/ra144: Fix integer overflow in ff_eval_refl()
  • avcodec/cscd: Check output buffer size for lzo.
  • avcodec/escape124: Check buf_size against num_superblocks
  • avcodec/h264_parser: Reduce needed history for parsing mb index
  • avcodec/magicyuv: Check bits left in flags&1 branch
  • avcodec/mjpegdec: Check for end of bitstream in ljpeg_decode_rgb_scan()
  • ffmpeg: fix -stream_loop with multiple inputs
  • ffmpeg: factorize input thread creation and destruction
  • avformat/mpegts: parse large PMTs with multiple tables
  • Revert "avcodec/mediacodecdec: wait on first frame after input buffers are full"
  • avcodec/videotoolboxenc: fix invalid session on iOS
  • avcodec/videotoolboxenc: split initialization
  • avcodec/videotoolboxenc: fix mutex/cond leak in error path

New in FFmpeg 4.0.1 (Jun 17, 2018)

  • avcodec/aacdec_fixed: Fix undefined integer overflow in apply_independent_coupling_fixed()
  • avcodec/dirac_dwt_template: Fix undefined behavior in interleave()
  • avutil/common: Fix undefined behavior in av_clip_uintp2_c()
  • fftools/ffmpeg: Fallback to duration if sample rate is unavailable
  • avformat/mov: Only set pkt->duration to non negative values
  • avcodec/mpeg4videodec: Clear bits_per_raw_sample if it has originated from a previous instance
  • avformat/movenc: fix recognization of cover image streams
  • avformat/movenc: properly handle cover image codecs
  • avcodec/h264_slice: Fix overflow in recovery_frame computation
  • avcodec/h264_ps: Move MAX_LOG2_MAX_FRAME_NUM to header so it can be used in h264_sei
  • avcodec/h264_mc_template: Only prefetch motion if the list is used.
  • avcodec/xwddec: Use ff_set_dimensions()
  • avcodec/wavpack: Fix overflow in adding tail
  • avcodec/shorten: Fix multiple integer overflows
  • avcodec/shorten: Fix undefined shift in fix_bitshift()
  • avcodec/shorten: Fix a negative left shift in shorten_decode_frame()
  • avcodec/shorten: Sanity check nmeans
  • avcodec/shorten: Check non COMM chunk len before skip in decode_aiff_header()
  • avcodec/mjpegdec: Fix integer overflow in ljpeg_decode_rgb_scan()
  • avcodec/truemotion2: Fix overflow in tm2_apply_deltas()
  • avcodec/opus_silk: Change silk_lsf2lpc() slightly toward silk/NLSF2A.c
  • avcodec/amrwbdec: Fix division by 0 in find_hb_gain()
  • avcodec/h263dec: Reinitialize idct context if it has not been setup for the active profile
  • avcodec/idctdsp: Clear idct/idct_add for studio profile
  • avformat/mov: replace a value error by clipping into valid range in mov_read_stsc()
  • avformat/bintext: Reduce detection for random .bin files as it more likely is not a multimedia related file
  • avformat/mov: Break out early if chunk_count is 0 in mov_build_index()
  • avcodec/fic: Avoid some magic numbers related to cursors
  • avcodec/mpeg4video: Detect reference studio streams as studio streams
  • avcodec/mpeg4videodec: Do not corrupt bits_per_raw_sample
  • avcodec/mpeg4videode: Eliminate out of loop VOP startcode reading for studio profile
  • avcodec/g2meet: ask for sample with overflowing RGB
  • avcodec/idctdsp: Transmit studio_profile to init instead of using AVCodecContext profile
  • avcodec/ac3dec: Check that the number of channels with dependant streams is valid
  • avcodec/ac3dec: Fix null pointer dereference in ac3_decode_frame()
  • avcodec/aacdec_fixed: use 64bit to avoid overflow in rounding in apply_dependent_coupling_fixed()
  • oavcodec/aacpsdsp_template: Use unsigned for hs0X to prevent undefined behavior
  • avcodec/g723_1dec: Clip bits2 in both directions
  • avcodec/mpeg4videoenc: Use 64 bit for times in mpeg4_encode_gop_header()
  • avcodec/mlpdec: Only change noise_type if the related fields are valid
  • indeo4: Decode all or nothing of a band header.
  • avcodec/ac3dec: Use frame_size if superframe_size is 0
  • avformat/mov: Only fail for STCO/STSC contradictions if both exist
  • avcodec/dirac_dwt: Fix integer overflow in COMPOSE_DD97iH0 / COMPOSE_DD137iL0
  • avcodec/fic: Check available input space for cursor
  • avcodec/mpeg4videodec: Check bps (VOL header) before VOP for studio profile
  • avcodec/g2meet: Check RGB upper limit
  • avcodec/jpeg2000dec: Fix undefined shift in the jpeg2000_decode_packets_po_iteration() CPRL case
  • avcodec/jpeg2000dec: Skip init for component in CPRL if nothing is to be done
  • avcodec/g2meet: Change order of operations to avoid undefined behavior
  • avcodec/flac_parser: Fix infinite loop
  • avcodec/mpeg4videodec: Split decode_studio_vol_header() out of decode_studiovisualobject()
  • avcodec/mpeg4videodec: Move decode_studiovisualobject() parsing in the branch for visual object parsing
  • avcodec/mpeg4video_parser: Avoid litteral 0x1B6, use named constant instead
  • avcodec/mpeg4video_parser: Fix incorrect spliting of MPEG-4 studio frames
  • avformat/m4vdec: Use the same constant names as libavcodec
  • avformat/m4vdec: Fix detection of raw MPEG-4 ES Studio
  • avcodec/wavpack: Fix integer overflow in DEC_MED() / INC_MED()
  • avcodec/wavpack: Fix integer overflow in wv_unpack_stereo()
  • avcodec/error_resilience: Fix integer overflow in filter181()
  • avcodec/h263dec: Check slice_ret in mspeg4 slice loop
  • avcodec/elsdec: Fix memleaks
  • avcodec/vc1_block: simplify ac_val computation
  • avcodec/ffv1enc: Check that the crc + version combination is supported
  • configure: The eac3_core bitstream filter needs the ac3 parser.
  • configure: fix arm inline asm checks
  • lavf/libssh: translate a read of 0 to EOF
  • ffprobe: fix SEGV when new streams are added
  • avformat/mpegts: fix incorrect indentation
  • avformat/mpegts: initialize section_buf to fix valgrind test failure
  • avformat/mpegts: reindent after last change
  • avformat/mpegts: parse sections with multiple tables
  • avformat/mpegts: clean up whitespace
  • avformat/mpegts: use MAX_SECTION_SIZE instead of hardcoded value
  • avformat/mpegts: skip non-PMT tids earlier
  • avcodec/mediacodecdec: add workaround for buggy amlogic mpeg2 decoder
  • avcodec/mediacodecdec: wait on first frame after input buffers are full
  • avcodec/mediacodecdec: restructure mediacodec_receive_frame
  • avcodec/mediacodec_wrapper: add helper to fetch SDK_INT
  • avcodec/mediacodecdec: refactor pts handling
  • avcodec/mediacodecdec: use AV_TIME_BASE_Q
  • avcodec/mediacodecdec: clarify delay_flush specific code
  • avcodec/videotoolbox: fix decoding of some HEVC videos
  • avcodec/hevc: remove videotoolbox hack
  • avcodec/videotoolbox: split h264/hevc callbacks
  • avcodec/videotoolbox: cleanups
  • avcodec/videotoolbox: fix kVTCouldNotFindVideoDecoderErr trying to decode HEVC on iOS
  • avcodec/videotoolbox: improve logging of decoder errors
  • avcodec/xwddec: fix palette alpha
  • avformat/webm_chunk: always use a static buffer for get_chunk_filename
  • configure: fix configure check for lilv-0
  • avcodec/nvdec_hevc: fix scaling lists
  • avcodec/hevcdec: make ff_hevc_frame_nb_refs take a const pointer
  • lavf/bluray: translate a read of 0 to EOF
  • lavf/dashenc: don't call flush_init_segment before avformat_write_header
  • avdevice/decklink_dec: unref packets on avpacket_queue_put error
  • avcodec/hnm4video: fix palette alpha
  • avcodec/anm: fix palette alpha
  • avformat/qtpalette: parse color table according to the QuickTime file format specs
  • ffplay: Fix realloc_texture when input texture is NULL.
  • hwcontext_vaapi: Fix compilation with libva versions < 1.4.0
  • lavf/qsv: clone the frame which may be managed by framework
  • lavf: make overlay_qsv work based on framesync
  • avformat/segafilm revert keyframe detection
  • avformat/utils: refactor upstream_stream_timings
  • avformat/utils: ignore outlier durations on subtitle/data streams as well

New in FFmpeg 4.0 (Apr 21, 2018)

  • Bitstream filters for editing metadata in H.264, HEVC and MPEG-2 streams
  • Dropped support for OpenJPEG versions 2.0 and below. Using OpenJPEG now requires 2.1 (or later) and pkg-config.
  • VDA dropped (use VideoToolbox instead)
  • MagicYUV encoder
  • Raw AMR-NB and AMR-WB demuxers
  • TiVo ty/ty+ demuxer
  • Intel QSV-accelerated MJPEG encoding
  • PCE support for extended channel layouts in the AAC encoder
  • native aptX and aptX HD encoder and decoder
  • Raw aptX and aptX HD muxer and demuxer
  • NVIDIA NVDEC-accelerated H.264, HEVC, MJPEG, MPEG-1/2/4, VC1, VP8/9 hwaccel decoding
  • Intel QSV-accelerated overlay filter
  • mcompand audio filter
  • acontrast audio filter
  • OpenCL overlay filter
  • video mix filter
  • video normalize filter
  • audio lv2 wrapper filter
  • VAAPI MJPEG and VP8 decoding
  • AMD AMF H.264 and HEVC encoders
  • video fillborders filter
  • video setrange filter
  • nsp demuxer
  • support LibreSSL (via libtls)
  • AVX-512/ZMM support added
  • deconvolve video filter
  • entropy video filter
  • hilbert audio filter source
  • aiir audio filter
  • aiff: add support for CD-ROM XA ADPCM
  • Removed the ffserver program
  • Removed the ffmenc and ffmdec muxer and demuxer
  • VideoToolbox HEVC encoder and hwaccel
  • VAAPI-accelerated ProcAmp (color balance), denoise and sharpness filters
  • Add android_camera indev
  • codec2 en/decoding via libcodec2
  • muxer/demuxer for raw codec2 files and .c2 files
  • Moved nvidia codec headers into an external repository. They can be found at http://git.videolan.org/?p=ffmpeg/nv-codec-headers.git
  • native SBC encoder and decoder
  • drmeter audio filter
  • hapqa_extract bitstream filter
  • filter_units bitstream filter
  • AV1 Support through libaom
  • E-AC-3 dependent frames support
  • bitstream filter for extracting E-AC-3 core
  • Haivision SRT protocol via libsrt
  • segafilm muxer
  • vfrdet filter

New in FFmpeg 3.4.2 (Feb 12, 2018)

  • avcodec/vp3: Error out on invalid num_coeffs in unpack_vlcs()
  • avcodec/mpeg4videodec: Ignore multiple VOL headers
  • avcodec/vp3: Check eob_run
  • avcodec/pafvideo: Check allocated frame size
  • avcodec/scpr: Fix reading a pixel before the first
  • avcodec/mpeg2dec: Fix field selection for skipped macroblocks
  • avcodec/huffyuvdec: Check input buffer size
  • avcodec/utvideodec: Fix bytes left check in decode_frame()
  • avcodec/wavpack: Fix integer overflow in FFABS
  • avcodec/aacsbr_fixed: Fix overflows in rounding in sbr_hf_assemble()
  • avcodec/exr: Fix memleaks in decode_header()
  • avcodec/mediacodecdec: use ff_hevc_ps_uninit()
  • avcodec/hevc_parser: use ff_hevc_uninit_parameter_sets()
  • avcodec/hevcdec: use ff_hevc_uninit_parameter_sets()
  • avcodec/hevc_ps: add a function to uninitialize parameter set buffers
  • avcodec/dirac_dwt: Fix several integer overflows
  • avcodec/indeo5: Do not leave frame_type set to an invalid value
  • avcodec/hevc_ps: Check log2_sao_offset_scale_*
  • avcodec/mpeg4videodec: Avoid possibly aliasing violating casts
  • avcodec/get_bits: Document the return code of get_vlc2()
  • avcodec/mpeg4videodec: Check mb_num also against 0
  • avfilter/vf_transpose: Fix used plane count.
  • avcodec/hevc_cabac: Check prefix so as to avoid invalid shifts in coeff_abs_level_remaining_decode()
  • avcodec/mjpegdec: Fix integer overflow in DC dequantization
  • avcodec/dxtory: Fix bits left checks
  • avcodec/hevc_cabac: Move prefix check in coeff_abs_level_remaining_decode() down
  • avcodec/truemotion2: Fix integer overflow in TM2_RECALC_BLOCK()
  • avcodec/snowdec: Fix integer overflow before htaps check
  • avcodec/ulti: Check number of blocks at init
  • avcodec/wavpack: Fix integer overflows in wv_unpack_stereo / mono
  • avcodec/jpeg2000: Check sum of sizes of band->prec before allocating
  • avcodec/ac3dec_fixed: Fix integer overflow in scale_coefs()
  • avformat/lrcdec: Fix memory leak in lrc_read_header()
  • avformat/matroskadec: Fix float-cast-overflow undefined behavior in matroska_parse_tracks()
  • lavfi/deinterlace_vaapi: fix can't show full option information.
  • configure:version 3.4.1: bump year
  • avcodec/utils: Avoid hardcoding duplicated types in sizeof()
  • avcodec/arm/sbrdsp_neon: Use a free register instead of putting 2 things in one
  • avcodec/h264addpx_template: Fixes integer overflows
  • avcodec/dirac_dwt: Fix overflows in COMPOSE_HAARiH0/COMPOSE_HAARiL0
  • avcodec/diracdec: Fix integer overflow with quant
  • avcodec/opus_parser: Check payload_len in parse_opus_ts_header()
  • avcodec/jpeg2000dsp: Fix integer overflows in ict_int()
  • avcodec/h264_slice: Do not attempt to render into frames already output
  • avcodec/dnxhddec: Check dc vlc
  • avcodec/exr: Check buf_size more completely
  • avcodec/flacdec: Fix overflow in multiplication in decode_subframe_fixed()
  • avcodec/hevcdsp_template: Fix Invalid shifts in put_hevc_qpel_bi_w_h() and put_hevc_qpel_bi_w_w()
  • avcodec/flacdec: avoid undefined shift
  • avcodec/hevcdsp_template.c: Fix undefined shift in FUNC(dequant)
  • avcodec/dirac_dwt: Fix integer overflow in COMPOSE_DD97iH0() and COMPOSE_DD137iL0()
  • avcodec/hevc_cabac: Fix integer overflow in ff_hevc_cu_qp_delta_abs()
  • tests/audiomatch: Add missing return code at the end of main()
  • avcodec/hevc_sei: Fix integer overflows in decode_nal_sei_message()
  • avcodec/hevcdsp_template: Fix undefined shift in put_hevc_qpel_bi_w_hv()
  • avcodec/h264_parse: Treat escaped and unescaped decoding error equal in decode_extradata_ps_mp4()
  • avcodec/vp9: mark frame as finished on decode_tiles() failure
  • libavfilter/af_dcshift.c: Fixed repeated spelling error
  • avfilter/formats: fix wrong function name in error message

New in FFmpeg 3.4.1 (Dec 11, 2017)

  • avcodec/vp9_superframe_split_bsf: Fix integer overflow in frame_size/total_size checks
  • avcodec/amrwbdec: Fix division by 0 in voice_factor()
  • avformat/utils: Fix warning: ISO C90 forbids mixed declarations and code
  • avcodec/decode: reset codec on receiving packet after EOF in compat_decode
  • avcodec/diracdsp: Fix integer overflow in PUT_SIGNED_RECT_CLAMPED()
  • avcodec/dirac_dwt: Fix integer overflows in COMPOSE_DAUB97*
  • avcodec/extract_extradata_bsf: Fix leak discovered via fuzzing
  • avcodec/vorbis: Fix another 1 int32_t::max() with 1u.
  • avcodec/vorbis: 1 int32_t::max(), so use 1u 64.
  • avcodec/j2kenc: Fix out of array access in encode_cblk()
  • avcodec/hevcdsp_template: Fix undefined shift in put_hevc_epel_bi_w_h()
  • lavf/mov: fix huge alloc in mov_read_ctts
  • avcodec/mlpdsp: Fix signed integer overflow, 2nd try
  • avcodec/h264idct_template: Fix integer overflow in ff_h264_idct8_add
  • avcodec/kgv1dec: Check that there is enough input for maximum RLE compression
  • avformat/aacdec: Fix leak in adts_aac_read_packet()
  • avcodec/dirac_dwt: Fix integer overflow in COMPOSE_FIDELITYi*
  • avcodec/sbrdsp_fixed: Fix integer overflow
  • avcodec/mpeg4videodec: Check also for negative versions in the validity check
  • Close ogg stream upon error when using AV_EF_EXPLODE.
  • Fix undefined shift on assumed 8-bit input.
  • Use ff_thread_once for fixed, float table init.
  • Fix leak of frame_duration_buffer in mov_fix_index().
  • avformat/mov: Propagate errors in mov_switch_root.
  • avcodec/hevcdsp_template: Fix invalid shift in put_hevc_epel_bi_w_v()
  • avcodec/mlpdsp: Fix undefined shift ff_mlp_pack_output()
  • avcodec/zmbv: Check that the buffer is large enough for mvec
  • avcodec/dirac_dwt: Fix integer overflow in COMPOSE_DD137iL0()
  • avcodec/wmv2dec: Check end of bitstream in parse_mb_skip() and ff_wmv2_decode_mb()
  • avcodec/snowdec: Check for remaining bitstream in decode_blocks()
  • avcodec/snowdec: Check intra block dc differences.
  • avformat/mov: Check size of STSC allocation
  • avcodec/vc2enc: Clear coef_buf on allocation
  • avcodec/h264dec: Fix potential array overread
  • avcodec/x86/mpegvideodsp: Fix signedness bug in need_emu
  • avcodec/aacpsdsp_template: Fix integer overflows in ps_decorrelate_c()
  • avcodec/aacdec_fixed: Fix undefined shift
  • avcodec/mdct_*: Fix integer overflow in addition in RESCALE()
  • avcodec/snowdec: Fix integer overflow in header parsing
  • avcodec/cngdec: Fix integer clipping
  • avcodec/sbrdsp_fixed: Fix integer overflow in shift in sbr_hf_g_filt_c()
  • avcodec/aacsbr_fixed: Fix division by zero in sbr_gain_calc()
  • avutil/softfloat: Add FLOAT_MIN
  • avcodec/h264idct_template: Fix integer overflows in ff_h264_idct8_add()
  • avcodec/xan: Check for bitstream end in xan_huffman_decode()
  • avcodec/exr: fix undefined shift in pxr24_uncompress()
  • avformat: Free the internal codec context at the end
  • avcodec/h264idct_template: Fix integer overflows in ff_h264_idct8_add()
  • avcodec/xan: Improve overlapping check
  • avcodec/aacdec_fixed: Fix integer overflow in apply_dependent_coupling_fixed()
  • avcodec/aacdec_fixed: Fix integer overflow in predict()
  • avcodec/jpeglsdec: Check for end of bitstream in ls_decode_line()
  • avcodec/jpeglsdec: Check ilv for being a supported value
  • tests/ffserver.regression.ref: update checksums to what ffserver currently produces
  • ffserver: Fix off by 1 error in path
  • avcodec/proresdec: align dequantization matrix buffers
  • avformat/matroskaenc: add missing allocation failure checks for stream durations
  • avformat/matroskaenc: actually enforce the stream limit
  • configure: Fix dependencies of aac_at decoder.
  • Don't manipulate duration when it's AV_NOPTS_VALUE.
  • lavfi/af_pan: fix sign handling in channel coefficient parser
  • avformat/hlsenc: write fmp4 init header after first AV frame
  • avformat/hlsenc: allocate space for terminating null
  • avformat/hlsenc: reindent hlsenc code
  • avformat/hlsenc: check hls segment mode for ignore the init filename
  • avformat/hlsenc: reindent hlsenc code
  • avformat/hlsenc: fix missing first segment bug in fmp4 mode
  • avformat/hlsenc: fix base_output_dirname is null when basename_size is 0 bug
  • ffplay: use SDL2 audio API
  • ffplay: only use hardware accelerated SDL texture formats
  • ffplay: create the window and the renderer before starting playback
  • ffmpeg: always init output stream before reaping filters
  • vc2enc_dwt: pad the temporary buffer by the slice size
  • lavu/arm: Check for have_vfp_vm instead of !have_vfpv3 for float_dsp_vfp

New in FFmpeg 3.4 (Oct 17, 2017)

  • deflicker video filter
  • doubleweave video filter
  • lumakey video filter
  • pixscope video filter
  • oscilloscope video filter
  • config.log and other configuration files moved into ffbuild/ directory
  • update cuvid/nvenc headers to Video Codec SDK 8.0.14
  • afir audio filter
  • scale_cuda CUDA based video scale filter
  • librsvg support for svg rasterization
  • crossfeed audio filter
  • spec compliant VP9 muxing support in MP4
  • remove the libnut muxer/demuxer wrappers
  • remove the libschroedinger encoder/decoder wrappers
  • surround audio filter
  • sofalizer filter switched to libmysofa
  • Gremlin Digital Video demuxer and decoder
  • headphone audio filter
  • superequalizer audio filter
  • roberts video filter
  • The x86 assembler default switched from yasm to nasm, pass --x86asmexe=yasm to configure to restore the old behavior.
  • additional frame format support for Interplay MVE movies
  • support for decoding through D3D11VA in ffmpeg
  • limiter video filter
  • libvmaf video filter
  • Dolby E decoder and SMPTE 337M demuxer
  • unpremultiply video filter
  • tlut2 video filter
  • floodfill video filter
  • pseudocolor video filter
  • raw G.726 muxer and demuxer, leftand right-justified
  • NewTek NDI input/output device
  • Some video filters with several inputs now use a common set of options: blend, libvmaf, lut3d, overlay, psnr, ssim. They must always be used by name.
  • FITS demuxer and decoder
  • FITS muxer and encoder
  • add --disable-autodetect build switch
  • drop deprecated qtkit input device (use avfoundation instead)
  • despill video filter
  • haas audio filter
  • SUP/PGS subtitle muxer
  • convolve video filter
  • VP9 tile threading support
  • KMS screen grabber
  • CUDA thumbnail filter
  • V4L2 mem2mem HW assisted codecs
  • Rockchip MPP hardware decoding
  • vmafmotion video filter
  • use MIME type "G726" for little-endian G.726, "AAL2-G726" for big-endian G.726

New in FFmpeg 3.3.4 (Sep 12, 2017)

  • avcodec/hevc_ps: improve check for missing default display window bitstream
  • avcodec/hevc_ps: Fix c?_qp_offset_list size
  • avcodec/shorten: Move buffer allocation and offset init to end of read_header()
  • avcodec/jpeg2000dsp: Fix multiple integer overflows in ict_int()
  • avcodec/hevcdsp_template: Fix undefined shift in put_hevc_pel_bi_w_pixels
  • avcodec/diracdec: Fix overflow in DC computation
  • avcodec/scpr: optimize shift loop.
  • avcodec/dirac_vlc: limit res_bits in APPEND_RESIDUE()
  • libavcodec/h264_parse: don't use uninitialized value when chroma_format_idc==0
  • avformat/asfdec: Fix DoS in asf_build_simple_index()
  • avformat/mov: Fix DoS in read_tfra()
  • avcodec/dirac_vlc: Fix invalid shift in ff_dirac_golomb_read_32bit()
  • avcodec/dirac_dwt: Fix multiple overflows in 9/7 lifting
  • avcodec/diracdec: Fix integer overflow in INTRA_DC_PRED()
  • avformat/mxfdec: Fix Sign error in mxf_read_primer_pack()
  • avformat/mxfdec: Fix DoS issues in mxf_read_index_entry_array()
  • avformat/nsvdec: Fix DoS due to lack of eof check in nsvs_file_offset loop.
  • avcodec/snowdec: Fix integer overflow in decode_subband_slice_buffered()
  • avcodec/hevc_ps: Fix undefined shift in pcm code
  • avcodec/sbrdsp_fixed: Fix undefined overflows in autocorrelate()
  • avformat/mvdec: Fix DoS due to lack of eof check
  • avformat/rl2: Fix DoS due to lack of eof check
  • avformat/rmdec: Fix DoS due to lack of eof check
  • avformat/cinedec: Fix DoS due to lack of eof check
  • avformat/asfdec: Fix DoS due to lack of eof check
  • avformat/hls: Fix DoS due to infinite loop
  • ffprobe: Fix NULL pointer handling in color parameter printing
  • ffprobe: Fix null pointer dereference with color primaries
  • avcodec/hevc_ps: Check delta_pocs in ff_hevc_decode_short_term_rps()
  • avformat/rtpdec_h264: Fix heap-buffer-overflow
  • avformat/aviobuf: Fix signed integer overflow in avio_seek()
  • avformat/mov: Fix signed integer overflows with total_size
  • avcodec/utils: Fix signed integer overflow in rc_initial_buffer_occupancy initialization
  • avcodec/aacdec_template: Fix running cleanup in decode_ics_info()
  • avcodec/me_cmp: Fix crashes on ARM due to misalignment
  • avcodec/pixlet: Fixes: undefined shift in av_mod_uintp2()
  • avcodec/dirac_dwt_template: Fix integer overflow in vertical_compose53iL0()
  • avcodec/fic: Fixes signed integer overflow
  • avcodec/snowdec: Fix off by 1 error
  • avcodec/pixlet: fixes integer overflow in read_highpass()
  • avcodec/zmbv: Check decomp_size
  • avcodec/diracdec: Fixes integer overflow
  • avcodec/diracdec: Check perspective_exp and zrs_exp.
  • avcodec/ffv1dec_template: Fix undefined shift
  • avcodec/mpeg4videodec: Clear mcsel before decoding an image
  • avcodec/dirac_dwt: Fixes integer overflows in COMPOSE_DAUB97*
  • avcodec/aacdec_fixed: fix invalid shift in predict()
  • avcodec/h264_slice: Fix overflow in slice offset
  • avformat/utils: fix memory leak in avformat_free_context
  • swscale: fix gbrap16 alpha channel issues
  • avcodec/h264idct_template: Fix integer overflow in ff_h264_idct_add()
  • avcodec/diracdsp: fix integer overflow
  • avcodec/diracdec: Check weight_log2denom
  • avcodec/nvenc: only push cuda context on encoder close if encoder exists
  • avfilter/vf_ssim: fix temp size calculation

New in FFmpeg 3.3.3 (Jul 31, 2017)

  • avcodec/dirac_dwt: Fix multiple integer overflows in COMPOSE_DD97iH0()
  • avcodec/diracdec: Fix integer overflow in divide3()
  • avcodec/takdec: Fix integer overflow in decode_subframe()
  • avformat/rtmppkt: Convert ff_amf_get_field_value() to bytestream2
  • avformat/rtmppkt: Convert ff_amf_tag_size() to bytestream2
  • avcodec/diracdec: Fix integer overflow in signed multiplication in UNPACK_ARITH()
  • avcodec/pixlet: Simplify nbits computation
  • avcodec/dnxhddec: Move mb height check out of non hr branch
  • avcodec/hevc_ps: fix integer overflow in log2_parallel_merge_level_minus2
  • avformat/oggparsecelt: Do not re-allocate os->private
  • avcodec/ylc: Fix shift overflow
  • avcodec/aacps: Fix multiple integer overflow in map_val_34_to_20()
  • avcodec/aacdec_fixed: fix: left shift of negative value -1
  • avcodec/dirac_vlc: Fix undefined shift
  • doc/filters: typo in frei0r
  • avcodec/cfhd: Fix decoding regression due to height check
  • avcodec/aacdec_template (fixed point): Check gain in decode_cce() to avoid undefined shifts later
  • avcodec/ffv1dec_template: Fix signed integer overflow
  • avcodec/aacdec_template: Fix undefined integer overflow in apply_tns()
  • avcodec/magicyuv: Check that vlc len is not too large
  • avcodec/mjpegdec: Clip DC also on the negative side.
  • avcodec/aacps (fixed point): Fix multiple signed integer overflows
  • avcodec/ylc: Fix vlc of 31 bits
  • avcodec/sbrdsp_fixed: Fix integer overflow in sbr_hf_apply_noise()
  • avcodec/hevcdec: do not let updated extradata corrupt state
  • avcodec/wavpack: Fix invalid shift
  • avcodec/h264_slice: Fix signed integer overflow
  • avcodec/hevc_ps: Fix integer overflow with beta/tc offsets
  • avcodec/cfhd: Fix invalid left shift of negative value
  • avcodec/vb: Check vertical GMC component before multiply
  • avcodec/hevcdec: do basic validity check on delta_chroma_weight and offset
  • avcodec/jpeg2000dwt: Fix integer overflow in dwt_decode97_int()
  • avcodec/apedec: Fix integer overflow
  • avcodec/wavpack: Fix integer overflow in wv_unpack_stereo()
  • avcodec/hevc_ps: Fix max_dec_buffer check
  • avcodec/mpeg4videodec: Fix GMC with videos of dimension 1
  • avcodec/wavpack: Fix integer overflow
  • avcodec/takdec: Fix integer overflow
  • avcodec/tiff: Update pointer only when the result is used
  • avcodec/cfhd: Check bpc before setting bpc in context
  • avcodec/cfhd: Fix undefined shift
  • avcodec/hevc_filter: Fix invalid shift
  • avcodec/mpeg4videodec: Fix overflow in virtual_ref computation
  • avcodec/lpc: signed integer overflow in compute_lpc_coefs() (aacdec_fixed)
  • avcodec/wavpack: Fix undefined integer negation
  • avcodec/aacdec_fixed: Check s for being too small
  • avcodec/htmlsubtitles: Replace very slow redundant sscanf() calls by cleaner and faster code
  • avcodec/h264: Fix mix of lossless and lossy MBs decoding
  • avcodec/h264_mb: Fix 8x8dct in lossless for new versions of x264
  • avcodec/h264_cabac: Fix CABAC+8x8dct in 4:4:4
  • avcodec/takdec: Fixes: integer overflow in AV_SAMPLE_FMT_U8P output
  • avcodec/jpeg2000dsp: Reorder operations in ict_int() to avoid 2 integer overflows
  • avcodec/hevcpred_template: Fix left shift of negative value
  • avcodec/hevcdec: Fix signed integer overflow in decode_lt_rps()
  • avcodec/jpeg2000dec: Check nonzerobits more completely
  • avcodec/shorten: Sanity check maxnlpc
  • avcodec/truemotion2: Move skip computation after checks
  • avcodec/jpeg2000: Fixes integer overflow in ff_jpeg2000_ceildivpow2()
  • avcodec/dnxhd_parser: Do not return invalid value from dnxhd_find_frame_end() on error
  • avcodec/hevcdec: Check nb_sps
  • avcodec/hevc_refs: Check nb_refs in add_candidate_ref()
  • avcodec/mpeg4videodec: Check sprite delta upshift against overflowing.
  • avcodec/mpeg4videodec: Fix integer overflow in num_sprite_warping_points=2 case
  • avcodec/aacsbr_fixed: Check shift in sbr_hf_assemble()
  • avcodec/sbrdsp_fixed: Return an error from sbr_hf_apply_noise() if operations are impossible
  • avcodec/libvpxdec: Check that display dimensions fit in the storage dimensions
  • avcodec/jpeg2000dwt: Fix runtime error: left shift of negative value -123
  • avcodec/wavpack: Fix runtime error: signed integer overflow: 1886191616 + 277872640 cannot be represented in type 'int'
  • avcodec/snowdec: Fix runtime error: left shift of negative value -1
  • avcodec/aacdec_fixed: Fix runtime error: left shift of negative value -1297616
  • avcodec/tiff: Fix leak of geotags[].val
  • avcodec/ra144: Fix runtime error: signed integer overflow: -2200 * 1033073 cannot be represented in type 'int'
  • avcodec/flicvideo: Fix runtime error: signed integer overflow: 4864 * 459296 cannot be represented in type 'int'
  • avcodec/cfhd: Check band parameters before storing them
  • avcodec/h264_parse: Check picture structure when initializig weight table
  • avcodec/indeo4: Check remaining data in Pic hdr extension parsing code
  • avcodec/ac3dec_fixed: Fix multiple runtime error: signed integer overflow: -39271008 * 59 cannot be represented in type 'int'
  • lavc/aarch64/simple_idct: fix idct_col4_top coefficient

New in FFmpeg 3.3.2 (Jun 8, 2017)

  • avcodec/mpeg4videodec: Fix runtime error: signed integer overflow: 53098 * 40448 cannot be represented in type 'int'
  • avcodec/pafvideo: Fix assertion failure
  • avcodec/takdec: Fix multiple runtime error: signed integer overflow: 637072 * 4096 cannot be represented in type 'int'
  • avcodec/mjpegdec: Check that reference frame matches the current frame
  • avcodec/tiff: Avoid loosing allocated geotag values
  • avcodec/cavs: Fix runtime error: signed integer overflow: -12648062 * 256 cannot be represented in type 'int'
  • avformat/hls: Check local file extensions
  • avcodec/qdrw: Fix null pointer dereference
  • avutil/softfloat: Fix sign error in and improve documentation of av_int2sf()
  • avcodec/hevc_ps: Fix runtime error: index 32 out of bounds for type 'uint8_t [32]'
  • avcodec/dxv: Check remaining bytes in dxv_decompress_raw()
  • avcodec/pafvideo: Check packet size and frame code before ff_reget_buffer()
  • avcodec/ac3dec_fixed: Fix runtime error: left shift of 419 by 23 places cannot be represented in type 'int'
  • avformat/options: log filename on open
  • avcodec/aacps: Fix runtime error: left shift of 1073741824 by 1 places cannot be represented in type 'INTFLOAT' (aka 'int')
  • avcodec/wavpack: Fix runtime error: shift exponent 32 is too large for 32-bit type 'int'
  • avcodec/cfhd: Fix runtime error: signed integer overflow: 65280 * 65288 cannot be represented in type 'int'
  • avcodec/wavpack: Fix runtime error: signed integer overflow: 2013265955 -134217694 cannot be represented in type 'int'
  • avcodec/cinepak: Check input packet size before frame reallocation
  • avcodec/hevc_ps: Fix runtime error: signed integer overflow: 2147483628 + 256 cannot be represented in type 'int'
  • avcodec/ra144: Fixes runtime error: signed integer overflow: 7160 * 327138 cannot be represented in type 'int'
  • avcodec/pnm: Use ff_set_dimensions()
  • avcodec/cavsdec: Fix runtime error: signed integer overflow: 59 + 2147483600 cannot be represented in type 'int'
  • avcodec/nvenc: fix hw accelerated transcode with bframes
  • libavformat/hls: Observe Set-Cookie headers
  • libavformat/http: Ignore expired cookies
  • avformat/avidec: Limit formats in gab2 to srt and ass/ssa
  • avcodec/acelp_pitch_delay: Fix runtime error: value 4.83233e+39 is outside the range of representable values of type 'float'
  • avcodec/wavpack: Check float_shift
  • avcodec/wavpack: Fix runtime error: signed integer overflow: 24 * -2147483648 cannot be represented in type 'int'
  • avcodec/ansi: Fix frame memleak
  • avcodec/dds: Fix runtime error: left shift of 145 by 24 places cannot be represented in type 'int'
  • avcodec/jpeg2000dec: Use ff_set_dimensions()
  • avcodec/truemotion2: Fix passing null pointer to memset()
  • avcodec/truemotion2: Fix runtime error: left shift of 1 by 31 places cannot be represented in type 'int'
  • avcodec/ra144: Fix runtime error: signed integer overflow: -2449 * 1398101 cannot be represented in type 'int'
  • avcodec/ra144: Fix runtime error: signed integer overflow: 11184810 * 404 cannot be represented in type 'int'
  • avcodec/aac_defines: Add missing () to AAC_HALF_SUM() macro
  • avcodec/webp: Fixes null pointer dereference
  • avcodec/aacdec_fixed: Fix runtime error: left shift of 1 by 31 places cannot be represented in type 'int'
  • avcodec/ylc: Check count in build_vlc()
  • avcodec/snow: Fix runtime error: signed integer overflow: 1086573993 + 1086573994 cannot be represented in type 'int'
  • avcodec/jpeg2000: Fix runtime error: signed integer overflow: 4185 + 2147483394 cannot be represented in type 'int'
  • avcodec/jpeg2000dec: Check tile offsets more completely
  • avcodec/sheervideo: Check input buffer size before allocating and decoding
  • avcodec/aacdec_fixed: Fix multiple runtime error: shift exponent 127 is too large for 32-bit type 'int'
  • avcodec/wnv1: More strict buffer size check
  • avcodec/libfdk-aacdec: Correct buffer_size parameter
  • avcodec/sbrdsp_template: Fix: runtime error: signed integer overflow: 849815297 + 1315389781 cannot be represented in type 'int'
  • avcodec/ivi_dsp: Fix runtime error: left shift of negative value -2
  • doc/filters: Clarify scale2ref example
  • avcodec/mlpdec: Do not leave invalid values in matrix_out_ch[] on error
  • avcodec/ra144dec: Fix runtime error: left shift of negative value -17
  • avcodec/pixlet: Fix runtime error: signed integer overflow: 2147483647 + 32 cannot be represented in type 'int'
  • avformat/mux: Fix copy an paste typo
  • avutil/internal: Do not enable CHECKED with DEBUG
  • avcodec/clearvideo: Check buf_size before decoding frame
  • avcodec/aacdec_fixed: Fix runtime error: signed integer overflow: -2147483648 * -1 cannot be represented in type 'int'
  • avcodec/smc: Check remaining input
  • avcodec/diracdec: Fix off by 1 error in quant check
  • avcodec/jpeg2000dec: Fix copy and paste error
  • avcodec/jpeg2000dec: Check tile offsets
  • avcodec/sanm: Fix uninitialized reference frames
  • avcodec/jpeglsdec: Check get_bits_left() before decoding a picture
  • avcodec/fmvc: Fix use of uninitialized memory when the first frame is not a keyframe
  • avcodec/ivi_dsp: Fix multiple runtime error: left shift of negative value -71
  • avcodec/mjpegdec: Fix runtime error: signed integer overflow: -32767 * 130560 cannot be represented in type 'int'
  • avcodec/aacdec_fixed: Fix runtime error: shift exponent 34 is too large for 32-bit type 'int'
  • avcodec/mpeg4videodec: Check for multiple VOL headers
  • avcodec/vp9block: fix runtime error: signed integer overflow: 196675 * 20670 cannot be represented in type 'int'
  • avcodec/vmnc: Check location before use
  • avcodec/takdec: Fix runtime error: signed integer overflow: 8192 * 524308 cannot be represented in type 'int'
  • avcodec/aac_defines: Fix: runtime error: left shift of negative value -2
  • avcodec/takdec: Fix runtime error: left shift of negative value -63
  • avcodec/mlpdsp: Fix runtime error: signed integer overflow: -24419392 * 128 cannot be represented in type 'int'
  • avcodec/sbrdsp_fixed: fix runtime error: left shift of 1 by 31 places cannot be represented in type 'int'
  • avcodec/aacsbr_fixed: Fix multiple runtime error: shift exponent 170 is too large for 32-bit type 'int'
  • avcodec/mlpdec: Do not leave a invalid num_primitive_matrices in the context
  • avcodec/aacsbr_fixed: Fix multiple runtime error: shift exponent 150 is too large for 32-bit type 'int'
  • avcodec/mimic: Use ff_set_dimensions() to set the dimensions
  • avcodec/fic: Fix multiple runtime error: signed integer overflow: 5793 * 419752 cannot be represented in type 'int'
  • avcodec/pixlet: Fix reading invalid numbers of bits
  • avcodec/mlpdec: Fix: runtime error: left shift of negative value -8
  • avcodec/dfa: Fix: runtime error: signed integer overflow: -14202 * 196877 cannot be represented in type 'int'
  • avcodec/aacdec: Fix runtime error: signed integer overflow: 2147483520 + 255 cannot be represented in type 'int'
  • avcodec/aacdec_template: Fix fixed point scale in decode_cce()
  • avcodec/fmvc: Fix off by 1 error
  • avcodec/flicvideo: Check frame_size before decrementing
  • avcodec/mlpdec: Fix runtime error: left shift of negative value -1
  • avcodec/takdec: Fix runtime error: left shift of negative value -42
  • avcodec/hq_hqa: Fix: runtime error: signed integer overflow: -255 * 10180917 cannot be represented in type 'int'
  • avcodec/scpr: mask bits to prevent out of array read
  • avcodec/truemotion1: Fix multiple runtime error: signed integer overflow: 1246906962 * 2 cannot be represented in type 'int'
  • avcodec/svq3: Fix runtime error: left shift of negative value -6
  • avcodec/tiff: reset sampling[] if its invalid
  • configure: Fix the msvcrt version check for mingw32
  • lavf/mov: make invalid m{d,v}hd time_scale default to 1 instead of erroring out
  • lavc/ffjni: add missing 'n'
  • lavc/mediacodec_wrapper: do not declare JNIAMedia{Codec,CodecList,Format}Fields on the stack
  • lavc/mediacodec_wrapper: fix local reference leaks
  • avcodec/nvenc: remove unnecessary alignment
  • Use AVOnce as a static variable consistently
  • avfilter: take_samples: do not directly return frame when samples are skipped
  • avutil/hwcontext_dxva2: Don't improperly free IDirect3DSurface9 objects

New in FFmpeg 3.3.1 (May 15, 2017)

  • libswscale/tests/swscale: Fix uninitialized variables
  • avcodec/ffv1dec: Fix runtime error: signed integer overflow: 1550964438 + 1550964438 cannot be represented in type 'int'
  • avcodec/webp: Fix signedness in prefix_code check
  • avcodec/svq3: Fix runtime error: signed integer overflow: 169 * 12717677 cannot be represented in type 'int'
  • avcodec/mlpdec: Check that there is enough data for headers
  • avcodec/ac3dec: Keep track of band structure
  • avcodec/webp: Add missing input padding
  • avcodec/aacdec_fixed: Fix runtime error: left shift of negative value -1
  • avcodec/aacsbr_template: Do not change bs_num_env before its checked
  • avcodec/scpr: Fix multiple runtime error: index 256 out of bounds for type 'unsigned int [256]'
  • avcodec/mlp: Fix multiple runtime error: left shift of negative value -1
  • avcodec/xpmdec: Fix multiple pointer/memory issues
  • avcodec/vp8dsp: vp7_luma_dc_wht_c: Fix multiple runtime error: signed integer overflow: -1366381240 + -1262413604 cannot be represented in type 'int'
  • avcodec/avcodec: Limit the number of side data elements per packet
  • avcodec/texturedsp: Fix runtime error: left shift of 255 by 24 places cannot be represented in type 'int'
  • avcodec/g723_1dec: Fix runtime error: left shift of negative value -1
  • avcodec/wmv2dsp: Fix runtime error: signed integer overflow: 181 * -17047030 cannot be represented in type 'int'
  • avcodec/diracdec: Fix Assertion frame->buf[0] failed at libavcodec/decode.c:610
  • avcodec/msmpeg4dec: Check for cbpy VLC errors
  • avcodec/cllc: Check num_bits
  • avcodec/cllc: Factor VLC_BITS/DEPTH out, do not use repeated literal numbers
  • avcodec/scpr: Check y in first line loop in decompress_i()
  • avcodec/dvbsubdec: Check entry_id
  • avcodec/aacdec_fixed: Fix multiple shift exponent 33 is too large for 32-bit type 'int'
  • avcodec/mpeg12dec: Fixes runtime error: division by zero
  • avcodec/pixlet: Fix runtime error: signed integer overflow: 436207616 * -5160230545260541 cannot be represented in type 'long'
  • avcodec/webp: Always set pix_fmt
  • avfilter/vf_uspp: Fix currently unused input frame dimensions
  • avcodec/truemotion1: Fix multiple runtime error: left shift of negative value -1
  • avcodec/eatqi: Fix runtime error: signed integer overflow: 4466147 * 1075 cannot be represented in type 'int'
  • avcodec/dss_sp: Fix runtime error: signed integer overflow: 2147481189 + 4096 cannot be represented in type 'int'
  • avformat/wavdec: Check chunk_size
  • avcodec/cavs: Check updated MV
  • avcodec/y41pdec: Fix width in input buffer size check
  • avcodec/svq3: Fix multiple runtime error: signed integer overflow: -237341 * 24552 cannot be represented in type 'int'
  • avcodec/texturedsp: Fix runtime error: left shift of 218 by 24 places cannot be represented in type 'int'
  • avcodec/lagarith: Check scale_factor
  • avcodec/lagarith: Fix runtime error: left shift of negative value -1
  • avcodec/takdec: Fix multiple runtime error: left shift of negative value -1
  • avcodec/indeo2: Check for invalid VLCs
  • avcodec/g723_1dec: Fix several integer related cases of undefined behaviour
  • avcodec/htmlsubtitles: Check for string truncation and return error
  • avcodec/bmvvideo: Fix runtime error: left shift of 137 by 24 places cannot be represented in type 'int'
  • avcodec/dss_sp: Fix multiple runtime error: signed integer overflow: -15699 * -164039 cannot be represented in type 'int'
  • avcodec/dvbsubdec: check region dimensions
  • avcodec/vp8dsp: Fixes: runtime error: signed integer overflow: 1330143360 -1023040530 cannot be represented in type 'int'
  • avcodec/hqxdsp: Fix multiple runtime error: signed integer overflow: 248220 * 21407 cannot be represented in type 'int' in idct_col()
  • avcodec/cavsdec: Check sym_factor
  • avcodec/cdxl: Check format for BGR24
  • avcodec/ffv1dec: Fix copying planes of paletted formats
  • avcodec/wmv2dsp: Fix runtime error: signed integer overflow: 181 * -12156865 cannot be represented in type 'int'
  • avcodec/xwddec: Check bpp more completely
  • avcodec/aacdec_template: Do not decode 2nd PCE if it will lead to failure
  • avcodec/s302m: Fix left shift of 8 by 28 places cannot be represented in type 'int'
  • avcodec/eamad: Fix runtime error: signed integer overflow: 49674 * 49858 cannot be represented in type 'int'
  • avcodec/g726: Fix runtime error: left shift of negative value -2
  • avcodec/magicyuv: Check len to be supported
  • avcodec/ra144: Fix runtime error: left shift of negative value -798
  • avcodec/mss34dsp: Fix multiple signed integer overflow
  • avcodec/targa_y216dec: Fix width type
  • avcodec/texturedsp: Fix multiple runtime error: left shift of 255 by 24 places cannot be represented in type 'int'
  • avcodec/ivi_dsp: Fix multiple left shift of negative value -2
  • avcodec/svq3: Fix multiple runtime error: signed integer overflow: 44161 * 61694 cannot be represented in type 'int'
  • avcodec/msmpeg4dec: Correct table depth
  • avcodec/dds: Fix runtime error: left shift of 1 by 31 places cannot be represented in type 'int'
  • avcodec/cdxl: Check format parameter
  • avutil/softfloat: Fix overflow in av_div_sf()
  • avcodec/hq_hqa: Fix runtime error: left shift of negative value -207
  • avcodec/mss3: Change types in rac_get_model_sym() to match the types they are initialized from
  • avcodec/shorten: Check k in get_uint()
  • avcodec/webp: Fix null pointer dereference
  • avcodec/dfa: Fix signed integer overflow: -2147483648 1 cannot be represented in type 'int'
  • avcodec/g723_1: Fix multiple runtime error: left shift of negative value
  • avcodec/mimic: Fix runtime error: left shift of negative value -1
  • avcodec/clearvideo: Fix multiple runtime error: left shift of negative value -1024
  • avcodec/fic: Fix multiple left shift of negative value -15
  • avcodec/mlpdec: Fix runtime error: left shift of negative value -22
  • avcodec/snowdec: Check qbias
  • avutil/softfloat: Fix multiple runtime error: left shift of negative value -8
  • avcodec/aacsbr_template: Do not leave bs_num_env invalid
  • avcodec/mdec: Fix signed integer overflow: 28835400 * 83 cannot be represented in type 'int'
  • avcodec/dfa: Fix off by 1 error
  • avcodec/nellymoser: Fix multiple left shift of negative value -8591
  • avcodec/cdxl: Fix signed integer overflow: 14243456 * 164 cannot be represented in type 'int'
  • avcodec/g722: Fix multiple runtime error: left shift of negative value -1
  • avcodec/dss_sp: Fix multiple left shift of negative value -466
  • avcodec/wnv1: Fix runtime error: left shift of negative value -1
  • avcodec/tiertexseqv: set the fixed dimenasions, do not depend on the demuxer doing so
  • avcodec/mjpegdec: Fix runtime error: signed integer overflow: -24543 * 2031616 cannot be represented in type 'int'
  • avcodec/cavsdec: Fix undefined behavior from integer overflow
  • avcodec/dvdsubdec: Fix runtime error: left shift of 242 by 24 places cannot be represented in type 'int'
  • libavcodec/mpeg4videodec: Convert sprite_offset to 64bit
  • avcodec/pngdec: Use ff_set_dimensions()
  • avcodec/msvideo1: Check buffer size before re-getting the frame
  • avcodec/h264_cavlc: Fix undefined behavior on qscale overflow
  • avcodec/dcadsp: Fix runtime error: signed integer overflow
  • avcodec/svq3: Reject dx/dy beyond 16bit
  • avcodec/svq3: Increase offsets to prevent integer overflows
  • avcodec/indeo2: Check remaining bits in ir2_decode_plane()
  • avcodec/vp3: Check remaining bits in unpack_dct_coeffs()
  • doc/developer: Add terse documentation of assumed C implementation defined behavior
  • avcodec/bmp: Use ff_set_dimensions()
  • avcodec/mdec: Fix runtime error: left shift of negative value -127
  • avcodec/x86/vc1dsp_init: Fix build failure with --disable-optimizations and clang
  • libavcodec/exr : fix float to uint16 conversion for negative float value
  • avformat/webmdashenc: Validate the 'streams' adaptation sets parameter
  • avformat/webmdashenc: Require the 'adaptation_sets' option to be set
  • lavfi/avfiltergraph: only return EOF in avfilter_graph_request_oldest if all sinks EOFed
  • ffmpeg: check for unconnected outputs
  • avformat/utils: free AVStream.codec properly in free_stream()
  • avcodec/options: do a more thorough clean up in avcodec_copy_context()
  • avcodec/options: factorize avcodec_copy_context() cleanup code
  • ffmpeg: count packets when queued
  • avformat/concatdec: fix the h264 annexb extradata check
  • avcodec/dnxhd_parser: fix parsing interlaced video, simplify code
  • ffmpeg; check return code of avcodec_send_frame when flushing encoders
  • avcodec/g723_1dec: Fix LCG type
  • avcodec/hqxdsp: Fix runtime error: signed integer overflow: -196264 * 11585 cannot be represented in type 'int'
  • avcodec/ac3dec: Fix: runtime error: index -1 out of bounds for type 'INTFLOAT [2]'
  • avcodec/mpeg4videodec: Clear sprite wraping on unsupported cases in VOP decode
  • avcodec/pixlet: Fixes: runtime error: signed integer overflow: 9203954323419769657 + 29897660706736950 cannot be represented in type 'long'
  • avcodec/dds: Fix runtime error: left shift of 210 by 24 places cannot be represented in type 'int'
  • avcodec/rscc: Check pixel_size for overflow
  • avcodec/fmvc: Check nb_blocks
  • avcodec/cllc: Check prefix
  • avcodec/webp: Factor update_canvas_size() out
  • avcodec/webp: Update canvas size in vp8_lossy_decode_frame() as in vp8_lossless_decode_frame()
  • avcodec/snowdec: Check width
  • avcodec/flacdec: Return error code instead of 0 for failures
  • avcodec/opus_silk: Fix integer overflow and out of array read
  • avcodec/aacps: Fix undefined behavior
  • avcodec/pixlet: Fix shift exponent 4294967268 is too large for 32-bit type 'int'
  • doc/general: fix project name after 2b1a6b1ae

New in FFmpeg 3.3 (Apr 13, 2017)

  • CrystalHD decoder moved to new decode API
  • add internal ebur128 library, remove external libebur128 dependency
  • Pro-MPEG CoP #3-R2 FEC protocol
  • premultiply video filter
  • Support for spherical videos
  • configure now fails if autodetect-libraries are requested but not found
  • PSD Decoder
  • 16.8 floating point pcm decoder
  • 24.0 floating point pcm decoder
  • Apple Pixlet decoder
  • QDMC audio decoder
  • NewTek SpeedHQ decoder
  • MIDI Sample Dump Standard demuxer
  • readeia608 filter
  • Sample Dump eXchange demuxer
  • abitscope multimedia filter
  • Scenarist Closed Captions demuxer and muxer
  • threshold filter
  • midequalizer filter
  • Optimal Huffman tables for (M)JPEG encoding
  • VAAPI-accelerated MPEG-2 and VP8 encoding
  • FM Screen Capture Codec decoder
  • native Opus encoder
  • ScreenPressor decoder
  • incomplete ClearVideo decoder
  • Intel QSV video scaling and deinterlacing filters
  • Support MOV with multiple sample description tables
  • XPM decoder
  • Removed the legacy X11 screen grabber, use XCB instead
  • MPEG-7 Video Signature filter
  • Removed asyncts filter (use af_aresample instead)
  • Intel QSV-accelerated VP8 video decoding

New in FFmpeg 3.2.4 (Feb 11, 2017)

  • avcodec/h264_slice: Clear ref_counts on redundant slices
  • lavf/mov.c: Avoid heap allocation wrap in mov_read_uuid
  • lavf/mov.c: Avoid heap allocation wrap in mov_read_hdlr
  • avcodec/pictordec: Fix logic error
  • ffserver_config: Setup codecpar in add_codec()
  • Changelog: fix typos

New in FFmpeg 3.2.3 (Feb 7, 2017)

  • avcodec/movtextdec: Fix decode_styl() cleanup
  • lavf/matroskadec: fix is_keyframe for early Blocks
  • configure: bump year
  • avcodec/pngdec: Check trns more completely
  • avcodec/interplayvideo: Move parameter change check up
  • avcodec/dca_lbr: Fix off by 1 error in freq check
  • avcodec/mjpegdec: Check for for the bitstream end in mjpeg_decode_scan_progressive_ac()
  • pgssubdec: reset rle_data_len/rle_remaining_len on allocation error
  • swscale: save ebx register when it is not available
  • avformat/flacdec: Check avio_read result when reading flac block header.
  • avcodec/utils: correct align value for interplay
  • avcodec/vp56: Check for the bitstream end, pass error codes on
  • avcodec/mjpegdec: Check remaining bitstream in ljpeg_decode_yuv_scan()
  • avcodec/pngdec: Fix off by 1 size in decode_zbuf()
  • libopenmpt: add missing avio_read return value check
  • avcodec/bsf: Fix av_bsf_list_free()
  • avcodec/omx: Do not pass negative value into av_malloc()
  • avformat/avidec: skip odml master index chunks in avi_sync
  • avcodec/mjpegdec: Check for rgb before flipping
  • lavf/utils.c Protect against accessing entries[nb_entries]
  • avutil/random_seed: Reduce the time needed on systems with very low precission clock()
  • swscale/swscale: Fix dereference of stride array before null check
  • avutil/random_seed: Improve get_generic_seed() with higher precission clock()
  • avformat/mp3dec: fix msan warning when verifying mpa header
  • avformat/utils: Print verbose error message if stream count exceeds max_streams
  • avformat/options_table: Set the default maximum number of streams to 1000
  • lavf/chromaprint: Update for version 1.4
  • avutil: Add av_image_check_size2()
  • avformat: Add max_streams option
  • avcodec/ffv1enc: Allocate smaller packet if the worst case size cannot be allocated
  • avcodec/mpeg4videodec: Fix undefined shifts in mpeg4_decode_sprite_trajectory()
  • avformat/oggdec: Skip streams in duration correction that did not had their duration set.
  • avcodec/ffv1enc: Fix size of first slice
  • ffplay: fix sws_scale possible out of bounds array access
  • avfilter/vf_hwupload_cuda: Add min/max limits for the 'device' option

New in FFmpeg 3.2.2 (Dec 7, 2016)

  • ffserver: Check chunk size
  • Avoid using the term "file" and prefer "url" in some docs and comments
  • avformat/rtmppkt: Check for packet size mismatches
  • zmqsend: Initialize ret to 0
  • avcodec/flacdec: Fix undefined shift in decode_subframe()
  • avcodec/get_bits: Fix get_sbits_long(0)
  • avformat/ffmdec: Check media type for chunks
  • avcodec/flacdec: Fix signed integer overflow in decode_subframe_fixed()
  • avcodec/flacdsp_template: Fix undefined shift in flac_decorrelate_indep_c
  • avformat/oggparsespeex: Check frames_per_packet and packet_size
  • avformat/utils: Check start/end before computing duration in update_stream_timings()
  • avcodec/flac_parser: Update nb_headers_buffered
  • avformat/idroqdec: Check chunk_size for being too large
  • avcodec/me_cmp: Fix median_sad size
  • avformat/utils: Fix type mismatch
  • configure: check for strtoull on msvc
  • http: move chunk handling from http_read_stream() to http_buf_read().
  • http: make length/offset-related variables unsigned

New in FFmpeg 3.2.1 (Nov 28, 2016)

  • avcodec/aac_adtstoasc_bsf: validate and forward extradata if the stream is already ASC
  • mss2: only use error correction for matching block counts
  • softfloat: decrease MIN_EXP to cover full float range
  • libopusdec: default to stereo for invalid number of channels
  • flvdec: require need_context_update when changing codec id
  • pgssubdec: only set w/h/linesize when allocating data
  • sbgdec: prevent NULL pointer access
  • rmdec: validate block alignment
  • smacker: limit recursion depth of smacker_decode_bigtree
  • mxfdec: fix NULL pointer dereference in mxf_read_packet_old
  • ffmdec: validate codec parameters
  • avformat/mpeg: Adjust vid probe threshold to correct mis-detection
  • avcodec/ass_split: Change order of operations in ass_split_section()
  • avcodec/rawdec: check for side data before checking its size
  • avcodec/avpacket: fix leak on realloc in av_packet_add_side_data()
  • avformat/apngenc: use the stream parameters extradata if available
  • Revert "apngdec: use side data to pass extradata to the decoder"
  • ffprobe: fix crash in case -of is specified with an empty string
  • libavcodec/exr : fix channel size calculation for uint32 channel
  • exr: fix out-of-bounds read
  • libschroedingerdec: fix leaking of framewithpts
  • libschroedingerdec: don't produce empty frames
  • dds: limit 4 bpp handling to AV_PIX_FMT_PAL8
  • mlz: limit next_code to data buffer size
  • softfloat: handle -INT_MAX correctly
  • filmstripdec: correctly check image dimensions
  • pnmdec: make sure v is capped by maxval
  • smvjpegdec: make sure cur_frame is not negative
  • icodec: correctly check avio_read return value
  • icodec: fix leaking pkt on error
  • dvbsubdec: fix division by zero in compute_default_clut
  • proresdec_lgpl: explicitly check coff[3] against slice_data_size
  • escape124: reject codebook size 0
  • mpegts: prevent division by zero
  • matroskadec: fix NULL pointer dereference in webm_dash_manifest_read_header
  • mpegaudio_parser: don't return AVERROR_PATCHWELCOME
  • mxfdec: fix NULL pointer dereference
  • lzf: update pointer p after realloc
  • diracdec: check return code of get_buffer_with_edge
  • diracdec: clear slice_params_num_buf on allocation failure
  • diracdec: use correct buffer for slice_params_buf realloc
  • ppc: pixblockdsp: do unaligned block accesses correctly again
  • avformat: close parser if codec changed
  • fate: add streamcopy test for apng
  • apngdec: use side data to pass extradata to the decoder
  • mov: immediately return from mov_fix_index without old index entries
  • interplayacm: increase bitstream buffer size by AV_INPUT_BUFFER_PADDING_SIZE
  • interplayacm: validate number of channels
  • interplayacm: check for too large b
  • doc: fix spelling errors
  • configure: make sure LTO does not optimize out the test functions
  • fate: add apng encoding/muxing test
  • apng: use side data to pass extradata to muxer
  • avcodec/mpeg4videodec: Workaround interlaced mpeg4 edge MC bug
  • avcodec/mpegvideo: Fix edge emu buffer overlap with interlaced mpeg4
  • avcodec/rv40: Test remaining space in loop of get_dimension()
  • avcodec/ituh263dec: Avoid spending a long time in slice sync
  • avcodec/movtextdec: Add error message for tsmb_size check
  • avcodec/movtextdec: Fix tsmb_size check==0 check
  • avcodec/movtextdec: Fix potential integer overflow
  • ffmpeg: Fix bsf corrupting merged side data
  • avcodec/sunrast: Fix input buffer pointer check
  • avcodec/tscc: Check side data size before use
  • avcodec/rscc: Fix constant
  • avcodec/rawdec: Check side data size before use
  • avcodec/rscc: Check side data size before use
  • avcodec/msvideo1: Check side data size before use
  • avcodec/qpeg: Check side data size before use
  • avcodec/qtrle: Check side data size before use
  • avcodec/msrle: Check side data size before use
  • avcodec/kmvc: Check side data size before use
  • avcodec/idcinvideo: Check side data size before use
  • avcodec/cinepak: Check side data size before use
  • avcodec/8bps: Check side data size before use
  • avformat/flvdec: Fix regression losing streams
  • avformat/hls: Add missing error check for avcodec_parameters_copy()
  • avformat/hls: Fix probing mpegts audio streams that use probing
  • avformat/hls: Factor copying stream info to a separate function

New in FFmpeg 3.2 (Oct 28, 2016)

  • libopenmpt demuxer
  • tee protocol
  • Changed metadata print option to accept general urls
  • Alias muxer for Ogg Video (.ogv)
  • VP8 in Ogg muxing
  • curves filter doesn't automatically insert points at x=0 and x=1 anymore
  • 16-bit support in curves filter and selectivecolor filter
  • OpenH264 decoder wrapper
  • MediaCodec H.264/HEVC/MPEG-4/VP8/VP9 hwaccel
  • True Audio (TTA) muxer
  • crystalizer audio filter
  • acrusher audio filter
  • bitplanenoise video filter
  • floating point support in als decoder
  • fifo muxer
  • maskedclamp filter
  • hysteresis filter
  • lut2 filter
  • yuvtestsrc filter
  • CUDA CUVID H.263/VP8/VP9/10 bit HEVC (Dithered) Decoding
  • vaguedenoiser filter
  • added threads option per filter instance
  • weave filter
  • gblur filter
  • avgblur filter
  • sobel and prewitt filter
  • MediaCodec HEVC/MPEG-4/VP8/VP9 decoding
  • Meridian Lossless Packing (MLP) / TrueHD encoder
  • Non-Local Means (nlmeans) denoising filter
  • sdl2 output device and ffplay support
  • sdl1 output device and sdl1 support removed
  • extended mov edit list support
  • libfaac encoder removed
  • Matroska muxer now writes CRC32 elements by default in all Level 1 elements
  • sidedata video and asidedata audio filter
  • Changed mapping of rtp MIME type G726 to codec g726le.

New in FFmpeg 3.1.5 (Oct 22, 2016)

  • avformat/mxfdec: Check size to avoid integer overflow in mxf_read_utf16_string()
  • avcodec/mpegvideo_enc: Clear mmx state in ff_mpv_reallocate_putbitbuffer()
  • avcodec/utils: Clear MMX state before returning from avcodec_default_execute*()
  • doc/examples/demuxing_decoding: Drop AVFrame->pts use
  • libopenjpegenc: fix out-of-bounds reads when filling the edges
  • libopenjpegenc: stop reusing image data buffer for openjpeg 2
  • configure: fix detection of libopenjpeg
  • doc: fix various typos and grammar errors
  • avformat/utils: Update codec_id before using it in the parser init
  • cmdutils: fix typos
  • lavfi: fix typos
  • lavc: fix typos
  • tools: fix grammar error
  • ffmpeg: remove unused and errorneous AVFrame timestamp check
  • Support for MIPS cpu P6600
  • avutil/mips/generic_macros_msa: rename macro variable which causes segfault for mips r6

New in FFmpeg 3.1.4 (Oct 1, 2016)

  • avformat/avidec: Check nb_streams in read_gab2_sub()
  • avformat/avidec: Remove ancient assert
  • avfilter/vf_colorspace: fix range for output colorspace option
  • lavc/mediacodecdec_h264: fix SODB escaping
  • avcodec/nvenc: fix const options for hevc gpu setting
  • avformat/avidec: Fix memleak with dv in avi
  • lavc/movtextdec.c: Avoid infinite loop on invalid data.
  • avcodec/ansi: Check dimensions
  • avcodec/cavsdsp: use av_clip_uint8() for idct
  • avformat/movenc: Check packet in mov_write_single_packet() too
  • avformat/movenc: Factor check_pkt() out
  • avformat/utils: fix timebase error in avformat_seek_file()
  • avcodec/g726: Add missing ADDB output mask
  • avcodec/avpacket: clear side_data_elems
  • avformat/movenc: Check first DTS similar to dts difference
  • avcodec/ccaption_dec: Use simple array instead of AVBuffer
  • avcodec/svq3: Reintroduce slice_type
  • avformat/mov: Fix potential integer overflow in mov_read_keys
  • swscale/swscale_unscaled: Try to fix Rgb16ToPlanarRgb16Wrapper() with slices
  • swscale/swscale_unscaled: Fix packed_16bpc_bswap() with slices
  • avformat/avidec: Fix infinite loop in avi_read_nikon()
  • lavf/utils: Avoid an overflow for huge negative durations.
  • avformat/hls: Fix handling of EXT-X-BYTERANGE streams over 2GB
  • lavc/avpacket: Fix undefined behaviour, do not pass a null pointer to memcpy().
  • lavc/mjpegdec: Do not skip reading quantization tables.
  • cmdutils: fix implicit declaration of SetDllDirectory function

New in FFmpeg 3.1.3 (Aug 31, 2016)

  • examples/demuxing_decoding: convert to codecpar
  • avcodec/exr: Check tile positions
  • avcodec/aacenc: Tighter input checks
  • avformat/wtvdec: Check pointer before use
  • libavcodec/wmalosslessdec: Check the remaining bits
  • avcodec/adpcm: Fix adpcm_ima_wav padding
  • avcodec/svq3: fix slice size check
  • avcodec/diracdec: Check numx/y
  • avcodec/h2645_parse: fix nal size
  • avcodec/h2645_parse: Use get_nalsize() in ff_h2645_packet_split()
  • h2645_parse: only read avc length code at the correct position
  • h2645_parse: don't overread AnnexB NALs within an avc stream
  • avcodec/h264_parser: Factor get_avc_nalsize() out
  • avcodec/cfhd: Increase minimum band dimension to 3
  • avcodec/indeo2: check ctab
  • avformat/swfdec: Fix inflate() error code check
  • avcodec/rawdec: Fix bits_per_coded_sample checks
  • vcodec/h2645_parse: Clear buffer padding
  • avcodec/h2645: Fix NAL unit padding
  • avfilter/drawutils: Fix single plane with alpha
  • cmdutils: check for SetDllDirectory() availability

New in FFmpeg 3.1.2 (Aug 9, 2016)

  • cmdutils: remove the current working directory from the DLL search path on win32
  • avcodec/rawdec: Fix palette handling with changing palettes
  • avcodec/raw: Fix decoding of ilacetest.mov
  • avformat/mov: Enable mp3 parsing if a packet needs it
  • avformat/hls: Use an array instead of stream offset for stream mapping
  • avformat/hls: Sync starting segment across variants on live streams
  • avformat/hls: Fix regression with ranged media segments
  • avcodec/ffv1enc: Fix assertion failure with non zero bits per sample
  • avfilter/af_hdcd: small fix in af_hdcd.c where gain was not being adjusted for "attenuate slowly"
  • avformat/oggdec: Fix integer overflow with invalid pts
  • ffplay: Fix invalid array index
  • avcodec/alacenc: allocate bigger packets (cherry picked from commit 82b84c71b009884c8d041361027718b19922c76d)
  • libavcodec/dnxhd: Enable 12-bit DNxHR support.
  • lavc/vaapi_encode_h26x: Fix a crash if "." is not the decimal separator.
  • jni: Return ENOSYS on unsupported platforms
  • lavu/hwcontext_vaapi: Fix compilation if VA_FOURCC_ABGR is not defined.
  • avcodec/vp9_parser: Check the input frame sizes for being consistent
  • avformat/flvdec: parse keyframe before av stream was created add_keyframes_index() when stream created or keyframe parsed
  • avformat/flvdec: splitting add_keyframes_index() out from parse_keyframes_index()
  • libavformat/rtpdec_asf: zero initialize the AVIOContext struct
  • libavutil/opt: Small bugfix in example.
  • libx264: Increase x264 opts character limit to 4096
  • avcodec/h264_parser: Set sps/pps_ref
  • librtmp: Avoid an infiniloop setting connection arguments
  • avformat/oggparsevp8: fix pts calculation on pages ending with an invisible frame
  • lavc/Makefile: Fix standalone compilation of the svq3 decoder.
  • lavf/vplayerdec: Improve auto-detection.
  • lavc/mediacodecdec_h264: properly convert extradata to annex-b
  • Revert "configure: Enable GCC vectorization on ≥4.9 on x86"

New in FFmpeg 3.1.1 (Jul 1, 2016)

  • doc/APIchanges: document the lavu/lavf field moves
  • avformat/avformat: Move new field to the end of AVStream
  • avformat/utils: update deprecated AVStream->codec when the context is updated
  • avutil/frame: Move new field to the end of AVFrame
  • libavcodec/exr : fix decoding piz float file.
  • avformat/mov: Check sample size
  • lavfi: Move new field to the end of AVFilterContext
  • lavfi: Move new field to the end of AVFilterLink
  • ffplay: Fix usage of private lavfi API
  • lavc/mediacodecdec_h264: add missing NAL headers to SPS/PPS buffers
  • lavc/pnm_parser: disable parsing for text based PNMs

New in FFmpeg 3.1 (Jun 28, 2016)

  • DXVA2-accelerated HEVC Main10 decoding
  • fieldhint filter
  • loop video filter and aloop audio filter
  • Bob Weaver deinterlacing filter
  • firequalizer filter
  • datascope filter
  • bench and abench filters
  • ciescope filter
  • protocol blacklisting API
  • MediaCodec H264 decoding
  • VC-2 HQ RTP payload format (draft v1) depacketizer and packetizer
  • VP9 RTP payload format (draft v2) packetizer
  • AudioToolbox audio decoders
  • AudioToolbox audio encoders
  • coreimage filter (GPU based image filtering on OSX)
  • libdcadec removed
  • bitstream filter for extracting DTS core
  • ADPCM IMA DAT4 decoder
  • musx demuxer
  • aix demuxer
  • remap filter
  • hash and framehash muxers
  • colorspace filter
  • hdcd filter
  • readvitc filter
  • VAAPI-accelerated format conversion and scaling
  • libnpp/CUDA-accelerated format conversion and scaling
  • Duck TrueMotion 2.0 Real Time decoder
  • Wideband Single-bit Data (WSD) demuxer
  • VAAPI-accelerated H.264/HEVC/MJPEG encoding
  • DTS Express (LBR) decoder
  • Generic OpenMAX IL encoder with support for Raspberry Pi
  • IFF ANIM demuxer & decoder
  • Direct Stream Transfer (DST) decoder
  • loudnorm filter
  • MTAF demuxer and decoder
  • MagicYUV decoder
  • OpenExr improvements (tile data and B44/B44A support)
  • BitJazz SheerVideo decoder
  • CUDA CUVID H264/HEVC decoder
  • 10-bit depth support in native utvideo decoder
  • libutvideo wrapper removed
  • YUY2 Lossless Codec decoder
  • VideoToolbox H.264 encoder

New in FFmpeg 3.0.2 (Apr 28, 2016)

  • avcodec/ttaenc: Reallocate packet if its too small
  • configure: build fix for P5600 with mips code restructuring
  • mips: add support for R6
  • pgssubdec: fix subpicture output colorspace and range
  • avcodec/ac3dec: Reset SPX when switching from EAC3 to AC3
  • avfilter/vf_drawtext: Check return code of load_glyph()
  • avformat/mux: Check that deinit is set before calling it
  • avcodec/takdec: add code that got somehow lost in process of REing
  • avcodec/apedec: fix decoding of stereo files with one channel full of silence
  • avcodec/avpacket: Fix off by 5 error
  • avcodec/h264: Fix for H.264 configuration parsing
  • avcodec/bmp_parser: Ensure remaining_size is not too small in startcode packet crossing corner case
  • avcodec/pngdec: Fix alpha detection with skip_frame
  • Changelog: Make formating consistent
  • avfilter/src_movie: fix how we check for overflows with seek_point
  • avcodec/j2kenc: Add attribution to OpenJPEG project

New in FFmpeg 3.0.1 (Mar 29, 2016)

  • avcodec/libutvideodec: copy frame so it has reference counters when refcounted_frames is set
  • avformat/rtpdec_jpeg: fix low contrast image on low quality setting
  • avformat/mpegtsenc: Fix used service
  • avformat/mpegtsenc: Keep track of the program for each service
  • avformat/file: Add crypto to default whitelist
  • avcodec/mjpegenc_common: Store approximate aspect if exact cannot be stored
  • lavc/hevc: Allow arbitrary garbage in bytestream as long as at least one NAL unit is found.
  • avcodec/resample: Remove disabled and faulty code
  • indeo2: Fix banding artefacts
  • indeo2data: K&R formatting cosmetics
  • avformat/hlsenc: Fix passing options, regression since bc9a5965c815cf7fd998d8ce14a18b8e861dd9ce
  • avutil/random_seed: Add the runtime in cycles of the main loop to the entropy pool
  • avutil/channel_layout: AV_CH_LAYOUT_6POINT1_BACK not reachable in parsing
  • avformat/concatdec: set safe mode to enabled instead of auto
  • avformat/utils: fix dts from pts code in compute_pkt_fields() during ascending delay
  • avformat/rtpenc: Fix integer overflow in NTP_TO_RTP_FORMAT
  • avcodec/dca: clear X96 channels if nothing was decoded
  • fate/aac: Increase fuzz from of fate-aac-pns-encode from 72 to 74 for Loongson
  • avformat/cache: Fix memleak of tree entries
  • lavf/mov: downgrade sidx errors to non-fatal warnings; fixes trac #5216
  • lavf/mov: fix sidx with edit lists
  • avcodec/mjpegdec: Fix decoding slightly odd progressive jpeg
  • swscale/utils: Fix chrSrcHSubSample for GBRAP16
  • swscale/input: Fix GBRAP16 input
  • avutil/pixdesc: Make get_color_type() aware of CIE XYZ formats
  • avcodec/h264: Execute error concealment before marking the frame as done.
  • swscale/x86/output: Fix yuv2planeX_16* with unaligned destination
  • swscale/x86/output: Move code into yuv2planeX_mainloop
  • MAINTAINERS: add myself as an OS/2 maintainer
  • libwebpenc_animencoder: print library messages in verbose log levels
  • libwebpenc_animencoder: zero initialize the WebPAnimEncoderOptions struct
  • configure: check for SEC_I_CONTEXT_EXPIRED before enabling SChannel
  • lavf/http: Add httpproxy to the default protocol whitelist.
  • doc/utils: fix typo for min() description
  • ffserver&ffm: Fixed issues preventing ffserver write_index and files_size from being set correctly which was breaking ffserver streaming.
  • postproc: fix unaligned access
  • vc2enc: fix use of uninitialized variables in the rate control system, correctly zero out coefficient array padding
  • aacenc: optimize encoding speed
  • avcodec/diracdec: check bitstream size related fields for overflows
  • avcodec/h264_slice: Check PPS more extensively when its not copied

New in FFmpeg 3.0 (Feb 15, 2016)

  • Common Encryption (CENC) MP4 encoding and decoding support
  • DXV decoding
  • extrastereo filter
  • ocr filter
  • alimiter filter
  • stereowiden filter
  • stereotools filter
  • rubberband filter
  • tremolo filter
  • agate filter
  • chromakey filter
  • maskedmerge filter
  • Screenpresso SPV1 decoding
  • chromaprint fingerprinting muxer
  • ffplay dynamic volume control
  • displace filter
  • selectivecolor filter
  • extensive native AAC encoder improvements and removal of experimental flag
  • ADPCM PSX decoder
  • 3dostr, dcstr, fsb, genh, vag, xvag, ads, msf, svag & vpk demuxer
  • zscale filter
  • wve demuxer
  • zero-copy Intel QSV transcoding in ffmpeg
  • shuffleframes filter
  • SDX2 DPCM decoder
  • vibrato filter
  • innoHeim/Rsupport Screen Capture Codec decoder
  • ADPCM AICA decoder
  • Interplay ACM demuxer and audio decoder
  • XMA1 & XMA2 decoder
  • realtime filter
  • anoisesrc audio filter source
  • IVR demuxer
  • compensationdelay filter
  • acompressor filter
  • support encoding 16-bit RLE SGI images
  • apulsator filter
  • sidechaingate audio filter
  • mipsdspr1 option has been renamed to mipsdsp
  • aemphasis filter
  • mips32r5 option has been removed
  • mips64r6 option has been removed
  • DXVA2-accelerated VP9 decoding
  • SOFAlizer: virtual binaural acoustics filter
  • VAAPI VP9 hwaccel
  • audio high-order multiband parametric equalizer
  • automatic bitstream filtering
  • showspectrumpic filter
  • libstagefright support removed
  • spectrumsynth filter
  • ahistogram filter
  • only seek with the right mouse button in ffplay
  • toggle full screen when double-clicking with the left mouse button in ffplay
  • afftfilt filter
  • convolution filter
  • libquvi support removed
  • support for dvaudio in wav and avi
  • libaacplus and libvo-aacenc support removed
  • Cineform HD decoder
  • new DCA decoder with full support for DTS-HD extensions
  • significant performance improvements in Windows Television (WTV) demuxer
  • nnedi deinterlacer
  • streamselect video and astreamselect audio filter
  • swaprect filter
  • metadata video and ametadata audio filter
  • SMPTE VC-2 HQ profile support for the Dirac decoder
  • SMPTE VC-2 native encoder supporting the HQ profile

New in FFmpeg 2.8.6 (Feb 1, 2016)

  • avcodec/jpeg2000dec: More completely check cdef
  • avutil/opt: check for and handle errors in av_opt_set_dict2()
  • avcodec/flacenc: fix calculation of bits required in case of custom sample rate
  • avformat: Document urls a bit
  • avformat/libquvi: Set default demuxer and protocol limitations
  • avformat/concat: Check protocol prefix
  • doc/demuxers: Document enable_drefs and use_absolute_path
  • avcodec/mjpegdec: Check for end for both bytes in unescaping
  • avcodec/mpegvideo_enc: Check for integer overflow in ff_mpv_reallocate_putbitbuffer()
  • avformat/avformat: Replace some references to filenames by urls
  • avcodec/wmaenc: Check ff_wma_init() for failure
  • avcodec/mpeg12enc: Move high resolution thread check to before initializing threads
  • avformat/img2dec: Use AVOpenCallback
  • avformat/avio: Limit url option parsing to the documented cases
  • avformat/img2dec: do not interpret the filename by default if a IO context has been opened
  • avcodec/ass_split: Fix null pointer dereference in ff_ass_style_get()
  • mov: Add an option to toggle dref opening
  • avcodec/gif: Fix lzw buffer size
  • avcodec/put_bits: Assert buf_ptr in flush_put_bits()
  • avcodec/tiff: Check subsample & rps values more completely
  • swscale/swscale: Add some sanity checks for srcSlice* parameters
  • swscale/x86/rgb2rgb_template: Fix planar2x() for short width
  • swscale/swscale_unscaled: Fix odd height inputs for bayer_to_yv12_wrapper()
  • swscale/swscale_unscaled: Fix odd height inputs for bayer_to_rgb24_wrapper()
  • avcodec/aacenc: Check both channels for finiteness
  • asfdec_o: check for too small size in asf_read_unknown
  • asfdec_o: break if EOF is reached after asf_read_packet_header
  • asfdec_o: make sure packet_size is non-zero before seeking
  • asfdec_o: prevent overflow causing seekback
  • asfdec_o: check avio_skip in asf_read_simple_index
  • asfdec_o: reject size > INT64_MAX in asf_read_unknown
  • asfdec_o: only set asf_pkt->data_size after sanity checks
  • Merge commit '8375dc1dd101d51baa430f34c0bcadfa37873896'
  • dca: fix misaligned access in avpriv_dca_convert_bitstream
  • brstm: fix missing closing brace
  • brstm: also allocate b->table in read_packet
  • brstm: make sure an ADPC chunk was read for adpcm_thp
  • vorbisdec: reject rangebits 0 with non-0 partitions
  • vorbisdec: reject channel mapping with less than two channels
  • ffmdec: reset packet_end in case of failure
  • avformat/ipmovie: put video decoding_map_size into packet and use it in decoder
  • avformat/brstm: fix overflow

New in FFmpeg 2.8.5 (Jan 15, 2016)

  • avformat/hls: Even stricter URL checks
  • avformat/hls: More strict url checks
  • avcodec/pngenc: Fix mixed up linesizes
  • avcodec/pngenc: Replace memcpy by av_image_copy()
  • swscale/vscale: Check that 2 tap filters are bilinear before using bilinear code
  • swscale: Move VScalerContext into vscale.c
  • swscale/utils: Detect and skip unneeded sws_setColorspaceDetails() calls
  • swscale/yuv2rgb: Increase YUV2RGB table headroom
  • swscale/yuv2rgb: Factor YUVRGB_TABLE_LUMA_HEADROOM out
  • avformat/hls: forbid all protocols except http(s) & file
  • avformat/aviobuf: Fix end check in put_str16()
  • avformat/asfenc: Check pts
  • avcodec/mpeg4video: Check time_incr
  • avcodec/wavpackenc: Check the number of channels
  • avcodec/wavpackenc: Headers are per channel
  • avcodec/aacdec_template: Check id_map
  • avcodec/dvdec: Fix "left shift of negative value -254"
  • avcodec/g2meet: Check for ff_els_decode_bit() failure in epic_decode_run_length()
  • avcodec/mjpegdec: Fix negative shift
  • avcodec/mss2: Check for repeat overflow
  • avformat: Add integer fps from 31 to 60 to get_std_framerate()
  • avformat/ivfenc: fix division by zero
  • avcodec/mpegvideo_enc: Clip bits_per_raw_sample within valid range
  • avfilter/vf_scale: set proper out frame color range
  • avcodec/motion_est: Fix mv_penalty table size
  • avcodec/h264_slice: Fix integer overflow in implicit weight computation
  • swscale/utils: Use normal bilinear scaler if fast cannot be used due to tiny dimensions
  • avcodec/put_bits: Always check buffer end before writing
  • mjpegdec: extend check for incompatible values of s->rgb and s->ls
  • swscale/utils: Fix intermediate format for cascaded alpha downscaling
  • avformat/mov: Update handbrake_version threshold for full mp3 parsing
  • x86/float_dsp: zero extend offset from ff_scalarproduct_float_sse
  • avfilter/vf_zoompan: do not free frame we pushed to lavfi
  • nuv: sanitize negative fps rate
  • nutdec: reject negative value_len in read_sm_data
  • xwddec: prevent overflow of lsize * avctx->height
  • nutdec: only copy the header if it exists
  • exr: fix out of bounds read in get_code
  • on2avc: limit number of bits to 30 in get_egolomb

New in FFmpeg 2.8.4 (Dec 20, 2015)

  • rawdec: only exempt BIT0 with need_copy from buffer sanity check
  • mlvdec: check that index_entries exist
  • avcodec/mpeg4videodec: also for empty partitioned slices
  • avcodec/h264_refs: Fix long_idx check
  • avcodec/h264_mc_template: prefetch list1 only if it is used in the MB
  • avcodec/h264_slice: Simplify ref2frm indexing
  • avfilter/vf_mpdecimate: Add missing emms_c()
  • sonic: make sure num_taps * channels is not larger than frame_size
  • opus_silk: fix typo causing overflow in silk_stabilize_lsf
  • ffm: reject invalid codec_id and codec_type
  • golomb: always check for invalid UE golomb codes in get_ue_golomb
  • sbr_qmf_analysis: sanitize input for 32-bit imdct
  • sbrdsp_fixed: assert that input values are in the valid range
  • aacsbr: ensure strictly monotone time borders
  • aacenc: update max_sfb when num_swb changes
  • aaccoder: prevent crash of anmr coder
  • ffmdec: reject zero-sized chunks
  • swscale/x86/rgb2rgb_template: Fallback to mmx in interleaveBytes() if the alignment is insufficient for SSE*
  • swscale/x86/rgb2rgb_template: Do not crash on misaligend stride
  • avformat/mxfenc: Do not crash if there is no packet in the first stream
  • lavf/tee: fix side data double free.
  • avformat/hlsenc: Check the return code of avformat_write_header()
  • avformat/mov: Enable parser for mp3s by old HandBrake
  • avformat/mxfenc: Fix integer overflow in length computation
  • avformat/utils: estimate_timings_from_pts increase retry counter, fixes invalid duration for ts files with hevc codec
  • avformat/matroskaenc: Check codecdelay before use
  • avutil/mathematics: Fix division by 0
  • mjpegdec: consider chroma subsampling in size check
  • libvpxenc: remove some unused ctrl id mappings
  • avcodec/vp3: ensure header is parsed successfully before tables
  • avcodec/jpeg2000dec: Check bpno in decode_cblk()
  • avcodec/pgssubdec: Fix left shift of 255 by 24 places cannot be represented in type int
  • swscale/utils: Fix for runtime error: left shift of negative value -1
  • avcodec/hevc: Fix integer overflow of entry_point_offset
  • avcodec/dirac_parser: Check that there is a previous PU before accessing it
  • avcodec/dirac_parser: Add basic validity checks for next_pu_offset and prev_pu_offset
  • avcodec/dirac_parser: Fix potential overflows in pointer checks
  • avcodec/wmaprodec: Check bits per sample to be within the range not causing integer overflows
  • avcodec/wmaprodec: Fix overflow of cutoff
  • avformat/smacker: fix integer overflow with pts_inc
  • avcodec/vp3: Fix "runtime error: left shift of negative value"
  • avformat/riffdec: Initialize bitrate
  • mpegencts: Fix overflow in cbr mode period calculations
  • avutil/timecode: Fix fps check
  • avutil/mathematics: return INT64_MIN (=AV_NOPTS_VALUE) from av_rescale_rnd() for overflows
  • avcodec/apedec: Check length in long_filter_high_3800()
  • avcodec/vp3: always set pix_fmt in theora_decode_header()
  • avcodec/mpeg4videodec: Check available data before reading custom matrix
  • avutil/mathematics: Do not treat INT64_MIN as positive in av_rescale_rnd
  • avutil/integer: Fix av_mod_i() with negative dividend
  • avformat/dump: Fix integer overflow in av_dump_format()
  • avcodec/h264_refs: Check that long references match before use
  • avcodec/utils: Clear dimensions in ff_get_buffer() on failure
  • avcodec/utils: Use 64bit for aspect ratio calculation in avcodec_string()
  • avcodec/hevc: Check max ctb addresses for WPP
  • avcodec/vp3: Clear context on reinitialization failure
  • avcodec/hevc: allocate entries unconditionally
  • avcodec/hevc_cabac: Fix multiple integer overflows
  • avcodec/jpeg2000dwt: Check ndeclevels before calling dwt_encode*()
  • avcodec/jpeg2000dwt: Check ndeclevels before calling dwt_decode*()
  • avcodec/hevc: Check entry_point_offsets
  • lavf/rtpenc_jpeg: Less strict check for standard Huffman tables.
  • avcodec/ffv1dec: Clear quant_table_count if its invalid
  • avcodec/ffv1dec: Print an error if the quant table count is invalid
  • doc/filters/drawtext: fix centering example

New in FFmpeg 2.8.3 (Nov 27, 2015)

  • avcodec/cabac: Check initial cabac decoder state
  • avcodec/cabac_functions: Fix "left shift of negative value -31767"
  • avcodec/h264_slice: Limit max_contexts when slice_context_count is initialized
  • rtmpcrypt: Do the xtea decryption in little endian mode
  • avformat/matroskadec: Check subtitle stream before dereferencing
  • avcodec/pngdec: Replace assert by request for sample for unsupported TRNS cases
  • avformat/utils: Do not init parser if probing is unfinished
  • avcodec/jpeg2000dec: Fix potential integer overflow with tile dimensions
  • avcodec/jpeg2000: Use av_image_check_size() in ff_jpeg2000_init_component()
  • avcodec/wmaprodec: Check for overread in decode_packet()
  • avcodec/smacker: Check that the data size is a multiple of a sample vector
  • avcodec/takdec: Skip last p2 sample (which is unused)
  • avcodec/dxtory: Fix input size check in dxtory_decode_v1_410()
  • avcodec/dxtory: Fix input size check in dxtory_decode_v1_420()
  • avcodec/error_resilience: avoid accessing previous or next frames tables beyond height
  • avcodec/dpx: Move need_align to act per line
  • avcodec/flashsv: Check size before updating it
  • avcodec/ivi: Check image dimensions
  • avcodec/utils: Better check for channels in av_get_audio_frame_duration()
  • avcodec/jpeg2000dec: Check for duplicate SIZ marker
  • aacsbr: don't call sbr_dequant twice without intermediate read_sbr_data
  • hqx: correct type and size check of info_offset
  • mxfdec: check edit_rate also for physical_track
  • avcodec/jpeg2000: Change coord to 32bit to support larger than 32k width or height
  • avcodec/jpeg2000dec: Check SIZ dimensions to be within the supported range
  • avcodec/jpeg2000: Check comp coords to be within the supported size
  • mpegvideo: clear overread in clear_context
  • avcodec/avrndec: Use the AVFrame format instead of the context
  • dds: disable palette flag for compressed images
  • dds: validate compressed source buffer size
  • dds: validate source buffer size before copying
  • dvdsubdec: validate offset2 similar to offset1
  • brstm: reject negative sample rate
  • aacps: avoid division by zero in stereo_processing
  • softfloat: assert when the argument of av_sqrt_sf is negative

New in FFmpeg 2.8.2 (Nov 12, 2015)

  • various fixes in the aac_fixed decoder
  • various fixes in softfloat
  • swresample/resample: increase precision for compensation
  • lavf/mov: add support for sidx fragment indexes
  • avformat/mxfenc: Only store user comment related tags when needed
  • tests/fate/avformat: Fix fate-lavf
  • doc/ffmpeg: Clarify that the sdp_file option requires an rtp output.
  • ffmpeg: Don't try and write sdp info if none of the outputs had an rtp format.
  • apng: use correct size for output buffer
  • jvdec: avoid unsigned overflow in comparison
  • avcodec/jpeg2000dec: Clip all tile coordinates
  • avcodec/microdvddec: Check for string end in 'P' case
  • avcodec/dirac_parser: Fix undefined memcpy() use
  • avformat/xmv: Discard remainder of packet on error
  • avformat/xmv: factor return check out of if/else
  • avcodec/mpeg12dec: Do not call show_bits() with invalid bits
  • avcodec/faxcompr: Add missing runs check in decode_uncompressed()
  • libavutil/channel_layout: Check strtol*() for failure
  • avformat/mpegts: Only start probing data streams within probe_packets
  • avcodec/hevc_ps: Check chroma_format_idc
  • avcodec/ffv1dec: Check for 0 quant tables
  • avcodec/mjpegdec: Reinitialize IDCT on BPP changes
  • avcodec/mjpegdec: Check index in ljpeg_decode_yuv_scan() before using it
  • avutil/file_open: avoid file handle inheritance on Windows
  • avcodec/h264_slice: Disable slice threads if there are multiple access units in a packet
  • avformat/hls: update cookies on setcookie response
  • opusdec: Don't run vector_fmul_scalar on zero length arrays
  • avcodec/opusdec: Fix extra samples read index
  • avcodec/ffv1: Initialize vlc_state on allocation
  • avcodec/ffv1dec: update progress in case of broken pointer chains
  • avcodec/ffv1dec: Clear slice coordinates if they are invalid or slice header decoding fails for other reasons
  • rtsp: Allow $ as interleaved packet indicator before a complete response header
  • videodsp: don't overread edges in vfix3 emu_edge.
  • avformat/mp3dec: improve junk skipping heuristic
  • concatdec: fix file_start_time calculation regression
  • avcodec: loongson optimize h264dsp idct and loop filter with mmi
  • avcodec/jpeg2000dec: Clear properties in jpeg2000_dec_cleanup() too
  • avformat/hls: add support for EXT-X-MAP
  • avformat/hls: fix segment selection regression on track changes of live streams
  • configure: Require libkvazaar < 0.7.
  • avcodec/vp8: Do not use num_coeff_partitions in thread/buffer setup

New in FFmpeg 2.8.1 (Oct 14, 2015)

  • swscale: fix ticket #4881
  • doc: fix spelling errors
  • hls: only seek if there is an offset
  • asfdec: add more checks for size left in asf packet buffer
  • asfdec: alloc enough space for storing name in asf_read_metadata_obj
  • avcodec/pngdec: Check blend_op.
  • h264_mp4toannexb: fix pps offfset fault when there are more than one sps in avcc
  • avcodec/h264_mp4toannexb_bsf: Use av_freep() to free spspps_buf
  • avformat/avidec: Workaround broken initial frame
  • avformat/hls: fix some cases of HLS streams which require cookies
  • avcodec/pngdec: reset has_trns after every decode_frame_png()
  • lavf/img2dec: Fix memory leak
  • avcodec/mp3: fix skipping zeros
  • avformat/srtdec: make sure we probe a number
  • configure: check for ID3D11VideoContext
  • avformat/vobsub: compare correct packet stream IDs
  • avformat/srtdec: more lenient first line probing
  • avformat/srtdec: fix number check for the first character
  • avcodec/mips: build fix for MSA 64bit
  • avcodec/mips: build fix for MSA
  • avformat/httpauth: Add space after commas in HTTP/RTSP auth header
  • libavformat/hlsenc: Use of uninitialized memory unlinking old files
  • avcodec/x86/sbrdsp: Fix using uninitialized upper 32bit of noise
  • avcodec/ffv1dec: Fix off by 1 error in quant_table_count check
  • avcodec/ffv1dec: Explicitly check read_quant_table() return value
  • dnxhddata: correct weight tables
  • dnxhddec: decode and use interlace mb flag
  • swscale: fix ticket #4877
  • avcodec/rangecoder: Check e
  • avcodec/ffv1: seperate slice_count from max_slice_count
  • swscale: fix ticket 4850
  • cmdutils: Filter dst/srcw/h
  • avutil/log: fix zero length gnu_printf format string warning
  • lavf/webvttenc: Require webvtt file to contain exactly one WebVTT stream.
  • swscale/swscale: Fix "unused variable" warning
  • avcodec/mjpegdec: Fix decoding RGBA RCT LJPEG
  • MAINTAINERS: add 2.8, drop 2.2
  • doc: mention libavcodec can decode Opus natively
  • hevc: properly handle no_rasl_output_flag when removing pictures from the DPB
  • avfilter/af_ladspa: process all channels for nb_handles > 1
  • configure: add libsoxr to swresample's pkgconfig
  • lavc: Fix compilation with --disable-everything --enable-parser=mpeg4video.

New in FFmpeg 2.8 (Sep 9, 2015)

  • colorkey video filter
  • BFSTM/BCSTM demuxer
  • little-endian ADPCM_THP decoder
  • Hap decoder and encoder
  • DirectDraw Surface image/texture decoder
  • ssim filter
  • optional new ASF demuxer
  • showvolume filter
  • Many improvements to the JPEG 2000 decoder
  • Go2Meeting decoding support
  • adrawgraph audio and drawgraph video filter
  • removegrain video filter
  • Intel QSV-accelerated MPEG-2 video and HEVC encoding
  • Intel QSV-accelerated MPEG-2 video and HEVC decoding
  • Intel QSV-accelerated VC-1 video decoding
  • libkvazaar HEVC encoder
  • erosion, dilation, deflate and inflate video filters
  • Dynamic Audio Normalizer as dynaudnorm filter
  • Reverse video and areverse audio filter
  • Random filter
  • deband filter
  • AAC fixed-point decoding
  • sidechaincompress audio filter
  • bitstream filter for converting HEVC from MP4 to Annex B
  • acrossfade audio filter
  • allyuv and allrgb video sources
  • atadenoise video filter
  • OS X VideoToolbox support
  • aphasemeter filter
  • showfreqs filter
  • vectorscope filter
  • waveform filter
  • hstack and vstack filter
  • Support DNx100 (1440x1080@8)
  • VAAPI hevc hwaccel
  • VDPAU hevc hwaccel
  • framerate filter
  • Switched default encoders for webm to VP9 and Opus
  • Removed experimental flag from the JPEG 2000 encoder

New in FFmpeg 2.7.2 (Jul 21, 2015)

  • imc: use correct position for flcoeffs2 calculation
  • hevc: check slice address length
  • snow: remove an obsolete av_assert2
  • webp: fix infinite loop in webp_decode_frame
  • wavpack: limit extra_bits to 32 and use get_bits_long
  • ffmpeg: only count got_output/errors in decode_error_stat
  • ffmpeg: exit_on_error if decoding a packet failed
  • pthread_frame: forward error codes when flushing
  • huffyuvdec: validate image size
  • wavpack: use get_bits_long to read up to 32 bits
  • nutdec: check maxpos in read_sm_data before returning success
  • s302m: fix arithmetic exception
  • vc1dec: use get_bits_long and limit the read bits to 32
  • mpegaudiodec: copy AVFloatDSPContext from first context to all contexts
  • avcodec/vp8: Check buffer size in vp8_decode_frame_header()
  • avcodec/vp8: Fix null pointer dereference in ff_vp8_decode_free()
  • avcodec/diracdec: Check for hpel_base allocation failure
  • avcodec/rv34: Clear pointers in ff_rv34_decode_init_thread_copy()
  • avfilter/af_aresample: Check ff_all_* for allocation failures
  • avcodec/pthread_frame: clear priv_data, avoid stale pointer in error case
  • swscale/utils: Clear pix buffers
  • avutil/fifo: Fix the case where func() returns less bytes than requested in av_fifo_generic_write()
  • ffmpeg: Fix cleanup after failed allocation of output_files
  • avformat/mov: Fix deallocation when MOVStreamContext failed to allocate
  • ffmpeg: Fix crash with ost->last_frame allocation failure
  • ffmpeg: Fix cleanup with ost = NULL
  • avcodec/pthread_frame: check avctx on deallocation
  • avcodec/sanm: Reset sizes in destroy_buffers()
  • avcodec/alac: Clear pointers in allocate_buffers()
  • bytestream2: set the reader to the end when reading more than available
  • avcodec/utils: use a minimum 32pixel width in avcodec_align_dimensions2() for H.264
  • avcodec/mpegvideo: Clear pointers in ff_mpv_common_init()
  • oggparsedirac: check return value of init_get_bits
  • wmalosslessdec: reset frame->nb_samples on packet loss
  • wmalosslessdec: avoid reading 0 bits with get_bits
  • Put a space between string literals and macros.
  • avcodec/rawenc: Use ff_alloc_packet() instead of ff_alloc_packet2()
  • avcodec/aacsbr: check that the element type matches before applying SBR
  • avcodec/h264_slice: Use w/h from the AVFrame instead of mb_w/h
  • vp9/update_prob: prevent out of bounds table read
  • avfilter/vf_transpose: Fix rounding error
  • avcodec/h264_refs: discard mismatching references
  • avcodec/mjpegdec: Fix small picture upscale
  • avcodec/pngdec: Check values before updating context in decode_fctl_chunk()
  • avcodec/pngdec: Copy IHDR & plte state from last thread
  • avcodec/pngdec: Require a IHDR chunk before fctl
  • avcodec/pngdec: Only allow one IHDR chunk
  • wmavoice: limit wmavoice_decode_packet return value to packet size
  • swscale/swscale_unscaled: Fix rounding difference with RGBA output between little and big endian
  • ffmpeg: Do not use the data/size of a bitstream filter after failure
  • swscale/x86/rgb2rgb_template: fix signedness of v in shuffle_bytes_2103_{mmx,mmxext}
  • vda: unlock the pixel buffer base address.
  • swscale/rgb2rgb_template: Fix signedness of v in shuffle_bytes_2103_c()
  • swscale/rgb2rgb_template: Implement shuffle_bytes_0321_c and fix shuffle_bytes_2103_c on BE
  • swscale/rgb2rgb_template: Disable shuffle_bytes_2103_c on big endian
  • swr: Remember previously set int_sample_format from user
  • swresample: soxr implementation for swr_get_out_samples()
  • avformat/swfdec: Do not error out on pixel format changes
  • ffmpeg_opt: Fix forcing fourccs
  • configure: Check for x265_api_get
  • swscale/x86/rgb2rgb_template: don't call emms on sse2/avx functions
  • swscale/x86/rgb2rgb_template: add missing xmm clobbers
  • library.mak: Workaround SDL redefining main and breaking fate tests on mingw
  • vaapi_h264: fix RefPicList[] field flags.

New in FFmpeg 2.7.1 (Jun 22, 2015)

  • postproc: fix unaligned access
  • avformat: clarify what package needs to be compiled with SSL support
  • avcodec/libx264: Avoid reconfig on equivalent aspect ratios
  • avcodec/flacenc: Fix Invalid Rice order
  • tls_gnutls: fix hang on disconnection
  • avcodec/hevc_ps: Only discard overread VPS if a previous is available
  • ffmpeg: Free last_frame instead of just unref
  • avcodec/ffv1enc: fix bps for >8bit yuv when not explicitly set
  • avio: fix potential crashes when combining ffio_ensure_seekback + crc
  • examples/demuxing_decoding: use properties from frame instead of video_dec_ctx
  • h264: er: Copy from the previous reference only if compatible
  • doc: fix spelling errors
  • configure: only disable VSX for !ppc64el
  • ffmpeg_opt: Check for localtime() failure
  • avformat/singlejpeg: fix standalone compilation
  • configure: Disable VSX on unspecified / generic CPUs
  • avformat: Fix bug in parse_rps for HEVC.
  • takdec: ensure chan2 is a valid channel index
  • avcodec/h264_slice: Use AVFrame dimensions for grayscale handling

New in FFmpeg 2.7 (Jun 10, 2015)

  • FFT video filter
  • TDSC decoder
  • DTS lossless extension (XLL) decoding (not lossless, disabled by default)
  • showwavespic filter
  • DTS decoding through libdcadec
  • Drop support for nvenc API before 5.0
  • nvenc HEVC encoder
  • Detelecine filter
  • Intel QSV-accelerated H.264 encoding
  • MMAL-accelerated H.264 decoding
  • basic APNG encoder and muxer with default extension "apng"
  • unpack DivX-style packed B-frames in MPEG-4 bitstream filter
  • WebM Live Chunk Muxer
  • nvenc level and tier options
  • chorus filter
  • Canopus HQ/HQA decoder
  • Automatically rotate videos based on metadata in ffmpeg
  • improved Quickdraw compatibility
  • VP9 high bit-depth and extended colorspaces decoding support
  • WebPAnimEncoder API when available for encoding and muxing WebP
  • Direct3D11-accelerated decoding
  • Support Secure Transport
  • Multipart JPEG demuxer

New in FFmpeg 2.6.3 (May 18, 2015)

  • avcodec/libtheoraenc: Check for av_malloc failure
  • ffmpeg_opt: Fix -timestamp parsing
  • hevc: make avcodec_decode_video2() fail if get_format() fails
  • avcodec/cavsdec: Use ff_set_dimensions()
  • swr: fix alignment issue caused by 8ch sse functions
  • avcodec/mjpegdec: fix len computation in ff_mjpeg_decode_dqt()
  • avcodec/jpeg2000dec: fix boolean operator
  • avcodec/hevc_ps: Explicitly check num_tile_* for negative values
  • avformat/matroskadec: Cleanup error handling for bz2 & zlib
  • avformat/nutdec: Fix use of uinitialized value
  • tools/graph2dot: use larger data types than int for array/string sizes
  • avformat/matroskaenc: Check ff_vorbiscomment_length in put_flac_codecpriv()
  • avcodec/mpeg12dec: use the correct dimensions for checking SAR
  • xcbgrab: Validate the capture area
  • xcbgrab: Do not assume the non shm image data is always available
  • avfilter/lavfutils: disable frame threads when decoding a single image
  • avformat/mov: Do not read ACLR into extradata for H.264
  • ffmpeg: remove incorrect network deinit
  • OpenCL: Avoid potential buffer overflow in cmdutils_opencl.c
  • libvpxenc: only set noise reduction w/vp8
  • vp9: remove another optimization branch in iadst16 which causes overflows.
  • lavf: Reset global flag on deinit
  • network: Do not leave context locked on error
  • vp9: remove one optimization branch in iadst16 which causes overflows.
  • fate: Include branch information in the payload header
  • avformat/utils: Ensure that AVFMT_FLAG_CUSTOM_IO is set before use
  • avformat/img2dec: do not rewind custom io buffers
  • avcodec/alsdec: Use av_mallocz_array() for chan_data to ensure the arrays never contain random data
  • avcodec/atrac3plusdsp: fix on stack alignment
  • swresample/swresample-test: Randomly wipe out channel counts
  • swresample: Check channel layouts and channels against each other and print human readable error messages
  • swresample: Allow reinitialization without ever setting channel layouts (cherry picked from commit 80a28c7509a11114e1aea5b208d56c6646d69c07)
  • swresample: Allow reinitialization without ever setting channel counts
  • dashenc: replace attribute id with contentType for the AdaptationSet element
  • avformat/matroskaenc: Use avoid_negative_ts_use_pts if no stream writes dts
  • avformat/mux: Add avoid_negative_ts_use_pts
  • tests/fate-run: do not attempt to parse tiny_psnrs output if it failed
  • cafdec: free extradata before allocating it
  • imgutils: initialize palette padding bytes in av_image_alloc
  • aacdec: don't return frames without data
  • id3v2: catch avio_read errors in check_tag
  • avi: Validate sample_size
  • aacsbr: break infinite loop in sbr_hf_calc_npatches
  • diracdec: avoid overflow of bytes*8 in decode_lowdelay
  • diracdec: prevent overflow in data_unit_size check
  • avformat/matroskadec: Use tracks[k]->stream instead of s->streams[k]
  • matroskadec: use uint64_t instead of int for index_scale
  • pngdec: don't use AV_PIX_FMT_MONOBLACK for apng
  • pngdec: return correct error code from decode_frame_common
  • nutdec: fix illegal count check in decode_main_header
  • nutdec: fix memleaks on error in nut_read_header
  • apedec: prevent out of array writes in decode_array_0000
  • apedec: set s->samples only when init_frame_decoder succeeded
  • swscale/ppc/swscale_altivec.c: POWER LE support in yuv2planeX_8() delete macro GET_VF() it was wrong
  • alac: reject rice_limit 0 if compression is used
  • alsdec: only adapt order for positive max_order
  • bink: check vst->index_entries before using it
  • mpeg4videodec: only allow a positive length
  • aacpsy: correct calculation of minath in psy_3gpp_init
  • alsdec: validate time diff index
  • alsdec: ensure channel reordering is reversible
  • ac3: validate end in ff_ac3_bit_alloc_calc_mask
  • aacpsy: avoid psy_band->threshold becoming NaN
  • aasc: return correct buffer size from aasc_decode_frame
  • matroskadec: export cover art correctly
  • mxfenc: don't try to write footer without header
  • mxfenc: fix memleaks in mxf_write_footer
  • rtpenc_mpegts: Set chain->rtp_ctx only after avformat_write_header succeeded
  • rtpenc_mpegts: Free the right ->pb in the error path in the init function

New in FFmpeg 2.6.2 (Apr 14, 2015)

  • avcodec/h264: Do not fail with randomly truncated VUIs
  • avcodec/h264_ps: Move truncation check from VUI to SPS
  • avcodec/h264: Be more tolerant to changing pps id between slices
  • avcodec/aacdec: Fix storing state before PCE decode
  • avcodec/h264: reset the counts in the correct context
  • avcodec/h264_slice: Do not reset mb_aff_frame per slice
  • avcodec/h264: finish previous slices before switching to single thread mode
  • avcodec/h264: Fix race between slices where one overwrites data from the next
  • avformat/utils: avoid discarded streams in av_find_default_stream_index()
  • ffmpeg: Fix extradata allocation
  • avcodec/h264_refs: Do not set reference to things which do not exist
  • avcodec/h264: Fail for invalid mixed IDR / non IDR frames in slice threading mode
  • Revert "avcodec/exr: fix memset first arg in reverse_lut()"
  • h264: avoid unnecessary calls to get_format
  • avutil/pca: Check for av_malloc* failures
  • avutil/cpu: add missing check for mmxext to av_force_cpu_flags
  • lavc/dnxhd: Fix pix_fmt change.
  • avformat/http: replace cookies with updated values instead of appending forever
  • avformat/hls: store cookies returned in HLS key response
  • avformat/rmdec: fix support for 0 sized mdpr
  • avcodec/msrledec: restructure msrle_decode_pal4() based on the line number nstead of the pixel pointer
  • avcodec/hevc_ps: Check cropping parameters more correctly
  • hevc: make the crop sizes unsigned
  • avcodec/dnxhddec: Reset is_444 if format is not 444
  • avcodec/dnxhddec: Check that the frame is interlaced before using cur_field
  • mips/float_dsp: fix vector_fmul_window_mips on mips64
  • doc: Remove non-existing decklink options.

New in FFmpeg 2.6.1 (Mar 17, 2015)

  • avformat/mov: Disallow ".." in dref unless use_absolute_path is set
  • avfilter/palettegen: make sure at least one frame was sent to the filter
  • avformat/mov: Check for string truncation in mov_open_dref()
  • ac3_fixed: fix out-of-bound read
  • mips/asmdefs: use _ABI64 as defined by gcc
  • hevc: delay ff_thread_finish_setup for hwaccel
  • avcodec/012v: Check dimensions more completely
  • asfenc: fix leaking asf->index_ptr on error
  • roqvideoenc: set enc->avctx in roq_encode_init
  • avcodec/options_table: remove extradata_size from the AVOptions table
  • ffmdec: limit the backward seek to the last resync position
  • Add dependencies to configure file for vf_fftfilt
  • ffmdec: make sure the time base is valid
  • ffmdec: fix infinite loop at EOF
  • ffmdec: initialize f_cprv, f_stvi and f_stau
  • arm: Suppress tags about used cpu arch and extensions
  • mxfdec: Fix the error handling for when strftime fails
  • avcodec/opusdec: Fix delayed sample value
  • avcodec/opusdec: Clear out pointers per packet
  • avcodec/utils: Align YUV411 by as much as the other YUV variants
  • lavc/hevcdsp: Fix compilation for arm with --disable-neon.
  • vp9: fix segmentation map retention with threading enabled.
  • Revert "avutil/opencl: is_compiled flag not being cleared in av_opencl_uninit"

New in FFmpeg 2.6 (Mar 7, 2015)

  • nvenc encoder
  • 10bit spp filter
  • colorlevels filter
  • RIFX format for *.wav files
  • RTP/mpegts muxer
  • non continuous cache protocol support
  • tblend filter
  • cropdetect support for non 8bpp, absolute (if limit >= 1) and relative (if limit < 1.0) threshold
  • Camellia symmetric block cipher
  • OpenH264 encoder wrapper
  • VOC seeking support
  • Closed caption Decoder
  • fspp, uspp, pp7 MPlayer postprocessing filters ported to native filters
  • showpalette filter
  • Twofish symmetric block cipher
  • Support DNx100 (960x720@8)
  • eq2 filter ported from libmpcodecs as eq filter
  • removed libmpcodecs
  • Changed default DNxHD colour range in QuickTime .mov derivatives to mpeg range
  • ported softpulldown filter from libmpcodecs as repeatfields filter
  • dcshift filter
  • RTP depacketizer for loss tolerant payload format for MP3 audio (RFC 5219)
  • RTP depacketizer for AC3 payload format (RFC 4184)
  • palettegen and paletteuse filters
  • VP9 RTP payload format (draft 0) experimental depacketizer
  • RTP depacketizer for DV (RFC 6469)
  • DXVA2-accelerated HEVC decoding
  • AAC ELD 480 decoding
  • Intel QSV-accelerated H.264 decoding
  • DSS SP decoder and DSS demuxer
  • Fix stsd atom corruption in DNxHD QuickTimes
  • Canopus HQX decoder
  • RTP depacketization of T.140 text (RFC 4103)
  • VP9 RTP payload format (draft 0) experimental depacketizer
  • Port MIPS optimizations to 64-bit

New in FFmpeg 2.5.4 (Feb 17, 2015)

  • avcodec/arm/videodsp_armv5te: Fix linking failure with shared libs
  • avcodec/mjpegdec: Skip blocks which are outside the visible area
  • avcodec/h264_slice: ignore SAR changes in slices after the first
  • avcodec/h264_slice: Check picture structure before setting the related fields
  • avcodec/h264_slice: Do not change frame_num after the first slice
  • avutil/opt: Fix type used to access AV_OPT_TYPE_SAMPLE_FMT
  • avutil/opt: Fix types used to access AV_OPT_TYPE_PIXEL_FMT
  • avcodec/h264: Be more strict on rejecting pps/sps changes
  • avcodec/h264: Be more strict on rejecting pps_id changes
  • avcodec/h264_ps: More completely check the bit depths
  • avformat/thp: Check av_get_packet() for failure not only for partial output
  • swscale/utils: Limit filter shifting so as not to read from prior the array
  • avcodec/mpegvideo_motion: Fix gmc chroma dimensions
  • avcodec/mjpegdec: Check number of components for JPEG-LS
  • avcodec/mjpegdec: Check escape sequence validity
  • avformat/mpc8: Use uint64_t in *_get_v() to avoid undefined behavior
  • avformat/mpc8: fix broken pointer math
  • avformat/mpc8: fix hang with fuzzed file
  • avformat/tta: fix crash with corrupted files
  • avcodec/ppc/idctdsp.c: POWER LE support in idct_add_altivec()
  • swscale/input: fix rgba64 alpha non native
  • swscale/input: Fix alpha of YA16 input
  • libavcodec/ppc/mpegvideoencdsp.c: fix stack smashing in pix_norm1_altivec() and pix_sum_altivec()
  • avformat/rmdec: Check for overflow in ff_rm_read_mdpr_codecdata()
  • avformat/mpeg: do not count PES packets inside PES packets during probing
  • hevc: always clip luma_log2_weight_denom
  • rtpdec_h263_rfc2190: Clear the stored bits if discarding buffered data
  • aacenc: correctly check returned value
  • swscale: check memory allocations
  • opt: check memory allocation
  • avformat/utils: check for malloc failure
  • avcodec/flac_parser: fix handling EOF if no headers are found
  • avfilter/vf_framepack: Check and update frame_rate
  • vp8: improve memory allocation checks
  • configure: enable vsx together with altivec for ppc64el
  • avcodec/hevc: Fix handling of skipped_bytes() reallocation failures
  • qpeg: avoid pointless invalid memcpy()

New in FFmpeg 2.5.3 (Jan 10, 2015)

  • vp9: fix parser return values in error case
  • ffmpeg: Clear error message array at init.
  • avcodec/dvdsubdec: fix accessing dangling pointers
  • avcodec/dvdsubdec: error on bitmaps with size 0
  • cmdutils: Use 64bit for file size/offset related variable in cmdutils_read_file()
  • mov: Fix negative size calculation in mov_read_default().
  • avformat/mov: fix integer overflow in mov_read_udta_string()
  • mov: Fix overflow and error handling in read_tfra().
  • mov: Avoid overflow with mov_metadata_raw()
  • avcodec/dvdsubdec: fix out of bounds accesses
  • avfilter/vf_sab: fix filtering tiny images
  • avformat/flvdec: Increase string array size
  • avformat/flvdec: do not inject dts=0 metadata packets which failed to be parsed into a new data stream
  • avformat/cdxl: Fix integer overflow of image_size
  • libavformat: Build hevc.o when building the RTP muxer

New in FFmpeg 2.5.2 (Dec 23, 2014)

  • avcodec/indeo3: ensure offsets are non negative
  • avcodec/h264: Check *log2_weight_denom
  • avcodec/hevc_ps: Check diff_cu_qp_delta_depth
  • avcodec/h264: Clear delayed_pic on deallocation
  • avcodec/hevc: clear filter_slice_edges() on allocation
  • avcodec/dcadec: Check that the added xch channel isnt already there
  • avcodec/indeo3: use signed variables to avoid underflow
  • swscale: increase yuv2rgb table headroom
  • avformat/mov: fix integer overflow of size
  • avformat/mov: check atom nesting depth
  • avcodec/utvideodec: Fix handling of slice_height=0
  • avcodec/xface: correct the XFACE_MAX_* values
  • avcodec/vmdvideo: Check len before using it in method 3
  • configure: create the tests directory like the doc directory
  • mmvideo: check frame dimensions
  • jvdec: check frame dimensions

New in FFmpeg 2.5.1 (Dec 23, 2014)

  • lavu/frame: fix malloc error path in av_frame_copy_props()
  • avformat/aviobuf: Check that avio_seek() target is non negative
  • swresample/soxr_resample: fix error handling
  • avformat/flvdec: fix potential use of uninitialized variables
  • avformat/crypto: fix key vs iv typo
  • configure: use use_pkg_config() instead of check_pkg_config() for libsmbclient
  • avcodec/ppc/vp3dsp_altivec: POWER LE support to vp3_idct_add_altivec()
  • avformat/matroskadec: fix handling of recursive SeekHead elements
  • doc/examples/filtering_video: fix frame rate
  • avcodec/mpegaudiodec_template: only allocate fdsp when its used
  • doc/examples/transcoding: check encoder before using it
  • update MAINTAINERS file
  • POWER LE support in put_vp8_epel_h_altivec_core() put_vp8_epel_v_altivec_core() put_vp8_pixels16_altivec()
  • POWER LE support in vc1_inv_trans_8x4_altivec()

New in FFmpeg 2.5.1 (Dec 17, 2014)

  • lavu/frame: fix malloc error path in av_frame_copy_props()
  • avformat/aviobuf: Check that avio_seek() target is non negative
  • swresample/soxr_resample: fix error handling
  • avformat/flvdec: fix potential use of uninitialized variables
  • avformat/crypto: fix key vs iv typo
  • configure: use use_pkg_config() instead of check_pkg_config() for libsmbclient
  • avcodec/ppc/vp3dsp_altivec: POWER LE support to vp3_idct_add_altivec()
  • avformat/matroskadec: fix handling of recursive SeekHead elements
  • doc/examples/filtering_video: fix frame rate
  • avcodec/mpegaudiodec_template: only allocate fdsp when its used
  • doc/examples/transcoding: check encoder before using it
  • update MAINTAINERS file
  • POWER LE support in put_vp8_epel_h_altivec_core() put_vp8_epel_v_altivec_core() put_vp8_pixels16_altivec()
  • POWER LE support in vc1_inv_trans_8x4_altivec()

New in FFmpeg 2.5 (Dec 5, 2014)

  • HIGHLIGHTS:
  • The most important new features are AVFoundation screen-grabbing support, animated WebP decoding support, and Animated PNG support. In addition, many exciting features for video streaming are also implemented, including MPEG-DASH fragmenting muxer, HEVC RTP payload muxer, and UDP Lite support.
  • LIST OF NEW FEATURES:
  • ffprobe:
  • -show_pixel_formats option
  • ffserver:
  • codec private options support
  • libavcodec:
  • STL subtitle decoder
  • libutvideo YUV 4:2:2 10bit support
  • animated WebP decoding support
  • zygoaudio decoding support
  • libavdevice:
  • XCB-based screen-grabber
  • AVFoundation screen capturing support
  • libavformat:
  • HEVC/H.265 RTP payload format (draft v6) packetizer
  • SUP/PGS subtitle demuxer
  • STL subtitle demuxer
  • UDP-Lite support (RFC 3828)
  • creating DASH compatible fragmented MP4, MPEG-DASH segmenting muxer
  • WebP muxer
  • APNG demuxer
  • libavfilter:
  • xBR scaling filter
  • libavutil :
  • CAST128 symmetric block cipher, ECB mode
  • libpostproc:
  • visualization support

New in FFmpeg 2.4.4 (Dec 3, 2014)

  • CHANGES:
  • avformat: replace some odd 30-60 rates by higher less odd ones in get_std_framerate()
  • swscale: fix yuv2yuvX_8 assembly on x86
  • avcodec/hevc_ps: Check num_long_term_ref_pics_sps
  • avcodec/mjpegdec: Fix integer overflow in shift
  • avcodec/hevc_ps: Check return code from pps_range_extensions()
  • avcodec/rawdec: Check the return code of avpicture_get_size()
  • avcodec/pngdec: Check IHDR/IDAT order
  • avcodec/flacdec: Call ff_flacdsp_init() unconditionally
  • avcodec/utils: Check that the data is complete in avpriv_bprint_to_extradata()
  • avcodec/mjpegdec: Fix context fields becoming inconsistent
  • avcodec/mjpegdec: Check for pixfmtid 0x42111100 || 0x24111100 with more than 8 bits
  • swscale/x86/rgb2rgb_template: handle the first 2 lines with C in rgb24toyv12_*()
  • doc/APIchanges: Fix some wrong versions
  • avformat/hlsenc: Free context after hls_append_segment
  • avcodec/mpeg4video_parser: fix spurious extradata parse warnings
  • lavu/opt: fix av_opt_get function
  • avcodec/wmaprodec: Fix integer overflow in sfb_offsets initialization
  • avcodec/utvideodec: fix assumtation that slice_height >= 1
  • avcodec/options_table fix min of audio channels and sample rate
  • libavutil/thread.h: Support OS/2 threads
  • fix Makefile objects for pulseaudio support
  • opusdec: make sure all substreams have the same number of coded samples
  • lavu: add wrappers for the pthreads mutex API
  • avformat/avidec: fix handling dv in avi
  • avfilter/vf_lut: gammaval709()
  • cinedec: report white balance gain coefficients using metadata
  • swscale/utils: support bayer input + scaling, and bayer input + any supported output
  • swscale: support internal scaler cascades
  • avformat/dtsdec: dts_probe: check reserved bit, check lfe, check sr_code similarity
  • avformat/segment: export inner muxer timebase
  • Remove fminf() emulation, fix build issues
  • avcodec/mpegaudio_parser: fix off by 1 error in bitrate calculation
  • Use -fno-optimize-sibling-calls on parisc also for gcc 4.9.
  • ffmpeg_opt: store canvas size in decoder context
  • avcodec/mpeg12dec: do not trust AVCodecContext input dimensions

New in FFmpeg 2.4.3 (Nov 4, 2014)

  • avcodec/h264_slice: Clear table pointers to avoid stale
  • avcodec/h264_parser: rewrite the parse_nal_units()
  • avcodec/h264: simplify find_start_code()
  • Move get_avc_nalsize() and find_start_code() to h264.h
  • mpeg4vdpau: Fix priv data size.
  • avformat/matroskadec: do not trust the default duration
  • avformat/options_table: add FF_COMPLIANCE_UNOFFICIAL
  • Stop demuxing wtv on eof.
  • UPDATE FOR 2.4.3:
  • avcodec/svq1dec: zero terminate embedded message before
  • avcodec/cook: check that the subpacket sizes fit in
  • avcodec/g2meet: check tile dimensions to avoid integer
  • avcodec/utils: Align dimensions by at least their chrom
  • avcodec/dnxhddec: treat pix_fmt like width/height
  • avcodec/dxa: check dimensions
  • avcodec/dirac_arith: fix integer overflow
  • avcodec/diracdec: Tighter checks on CODEBLOCKS_X/Y
  • avcodec/diracdec: Use 64bit in calculation of codeblock
  • avcodec/sgidec: fix count check
  • avcodec/sgidec: fix linesize for 16bit
  • avcodec/hevc_ps: Check default display window bitstream
  • avcodec/tiffenc: properly compute packet size
  • lavd: export all symbols with av_ prefix
  • avformat/mxfdec: Fix termination of mxf_data_essence_co
  • postproc: fix qp count
  • postproc/postprocess: fix quant store for fq mode
  • vf_drawtext: add missing clear of pointers after av_exp
  • utvideoenc: properly set slice height/last line
  • swresample/swresample: fix sample drop loop end condition
  • Merge commit 'ca8c62d187fdca13979379fb2ab172ed662aa2f8
  • Merge commit 'e443165c323406d01da7e7930f042d265d01fb35
  • Merge commit '0b41eeac45fb7f7ad6d3f4fc846b00d108824b0b
  • Merge commit 'de31f857077a52714f3a2f2e92ac037d42d37769and

New in FFmpeg 2.4.2 (Oct 8, 2014)

  • avcodec/on2avc: Check number of channels
  • avcodec/hevc: fix chroma transform_add size
  • avcodec/h264: Check mode before considering mixed mode intra prediction
  • avformat/mpegts: use a padded buffer in read_sl_header()
  • avformat/mpegts: Check desc_len / get8() return code
  • avcodec/vorbisdec: Fix off by 1 error in ptns_to_read
  • sdp: add support for H.261
  • avcodec/svq3: Do not memcpy AVFrame
  • avcodec/smc: fix off by 1 error
  • avcodec/qpeg: fix off by 1 error in MV bounds check
  • avcodec/gifdec: factorize interleave end handling out
  • avcodec/cinepak: fix integer underflow
  • avcodec/pngdec: Check bits per pixel before setting monoblack pixel format
  • avcodec/pngdec: Calculate MPNG bytewidth more defensively
  • avcodec/tiff: more completely check bpp/bppcount
  • avcodec/mmvideo: Bounds check 2nd line of HHV Intra blocks
  • avcodec/h263dec: Fix decoding messenger.h263
  • avcodec/utils: Add case for jv to avcodec_align_dimensions2()
  • avcodec/mjpegdec: check bits per pixel for changes similar to dimensions
  • avcodec/jpeglsdec: Check run value more completely in ls_decode_line()
  • avformat/hlsenc: export inner muxer timebase
  • configure: add noexecstack to linker options if supported.
  • avcodec/ac3enc_template: fix out of array read
  • avutil/x86/cpu: fix cpuid sub-leaf selection
  • avformat/img2dec: enable generic seeking for image pipes
  • avformat/img2dec: initialize pkt->pos for image pipes
  • avformat/img2dec: pass error code and signal EOF
  • avformat/img2dec: fix error code at EOF for pipes
  • libavutil/opt: fix av_opt_set_channel_layout() to access correct memory address
  • tests/fate-run.sh: Cat .err file in case of error with V>0
  • avformat/riffenc: Filter out "BottomUp" in ff_put_bmp_header()
  • avcodec/webp: fix default palette color 0xff000000 -> 0x00000000
  • avcodec/asvenc: fix AAN scaling
  • Fix compile error on arm4/arm5 platform

New in FFmpeg 2.4.1 (Sep 23, 2014)

  • swsscale: Allow chroma samples to be above and to the left of luma samples
  • avcodec/libilbc: support for latest git of libilbc
  • avcodec/webp: treat out-of-bound palette index as translucent black
  • vf_deshake: rename Transform.vector to Transform.vec to avoid compiler confusion
  • apetag: Fix APE tag size check
  • tools/crypto_bench: fix build when AV_READ_TIME is unavailable

New in FFmpeg 2.4 (Sep 17, 2014)

  • Icecast protocol
  • ported lenscorrection filter from frei0r filter
  • large optimizations in dctdnoiz to make it usable
  • ICY metadata are now requested by default with the HTTP protocol
  • support for using metadata in stream specifiers in fftools
  • LZMA compression support in TIFF decoder
  • support for H.261 RTP payload format (RFC 4587)
  • HEVC/H.265 RTP payload format (draft v6) depacketizer
  • added codecview filter to visualize information exported by some codecs
  • Matroska 3D support thorugh side data
  • HTML generation using texi2html is deprecated in favor of makeinfo/texi2any
  • silenceremove filter

New in FFmpeg 2.3.1 (Jul 31, 2014)

  • public AVDCT API/ABI for DCT functions
  • g2meet: allow size changes within original sizes
  • dv: improved error resilience, fixing Ticket2340 and Ticket2341

New in FFmpeg 2.3 (Jul 16, 2014)

  • AC3 fixed-point decoding
  • shuffleplanes filter
  • subfile protocol
  • Phantom Cine demuxer
  • replaygain data export
  • VP7 video decoder
  • Alias PIX image encoder and decoder
  • Improvements to the BRender PIX image decoder
  • Improvements to the XBM decoder
  • QTKit input device
  • improvements to OpenEXR image decoder
  • support decoding 16-bit RLE SGI images
  • GDI screen grabbing for Windows
  • alternative rendition support for HTTP Live Streaming
  • AVFoundation input device
  • Direct Stream Digital (DSD) decoder
  • Magic Lantern Video (MLV) demuxer
  • On2 AVC (Audio for Video) decoder
  • support for decoding through DXVA2 in ffmpeg
  • libbs2b-based stereo-to-binaural audio filter
  • libx264 reference frames count limiting depending on level
  • native Opus decoder
  • display matrix export and rotation api
  • WebVTT encoder
  • showcqt multimedia filter
  • zoompan filter
  • signalstats filter
  • hqx filter (hq2x, hq3x, hq4x)
  • flanger filter
  • Image format auto-detection
  • LRC demuxer and muxer
  • Samba protocol (via libsmbclient)
  • WebM DASH Manifest muxer
  • libfribidi support in drawtext

New in FFmpeg 2.2.4 (Jul 1, 2014)

  • AC3 fixed-point decoding
  • shuffleplanes filter
  • subfile protocol
  • Phantom Cine demuxer
  • replaygain data export
  • VP7 video decoder
  • Alias PIX image encoder and decoder
  • Improvements to the BRender PIX image decoder
  • Improvements to the XBM decoder
  • QTKit input device
  • improvements to OpenEXR image decoder
  • support decoding 16-bit RLE SGI images
  • GDI screen grabbing for Windows
  • alternative rendition support for HTTP Live Streaming
  • AVFoundation input device
  • Direct Stream Digital (DSD) decoder
  • Magic Lantern Video (MLV) demuxer
  • On2 AVC (Audio for Video) decoder
  • support for decoding through DXVA2 in ffmpeg
  • libbs2b-based stereo-to-binaural audio filter
  • libx264 reference frames count limiting depending on level
  • native Opus decoder
  • display matrix export and rotation api
  • WebVTT encoder
  • showcqt multimedia filter
  • zoompan filter
  • signalstats filter
  • hqx filter (hq2x, hq3x, hq4x)

New in FFmpeg 2.2 (Mar 24, 2014)

  • HNM version 4 demuxer and video decoder
  • Live HDS muxer
  • setsar/setdar filters now support variables in ratio expressions
  • elbg filter
  • string validation in ffprobe
  • support for decoding through VDPAU in ffmpeg (the -hwaccel option)
  • complete Voxware MetaSound decoder
  • remove mp3_header_compress bitstream filter
  • Windows resource files for shared libraries
  • aeval filter
  • stereoscopic 3d metadata handling
  • WebP encoding via libwebp
  • ATRAC3+ decoder
  • VP8 in Ogg demuxing
  • side & metadata support in NUT
  • framepack filter
  • XYZ12 rawvideo support in NUT
  • Exif metadata support in WebP decoder
  • OpenGL device
  • Use metadata_header_padding to control padding in ID3 tags (currently used in MP3, AIFF, and OMA files), FLAC header, and the AVI "junk" block.
  • Mirillis FIC video decoder
  • Support DNx444
  • libx265 encoder
  • dejudder filter
  • Autodetect VDA like all other hardware accelerations

New in FFmpeg 2.1.1 (Nov 28, 2013)

  • HNM version 4 demuxer and video decoder
  • Live HDS muxer
  • setsar/setdar filters now support variables in ratio expressions
  • elbg filter
  • string validation in ffprobe
  • support for decoding through VDPAU in ffmpeg (the -hwaccel option)
  • complete Voxware MetaSound decoder
  • remove mp3_header_compress bitstream filters

New in FFmpeg 2.1 (Nov 8, 2013)

  • aecho filter
  • perspective filter ported from libmpcodecs
  • ffprobe -show_programs option
  • compand filter
  • RTMP seek support
  • when transcoding with ffmpeg (i.e. not streamcopying), -ss is now accurate even when used as an input option. Previous behavior can be restored with the -noaccurate_seek option.
  • ffmpeg -t option can now be used for inputs, to limit the duration of data read from an input file
  • incomplete Voxware MetaSound decoder
  • read EXIF metadata from JPEG
  • DVB teletext decoder
  • phase filter ported from libmpcodecs
  • w3fdif filter
  • Opus support in Matroska
  • FFV1 version 1.3 is stable and no longer experimental
  • FFV1: YUVA(444,422,420) 9, 10 and 16 bit support
  • changed DTS stream id in lavf mpeg ps muxer from 0x8a to 0x88, to be more consistent with other muxers.
  • adelay filter
  • pullup filter ported from libmpcodecs
  • ffprobe -read_intervals option
  • Lossless and alpha support for WebP decoder
  • Error Resilient AAC syntax (ER AAC LC) decoding
  • Low Delay AAC (ER AAC LD) decoding
  • mux chapters in ASF files
  • SFTP protocol (via libssh)
  • libx264: add ability to encode in YUVJ422P and YUVJ444P
  • Fraps: use BT.709 colorspace by default for yuv, as reference fraps decoder does
  • make decoding alpha optional for prores, ffv1 and vp6 by setting the skip_alpha flag.
  • ladspa wrapper filter
  • native VP9 decoder
  • dpx parser
  • max_error_rate parameter in ffmpeg
  • PulseAudio output device
  • ReplayGain scanner
  • Enhanced Low Delay AAC (ER AAC ELD) decoding (no LD SBR support)
  • Linux framebuffer output device
  • HEVC decoder
  • raw HEVC, HEVC in MOV/MP4, HEVC in Matroska, HEVC in MPEG-TS demuxing
  • mergeplanes filter

New in FFmpeg 2.0.2 (Oct 9, 2013)

  • aecho filter
  • perspective filter ported from libmpcodecs
  • ffprobe -show_programs option
  • compand filter
  • RTMP seek support
  • when transcoding with ffmpeg (i.e. not streamcopying), -ss is now accurate even when used as an input option. Previous behavior can be restored with the -noaccurate_seek option.
  • ffmpeg -t option can now be used for inputs, to limit the duration of data read from an input file
  • incomplete Voxware MetaSound decoder
  • read EXIF metadata from JPEG
  • DVB teletext decoder
  • phase filter ported from libmpcodecs
  • w3fdif filter
  • Opus support in Matroska
  • FFV1 version 1.3 is stable and no longer experimental
  • FFV1: YUVA(444,422,420) 9, 10 and 16 bit support
  • changed DTS stream id in lavf mpeg ps muxer from 0x8a to 0x88, to be more consistent with other muxers.
  • adelay filter
  • pullup filter ported from libmpcodecs
  • ffprobe -read_intervals option
  • Lossless and alpha support for WebP decoder
  • Error Resilient AAC syntax (ER AAC LC) decoding
  • Low Delay AAC (ER AAC LD) decoding
  • mux chapters in ASF files
  • SFTP protocol (via libssh)
  • libx264: add ability to encode in YUVJ422P and YUVJ444P
  • Fraps: use BT.709 colorspace by default for yuv, as reference fraps decoder does
  • make decoding alpha optional for prores, ffv1 and vp6 by setting the skip_alpha flag.
  • ladspa wrapper filter
  • native VP9 decoder
  • dpx parser
  • max_error_rate parameter in ffmpeg
  • PulseAudio output device

New in FFmpeg 2.0 (Jul 10, 2013)

  • curves filter
  • reference-counting for AVFrame and AVPacket data
  • ffmpeg now fails when input options are used for output file or vice versa
  • support for Monkey's Audio versions from 3.93
  • perms and aperms filters
  • audio filtering support in ffplay
  • 10% faster aac encoding on x86 and MIPS
  • sine audio filter source
  • WebP demuxing and decoding support
  • new ffmpeg options -filter_script and -filter_complex_script, which allow a filtergraph description to be read from a file
  • OpenCL support
  • audio phaser filter
  • separatefields filter
  • libquvi demuxer
  • uniform options syntax across all filters
  • telecine filter
  • new interlace filter
  • smptehdbars source
  • inverse telecine filters (fieldmatch and decimate)
  • colorbalance filter
  • colorchannelmixer filter
  • The matroska demuxer can now output proper verbatim ASS packets. It will become the default at the next libavformat major bump.
  • decent native animated GIF encoding
  • asetrate filter
  • interleave filter
  • timeline editing with filters
  • vidstabdetect and vidstabtransform filters for video stabilization using the vid.stab library
  • astats filter
  • trim and atrim filters
  • ffmpeg -t and -ss (output-only) options are now sample-accurate when transcoding audio
  • Matroska muxer can now put the index at the beginning of the file.
  • extractplanes filter
  • avectorscope filter
  • ADPCM DTK decoder
  • ADP demuxer
  • RSD demuxer
  • RedSpark demuxer
  • ADPCM IMA Radical decoder
  • zmq filters
  • DCT denoiser filter (dctdnoiz)
  • Wavelet denoiser filter ported from libmpcodecs as owdenoise (formerly "ow")
  • Apple Intermediate Codec decoder
  • Escape 130 video decoder
  • FTP protocol support
  • V4L2 output device
  • 3D LUT filter (lut3d)
  • SMPTE 302M audio encoder
  • support for slice multithreading in libavfilter
  • Hald CLUT support (generation and filtering)
  • VC-1 interlaced B-frame support
  • support for WavPack muxing (raw and in Matroska)
  • XVideo output device
  • vignette filter
  • True Audio (TTA) encoder
  • Go2Webinar decoder
  • mcdeint filter ported from libmpcodecs
  • sab filter ported from libmpcodecs
  • ffprobe -show_chapters option
  • WavPack encoding through libwavpack
  • rotate filter
  • spp filter ported from libmpcodecs
  • libgme support
  • psnr filter

New in FFmpeg 1.1 (Jan 21, 2013)

  • 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
  • 012v decoder

New in FFmpeg 1.0 (Oct 5, 2012)

  • 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
  • Matroska demuxer now identifies SRT subtitles as AV_CODEC_ID_SUBRIP instead of AV_CODEC_ID_TEXT
  • 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

New in FFmpeg 0.11.2 (Oct 5, 2012)

  • Several bugs and crashes have been fixed as well as build problems with recent mingw64

New in FFmpeg 0.11.1 (Jun 9, 2012)

  • 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
  • audio split filter
  • vorbis parser
  • png parser
  • audio mix filter

New in FFmpeg 0.10.3 (May 7, 2012)

  • Security fixes in the 4xm demuxer, avi demuxer, cook decoder, mm demuxer, mpegvideo decoder, vqavideo decoder (CVE-2012-0947) and xmv demuxer.
  • 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.
  • 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

New in FFmpeg 0.10.1 (Mar 17, 2012)

  • Several security fixes, many bugfixes affecting many formats and codecs, the list below is not complete.
  • swapuv filter
  • 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()

New in FFmpeg 0.10 (Jan 30, 2012)

  • 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

New in FFmpeg 0.9 (Jan 27, 2012)

  • Indeo 4 decoder
  • SMJPEG demuxer
  • y41p Brooktree Uncompressed 4:1:1 12-bit encoder and decoder
  • 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

New in FFmpeg 0.9 (Dec 12, 2011)

  • 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.
  • 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 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

New in FFmpeg 0.8.7 (Nov 22, 2011)

  • Amongst lots of other changes, it includes all changes from ffmpeg-mt, libav master of 2011-06-21, libav 0.7.2 as of 2011-11-21.

New in FFmpeg 0.8.5 (Oct 3, 2011)

  • 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 in FFmpeg 0.7 Beta 2 (Jun 14, 2011)

  • many many things we forgot because we rather write code than changelogs
  • 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

New in FFmpeg 0.7 RC 1 (Jun 6, 2011)

  • 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
  • libavcore added
  • 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 asm functions
  • MJPEG/AVI1 to JPEG/JFIF bitstream filter
  • ASS subtitle encoder and decoder
  • IEC 61937 encapsulation for E-AC3, 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