Entries are sorted chronologically from oldest to youngest within each release,
releases are sorted from youngest to oldest.

version 4.0.6:
 avcodec/dstdec: Replace AC overread check by sample rate check
 avcodec/hevc_mp4toannexb_bsf: Check NAL size against available input
 lavf/webm_chunk: Fix NULL dereference
 avcodec/ttaenc: Fix undefined shift
 fftools/ffmpeg: Free swresample dictionary during cleanup
 avfilter/vf_xbr: Fix left shift of negative number
 avfilter/vf_hqx: Fix undefined left shifts of negative numbers
 avcodec/jpeg2000dwt: Fix undefined shifts of negative numbers
 avcodec/ituh263dec: Fix undefined left shift of negative number
 avcodec/dnxhdenc: Fix undefined left shifts of negative numbers
 swscale/utils: Fix invalid left shifts of negative numbers
 swscale/x86/swscale: Fix undefined left shifts of negative numbers
 avcodec/exr: Fix undefined left shifts of negative numbers
 avformat/movenc: Fix undefined shift
 avcodec/pcm: Fix undefined shifts
 avcodec/wavpackenc: Fix undefined shifts
 avcodec/ac3enc: Fix invalid shift
 avcodec/tdsc: Fix undefined shifts
 fftools/ffmpeg_opt: Fix signed integer overflow
 avformat/mov: Fix reel_name size check
 avformat/mov: Fix memleak upon encountering repeating tags
 avformat/matroskaenc: Don't use NULL for %s format string
 avformat/webvttdec: Fix memleak upon read header failure
 avformat/vplayerdec: Fix memleak upon read header failure
 avformat/tedcaptionsdec: Fix memleak upon read header failure
 avformat/subviewerdec: Fix memleak upon read header failure
 avformat/subviewer1dec: Fix memleak upon read header failure
 avformat/stldec: Fix memleak upon read header failure
 avformat/srtdec: Fix memleak upon read header failure
 avformat/sccdec: Fix memleak upon read header failure
 avformat/samidec: Fix memleak upon read header failure
 avformat/pjsdec: Fix memleak upon read header failure
 avformat/mpsubdec: Fix memleak upon read header failure
 avformat/mpl2dec: Fix memleak upon read header failure
 avformat/microdvddec: Fix memleak upon read header failure
 avformat/lrcdec: Fix memleak upon read header failure
 avformat/jacosubdec: Fix memleak upon read header failure
 avformat/assdec: Fix memleak upon read header failure
 avformat/aqtitledec: Fix memleak upon read header failure
 avformat/mov: Fix memleaks upon read_header failure
 avformat/omadec: Fix memleaks upon read_header failure
 avformat/matroskadec: Fix memleaks in WebM DASH manifest demuxer
 avformat/matroskadec: Use right number of tracks
 avformat/matroskadec: Fix handling gigantic durations
 avcodec/cinepakenc: Fix invalid shifts
 avcodec/cbs_h2645: Fix potential out-of-bounds array access
 h264_redundant_pps: Fix memleak in case of errors
 avformat/aviobuf: Don't check for overflow after it happened
 avformat/matroskaenc: Fix memleak upon encountering bogus chapter
 fftools/ffmpeg_opt: Check attachment filesize
 avformat/webmdashenc: Check codec types
 avformat/avidec: Fix memleak with embedded GAB2 subtitles
 avformat/webmdashenc: Fix memleak upon realloc failure
 avformat/matroskadec: Don't discard the upper 32bits of TrackNumber
 avformat/hnm: Check for extradata allocation failure
 avformat/subtitles: Don't increment packet counter prematurely
 avformat/bethsoftvid: Fix potential memleak upon reallocation failure
 avformat/smoothstreaming: Fix memleaks on errors
 avformat/matroskaenc: Check BlockAdditional size before use
 avformat/utils: Fix memleaks in avformat_open_input()
 avcodec/cavsdsp: Fix undefined left shifts of negative numbers
 avformat/mov: Don't leak MOVFragmentStreamInfo on error
 avformat/hevc: Fix potential leak in case of ff_hevc_annexb2mp4_buf failure
 avformat/matroskaenc: Check for reformatting errors
 avcodec/ra144enc: Fix invalid left shift of negative number
 avcodec/adxenc: Avoid undefined left shift of negative numbers
 avcodec/adpcm: Fix undefined left shifts of negative numbers
 avformat/segafilmenc: Fix undefined left shift of 1 by 31 places
 avcodec/proresenc_anatoliy: Fix invalid left shift of negative number
 avformat/wtvdec: Fix memleak when reading header fails
 avformat/fitsdec: Fix potential leak of string in AVBPrint
 avformat/matroskadec: Fix use-after-free when demuxing ProRes
 avformat/matroskadec: Fix demuxing ProRes
 avcodec/bitstream: Don't check for undefined behaviour after it happened
 avformat/mov: fix memleaks
 libavformat/mov: Fix memleaks when demuxing DV audio
 avformat/utils: reorder duration computation to avoid overflow
 avcodec/pngdec: Check for fctl after idat
 avformat/hls: Pass a copy of the URL for probing
 avformat/hls: check segment duration value of EXTINF
 avutil/common: Fix integer overflow in av_ceil_log2_c()
 avcodec/wmalosslessdec: fix overflow with pred in revert_cdlms
 avformat/mvdec: Fix integer overflow with billions of channels
 avformat/microdvddec: skip malformed lines without frame number.
 avformat/mxfdec: free duplicated utf16 strings
 avformat/4xm: Check that a video stream was created before returning packets for it
 avcodec/ffwavesynth: Avoid undefined operation on ts overflow
 avcodec/mpeg4videodec: Fix 2 integer overflows in get_amv()
 avcodec/lossless_audiodsp: Fix undefined overflows in scalarproduct_and_madd_int16_c()
 avcodec/sonic: Fix several integer overflows
 avcodec/mpeg4videodec: avoid invalid values and reinitialize in format changes for studio profile
 avcodec/pixlet: Fix log(0) check
 avcodec/iff: Fix off by x error
 avcodec/wmalosslessdec: Check block_align maximum
 avcodec/loco: Fix signed integer overflow in loco_get_rice()
 avformat/thp: Check fps
 avformat/mpl2dec: Fix integer overflow with duration
 avcodec/mpeg12dec: remove outdated comments
 avcodec/snowdec: Avoid integer overflow with huge qlog
 avformat/mov: Check if DTS is AV_NOPTS_VALUE in mov_find_next_sample().
 avcodec/mpeg12dec: Fix got_output
 avformat/4xm: Cleanup on GET_LIST_HEADER() failure
 avcodec/lzf: Consider the needed size in reallocation
 avformat/mlvdec: fail reading a packet with 0 streams
 avformat/thp: Check compcount
 avcodec/adpcm: XA: Check shift similar to filter
 avcodec/huffyuvdec: Test vertical coordinate more often
 avcodec/hq_hqa: Check info size
 avcodec/wmalosslessdec: Fix integer overflow in mclms_predict()
 avcodec/vp9dsp_template: Fix integer overflow(s) in iadst16_1d()
 avcodec/h264dec: Disable forced small_padding on flag2 fast
 avformat/oggparsevorbis: Error out on double init of vp
 avcodec/pnmdec: Use unsigned for maxval rescaling
 avcodec/ivi: Clear got_p_frame before decoding a new frame using it
 avcodec/dsddec: Check channels
 avcodec/xvididct: Fix integer overflow in idct_row()
 avcodec/wmalosslessdec: Fix integer overflows in revert_inter_ch_decorr()
 avformat/mpegenc: Fix integer overflow with AV_NOPTS_VALUE
 avformat/swfenc: Fix integer overflow in frame rate handling
 avformat/aadec: Check toc_size to contain the minimum to demuxer uses
 avcodec/cbs_h265_syntax_template: Limit num_long_term_pics more strictly
 avformat/mov: Don't allow negative sample sizes.
 mpeg4videoenc: Don't crash with -fsanitize=bounds
 avformat/mpegts: Shuffle avio_seek
 avcodec/binkaudio: Fix 2Ghz sample_rate
 avcodec/adpcm: Fix integer overflow in ADPCM THP
 avcodec/ralf: Check num_blocks before use
 avcodec/iff: Test video_size being non zero
 avcodec/utvideodec: Fix integer overflow in decode_plane()
 avcodec/ttadsp: Fix several integer overflows in tta_filter_process_c()
 avcodec/ralf: Fix integer overflow in decode_block()
 avcodec/nuv: widen buf_size type
 avcodec/iff: Fix several integer overflows
 avcodec/g729postfilter: Clip gain before scaling with AGC_FAC1
 avcodec/alac: Fix integer overflow with 24/20bps samples
 avcodec/dstdec: Check sample rate
 avformat/thp: Require a video stream
 avformat/mpeg: Decrease score by 1 for files with very little valid data
 avcodec/pngdec: Check length in fdAT
 avcodec/g2meet: Check tile_width in epic_jb_decode_tile()
 avcodec/hapdec: Check tex_size more strictly and before using it
 avcodec/vp9dsp_template: Fix integer overflows in idct32_1d()
 avcodec/alacdsp: Fix invalid shift in append_extra_bits()
 libavcodec/wmalosslessdec: prevent sum of positive numbers from becoming negative
 avcodec/dstdec: Fix integer overflow in read_table()
 avcodec/txd: Check for input size against the header size.
 avcodec/svq1dec: Check that there is data left after the header
 avcodec/cbs_h265_syntax_template: Check num_negative/positive_pics when inter_ref_pic_set_prediction_flag is set
 avcodec/intrax8: Check for end of bitstream in ff_intrax8_decode_picture()
 avcodec/hevc_mp4toannexb_bsf: Check nalu_size
 avcodec/iff: Check length before memcpy() in decode_deep_rle32()
 avcodec/iff: Fix invalid pointer intermediates in decode_deep_rle32()
 avcodec/pngdec: Pass ret from decode_iccp_chunk()
 avcodec/rv40dsp: Fix integer overflows in rv40_weight_func_*()
 avcodec/ac3dec_fixed: Fix several invalid left shifts in scale_coefs()
 avcodec/flac_parser: Do not lose header count in find_headers_search()
 avcodec/audiodsp: Fix integer overflow in scalarproduct_int16_c()
 avformat/oggdec: Check for EOF after page header
 swscale/yuv2rgb: Fix vertical dither offset with slices
 avcodec/dpcm: clip exponent into supported range in XAN DPCM
 avcodec/flacdsp_template: Fix invalid shifts in decorrelate
 avcodec/xvididct: Fix integer overflow in MULT()
 avcodec/ffwavesynth: Correct undefined overflow of PINK_UNIT
 avcodec/cbs_h264_syntax_template: fix off by 1 error with slice_group_change_cycle
 swscale/output: Fix integer overflow in yuv2rgb_write_full() with out of range input
 swscale/output: Fix integer overflow in alpha computation in yuv2gbrp16_full_X_c()
 libavformat/amr.c: Check return value from avio_read()
 libavformat/mov.c: Free aes_decrypt to avoid leaking memory
 libavformat/oggdec.c: Check return value from avio_read()
 avformat/asfdec_f: Fix overflow check in get_tag()
 avformat/nsvdec: Fix memleaks on errors while reading the header
 avcodec/ffwavesynth: Fix integer overflow in computation of ddphi
 avcodec/adpcm: Fix invalid shift in AV_CODEC_ID_ADPCM_PSX
 avcodec/mpeg12dec: Fix invalid shift in mpeg2_fast_decode_block_intra()
 avcodec/cbs_h2645: Treat slices without data as invalid
 avcodec/cbs_h2645: Remove dead code to delete trailing zeroes
 avcodec/mpegaudioenc_template: fix invalid shift of sample
 avcodec/motion_est_template: Fix invalid shifts in no_sub_motion_search()
 libavformat/avienc: Check bits per sample for PAL8
 avformat/mpegts: Improve the position determination for avpriv_mpegts_parse_packet()
 avcodec/magicyuv: Check that there are enough lines for interlacing to be possible
 avformat/mvdec: Check stream numbers
 avcodec/pcm: Fix invalid shift in AV_CODEC_ID_PCM_LXF
 avcodec/qdm2: Check fft_coefs_index
 avformat/utils: Fix integer overflow with complex time bases in avformat_find_stream_info()
 avformat/avidec: Avoid integer overflow in NI switch check
 fftools/ffmpeg: Fix integer overflow in duration computation in seek_to_start()
 avfilter/vf_aspect: Fix integer overflow in compute_dar()
 avcodec/apedec: Fix invalid shift with 24 bps
 avformat/utils: Fix undefined behavior in ff_configure_buffers_for_index()
 avcodec/dpcm: Fix integer overflow in AV_CODEC_ID_GREMLIN_DPCM
 avcodec/wmalosslessdec: Fix integer overflow with sliding in padding bits
 avcodec/wmalosslessdec: Fix loop in revert_acfilter()
 avcodec/lagarith: Sanity check scale
 avcodec/apedec: Fix integer overflows in predictor_decode_mono_3950()
 avcodec/ralf: Fix integer overflow in apply_lpc()
 avcodec/dca_lbr: Fix some error codes and error passing
 avcodec/wmavoice: Fix rounding and integer anomalies in calc_input_response()
 avcodec/wmavoice: sanity check block_align
 avcodec/pcm: Fix invalid shift in pcm_decode_frame for LXF
 avcodec/snappy: Sanity check bytestream2_get_levarint()
 avcodec/mlpdsp: Fix a invalid shift in ff_mlp_rematrix_channel()
 avcodec/avdct: Clear IDCTDSPContext context
 avcodec/x86/diracdsp: Fix high bits on Windows x86_64
 avformat/mov: Check STCO location
 avcodec/wmalosslessdec: Fix multiple integer overflows
 avcodec/apedec: Fix undefined integer overflow in decode_array_0000()
 avcodec/smacker: Check space before decoding type
 avcodec/rawdec: Use linesize in b64a
 avcodec/iff: Over-allocate ham_palbuf for HAM6 IFF-PBM
 avcodec/x86/diracdsp: Fix incorrect src addressing in dequant_subband_32()
 avfilter/vf_find_rect: Remove assert
 avfilter/vf_find_rect: Increase worst case score
 swscale/input: Fix several invalid shifts related to rgb2yuv constants
 swscale/output: Fix several invalid shifts in yuv2rgb_full_1_c_template()
 swscale/swscale: Fix several invalid shifts related to vChrDrop
 avcodec/hevc_mp4toannexb_bsf: check that nalu size doesnt overflow
 avcodec/hevc_mp4toannexb_bsf: Avoid NULL memcpy()
 avcodec/wmalosslessdec: move channel check up
 avcodec/cbs_h2645: Skip all 0 NAL units
 avcodec/adpcm: Fix overflow in FFABS() IMA_EA_EACS
 avcodec/alac: Fix integer overflow in LPC coefficient adaption
 avcodec/g729postfilter: Optimize out overflowing multiplication from apply_tilt_comp()
 avcodec/vc1dec: Check field_mode for sprites
 avcodec/vc1dec: Limit bits by the actual bitstream size
 avcodec/vmdaudio: Check block_align more
 configure: bump year
 avcodec/pgssubdec: Free subtitle on error
 avcodec/ffwavesynth: Fix undefined overflow in wavesynth_synth_sample()
 avcodec/cook: Use 3 stage VLC decoding for channel_coupling
 avcodec/wmalosslessdec: Fixes undefined overflow in dequantization in decode_subframe()
 avcodec/sonic: Check e in get_symbol()
 avcodec/twinvqdec: Correct overflow in block align check
 avcodec/vc1dec: Fix "return -1" cases
 avcodec/vc1dec: Free sprite_output_frame on error
 avcodec/wmadec: Keep track of exponent initialization per channel
 avcodec/iff: Check that video_size is large enough for the read parameters
 avcodec/adpcm: Clip predictor for APC
 avcodec/targa: Check colors vs. available space
 avcodec/dstdec: Use get_ur_golomb_jpegls()
 avcodec/wmavoice: Check remaining input in parse_packet_header()
 avcodec/wmalosslessdec: Fix 2 overflows in mclms
 avcodec/wmaprodec: Fixes integer overflow with 32bit samples
 avcodec/adpcm: Fix invalid shift in xa_decode()
 avcodec/wmalosslessdec: Fix several integer issues
 avcodec/wmalosslessdec: Check that padding bits is not more than sample bits
 avcodec/iff: Skip overflowing runs in decode_delta_d()
 avcodec/pnm: Check that the header is not truncated
 avcodec/mp3_header_decompress_bsf: Check sample_rate_index
 avformat/rmdec: Initialize and sanity check offset in ivr_read_header()
 avcodec/apedec: Fix 2 integer overflows
 avformat/id3v2: Fix double-free on error
 avcodec/wmaprodec: Set packet_loss when we error out on a sanity check
 avcodec/wmaprodec: Check offset
 avcodec/truemotion2: Fix 2 integer overflows in tm2_low_res_block()
 avcodec/wmaprodec: Check if the channel sum of all internal contexts match the external
 avcodec/g729dec: require buf_size to be non 0
 avcodec/alac: Fix integer overflow in lpc_prediction() with sign
 avcodec/wmaprodec: Fix buflen computation in save_bits()
 avcodec/vc1_block: Fix integer overflow in AC rescaling in vc1_decode_i_block_adv()
 avcodec/vmdaudio: Check chunk counts to avoid integer overflow
 avformat/mxfdec: Clear metadata_sets_count in mxf_read_close()
 avcodec/nuv: Use ff_set_dimensions()
 avcodec/ffwavesynth: Fix integer overflow with pink_ts_cur/next
 avcodec/ralf: Fix integer overflows with the filter coefficient in decode_channel()
 avcodec/g729dec: Use 64bit and clip in scalar product
 avcodec/mxpegdec: Check for multiple SOF
 avcodec/nuv: Move comptype check up
 avcodec/wmavoice: Fix integer overflow in synth_frame()
 avcodec/rawdec: Check bits_per_coded_sample more pedantically for 16bit cases
 avutil/lfg: Correct index increment type to avoid undefined behavior
 avcodec/cngdec: Remove AV_CODEC_CAP_DELAY
 libavcodec/libvpxenc: Don't free user-provided AVPacket
 libavcodec/libmp3lame: Don't free user-provided AVPacket
 avcodec/libopusenc: Don't free user-provided AVPacket
 avcodec/cbs_h265: fix writing extension_data bits
 avformat/matroskadec: Fix default value of BlockAddID


