Update for 4.0.5

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
This commit is contained in:
Michael Niedermayer 2019-11-11 23:52:50 +01:00
parent 0a1c04e90e
commit 2bdcfe8897
3 changed files with 324 additions and 2 deletions

322
Changelog
View File

@ -1,6 +1,328 @@
Entries are sorted chronologically from oldest to youngest within each release, Entries are sorted chronologically from oldest to youngest within each release,
releases are sorted from youngest to oldest. releases are sorted from youngest to oldest.
version 4.0.5:
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: version 4.0.4:
- avcodec/hevcdec: Avoid only partly skiping duplicate first slices - avcodec/hevcdec: Avoid only partly skiping duplicate first slices
- lavc/bmp: Avoid a heap buffer overwrite for 1bpp input. - lavc/bmp: Avoid a heap buffer overwrite for 1bpp input.

View File

@ -1 +1 @@
4.0.4 4.0.5

View File

@ -38,7 +38,7 @@ PROJECT_NAME = FFmpeg
# could be handy for archiving the generated documentation or if some version # could be handy for archiving the generated documentation or if some version
# control system is used. # control system is used.
PROJECT_NUMBER = 4.0.4 PROJECT_NUMBER = 4.0.5
# Using the PROJECT_BRIEF tag one can provide an optional one line description # Using the PROJECT_BRIEF tag one can provide an optional one line description
# for a project that appears at the top of each page and should give viewer a # for a project that appears at the top of each page and should give viewer a