Opened 3 weeks ago

Closed 2 weeks ago

#19712 closed enhancement (fixed)

libaom-3.9.0

Reported by: Bruce Dubbs Owned by: Bruce Dubbs
Priority: normal Milestone: 12.2
Component: BOOK Version: git
Severity: normal Keywords:
Cc:

Description

New minor version.

Change History (3)

comment:1 by Bruce Dubbs, 3 weeks ago

Owner: changed from blfs-book to Bruce Dubbs
Status: newassigned

comment:2 by Bruce Dubbs, 2 weeks ago

2024-04-09 v3.9.0

This release includes new codec interfaces, compression efficiency and perceptual improvements, speedup for RTC for both video and screen content, and many bug fixes. This release is ABI compatible with the previous release.

  • New Features
    • New codec control
      • AV1E_SET_SVC_FRAME_DROP_MODE is added to configure the SVC encoder to only drop spatial layers or the whole superframe.
    • Active Map is fixed and tested for RTC.
    • CONFIG_QUANT_MATRIX is added to disable quantization matrices when aom decoder is disabled with CONFIG_AV1_DECODER. Reduces ~10% binary size when both are disabled.
    • libwebm is updated to libwebm-1.0.0.31-1-gaffd7f4.
  • Compression Efficiency Improvements
    • RTC encoding improvements
      • 1-2% BD-rate gain for screen content with temporal layers; 5% BD-rate gain on scrolling content.
  • Perceptual Quality Improvements
    • For RTC screen content
      • Reduced color artifacts for RTC screen content
      • Visual quality improved for scene changes for SVC with quality layers.
      • Removed visual artifacts for speed 11
  • Speedups:
    • RTC Speed 11: aggressive speedup setting added for video mode, resolutions <= VGA: ~30% faster than speed 10.
    • 5-9% speed up for high bit-depth encoding with good mode on Arm, half of which comes from SVE/SVE2 optimizations.
  • Other improvements
    • Further improvements to global motion estimation.
    • Documented minimum required SIMD support: SSE4.1 on x86, Neon on Arm.
    • Remove unneeded SIMD functions, saving >100 KiB from binary size.
    • Cleaned up and improved pattern_search.
    • Added end-to-end c vs SIMD bit-exactness test.
    • Added config flag to calc psnr using libvmaf peak: use a slightly different peak value for PSNR (1020 and 2040 for 10- and 12-bit)
  • Bug Fixes
    • Fuzzing bug fixes
      • b/329485898 Null-dereference WRITE in av1_cdef_frame_mt
      • b/329810149 Null-dereference WRITE in av1_cdef_copy_sb8_16
      • b/329813868 Ill in av1_cdef_frame_mt
      • chromium:327882824 Null-dereference WRITE in av1_cdef_init_fb_row
      • b/330014723 Null-dereference WRITE in cdef_copy_rect8_16bit_to_16bit_avx2
      • b/310455204 Null-dereference WRITE in prepare_enc_workers
      • b/314858909 Heap-buffer-overflow in aom_variance64x64_avx2
      • oss-fuzz:67132 av1_dec_fuzzer: ASSERT: (pbi->tile_count_minus_1 + 1) <= (pbi->output_frame_width_in_tiles_minus_1 + 1)
      • oss-fuzz:67058 av1_dec_fuzzer: ASSERT: i == 0 || tile_w == *w
      • oss-fuzz:67161 av1_dec_fuzzer: ASSERT: i == 0 || tile_h == *h
      • oss-fuzz:67059 av1_dec_fuzzer: Crash in mem_get_varsize
      • oss-fuzz:67162 av1_dec_fuzzer: Use-of-uninitialized-value in od_ec_decode_bool_q15
      • oss-fuzz:67184 av1_dec_fuzzer: Heap-buffer-overflow in od_ec_dec_init
      • oss-fuzz:67216 av1_dec_fuzzer: Heap-buffer-overflow in od_ec_dec_normalize
      • oss-fuzz:67055 av1_dec_fuzzer: Heap-buffer-overflow in get_ls_tile_buffers
    • libaom library
      • aomedia:3510 Large value of duration could cause encoder overflow
      • chromium:328105513 Fix build conflicts between Abseil and libaom/libvpx in Win ARM64 builds
      • aomedia:3544 AV1/SharpnessTestLarge.SharpnessPSNRTest failures after 59c592bb8
      • aomedia:3531 Exception encountered with PSNR calculation
      • aomedia:3541 Can not compile correctly by CYGWIN
      • chromium:41482688 heap-buffer-overflow write in vpx_img_read() (tools_common.c) with VPX_IMG_FMT_NV12
      • aomedia:3521 Assertion failures on Arm in CNNTest.* in av1_cnn_convolve_no_maxpool_padding_valid_2x2_neon and av1_cnn_convolve_no_maxpool_padding_valid_5x5_neon
      • aomedia:3486 C vs NEON mismatch in AV1 encoder
      • aomedia:3536 Over write in highbd_dr_prediction_z3_upsample1_neon()
      • aomedia:3276 Significant progress on ensuring all allocations are checked
      • aomedia:3491 heap-buffer-overflow encoding frames of size 256x256, 512x512 in good quality usage mode using 4 threads
      • aomedia:3322 PSNR number discrepancy
      • aomedia:3493 Cmake generates garbage symbols for libaom_srcs.gni
      • aomedia:3478 GCC 12.2.0 emits a -Wstringop-overflow warning on aom/av1/encoder/motion_search_facade.c
      • aomedia:3484 C vs NEON mismatch in AV1 encoder for high-bitdepth case

comment:3 by Bruce Dubbs, 2 weeks ago

Resolution: fixed
Status: assignedclosed

Fixed at commits

9c3f73ff29 Update to libaom-3.9.0.
2293f271b3 Update to ed-1.20.2.
c56086942c Update to libgpg-error-1.49.
Note: See TracTickets for help on using tickets.