version 4.0.5:
 avcodec/iff: Move index use after check in decodeplane8()
 avcodec/atrac3: Check for huge block aligns
 avcodec/ralf: use multiply instead of shift to avoid undefined behavior in decode_block()
 avcodec/wmadec: Require previous exponents for reuse
 avcodec/vc1_block: Fix undefined behavior in ac prediction rescaling
 avcodec/qdm2: The smallest header seems to have 2 bytes so treat 1 as invalid
 avcodec/apedec: Fixes integer overflow of res+*data in do_apply_filter()
 avcodec/sonic: Fix integer overflow in predictor_calc_error()
 avformat/mp3dec: Check that the frame fits within the probe buffer
 lavc/tableprint_vlc: Remove avpriv_request_sample() from included files.
 avcodec/wmaprodec: get frame during frame decode
 avcodec/interplayacm: Fix overflow of last unused value
 avcodec/adpcm: Fix undefined behavior with negative predictions in IMA OKI
 avcodec/cook: Move up and extend block_align check
 avcodec/sbcdec: Fix integer overflows in sbc_synthesize_four()
 avcodec/twinvq: Check block_align
 avcodec/cook: Enlarge gain table
 avcodec/cook: Check samples_per_channel earlier
 avcodec/atrac3plus: Check split point in fill mode 3
 avcodec/wmavoice: Check sample_rate
 avcodec/xsubdec: fix overflow in alpha handling
 avcodec/iff: Check available space before entering loop in decode_long_vertical_delta2() / decode_long_vertical_delta()
 avcodec/apedec: Fix integer overflow in filter_3800()
 avutil/lfg: Document the AVLFG struct
 avcodec/ffv1dec: Use a different error message for the slice level CRC
 avcodec/apedec: Fix undefined integer overflow in long_filter_ehigh_3830()
 avcodec/dstdec: Check that AC probabilities are within range
 avcodec/dstdec: Check read_table() for failure
 avcodec/snowenc: Set mb_num to avoid ratecontrol floating point divisions by 0.0
 avcodec/snowenc: Fix 2 undefined shifts
 avformat/nutenc: Do not pass NULL to memcmp() in get_needed_flags()
 avcodec/aptx: Check the number of channels
 avcodec/aacdec_template: Check samplerate
 avcodec/truemotion2: Fix several integer overflows in tm2_low_res_block()
 avcodec/utils: Check block_align
 avcodec/wmalosslessdec: Fix some integer anomalies
 avcodec/adpcm: Fix invalid shifts in ADPCM DTK
 avcodec/apedec: Only clear the needed buffer space, instead of all
 avcodec/libvorbisdec: Fix insufficient input checks leading to out of array reads
 avcodec/g723_1dec: fix invalid shift with negative sid_gain
 avcodec/vp5: Check render_x/y
 avcodec/qdrw: Check input for header/skiped space before get_buffer()
 avcodec/ralf: Skip initializing unused filter variables
 avcodec/takdec: Fix overflow with large sample rates
 avcodec/alsdec: Check that input space for header exists in read_diff_float_data()
 avformat/pjsdec: Check duration for overflow
 avcodec/ptx: Check that the input contains at least one line
 avcodec/alac: Fix integer overflow in LPC
 avcodec/smacker: Fix integer overflows in pred[] in smka_decode_frame()
 avcodec/aliaspixdec: Check input size against minimal picture size
 avcodec/ffwavesynth: Fix integer overflows in pink noise addition
 avcodec/vc1_block: Fixes integer overflow in vc1_decode_i_block_adv()
 avcodec/wmalosslessdec: Check block_align
 avcodec/g729postfilter: Fix left shift of negative value
 avcodec/binkaudio: Check sample rate
 avcodec/sbcdec: Fix integer overflows in sbc_synthesize_eight()
 avcodec/adpcm: Check initial predictor for ADPCM_IMA_EA_EACS
 avcodec/g723_1dec: Fix overflow in shift
 avcodec/apedec: Fix integer overflow in predictor_update_3930()
 avcodec/g729postfilter: Fix undefined intermediate pointers
 avcodec/g729postfilter: Fix undefined shifts
 avcodec/lsp: Fix undefined shifts in lsp2poly()
 avcodec/adpcm: Fix left shifts in AV_CODEC_ID_ADPCM_EA
 avformat/shortendec: Check k in probe
 avfilter/vf_geq: Use av_clipd() instead of av_clipf()
 avcodec/wmaprodec: Check that the streams channels do not exceed the overall channels
 avcodec/qdmc: Check input space in qdmc_get_vlc()
 avcodec/pcm: Check bits_per_coded_sample
 avcodec/exr: Allow duplicate use of channel indexes
 avcodec/fitsdec: Fail on 0 naxisn
 avcodec/dxv: Subtract 12 earlier in dxv_decompress_cocg()
 libavcodec/dxv: Remove redundant seek
 avcodec/ituh263dec: Check input for minimal frame size
 avcodec/truemotion1: Check that the input has enough space for a minimal index_stream
 avformat/mpsubdec: Clear queue on error
 avcodec/sunrast: Check that the input is large enough for the maximally compressed image
 avcodec/sunrast: Check for availability of maplength before allocating image
 avformat/subtitles: Check nb_subs in ff_subtitles_queue_finalize()
 avcodec/wmaprodec: Check if there is a stream
 avcodec/g2meet: Check for end of input in jpg_decode_block()
 avcodec/g2meet: Check if adjusted pixel was on the stack
 avformat/electronicarts: If no packet has been read at the end do not treat it as if theres a packet
 avcodec/dxv: Check op_offset in dxv_decompress_yo()
 avcodec/utils: Check sample_rate before opening the decoder
 avcodec/aptx: Fix multiple shift anomalies
 avcodec/fitsdec: fix use of uninitialised values
 avcodec/motionpixels: Mark 2 functions as always_inline
 avcodec/ituh263dec: Make the condition for the studio slice start code match between ff_h263_resync() and ff_mpeg4_decode_studio_slice_header()
 avcodec/ralf: Fix integer overflow in decode_channel()
 vcodec/vc1: compute rangex/y only for P/B frames
 avcodec/vc1_pred: Fix invalid shifts in scaleforopp()
 avcodec/vc1_block: Fix invalid shift with rangeredfrm
 avcodec/vc1: Check for excessive resolution
 avcodec/vc1: check REFDIST
 avcodec/apedec: Fix several integer overflows in predictor_update_filter() and do_apply_filter()
 avcodec/hevc_cabac: Tighten the limit on k in ff_hevc_cu_qp_delta_abs()
 avcodec/4xm: Check index in decode_i_block() also in the path where its not used.
 avcodec/atrac3: Check block_align
 avcodec/alsdec: Avoid dereferencing context pointer in inner interleave loop
 avcodec/fitsdec: Prevent division by 0 with huge data_max
 avcodec/dstdec: Fix integer overflow in samples_per_frame computation
 avcodec/g729_parser: Check block_size
 avcodec/sbcdec: Initialize number of channels
 avcodec/utils: Optimize ff_color_frame() using memcpy()
 avcodec/aacdec: Check if we run out of input in read_stream_mux_config()
 avcodec/utils: Use av_memcpy_backptr() in ff_color_frame()
 avcodec/smacker: Fix integer overflow in signed int multiply in SMK_BLK_FILL
 avcodec/alac: Fix invalid shifts in 20/24 bps
 avcodec/alac: fix undefined behavior with INT_MIN in lpc_prediction()
 avcodec/ffwavesynth: Fix integer overflow in timestamps
 avcodec/dxv: Check op_offset in both directions
 avcodec/adpcm: Check number of channels for MTAF
 avcodec/sunrast: Fix indention
 avcodec/sunrast: Fix return type for "unsupported (compression) type"
 avformat/mov: Check for EOF in mov_read_meta()
 avcodec/hevcdec: Fix memleak of a53_caption
 avformat/cdxl: Fix integer overflow in intermediate
 avcodec/hevcdec: repeat character in skiped
 avcodec/gdv: Replace assert() checking bitstream by if()
 libavcodec/utils: Free threads on init failure
 avcodec/htmlsubtitles: Avoid locale dependant isdigit()
 avcodec/alsdec: Check k from being outside what our implementation can handle
 avcodec/takdec: Fix integer overflow in decorrelate()
 avcodec/aacps: Fix integer overflows in hybrid_synthesis()
 avcodec/mpeg4videodec: Fix integer overflow in mpeg4_decode_studio_block()
 avcodec/vp56rac: delay signaling an error on truncated input
 avcodec/vp5/6/8: use vpX_rac_is_end()
 avcodec/vp56: Add vpX_rac_is_end() to check for the end of input
 avcodec/qdm2: Check frame size
 avcodec/vc1_pred: Fix refdist in scaleforopp()
 avcodec/vorbisdec: fix FASTDIV usage for vr_type == 2
 avcodec/iff: Check for overlap in cmap_read_palette()
 avcodec/apedec: Fix 32bit int overflow in do_apply_filter()
 avcodec/ralf: fix undefined shift in extend_code()
 avcodec/ralf: fix undefined shift
 avcodec/bgmc: Check input space in ff_bgmc_decode_init()
 avcodec/truemotion2: Fix multiple integer overflows in tm2_null_res_block()
 avcodec/vc1dec: Require res_sprite for wmv3images
 avcodec/vc1_block: Check for double escapes
 avcodec/vorbisdec: Check get_vlc2() failure
 avcodec/tta: Fix integer overflow in prediction
 avcodec/vb: Check input packet size to be large enough to contain flags
 avcodec/cavsdec: Limit the number of access units per packet to 2
 avcodec/alac: Check for bps of 0
 avcodec/alac: Fix multiple integer overflows in lpc_prediction()
 avcodec/rl2: set dimensions
 avcodec/aacdec: Add FF_CODEC_CAP_INIT_CLEANUP
 avcodec/idcinvideo: Add 320x240 default maximum resolution
 avformat/realtextdec: free queue on error
 avcodec/alsdec: Fix integer overflow in decode_var_block_data()
 avcodec/alsdec: Limit maximum channels to 512
 avcodec/anm: Check input size for a frame with just a stop code
 avcodec/flicvideo: Optimize and Simplify FLI_COPY in flic_decode_frame_24BPP() by using bytestream2_get_buffer()
 avcodec/loco: Check left column value
 avcodec/ffwavesynth: Fixes invalid shift with pink noise seeking
 avcodec/ffwavesynth: Fix integer overflow for some corner case values
 avcodec/indeo2: Check remaining input more often
 avcodec/diracdec: Check that slices are fewer than pixels
 avcodec/vp56: Consider the alpha start as end of the prior header
 avcodec/4xm: Check for end of input in decode_p_block()
 avcodec/hevcdec: Check delta_luma_weight_l0/1
 avcodec/hnm4video: Optimize postprocess_current_frame()
 avcodec/hevc_refs: Optimize 16bit generate_missing_ref()
 avcodec/scpr: Use av_memcpy_backptr() in type 17 and 33
 avcodec/dds: Use ff_set_dimensions()
 avcodec/mpc8: Fix 32bit mask/enum
 avcodec/alsdec: Fix integer overflows of raw_samples in decode_var_block_data()
 avcodec/alsdec: Fix integer overflow of raw_samples in decode_blocks()
 avcodec/alsdec: fix mantisse shift
 avcodec/aacdec_template: fix integer overflow in imdct_and_windowing()
 libavcodec/iff: Use unsigned to avoid undefined behaviour
 avcodec/alsdec: Check for block_length <= 0 in read_var_block_data()
 avcodec/vqavideo: Set video size
 avcodec/sanm: Check extradata_size before allocations
 avcodec/mss1: check for overread and forward errors
 avcodec/dirac_parser: Fix overflow in dts
 avcodec/ralf: Fix undefined pointer in decode_channel()
 avcodec/ralf: Fix integer overflow in apply_lpc()
 avcodec/vorbisdec: Implement vr->classifications = 1
 avcodec/vorbisdec: Check parameters in vorbis_floor0_decode() before divide
 avformat/realtextdec: Check for duplicate extradata in realtext_read_header()
 avcodec/apedec: Fix 2 signed overflows
 avcodec/mss3: Check for the rac stream being invalid in rac_normalize()
 avcodec/vc1_block: Check get_vlc2() return before use
 avcodec/apedec: Do not partially clear data array
 avcodec/hnm4video: Forward errors of decode_interframe_v4()
 avcodec/clearvideo: fix invalid shift in tile size check
 avcodec/vp3: Check that theora is theora
 avcodec/vc1_pred: Fix invalid shift in scaleforsame()
 avcodec/vc1_block: Fix integer overflow in ff_vc1_pred_dc()
 avcodec/truemotion2: Fix several integer overflows in tm2_motion_block()
 avcodec/apedec: make left/right unsigned to avoid undefined behavior
 avcodec/apedec: Fix multiple integer overflows and undefined behaviorin filter_3800()
 avformat/mpc: deallocate frames array on errors
 avcodec/eatqi: Check for minimum frame size
 avcodec/eatgv: Check remaining size after the keyframe header
 avcodec/assdec: undefined use of memcpy()
 avcodec/brenderpix: Check input size before allocating image
 lafv/wavdec: Fail bext parsing on incomplete reads
 avcodec/utils: fix leak of subtitle_header on error path
 avcodec/utils: Check close before calling it
 avcodec/vorbisdec: Check vlc for floor0 dec vector offset
 avcodec/vorbisdec: amplitude bits can be more than 25 bits
 avutil/softfloat_ieee754: Fix odd bit position for exponent and sign in av_bits2sf_ieee754()
 avcodec/apedec: Fix various integer overflows
 avcodec/apedec: Fix multiple integer overflows in predictor_update_filter()
 avcodec/alsdec: fix undefined shift in multiply()
 avcodec/alsdec: Fix 2 integer overflows
 avcodec/flicvideo: Make line_packets int
 avcodec/dvbsubdec: Use ff_set_dimensions()
 avcodec/ffwavesynth: Check if there is enough extradata before allocation
 avcodec/ffwavesynth: More correct cast in wavesynth_seek()
 avcodec/ffwavesynth: Check sample rate before use
 avcodec/dnxhd_parser: Fix parser when input does not have nicely sized packets
 avcodec/dnxhd_parser: remove unneeded code
 avformat/utils: Check rfps_duration_sum for overflow
 avcodec/h264_refs: Also check reference in ff_h264_build_ref_list()
 avcodec/parser: Check next index validity in ff_combine_frame()
 avcodec/ivi: Ask for samples with odd tiles
 avformat/xmv: Make bitrate 64bit
 avcodec/pngdec: Check that previous_picture has same w/h/format
 avcodec/huffyuv: remove gray8a (the format is listed but not supported by the implementation)
 avcodec/mpc8: Fixes invalid shift in mpc8_decode_frame()
 avcodec/utils, avcodec_open2: close codec on failure
 avcodec/golomb: Correct the doxy about get_ue_golomb() and errors
 avformat/utils: Check timebase before use in estimate_timings()
 avcodec/hq_hqa: Use ff_set_dimensions()
 avcodec/rv10: Fix integer overflow in aspect ratio compare
 avcodec/4xm: Fix signed integer overflows in idct()
 avcodec/qdm2: Check checksum_size for 0
 avcodec/qdm2: error out of qdm2_fft_decode_tones() before entering endless loop
 avcodec/qdm2: Do not read out of array in fix_coding_method_array()
 avcodec/svq3: Use ff_set_dimension()
 avcodec/iff: Check ham vs bpp
 avcodec/ffwavesynth: use uint32_t to compute difference, it is enough
 avcodec/ffwavesynth: Simplify lcg_seek(), avoid negative case
 avcodec/ffwavesynth: Fix backward lcg_seek()
 avcodec/flicvideo: Fix off by 1 error in flic_decode_frame_24BPP()
 avcodec/vc1_block: Check for vlc error in vc1_decode_ac_coeff()
 avcodec/alac: Check lpc_quant
 avcodec/dxv: Initialize tex_funct to NULL
 avcodec/alsdec: Add FF_CODEC_CAP_INIT_CLEANUP
 avcodec/alsdec: Fix integer overflow with buffer number
 avcodec/alsdec: Fixes signed integer overflow in LSB addition
 avcodec/alsdec: Check opt_order / sb_length in ra_block handling
 avcodec/alsdec: Fix integer overflow with shifting samples
 avcodec/alsdec: Fix undefined behavior in decode_rice()
 avcodec/alsdec: Fixes invalid shifts in read_var_block_data() and INTERLEAVE_OUTPUT()
 avcodec/hevc_ps: Change num_tile_rows/columns checks to sps->ctb_height/weight
 avcodec/hevc_ps: Fix integer overflow with num_tile_rows and num_tile_columns
 avcodec/apedec: Add k < 24 check to the only k++ case which lacks such a check
 avformat/aviobuf: Delay buffer downsizing until asserts are met
 avcodec/fitsdec: Check data_min/max
 avcodec/m101: Fix off be 2 error
 avcodec/qdm2: Move fft_order check up
 avcodec/libvorbisdec: Check extradata size
 avformat/vqf: Check header_size
 avcodec/utils: Check bits_per_coded_sample
 avcodec/videodsp_template: Fix overflow of addition
 avcodec/alsdec: Fix invalid shift in multiply()
 avcodec/ffwavesynth: Check ts_end - ts_start for overflow
 avcodec/vc1dsp: Avoid undefined shifts in vc1_v_s_overlap_c / vc1_h_s_overlap_c
 avcodec/tta: Fix undefined shift
 avcodec/qdmc: Fix integer overflows in PRNG
 avcodec/bintext: Check font height
 avcodec/binkdsp: Fix integer overflows in idct
 avcodec/bink: Fix integer overflow in unquantize_dct_coeffs()
 avcodec/motionpixels: Check for vlc error in mp_get_vlc()
 avcodec/loco: Limit lossy parameter so it is sane and does not overflow
 avformat/mov: Set fragment.found_tfhd only after TFHD has been parsed
 avcodec/xpmdec: Do not use context dimensions as temporary variables
 avcodec/fitsdec: Fix division by 0 in size check
 avcodec/aacpsdsp_template: Fix integer overflow in ps_hybrid_analysis_c()
 avcodec/truemotion2: Fix integer overflow in last loop in tm2_update_block()
 avcodec/iff: finetune the palette size check in the mask case
 avcodec/iff: Fix mask_buf / mask_palbuf leak
 avformat/icodec: Free ico->images on error paths
 avformat/wsddec: Fix undefined shift
 avcodec/fmvc: Check if header fields are available before allocating the image
 avcodec/bink: Reorder operations in init to avoid memleak on error
 avformat/wtvdec: Avoid (32bit signed) sectors
 avcodec/bitstream: Check for more conflicting codes in build_table()
 avcodec/bitstream: Check for integer code truncation in build_table()
 avformat/sbgdec: Fixes integer overflow in str_to_time() with hours
 avformat/vpk: Check offset for validity
 avformat/vpk: Fix integer overflow in samples_per_block computation
 avcodec/mjpegdec: Check for non ls PAL8
 avcodec/interplayvideo: check decoding_map_size with video_data_size
 avcodec/h264_parse: Use 64bit for expectedpoc and expected_delta_per_poc_cycle
 avcodec/mss4: Check input size against skip bits
 avcodec/dxv: Check op_offset in dxv_decompress_cocg()
 avcodec/diracdec: Fix integer overflow in global_mv()
 avcodec/vmnc: Check available space against chunks before reget_buffer()
 avcodec/aacdec_template: skip apply_tns() if max_sfb is 0 (from previous header decode failure)
 avcodec/aacdec_fixed: Handle more extreem cases in noise_scale()
 avcodec/aacdec_template: Merge 3 #ifs related to noise handling
 avcodec/aacdec_fixed: ssign seems always -1 in noise_scale(), simplify
 avformat/mp3enc: Avoid SEEK_END as it is unsupported
 avcodec/truemotion2: Fix several integer overflows in tm2_update_block()
 avformat/webm_chunk: Specify expected argument length of get_chunk_filename()
 avformat/webm_chunk: Check header filename length
 avcodec/cpia: Check input size also against linesizes and EOL
 swscale/tests/swscale: Lengthen pixfmt name buffer to 21 bytes
 libswcale: Fix possible string overflow in test.
 avcodec/hq_hqa: Check available space before reading slice offsets
 lavf/webm_chunk: Respect buffer size
 avcodec/fits: Check bitpix
 avcodec/jvdec: Use ff_get_buffer() when the content is not reused
 avcodec/truemotion2: Fix 2 integer overflows in tm2_update_block()
 avcodec/gdv: Check input palette size before rescale()
 avcodec/jpeg2000: Check stepsize before using it
 avcodec/aacdec_fixed: Fix undefined shift in noise_scale()
 avutil/avstring: Fix bug and undefined behavior in av_strncasecmp()
 avformat/mov: Skip stsd adjustment without chunks
 avformat/aadec: Check for scanf() failure
 avcodec/ccaption_dec: Add a blank like at the end to avoid rollup reading from outside
 avcodec/ivi: Move buffer/block end check to caller of ivi_dc_transform()
 avcodec/diracdec: Use 64bit in intermediate of global motion vector field generation
 avcodec/truemotion2: Fix integer overflow in tm2_decode_blocks()
 avcodec/rscc: Check that the to be uncompressed input is large enough
 avcodec/nvenc: add driver version info for latest SDKs
 avcodec/bsf: check that AVBSFInternal was allocated before dereferencing it
 lavf/rawenc: Only accept the appropriate stream type for raw muxers.
 avcodec/h263dec: fix hwaccel decoding
 avutil/mem: Fix invalid use of av_alloc_size
 avformat/aacdec: resync to the next adts frame on invalid data instead of aborting
 avformat/aacdec: factorize the adts frame resync code
 movsub_bsf: Fix mov2textsub regression
 avformat/aacdec: fix demuxing of small frames
 avcodec/cuviddec: improve progressive frame detection

