1.4.3 is a very small release focused on security issues:
- AArch64: Fix potential out of bounds access in DotProd H/HV filters
- cli: Prevent buffer over-read
2024-06-05 v3.9.1
This release includes several bug fixes. This release is ABI
compatible with the last release. See
https://aomedia.googlesource.com/aom/+log/v3.9.0..v3.9.1 for all the
commits in this release.
- Bug Fixes
* aomedia:2754, aomedia:3567: Ensure thread stack size is at least
256 KB
* b:330639949, oss-fuzz:68195: Increase scaling in linsolve_wiener
* Fix high target data rate overflow.
* aomedia:3509: Fix two UBSan errors in av1_rc_update_framerate()
* aomedia:3382, chromium:339877165: update codec config after
svc/scale controls (CVE-2024-5493)
* aomedia:3561: libaom-3.8.2 armv7 Android build failed
* aomedia:3571: {,highbd_}intrapred_neon.c: Avoid over-reads in z1
and z3 preds
* aomedia:3578: libaom-3.9.0 undefined reference to
`aom_sub_pixel_variance16xh_ssse3'
* aomedia:3579: Use round for RC calculations in cyclic_refresh
* aomedia:3580: Allow g_timebase.num to be greater than
g_timebase.den
* oss-fuzz:68774: libaom:av1_dec_fuzzer: Segv on unknown address in
od_ec_dec_init
* Arm SVE build fixes.
* av1_block_error_lp_neon: fix block_size param type
* av1_block_error_lp_sve: fix block_size param type
We only use QT_LIBEXECS and QT_BINS locally to check native tools.
If the Qt version doesn't match or qmake6 is not found, we don't need to call it that many times.
This also avoids logging errors like:
> make: qmake6: Command not found
resid configure has a bug which overwrites CXXFLAGS unconditionally,
causing build failures when preset CXXFLAGS are needed.
Reason: In newer autoconf, ac_test_CXXFLAGS does not use "set"
anymore, but "y".
Qt 6.7 requires[1] __ID3D12Device2_INTERFACE_DEFINED__
for d3d12 abstraction which comes with MinGW64 v12.
[1] qrhid3d12_p.h @ L32:
// ID3D12Device2 and ID3D12GraphicsCommandList1 and types and enums introduced
// with those are hard requirements now. These should be declared in any
// moderately recent d3d12.h, but if it is an SDK from before Windows 10
// version 1703 then these types could be missing. In the absence of other
// options, handle this by skipping all the code and making QRhi::create() fail
// in such builds.
Changes for 1.4.2 'Road Runner':
--------------------------------
1.4.2 is a small release of dav1d, improving notably ARM, AVX-512 and PowerPC
- AVX2 optimizations for 8-tap and new variants for 6-tap
- AVX-512 optimizations for 8-tap and new variants for 6-tap
- Improve entropy decoding on ARM64
- New ARM64 optimizations for convolutions based on DotProd extension
- New ARM64 optimizations for convolutions based on i8mm extension
- New ARM64 optimizations for subpel and prep filters for i8mm
This release includes enhancements and bug fixes.
- Upgrading:
This release is ABI compatible with the previous release.
- Enhancement:
Improved the detection of compiler support for AArch64 extensions,
particularly SVE.
Added vpx_codec_get_global_headers() support for VP9.
- Bug fixes:
Added buffer bounds checks to vpx_writer and vpx_write_bit_buffer.
Fix to GetSegmentationData() crash in aq_mode=0 for RTC rate control.
Fix to alloc for row_base_thresh_freq_fac.
Free row mt memory before freeing cpi->tile_data.
Fix to buffer alloc for vp9_bitstream_worker_data.
Fix to VP8 race issue for multi-thread with pnsr_calc.
Fix to uv width/height in vp9_scale_and_extend_frame_ssse3.
Fix to integer division by zero and overflow in calc_pframe_target_size().
Fix to integer overflow in vpx_img_alloc() & vpx_img_wrap()(CVE-2024-5197).
Fix to UBSan error in vp9_rc_update_framerate().
Fix to UBSan errors in vp8_new_framerate().
Fix to integer overflow in vp8 encodeframe.c.
Handle EINTR from sem_wait().
We cannot mix system tools and tools in contribs because qtpaths6 will only provide one of those.
So either we build all of them, or we build none of them.