libaom v3.9.0 Karat Released

116 views
Skip to first unread message

Jerome Jiang

unread,
Apr 23, 2024, 3:21:05 PMApr 23
to
Hi all,

libaom v3.9.0 Karat has been released. The source code of the
release can be checked out from the git repository[1] using the release
tag v3.9.0. Alternatively, the release tarball[2], along with the
signature file[3], can be downloaded.

Thanks.

[1] https://aomedia.googlesource.com/aom

Release Note:

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
Reply all
Reply to author
Forward
0 new messages