version 4.0.4:
- avcodec/hevcdec: Avoid only partly skiping duplicate first slices
- lavc/bmp: Avoid a heap buffer overwrite for 1bpp input.
- avcodec/mpegpicture: Check size of edge_emu_buffer
- avformat/mov: Fix potential integer overflow in entry check in mov_read_trun()
- avcodec/truemotion2: Fix integer overflow in tm2_null_res_block()
- avcodec/dfa: Check the chunk header is not truncated
- avcodec/clearvideo: Check remaining data in P frames
- avcodec/dvbsubdec: Check object position
- avcodec/cdgraphics: Use ff_set_dimensions()
- avformat/gdv: Check fps
- configure: use vpx_codec_vp8_dx/cx for libvpx-vp8 checking
- configure: add missing pthreads extralibs dependency for libvpx-vp9
- avcodec/mpeg4videodec: Check idx in mpeg4_decode_studio_block()
- avcodec/dxv: Correct integer overflow in get_opcodes()
- avcodec/scpr: Fix use of uninitialized variable
- avcodec/qpeg: Limit copy in qpeg_decode_intra() to the available bytes
- avcodec/aic: Check remaining bits in aic_decode_coeffs()
- avcodec/gdv: Check for truncated tags in decompress_5()
- avcodec/bethsoftvideo: Check block_type
- avcodec/jpeg2000dwt: Fix integer overflow in dwt_decode97_int()
- avcodec/error_resilience: Use a symmetric check for skipping MV estimation
- avcodec/mlpdec: Insuffient typo
- avcodec/zmbv: obtain frame later
- avcodec/jvdec: Check available input space before decode8x8()
- avcodec/h264_direct: Fix overflow in POC comparission
- avformat/webmdashenc: Check id in adaption_sets
- avformat/http: Fix Out-of-Bounds access in process_line()
- avformat/ftp: Fix Out-of-Bounds Access and Information Leak in ftp.c:393
- avcodec/htmlsubtitles: Fixes denial of service due to use of sscanf in inner loop for handling braces
- avcodec/htmlsubtitles: Fixes denial of service due to use of sscanf in inner loop for tag scaning
- avformat/matroskadec: Do not leak queued packets on sync errors
- avcodec/mpeg4videodec: Clear interlaced_dct for studio profile
- avformat/mov: Do not use reference stream in mov_read_sidx() if there is no reference stream
- avcodec/sbrdsp_fixed.c: remove input value limit for sbr_sum_square_c()
- avformat/mov: validate chunk_count vs stsc_data
- avformat/mov.c: require tfhd to begin parsing trun
- avcodec/pgssubdec: Check for duplicate display segments
- avformat/rtsp: Check number of streams in sdp_parse_line()
- avformat/rtsp: Clear reply in every iteration in ff_rtsp_connect()
- avcodec/fic: Check that there is input left in fic_decode_block()
- avcodec/tiff: Check for 12bit gray fax
- avutil/imgutils: Optimize memset_bytes() by using av_memcpy_backptr()
- avutil/mem: Optimize fill32() by unrolling and using 64bit
- configure: bump year
- avcodec/diracdec: Check component quant
- avcodec/tests/rangecoder: initialize array to avoid valgrind warning
- avcodec/h264_slice: Fix integer overflow in implicit_weight_table()
- avcodec/exr: set layer_match in all branches
- avcodec/exr: Check for duplicate channel index
- avcodec/4xm: Fix returned error codes
- avformat/libopenmpt: Fix successfull typo
- avcodec/v4l2_m2m: fix cant typo
- avcodec/mjpegbdec: Fix some misplaced {} and spaces
- avformat/wvdec: detect and error out on WavPack DSD files
- avcodec/mips: Fix failed case: hevc-conformance-AMP_A_Samsung_* when enable msa
- avcodec/fic: Fail on invalid slice size/off
- postproc/postprocess_template: remove FF_REG_sp from clobber list
- postproc/postprocess_template: Avoid using %4 for the threshold compare
- avcodec/rpza: Check that there is enough data for all the blocks
- avcodec/rpza: Move frame allocation to a later point
- avcodec/avcodec: Document the data type for AV_PKT_DATA_MPEGTS_STREAM_ID
- avformat/mpegts: Fix side data type for stream id
- tests/fate/filter-video: increase fuzz for fate-filter-refcmp-psnr-rgb
- avcodec/mjpegdec: Fix indention of ljpeg_decode_yuv_scan()
- lavf/id3v2: fail read_apic on EOF reading mimetype
- avformat/nutenc: Document trailer index assert better
- lavf/mov: ensure only one tkhd per trak
- avcodec/clearvideo: Check remaining input bits in P macro block loop
- avcodec/dxv: Check that there is enough data to decompress
- avcodec/ppc/hevcdsp: Fix build failures with powerpc-linux-gnu-gcc-4.8 with --disable-optimizations
- avcodec/msvideo1: Check for too small dimensions
- avcodec/wmv2dec: Skip I frame if its smaller than 1/8 of the minimal size
- avcodec/msmpeg4dec: Skip frame if its smaller than 1/8 of the minimal size
- avcodec/truemotion2rt: Fix rounding in input size check
- avcodec/truemotion2: fix integer overflows in tm2_low_chroma()
- avcodec/pngdec: Check compression method
- fftools/ffmpeg: Repair reinit_filter feature
- avcodec/shorten: Fix integer overflow with offset
- h264_redundant_pps: Fix logging context
- avcodec/cavsdec: Propagate error codes inside decode_mb_i()
- avcodec/mpeg4videodec: Clear partitioned frame in decode_studio_vop_header()
- avcodec/mpegaudio_parser: Consume more than 0 bytes in case of the unsupported mp3adu case
- avcodec/hevcdec: decode at most one slice reporting being the first in the picture
- avformat/dsfdec: fix calculation of size of data chunk
- avformat/dsfdec: properly handle padded last packet
- avcodec/hevcdec: fix non-ref frame judgement
- avcodec/libaomenc: remove AVOption related to frame partitions

