[3.0] contrib: vpx: update to 1.15.0
This release includes new codec control for key frame filtering, more Neon optimizations, improvements to RTC encoding and bug fixes.
- Upgrading: This release is ABI compatible with the previous release. Temporal filtering improvement that can be turned on with the new codec control VP9E_SET_KEY_FRAME_FILTERING, which gives 1+% BD-rate saving with minimal encoder time increase. libwebm is upgraded to libwebm-1.0.0.31-10-g3b63004
- Enhancement: Neon optimization speed up Scene detection is allowed for all RTC speeds (>=5) Support profile guided optimizations Delta quantization parameters for UV channels for vp8 is supported in RTC rate control library Rate control parameters are reset and maximum QP is enforced on scene changes in SVC when there is no inter-layer prediction
- Bug fixes:
Fix to Uninitialized scalar variable in
vp9_rd_pick_inter_mode_sb()
Fix to Integer-overflow inresize_multistep
Fix to Heap-buffer-overflow invpx_sad64x64_avx2
Fix to Crash invpx_sad8x8_sse2
Fix to Assertion inwrite_modes
Support profile guided optimizations Fix to Integer-overflow inencode_frame_to_data_rate
Fix to Integer-overflow invp9_svc_check_reset_layer_rc_flag
Fix to core dump error from /usr/bin/tools/tiny_ssim --help Fix to use-of-uninitialized-value invp9_setup_tpl_stats
Fix to Undefined-shift invp9_cyclic_refresh_setup
Fix to redundant&& __GNUC__
preproc check Fix to valgrind warning in EncodeAPI.OssFuzz69906 Fix to Index-out-of-bounds invp8_rd_pick_inter_mode
Fix to Integer-overflow invp8_pick_frame_size
Fix to Use-of-uninitialized-value invpx_codec_peek_stream_info
Fix to log clutters with the message "Warning: Desired height too large" Fix to Integer-overflow invp9_svc_adjust_avg_frame_qindex
Fix to integer overflows caused by huge target bitrate, frame rate, or g_timebase numerator or denominator Fix to missing license headers Fix to build failure for Android Armv7 Fix to integer overflows in image helpers Fix to Integer-overflow invp9_calc_iframe_target_size_one_pass_cbr
Fix to Heap-buffer-overflow invp9_pick_inter_mode
Fix to Segv invp9_multi_thread_tile_init
Fix to Use-of-uninitialized-value invp9_row_mt_sync_mem_dealloc
Fix to Crash inmbloop_filter_vertical_edge_c
Fix to Check failed in CheckUnwind Fix to Heap-buffer-overflow inwrite_modes_b
andvpx_write
Fix to Possible signed integer overflow found invpx_codec_encode
Fix to build conflicts between Abseil and libaom/libvpx in Win ARM64 builds Fix to build failures on aarch64 Fix to Data race in libvpx ARM NEON Fix to Heap-buffer-overflow inscale_plane_1_to_2_phase_0
Fix to integer overflow inencode_mb_row
Fix to Floating-point-exception invp8_pick_frame_size
Fix to Heap-buffer-overflow invp9_enc_setup_mi
Fix to build failure with --target=arm64-win64-vs17 Fix to heap-buffer-overflow write invpx_img_read()
Fix to C vs armv8-linux-gcc encode mismatches fory4m_360p_10bit_input
Fix to Null-dereference READ inml_predict_var_rd_partitioning
Fix to Heap-buffer-overflow invpx_scaled_2d_ssse3
Fix to Crash inconvolve_horiz
Fix to Ill invpx_scaled_2d_ssse3
Fix to Global-buffer-overflow incost_coeffs
(cherry picked from commit 937dc12a)
Edited by Steve Lhomme