version 4.0.3:
- avutil/integer: Fix integer overflow in av_mul_i()
- avcodec/msrle: Check that the input is large enough to contain a end of picture code
- avformat/ftp: return AVERROR_EOF for EOF
- avcodec/libx264: remove FF_CODEC_CAP_INIT_THREADSAFE flag
- avcodec/jpeg2000dec: Fix off by 1 error in JPEG2000_PGOD_CPRL handling
- avcodec/mpeg4videodec: Fix typo in sprite delta check
- avcodec/h264_cavlc: Check mb_skip_run
- avcodec/ra144: Fix integer overflow in add_wav()
- avformat/utils: Never store negative values in last_IP_duration
- avformat/utils: Fix integer overflow in discontinuity check
- Revert "avcodec/cbs_h264: silence errors about end_of_seq nalus"
- avcodec/cbs: ensure user_data is padded for GBC parsing
- avcodec/cbs: fix crash in sei_pic_timestamp
- avcodec/cbs_h264: silence errors about end_of_seq nalus
- avcodec/cuviddec: properly take deinterlacing and display delay into account for buffer_full check
- avcodec/h2645_parse: skip NALUs with no content after stripping all the trailing zeros
- configure: <fflib>_deps: validate, reduce sensitivity
- configure: speed up check_deps()
- configure: speed up print_enabled_components()
- configure: speed up flatten_extralibs_wrapper()
- avformat/utils: Fix potential integer overflow in extract_extradata()
- avcodec/unary: Improve get_unary() docs
- avcodec/gdv: Replace divisions by shifts in rescale()
- avcodec/ac3dec: Fix shift signedness in mask creation
- avcodec/eac3dec: Check that channel_map does not contain more than EAC3_MAX_CHANNELS
- doc/examples/vaapi_transcode: Fix the typo
- avcodec/dvdsubdec: Sanity check len in decode_rle()
- avcodec/mpeg4videodec: Fix undefined shift in get_amv()
- avcodec/zmbv: Check that the decompressed data size is correct
- avcodec/zmbv: Update decomp_len in raw frames
- avcodec/shorten: Fix bitstream end check in read_header()
- avcodec/dvdsubdec: Avoid branch in decode_run_8bit()
- avcodec/h264_refs: Document last if() in ff_h264_execute_ref_pic_marking()
- avcodec/ra144: Fix undefined integer overflow in add_wav()
- avcodec/indeo4: Check dimensions in decode_pic_hdr()
- avformat/mov: Error on too large stsd entry counts.
- examples: Fix use of AV_CODEC_FLAG_GLOBAL_HEADER
- avcodec/hq_hqa: Check remaining input bits in hqa_decode_mb()
- avcodec/vb: Check for end of bytestream before reading blocktype
- avcodec/snowdec: Fix integer overflow with motion vector residual
- avcodec/mpeg4videodec: Fix slice end detection in mpeg4_decode_studio_mb()
- avformat/nsvdec: Do not parse multiple NSVf
- avformat/dashdec: Fix strlen(rep_id_val) with it being NULL
- avformat/mlvdec: read_string() received unsigned size, make the argument unsigned
- avformat/rmdec: Fix EOF check in the stream loop in ivr_read_header()
- avcodec/scpr: Check for min > max in decompress_p()
- avcodec/shorten: Fix signed 32bit overflow in shift in shorten_decode_frame()
- avcodec/shorten: Fix integer overflow in residual/LPC combination
- avcodec/shorten: Check verbatim length
- avcodec/mpegaudio_parser: Initialize poutbuf*
- avcodec/aacpsdsp_template: Fix integer overflow in ps_stereo_interpolate_c()
- avformat/flvenc: Check audio packet size
- lavc/svq3: Fix regression decoding some files.
- avcodec/mlp_parser: Check if synccode is within buffer
- avcodec/qtrle: Check remaining bytestream in qtrle_decode_XYbpp()
- avcodec/diracdec: Check bytes count in else branch in decode_lowdelay() too
- avcodec/diracdec: Check slice numbers for overflows in relation to picture dimensions
- avcodec/diracdec: Change frame_number to 64bit as its a 32bit from the bitstream and we also have a -1 special case
- avcodec/dirac_dwt_template: Fix several integer overflows in horizontal_compose_daub97i()
- avcodec/diracdec: Prevent integer overflow in intermediate in global_mv()
- swresample/swresample: Fix input channel count in resample_first computation
- avutil/pixfmt: Document chroma plane size for odd resolutions
- lavf/libsmbclient: return AVERROR_EOF for EOF.
- lavc/videotoolboxenc: Fix compilation on osx 10.10.5 Yosemite
- avcodec/mediacodecdec: fix SEGV on modern nvidia decoders
- avcodec/bitstream_filters: check the input argument of av_bsf_get_by_name() for NULL
- avformat/librtmp: fix returning EOF from Read/Write
- avcodec/videotoolboxenc: fix undefined behavior with rc_max_rate=0


version 4.0.2:
- 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

version 4.0.1:
- 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


version 4.0:
- 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
- Dropped support for building for Windows XP. The minimum supported Windows
  version is Windows Vista.
- 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


version 3.4:
- 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, left- and 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


version 3.3:
- 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
- VAAPI-accelerated deinterlacing


version 3.2:
- 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.
- spec compliant VAAPI/DXVA2 VC-1 decoding of slices in frame-coded images


version 3.1:
- 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


version 3.0:
- 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


version 2.8:
- 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


version 2.7:
- 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


version 2.6:
- 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)
- Port MIPS optimizations to 64-bit


version 2.5:
- HEVC/H.265 RTP payload format (draft v6) packetizer
- SUP/PGS subtitle demuxer
- ffprobe -show_pixel_formats option
- CAST128 symmetric block cipher, ECB mode
- STL subtitle demuxer and decoder
- libutvideo YUV 4:2:2 10bit support
- XCB-based screen-grabber
- UDP-Lite support (RFC 3828)
- xBR scaling filter
- AVFoundation screen capturing support
- ffserver supports codec private options
- creating DASH compatible fragmented MP4, MPEG-DASH segmenting muxer
- WebP muxer with animated WebP support
- zygoaudio decoding support
- APNG demuxer
- postproc visualization support


version 2.4:
- 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
- H.261 RTP payload format (RFC 4587) depacketizer and experimental packetizer
- 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


version 2.3:
- 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


version 2.2:

- 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
- aliases and defaults for Ogg subtypes (opus, spx)


version 2.1:

- 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


version 2.0:

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


version 1.2:

- VDPAU hardware acceleration through normal hwaccel
- SRTP support
- Error diffusion dither in Swscale
- Chained Ogg support
- Theora Midstream reconfiguration support
- EVRC decoder
- audio fade filter
- filtering audio with unknown channel layout
- allpass, bass, bandpass, bandreject, biquad, equalizer, highpass, lowpass
  and treble audio filter
- improved showspectrum filter, with multichannel support and sox-like colors
- histogram filter
- tee muxer
- il filter ported from libmpcodecs
- support ID3v2 tags in ASF files
- encrypted TTA stream decoding support
- RF64 support in WAV muxer
- noise filter ported from libmpcodecs
- Subtitles character encoding conversion
- blend filter
- stereo3d filter ported from libmpcodecs


version 1.1:

- stream disposition information printing in ffprobe
- filter for loudness analysis following EBU R128
- Opus encoder using libopus
- ffprobe -select_streams option
- Pinnacle TARGA CineWave YUV16 decoder
- TAK demuxer, decoder and parser
- DTS-HD demuxer
- remove -same_quant, it hasn't worked for years
- FFM2 support
- X-Face image encoder and decoder
- 24-bit FLAC encoding
- multi-channel ALAC encoding up to 7.1
- metadata (INFO tag) support in WAV muxer
- subtitles raw text decoder
- support for building DLLs using MSVC
- LVF demuxer
- ffescape tool
- metadata (info chunk) support in CAF muxer
- field filter ported from libmpcodecs
- AVR demuxer
- geq filter ported from libmpcodecs
- remove ffserver daemon mode
- AST muxer/demuxer
- new expansion syntax for drawtext
- BRender PIX image decoder
- ffprobe -show_entries option
- ffprobe -sections option
- ADPCM IMA Dialogic decoder
- BRSTM demuxer
- animated GIF decoder and demuxer
- PVF demuxer
- subtitles filter
- IRCAM muxer/demuxer
- Paris Audio File demuxer
- Virtual concatenation demuxer
- VobSub demuxer
- JSON captions for TED talks decoding support
- SOX Resampler support in libswresample
- aselect filter
- SGI RLE 8-bit / Silicon Graphics RLE 8-bit video decoder
- Silicon Graphics Motion Video Compressor 1 & 2 decoder
- Silicon Graphics Movie demuxer
- apad filter
- Resolution & pixel format change support with multithreading for H.264
- documentation split into per-component manuals
- pp (postproc) filter ported from MPlayer
- NIST Sphere demuxer
- MPL2, VPlayer, MPlayer, AQTitle, PJS and SubViewer v1 subtitles demuxers and decoders
- Sony Wave64 muxer
- adobe and limelight publisher authentication in RTMP
- data: URI scheme
- support building on the Plan 9 operating system
- kerndeint filter ported from MPlayer
- histeq filter ported from VirtualDub
- Megalux Frame demuxer
- 012v decoder
- Improved AVC Intra decoding support


version 1.0:

- INI and flat output in ffprobe
- Scene detection in libavfilter
- Indeo Audio decoder
- channelsplit audio filter
- setnsamples audio filter
- atempo filter
- ffprobe -show_data option
- RTMPT protocol support
- iLBC encoding/decoding via libilbc
- Microsoft Screen 1 decoder
- join audio filter
- audio channel mapping filter
- Microsoft ATC Screen decoder
- RTSP listen mode
- TechSmith Screen Codec 2 decoder
- AAC encoding via libfdk-aac
- Microsoft Expression Encoder Screen decoder
- RTMPS protocol support
- RTMPTS protocol support
- RTMPE protocol support
- RTMPTE protocol support
- showwaves and showspectrum filter
- LucasArts SMUSH SANM playback support
- LucasArts SMUSH VIMA audio decoder (ADPCM)
- LucasArts SMUSH demuxer
- SAMI, RealText and SubViewer demuxers and decoders
- Heart Of Darkness PAF playback support
- iec61883 device
- asettb filter
- new option: -progress
- 3GPP Timed Text encoder/decoder
- GeoTIFF decoder support
- ffmpeg -(no)stdin option
- Opus decoder using libopus
- caca output device using libcaca
- alphaextract and alphamerge filters
- concat filter
- flite filter
- Canopus Lossless Codec decoder
- bitmap subtitles in filters (experimental and temporary)
- MP2 encoding via TwoLAME
- bmp parser
- smptebars source
- asetpts filter
- hue filter
- ICO muxer
- SubRip encoder and decoder without embedded timing
- edge detection filter
- framestep filter
- ffmpeg -shortest option is now per-output file
  -pass and -passlogfile are now per-output stream
- volume measurement filter
- Ut Video encoder
- Microsoft Screen 2 decoder
- smartblur filter ported from MPlayer
- CPiA decoder
- decimate filter ported from MPlayer
- RTP depacketization of JPEG
- Smooth Streaming live segmenter muxer
- F4V muxer
- sendcmd and asendcmd filters
- WebVTT demuxer and decoder (simple tags supported)
- RTP packetization of JPEG
- faststart option in the MOV/MP4 muxer
- support for building with MSVC


version 0.11:

- Fixes: CVE-2012-2772, CVE-2012-2774, CVE-2012-2775, CVE-2012-2776, CVE-2012-2777,
         CVE-2012-2779, CVE-2012-2782, CVE-2012-2783, CVE-2012-2784, CVE-2012-2785,
         CVE-2012-2786, CVE-2012-2787, CVE-2012-2788, CVE-2012-2789, CVE-2012-2790,
         CVE-2012-2791, CVE-2012-2792, CVE-2012-2793, CVE-2012-2794, CVE-2012-2795,
         CVE-2012-2796, CVE-2012-2797, CVE-2012-2798, CVE-2012-2799, CVE-2012-2800,
         CVE-2012-2801, CVE-2012-2802, CVE-2012-2803, CVE-2012-2804,
- v408 Quicktime and Microsoft AYUV Uncompressed 4:4:4:4 encoder and decoder
- setfield filter
- CDXL demuxer and decoder
- Apple ProRes encoder
- ffprobe -count_packets and -count_frames options
- Sun Rasterfile Encoder
- ID3v2 attached pictures reading and writing
- WMA Lossless decoder
- bluray protocol
- blackdetect filter
- libutvideo encoder wrapper (--enable-libutvideo)
- swapuv filter
- bbox filter
- XBM encoder and decoder
- RealAudio Lossless decoder
- ZeroCodec decoder
- tile video filter
- Metal Gear Solid: The Twin Snakes demuxer
- OpenEXR image decoder
- removelogo filter
- drop support for ffmpeg without libavfilter
- drawtext video filter: fontconfig support
- ffmpeg -benchmark_all option
- super2xsai filter ported from libmpcodecs
- add libavresample audio conversion library for compatibility
- MicroDVD decoder
- Avid Meridien (AVUI) encoder and decoder
- accept + prefix to -pix_fmt option to disable automatic conversions.
- complete audio filtering in libavfilter and ffmpeg
- add fps filter
- vorbis parser
- png parser
- audio mix filter
- ffv1: support (draft) version 1.3


version 0.10:

- Fixes: CVE-2011-3929, CVE-2011-3934, CVE-2011-3935, CVE-2011-3936,
         CVE-2011-3937, CVE-2011-3940, CVE-2011-3941, CVE-2011-3944,
         CVE-2011-3945, CVE-2011-3946, CVE-2011-3947, CVE-2011-3949,
         CVE-2011-3950, CVE-2011-3951, CVE-2011-3952
- v410 Quicktime Uncompressed 4:4:4 10-bit encoder and decoder
- SBaGen (SBG) binaural beats script demuxer
- OpenMG Audio muxer
- Timecode extraction in DV and MOV
- thumbnail video filter
- XML output in ffprobe
- asplit audio filter
- tinterlace video filter
- astreamsync audio filter
- amerge audio filter
- ISMV (Smooth Streaming) muxer
- GSM audio parser
- SMJPEG muxer
- XWD encoder and decoder
- Automatic thread count based on detection number of (available) CPU cores
- y41p Brooktree Uncompressed 4:1:1 12-bit encoder and decoder
- ffprobe -show_error option
- Avid 1:1 10-bit RGB Packer codec
- v308 Quicktime Uncompressed 4:4:4 encoder and decoder
- yuv4 libquicktime packed 4:2:0 encoder and decoder
- ffprobe -show_frames option
- silencedetect audio filter
- ffprobe -show_program_version, -show_library_versions, -show_versions options
- rv34: frame-level multi-threading
- optimized iMDCT transform on x86 using SSE for for mpegaudiodec
- Improved PGS subtitle decoder
- dumpgraph option to lavfi device
- r210 and r10k encoders
- ffwavesynth decoder
- aviocat tool
- ffeval tool
- support encoding and decoding 4-channel SGI images


version 0.9:

- openal input device added
- boxblur filter added
- BWF muxer
- Flash Screen Video 2 decoder
- lavfi input device added
- added avconv, which is almost the same for now, except
for a few incompatible changes in the options, which will hopefully make them
easier to use. The changes are:
    * The options placement is now strictly enforced! While in theory the
      options for ffmpeg should be given in [input options] -i INPUT [output
      options] OUTPUT order, in practice it was possible to give output options
      before the -i and it mostly worked. Except when it didn't - the behavior was
      a bit inconsistent. In avconv, it is not possible to mix input and output
      options. All non-global options are reset after an input or output filename.
    * All per-file options are now truly per-file - they apply only to the next
      input or output file and specifying different values for different files
      will now work properly (notably -ss and -t options).
    * All per-stream options are now truly per-stream - it is possible to
      specify which stream(s) should a given option apply to. See the Stream
      specifiers section in the avconv manual for details.
    * In ffmpeg some options (like -newvideo/-newaudio/...) are irregular in the
      sense that they're specified after the output filename instead of before,
      like all other options. In avconv this irregularity is removed, all options
      apply to the next input or output file.
    * -newvideo/-newaudio/-newsubtitle options were removed. Not only were they
      irregular and highly confusing, they were also redundant. In avconv the -map
      option will create new streams in the output file and map input streams to
      them. E.g. avconv -i INPUT -map 0 OUTPUT will create an output stream for
      each stream in the first input file.
    * The -map option now has slightly different and more powerful syntax:
        + Colons (':') are used to separate file index/stream type/stream index
          instead of dots. Comma (',') is used to separate the sync stream instead
          of colon.. This is done for consistency with other options.
        + It's possible to specify stream type. E.g. -map 0:a:2 creates an
          output stream from the third input audio stream.
        + Omitting the stream index now maps all the streams of the given type,
          not just the first. E.g. -map 0:s creates output streams for all the
          subtitle streams in the first input file.
        + Since -map can now match multiple streams, negative mappings were
          introduced. Negative mappings disable some streams from an already
          defined map. E.g. '-map 0 -map -0:a:1' means 'create output streams for
          all the stream in the first input file, except for the second audio
          stream'.
    * There is a new option -c (or -codec) for choosing the decoder/encoder to
      use, which makes it possible to precisely specify target stream(s) consistently with
      other options. E.g. -c:v lib264 sets the codec for all video streams, -c:a:0
      libvorbis sets the codec for the first audio stream and -c copy copies all
      the streams without reencoding. Old -vcodec/-acodec/-scodec options are now
      aliases to -c:v/a/s
    * It is now possible to precisely specify which stream should an AVOption
      apply to. E.g. -b:v:0 2M sets the bitrate for the first video stream, while
      -b:a 128k sets the bitrate for all audio streams. Note that the old -ab 128k
      syntax is deprecated and will stop working soon.
    * -map_chapters now takes only an input file index and applies to the next
      output file. This is consistent with how all the other options work.
    * -map_metadata now takes only an input metadata specifier and applies to
      the next output file. Output metadata specifier is now part of the option
      name, similarly to the AVOptions/map/codec feature above.
    * -metadata can now be used to set metadata on streams and chapters, e.g.
      -metadata:s:1 language=eng sets the language of the first stream to 'eng'.
      This made -vlang/-alang/-slang options redundant, so they were removed.
    * -qscale option now uses stream specifiers and applies to all streams, not
      just video. I.e. plain -qscale number would now apply to all streams. To get
      the old behavior, use -qscale:v. Also there is now a shortcut -q for -qscale
      and -aq is now an alias for -q:a.
    * -vbsf/-absf/-sbsf options were removed and replaced by a -bsf option which
      uses stream specifiers. Use -bsf:v/a/s instead of the old options.
    * -itsscale option now uses stream specifiers, so its argument is only the
      scale parameter.
    * -intra option was removed, use -g 0 for the same effect.
    * -psnr option was removed, use -flags +psnr for the same effect.
    * -vf option is now an alias to the new -filter option, which uses stream specifiers.
    * -vframes/-aframes/-dframes options are now aliases to the new -frames option.
    * -vtag/-atag/-stag options are now aliases to the new -tag option.
- XMV demuxer
- LOAS demuxer
- ashowinfo filter added
- Windows Media Image decoder
- amovie source added
- LATM muxer/demuxer
- Speex encoder via libspeex
- JSON output in ffprobe
- WTV muxer
- Optional C++ Support (needed for libstagefright)
- H.264 Decoding on Android via Stagefright
- Prores decoder
- BIN/XBIN/ADF/IDF text file decoder
- aconvert audio filter added
- audio support to lavfi input device added
- libcdio-paranoia input device for audio CD grabbing
- Apple ProRes decoder
- CELT in Ogg demuxing
- G.723.1 demuxer and decoder
- libmodplug support (--enable-libmodplug)
- VC-1 interlaced decoding
- libutvideo wrapper (--enable-libutvideo)
- aevalsrc audio source added
- Ut Video decoder
- Speex encoding via libspeex
- 4:2:2 H.264 decoding support
- 4:2:2 and 4:4:4 H.264 encoding with libx264
- Pulseaudio input device
- Prores encoder
- Video Decoder Acceleration (VDA) HWAccel module.
- replacement Indeo 3 decoder
- new ffmpeg option: -map_channel
- volume audio filter added
- earwax audio filter added
- libv4l2 support (--enable-libv4l2)
- TLS/SSL and HTTPS protocol support
- AVOptions API rewritten and documented
- most of CODEC_FLAG2_*, some CODEC_FLAG_* and many codec-specific fields in
  AVCodecContext deprecated. Codec private options should be used instead.
- Properly working defaults in libx264 wrapper, support for native presets.
- Encrypted OMA files support
- Discworld II BMV decoding support
- VBLE Decoder
- OS X Video Decoder Acceleration (VDA) support
- compact and csv output in ffprobe
- pan audio filter
- IFF Amiga Continuous Bitmap (ACBM) decoder
- ass filter
- CRI ADX audio format muxer and demuxer
- Playstation Portable PMP format demuxer
- Microsoft Windows ICO demuxer
- life source
- PCM format support in OMA demuxer
- CLJR encoder
- new option: -report
- Dxtory capture format decoder
- cellauto source
- Simple segmenting muxer
- Indeo 4 decoder
- SMJPEG demuxer


version 0.8:

- many many things we forgot because we rather write code than changelogs
- WebM support in Matroska de/muxer
- low overhead Ogg muxing
- MMS-TCP support
- VP8 de/encoding via libvpx
- Demuxer for On2's IVF format
- Pictor/PC Paint decoder
- HE-AAC v2 decoder
- HE-AAC v2 encoding with libaacplus
- libfaad2 wrapper removed
- DTS-ES extension (XCh) decoding support
- native VP8 decoder
- RTSP tunneling over HTTP
- RTP depacketization of SVQ3
- -strict inofficial replaced by -strict unofficial
- ffplay -exitonkeydown and -exitonmousedown options added
- native GSM / GSM MS decoder
- RTP depacketization of QDM2
- ANSI/ASCII art playback system
- Lego Mindstorms RSO de/muxer
- libavcore added (and subsequently removed)
- SubRip subtitle file muxer and demuxer
- Chinese AVS encoding via libxavs
- ffprobe -show_packets option added
- RTP packetization of Theora and Vorbis
- RTP depacketization of MP4A-LATM
- RTP packetization and depacketization of VP8
- hflip filter
- Apple HTTP Live Streaming demuxer
- a64 codec
- MMS-HTTP support
- G.722 ADPCM audio encoder/decoder
- R10k video decoder
- ocv_smooth filter
- frei0r wrapper filter
- change crop filter syntax to width:height:x:y
- make the crop filter accept parametric expressions
- make ffprobe accept AVFormatContext options
- yadif filter
- blackframe filter
- Demuxer for Leitch/Harris' VR native stream format (LXF)
- RTP depacketization of the X-QT QuickTime format
- SAP (Session Announcement Protocol, RFC 2974) muxer and demuxer
- cropdetect filter
- ffmpeg -crop* options removed
- transpose filter added
- ffmpeg -force_key_frames option added
- demuxer for receiving raw rtp:// URLs without an SDP description
- single stream LATM/LOAS decoder
- setpts filter added
- Win64 support for optimized x86 assembly functions
- MJPEG/AVI1 to JPEG/JFIF bitstream filter
- ASS subtitle encoder and decoder
- IEC 61937 encapsulation for E-AC-3, TrueHD, DTS-HD (for HDMI passthrough)
- overlay filter added
- rename aspect filter to setdar, and pixelaspect to setsar
- IEC 61937 demuxer
- Mobotix .mxg demuxer
- frei0r source added
- hqdn3d filter added
- RTP depacketization of QCELP
- FLAC parser added
- gradfun filter added
- AMR-WB decoder
- replace the ocv_smooth filter with a more generic ocv filter
- Windows Televison (WTV) demuxer
- FFmpeg metadata format muxer and demuxer
- SubRip (srt) subtitle encoder and decoder
- floating-point AC-3 encoder added
- Lagarith decoder
- ffmpeg -copytb option added
- IVF muxer added
- Wing Commander IV movies decoder added
- movie source added
- Bink version 'b' audio and video decoder
- Bitmap Brothers JV playback system
- Apple HTTP Live Streaming protocol handler
- sndio support for playback and record
- Linux framebuffer input device added
- Chronomaster DFA decoder
- DPX image encoder
- MicroDVD subtitle file muxer and demuxer
- Playstation Portable PMP format demuxer
- fieldorder video filter added
- AAC encoding via libvo-aacenc
- AMR-WB encoding via libvo-amrwbenc
- xWMA demuxer
- Mobotix MxPEG decoder
- VP8 frame-multithreading
- NEON optimizations for VP8
- Lots of deprecated API cruft removed
- fft and imdct optimizations for AVX (Sandy Bridge) processors
- showinfo filter added
- SMPTE 302M AES3 audio decoder
- Apple Core Audio Format muxer
- 9 bits and 10 bits per sample support in the H.264 decoder
- 9 bits and 10 bits FFV1 encoding / decoding
- split filter added
- select filter added
- sdl output device added
- libmpcodecs video filter support (3 times as many filters than before)
- mpeg2 aspect ratio dection fixed
- libxvid aspect pickiness fixed
- Frame multithreaded decoding
- E-AC-3 audio encoder
- ac3enc: add channel coupling support
- floating-point sample format support to the ac3, eac3, dca, aac, and vorbis decoders.
- H264/MPEG frame-level multi-threading
- All av_metadata_* functions renamed to av_dict_* and moved to libavutil
- 4:4:4 H.264 decoding support
- 10-bit H.264 optimizations for x86
- lut, lutrgb, and lutyuv filters added
- buffersink libavfilter sink added
- Bump libswscale for recently reported ABI break
- New J2K encoder (via OpenJPEG)


version 0.7:

- all the changes for 0.8, but keeping API/ABI compatibility with the 0.6 release


version 0.6:

- PB-frame decoding for H.263
- deprecated vhook subsystem removed
- deprecated old scaler removed
- VQF demuxer
- Alpha channel scaler
- PCX encoder
- RTP packetization of H.263
- RTP packetization of AMR
- RTP depacketization of Vorbis
- CorePNG decoding support
- Cook multichannel decoding support
- introduced avlanguage helpers in libavformat
- 8088flex TMV demuxer and decoder
- per-stream language-tags extraction in asfdec
- V210 decoder and encoder
- remaining GPL parts in AC-3 decoder converted to LGPL
- QCP demuxer
- SoX native format muxer and demuxer
- AMR-NB decoding/encoding, AMR-WB decoding via OpenCORE libraries
- DPX image decoder
- Electronic Arts Madcow decoder
- DivX (XSUB) subtitle encoder
- nonfree libamr support for AMR-NB/WB decoding/encoding removed
- experimental AAC encoder
- RTP depacketization of ASF and RTSP from WMS servers
- RTMP support in libavformat
- noX handling for OPT_BOOL X options
- Wave64 demuxer
- IEC-61937 compatible Muxer
- TwinVQ decoder
- Bluray (PGS) subtitle decoder
- LPCM support in MPEG-TS (HDMV RID as found on Blu-ray disks)
- WMA Pro decoder
- Core Audio Format demuxer
- ATRAC1 decoder
- MD STUDIO audio demuxer
- RF64 support in WAV demuxer
- MPEG-4 Audio Lossless Coding (ALS) decoder
- -formats option split into -formats, -codecs, -bsfs, and -protocols
- IV8 demuxer
- CDG demuxer and decoder
- R210 decoder
- Auravision Aura 1 and 2 decoders
- Deluxe Paint Animation playback system
- SIPR decoder
- Adobe Filmstrip muxer and demuxer
- RTP depacketization of H.263
- Bink demuxer and audio/video decoders
- enable symbol versioning by default for linkers that support it
- IFF PBM/ILBM bitmap decoder
- concat protocol
- Indeo 5 decoder
- RTP depacketization of AMR
- WMA Voice decoder
- ffprobe tool
- AMR-NB decoder
- RTSP muxer
- HE-AAC v1 decoder
- Kega Game Video (KGV1) decoder
- VorbisComment writing for FLAC, Ogg FLAC and Ogg Speex files
- RTP depacketization of Theora
- HTTP Digest authentication
- RTMP/RTMPT/RTMPS/RTMPE/RTMPTE protocol support via librtmp
- Psygnosis YOP demuxer and video decoder
- spectral extension support in the E-AC-3 decoder
- unsharp video filter
- RTP hinting in the mov/3gp/mp4 muxer
- Dirac in Ogg demuxing
- seek to keyframes in Ogg
- 4:2:2 and 4:4:4 Theora decoding
- 35% faster VP3/Theora decoding
- faster AAC decoding
- faster H.264 decoding
- RealAudio 1.0 (14.4K) encoder


version 0.5:

- DV50 AKA DVCPRO50 encoder, decoder, muxer and demuxer
- TechSmith Camtasia (TSCC) video decoder
- IBM Ultimotion (ULTI) video decoder
- Sierra Online audio file demuxer and decoder
- Apple QuickDraw (qdrw) video decoder
- Creative ADPCM audio decoder (16 bits as well as 8 bits schemes)
- Electronic Arts Multimedia (WVE/UV2/etc.) file demuxer
- Miro VideoXL (VIXL) video decoder
- H.261 video encoder
- QPEG video decoder
- Nullsoft Video (NSV) file demuxer
- Shorten audio decoder
- LOCO video decoder
- Apple Lossless Audio Codec (ALAC) decoder
- Winnov WNV1 video decoder
- Autodesk Animator Studio Codec (AASC) decoder
- Indeo 2 video decoder
- Fraps FPS1 video decoder
- Snow video encoder/decoder
- Sonic audio encoder/decoder
- Vorbis audio decoder
- Macromedia ADPCM decoder
- Duck TrueMotion 2 video decoder
- support for decoding FLX and DTA extensions in FLIC files
- H.264 custom quantization matrices support
- ffserver fixed, it should now be usable again
- QDM2 audio decoder
- Real Cooker audio decoder
- TrueSpeech audio decoder
- WMA2 audio decoder fixed, now all files should play correctly
- RealAudio 14.4 and 28.8 decoders fixed
- JPEG-LS decoder
- build system improvements
- tabs and trailing whitespace removed from the codebase
- CamStudio video decoder
- AIFF/AIFF-C audio format, encoding and decoding
- ADTS AAC file reading and writing
- Creative VOC file reading and writing
- American Laser Games multimedia (*.mm) playback system
- Zip Motion Blocks Video decoder
- improved Theora/VP3 decoder
- True Audio (TTA) decoder
- AVS demuxer and video decoder
- JPEG-LS encoder
- Smacker demuxer and decoder
- NuppelVideo/MythTV demuxer and RTjpeg decoder
- KMVC decoder
- MPEG-2 intra VLC support
- MPEG-2 4:2:2 encoder
- Flash Screen Video decoder
- GXF demuxer
- Chinese AVS decoder
- GXF muxer
- MXF demuxer
- VC-1/WMV3/WMV9 video decoder
- MacIntel support
- AviSynth support
- VMware video decoder
- VP5 video decoder
- VP6 video decoder
- WavPack lossless audio decoder
- Targa (.TGA) picture decoder
- Vorbis audio encoder
- Delphine Software .cin demuxer/audio and video decoder
- Tiertex .seq demuxer/video decoder
- MTV demuxer
- TIFF picture encoder and decoder
- GIF picture decoder
- Intel Music Coder decoder
- Zip Motion Blocks Video encoder
- Musepack decoder
- Flash Screen Video encoder
- Theora encoding via libtheora
- BMP encoder
- WMA encoder
- GSM-MS encoder and decoder
- DCA decoder
- DXA demuxer and decoder
- DNxHD decoder
- Gamecube movie (.THP) playback system
- Blackfin optimizations
- Interplay C93 demuxer and video decoder
- Bethsoft VID demuxer and video decoder
- CRYO APC demuxer
- ATRAC3 decoder
- V.Flash PTX decoder
- RoQ muxer, RoQ audio encoder
- Renderware TXD demuxer and decoder
- extern C declarations for C++ removed from headers
- sws_flags command line option
- codebook generator
- RoQ video encoder
- QTRLE encoder
- OS/2 support removed and restored again
- AC-3 decoder
- NUT muxer
- additional SPARC (VIS) optimizations
- Matroska muxer
- slice-based parallel H.264 decoding
- Monkey's Audio demuxer and decoder
- AMV audio and video decoder
- DNxHD encoder
- H.264 PAFF decoding
- Nellymoser ASAO decoder
- Beam Software SIFF demuxer and decoder
- libvorbis Vorbis decoding removed in favor of native decoder
- IntraX8 (J-Frame) subdecoder for WMV2 and VC-1
- Ogg (Theora, Vorbis and FLAC) muxer
- The "device" muxers and demuxers are now in a new libavdevice library
- PC Paintbrush PCX decoder
- Sun Rasterfile decoder
- TechnoTrend PVA demuxer
- Linux Media Labs MPEG-4 (LMLM4) demuxer
- AVM2 (Flash 9) SWF muxer
- QT variant of IMA ADPCM encoder
- VFW grabber
- iPod/iPhone compatible mp4 muxer
- Mimic decoder
- MSN TCP Webcam stream demuxer
- RL2 demuxer / decoder
- IFF demuxer
- 8SVX audio decoder
- non-recursive Makefiles
- BFI demuxer
- MAXIS EA XA (.xa) demuxer / decoder
- BFI video decoder
- OMA demuxer
- MLP/TrueHD decoder
- Electronic Arts CMV decoder
- Motion Pixels Video decoder
- Motion Pixels MVI demuxer
- removed animated GIF decoder/demuxer
- D-Cinema audio muxer
- Electronic Arts TGV decoder
- Apple Lossless Audio Codec (ALAC) encoder
- AAC decoder
- floating point PCM encoder/decoder
- MXF muxer
- DV100 AKA DVCPRO HD decoder and demuxer
- E-AC-3 support added to AC-3 decoder
- Nellymoser ASAO encoder
- ASS and SSA demuxer and muxer
- liba52 wrapper removed
- SVQ3 watermark decoding support
- Speex decoding via libspeex
- Electronic Arts TGQ decoder
- RV40 decoder
- QCELP / PureVoice decoder
- RV30 decoder
- hybrid WavPack support
- R3D REDCODE demuxer
- ALSA support for playback and record
- Electronic Arts TQI decoder
- OpenJPEG based JPEG 2000 decoder
- NC (NC4600) camera file demuxer
- Gopher client support
- MXF D-10 muxer
- generic metadata API
- flash ScreenVideo2 encoder


version 0.4.9-pre1:

- DV encoder, DV muxer
- Microsoft RLE video decoder
- Microsoft Video-1 decoder
- Apple Animation (RLE) decoder
- Apple Graphics (SMC) decoder
- Apple Video (RPZA) decoder
- Cinepak decoder
- Sega FILM (CPK) file demuxer
- Westwood multimedia support (VQA & AUD files)
- Id Quake II CIN playback support
- 8BPS video decoder
- FLIC playback support
- RealVideo 2.0 (RV20) decoder
- Duck TrueMotion v1 (DUCK) video decoder
- Sierra VMD demuxer and video decoder
- MSZH and ZLIB decoder support
- SVQ1 video encoder
- AMR-WB support
- PPC optimizations
- rate distortion optimal cbp support
- rate distorted optimal ac prediction for MPEG-4
- rate distorted optimal lambda->qp support
- AAC encoding with libfaac
- Sunplus JPEG codec (SP5X) support
- use Lagrange multiplier instead of QP for ratecontrol
- Theora/VP3 decoding support
- XA and ADX ADPCM codecs
- export MPEG-2 active display area / pan scan
- Add support for configuring with IBM XLC
- floating point AAN DCT
- initial support for zygo video (not complete)
- RGB ffv1 support
- new audio/video parser API
- av_log() system
- av_read_frame() and av_seek_frame() support
- missing last frame fixes
- seek by mouse in ffplay
- noise reduction of DCT coefficients
- H.263 OBMC & 4MV support
- H.263 alternative inter vlc support
- H.263 loop filter
- H.263 slice structured mode
- interlaced DCT support for MPEG-2 encoding
- stuffing to stay above min_bitrate
- MB type & QP visualization
- frame stepping for ffplay
- interlaced motion estimation
- alternate scantable support
- SVCD scan offset support
- closed GOP support
- SSE2 FDCT
- quantizer noise shaping
- G.726 ADPCM audio codec
- MS ADPCM encoding
- multithreaded/SMP motion estimation
- multithreaded/SMP encoding for MPEG-1/MPEG-2/MPEG-4/H.263
- multithreaded/SMP decoding for MPEG-2
- FLAC decoder
- Metrowerks CodeWarrior suppport
- H.263+ custom pcf support
- nicer output for 'ffmpeg -formats'
- Matroska demuxer
- SGI image format, encoding and decoding
- H.264 loop filter support
- H.264 CABAC support
- nicer looking arrows for the motion vector visualization
- improved VCD support
- audio timestamp drift compensation
- MPEG-2 YUV 422/444 support
- polyphase kaiser windowed sinc and blackman nuttall windowed sinc audio resample
- better image scaling
- H.261 support
- correctly interleave packets during encoding
- VIS optimized motion compensation
- intra_dc_precision>0 encoding support
- support reuse of motion vectors/MB types/field select values of the source video
- more accurate deblock filter
- padding support
- many optimizations and bugfixes
- FunCom ISS audio file demuxer and according ADPCM decoding


version 0.4.8:

- MPEG-2 video encoding (Michael)
- Id RoQ playback subsystem (Mike Melanson and Tim Ferguson)
- Wing Commander III Movie (.mve) file playback subsystem (Mike Melanson
  and Mario Brito)
- Xan DPCM audio decoder (Mario Brito)
- Interplay MVE playback subsystem (Mike Melanson)
- Duck DK3 and DK4 ADPCM audio decoders (Mike Melanson)


version 0.4.7:

- RealAudio 1.0 (14_4) and 2.0 (28_8) native decoders. Author unknown, code from mplayerhq
  (originally from public domain player for Amiga at http://www.honeypot.net/audio)
- current version now also compiles with older GCC (Fabrice)
- 4X multimedia playback system including 4xm file demuxer (Mike
  Melanson), and 4X video and audio codecs (Michael)
- Creative YUV (CYUV) decoder (Mike Melanson)
- FFV1 codec (our very simple lossless intra only codec, compresses much better
  than HuffYUV) (Michael)
- ASV1 (Asus), H.264, Intel indeo3 codecs have been added (various)
- tiny PNG encoder and decoder, tiny GIF decoder, PAM decoder (PPM with
  alpha support), JPEG YUV colorspace support. (Fabrice Bellard)
- ffplay has been replaced with a newer version which uses SDL (optionally)
  for multiplatform support (Fabrice)
- Sorenson Version 3 codec (SVQ3) support has been added (decoding only) - donated
  by anonymous
- AMR format has been added (Johannes Carlsson)
- 3GP support has been added (Johannes Carlsson)
- VP3 codec has been added (Mike Melanson)
- more MPEG-1/2 fixes
- better multiplatform support, MS Visual Studio fixes (various)
- AltiVec optimizations (Magnus Damn and others)
- SH4 processor support has been added (BERO)
- new public interfaces (avcodec_get_pix_fmt) (Roman Shaposhnick)
- VOB streaming support (Brian Foley)
- better MP3 autodetection (Andriy Rysin)
- qpel encoding (Michael)
- 4mv+b frames encoding finally fixed (Michael)
- chroma ME (Michael)
- 5 comparison functions for ME (Michael)
- B-frame encoding speedup (Michael)
- WMV2 codec (unfinished - Michael)
- user specified diamond size for EPZS (Michael)
- Playstation STR playback subsystem, still experimental (Mike and Michael)
- ASV2 codec (Michael)
- CLJR decoder (Alex)

.. And lots more new enhancements and fixes.


version 0.4.6:

- completely new integer only MPEG audio layer 1/2/3 decoder rewritten
  from scratch
- Recoded DCT and motion vector search with gcc (no longer depends on nasm)
- fix quantization bug in AC3 encoder
- added PCM codecs and format. Corrected WAV/AVI/ASF PCM issues
- added prototype ffplay program
- added GOB header parsing on H.263/H.263+ decoder (Juanjo)
- bug fix on MCBPC tables of H.263 (Juanjo)
- bug fix on DC coefficients of H.263 (Juanjo)
- added Advanced Prediction Mode on H.263/H.263+ decoder (Juanjo)
- now we can decode H.263 streams found in QuickTime files (Juanjo)
- now we can decode H.263 streams found in VIVO v1 files(Juanjo)
- preliminary RTP "friendly" mode for H.263/H.263+ coding. (Juanjo)
- added GOB header for H.263/H.263+ coding on RTP mode (Juanjo)
- now H.263 picture size is returned on the first decoded frame (Juanjo)
- added first regression tests
- added MPEG-2 TS demuxer
- new demux API for libav
- more accurate and faster IDCT (Michael)
- faster and entropy-controlled motion search (Michael)
- two pass video encoding (Michael)
- new video rate control (Michael)
- added MSMPEG4V1, MSMPEGV2 and WMV1 support (Michael)
- great performance improvement of video encoders and decoders (Michael)
- new and faster bit readers and vlc parsers (Michael)
- high quality encoding mode: tries all macroblock/VLC types (Michael)
- added DV video decoder
- preliminary RTP/RTSP support in ffserver and libavformat
- H.263+ AIC decoding/encoding support (Juanjo)
- VCD MPEG-PS mode (Juanjo)
- PSNR stuff (Juanjo)
- simple stats output (Juanjo)
- 16-bit and 15-bit RGB/BGR/GBR support (Bisqwit)


version 0.4.5:

- some header fixes (Zdenek Kabelac <kabi at informatics.muni.cz>)
- many MMX optimizations (Nick Kurshev <nickols_k at mail.ru>)
- added configure system (actually a small shell script)
- added MPEG audio layer 1/2/3 decoding using LGPL'ed mpglib by
  Michael Hipp (temporary solution - waiting for integer only
  decoder)
- fixed VIDIOCSYNC interrupt
- added Intel H.263 decoding support ('I263' AVI fourCC)
- added Real Video 1.0 decoding (needs further testing)
- simplified image formats again. Added PGM format (=grey
  pgm). Renamed old PGM to PGMYUV.
- fixed msmpeg4 slice issues (tell me if you still find problems)
- fixed OpenDivX bugs with newer versions (added VOL header decoding)
- added support for MPlayer interface
- added macroblock skip optimization
- added MJPEG decoder
- added mmx/mmxext IDCT from libmpeg2
- added pgmyuvpipe, ppm, and ppm_pipe formats (original patch by Celer
  <celer at shell.scrypt.net>)
- added pixel format conversion layer (e.g. for MJPEG or PPM)
- added deinterlacing option
- MPEG-1/2 fixes
- MPEG-4 vol header fixes (Jonathan Marsden <snmjbm at pacbell.net>)
- ARM optimizations (Lionel Ulmer <lionel.ulmer at free.fr>).
- Windows porting of file converter
- added MJPEG raw format (input/output)
- added JPEG image format support (input/output)


version 0.4.4:

- fixed some std header definitions (Bjorn Lindgren
  <bjorn.e.lindgren at telia.com>).
- added MPEG demuxer (MPEG-1 and 2 compatible).
- added ASF demuxer
- added prototype RM demuxer
- added AC3 decoding (done with libac3 by Aaron Holtzman)
- added decoding codec parameter guessing (.e.g. for MPEG, because the
  header does not include them)
- fixed header generation in MPEG-1, AVI and ASF muxer: wmplayer can now
  play them (only tested video)
- fixed H.263 white bug
- fixed phase rounding in img resample filter
- add MMX code for polyphase img resample filter
- added CPU autodetection
- added generic title/author/copyright/comment string handling (ASF and RM
  use them)
- added SWF demux to extract MP3 track (not usable yet because no MP3
  decoder)
- added fractional frame rate support
- codecs are no longer searched by read_header() (should fix ffserver
  segfault)


version 0.4.3:

- BGR24 patch (initial patch by Jeroen Vreeken <pe1rxq at amsat.org>)
- fixed raw yuv output
- added motion rounding support in MPEG-4
- fixed motion bug rounding in MSMPEG4
- added B-frame handling in video core
- added full MPEG-1 decoding support
- added partial (frame only) MPEG-2 support
- changed the FOURCC code for H.263 to "U263" to be able to see the
  +AVI/H.263 file with the UB Video H.263+ decoder. MPlayer works with
  this +codec ;) (JuanJo).
- Halfpel motion estimation after MB type selection (JuanJo)
- added pgm and .Y.U.V output format
- suppressed 'img:' protocol. Simply use: /tmp/test%d.[pgm|Y] as input or
  output.
- added pgmpipe I/O format (original patch from Martin Aumueller
  <lists at reserv.at>, but changed completely since we use a format
  instead of a protocol)


version 0.4.2:

- added H.263/MPEG-4/MSMPEG4 decoding support. MPEG-4 decoding support
  (for OpenDivX) is almost complete: 8x8 MVs and rounding are
  missing. MSMPEG4 support is complete.
- added prototype MPEG-1 decoder. Only I- and P-frames handled yet (it
  can decode ffmpeg MPEGs :-)).
- added libavcodec API documentation (see apiexample.c).
- fixed image polyphase bug (the bottom of some images could be
  greenish)
- added support for non clipped motion vectors (decoding only)
  and image sizes non-multiple of 16
- added support for AC prediction (decoding only)
- added file overwrite confirmation (can be disabled with -y)
- added custom size picture to H.263 using H.263+ (Juanjo)


version 0.4.1:

- added MSMPEG4 (aka DivX) compatible encoder. Changed default codec
  of AVI and ASF to DIV3.
- added -me option to set motion estimation method
  (default=log). suppressed redundant -hq option.
- added options -acodec and -vcodec to force a given codec (useful for
  AVI for example)
- fixed -an option
- improved dct_quantize speed
- factorized some motion estimation code


version 0.4.0:

- removing grab code from ffserver and moved it to ffmpeg. Added
  multistream support to ffmpeg.
- added timeshifting support for live feeds (option ?date=xxx in the
  URL)
- added high quality image resize code with polyphase filter (need
  mmx/see optimization). Enable multiple image size support in ffserver.
- added multi live feed support in ffserver
- suppressed master feature from ffserver (it should be done with an
  external program which opens the .ffm url and writes it to another
  ffserver)
- added preliminary support for video stream parsing (WAV and AVI half
  done). Added proper support for audio/video file conversion in
  ffmpeg.
- added preliminary support for video file sending from ffserver
- redesigning I/O subsystem: now using URL based input and output
  (see avio.h)
- added WAV format support
- added "tty user interface" to ffmpeg to stop grabbing gracefully
- added MMX/SSE optimizations to SAD (Sums of Absolutes Differences)
  (Juan J. Sierralta P. a.k.a. "Juanjo" <juanjo at atmlab.utfsm.cl>)
- added MMX DCT from mpeg2_movie 1.5 (Juanjo)
- added new motion estimation algorithms, log and phods (Juanjo)
- changed directories: libav for format handling, libavcodec for
  codecs


version 0.3.4:

- added stereo in MPEG audio encoder


version 0.3.3:

- added 'high quality' mode which use motion vectors. It can be used in
  real time at low resolution.
- fixed rounding problems which caused quality problems at high
  bitrates and large GOP size


version 0.3.2: small fixes

- ASF fixes
- put_seek bug fix


version 0.3.1: added avi/divx support

- added AVI support
- added MPEG-4 codec compatible with OpenDivX. It is based on the H.263 codec
- added sound for flash format (not tested)


version 0.3: initial public release
