Here is an update to aom 3.5.0.
2022-08-31 v3.5.0
This release is ABI compatible with the last one, including speedup and memory
optimizations, and new APIs and features.
- New Features
* Support for frame parallel encode for larger number of threads. --fp-mt
flag is available for all build configurations.
* New codec control AV1E_GET_NUM_OPERATING_POINTS
- Speedup and Memory Optimizations
* Speed-up multithreaded encoding for good quality mode for larger number of
threads through frame parallel encoding:
o 30-34% encode time reduction for 1080p, 16 threads, 1x1 tile
configuration (tile_rows x tile_columns)
o 18-28% encode time reduction for 1080p, 16 threads, 2x4 tile
configuration
o 18-20% encode time reduction for 2160p, 32 threads, 2x4 tile
configuration
* 16-20% speed-up for speed=6 to 8 in still-picture encoding mode
* 5-6% heap memory reduction for speed=6 to 10 in real-time encoding mode
* Improvements to the speed for speed=7, 8 in real-time encoding mode
* Improvements to the speed for speed=9, 10 in real-time screen encoding
mode
* Optimizations to improve multi-thread efficiency in real-time encoding
mode
* 10-15% speed up for SVC with temporal layers
* SIMD optimizations:
o Improve av1_quantize_fp_32x32_neon() 1.05x to 1.24x faster
o Add aom_highbd_quantize_b{,_32x32,_64x64}_adaptive_neon() 3.15x to 5.6x
faster than "C"
o Improve av1_quantize_fp_64x64_neon() 1.17x to 1.66x faster
o Add aom_quantize_b_avx2() 1.4x to 1.7x faster than aom_quantize_b_avx()
o Add aom_quantize_b_32x32_avx2() 1.4x to 2.3x faster than
aom_quantize_b_32x32_avx()
o Add aom_quantize_b_64x64_avx2() 2.0x to 2.4x faster than
aom_quantize_b_64x64_ssse3()
o Add aom_highbd_quantize_b_32x32_avx2() 9.0x to 10.5x faster than
aom_highbd_quantize_b_32x32_c()
o Add aom_highbd_quantize_b_64x64_avx2() 7.3x to 9.7x faster than
aom_highbd_quantize_b_64x64_c()
o Improve aom_highbd_quantize_b_avx2() 1.07x to 1.20x faster
o Improve av1_quantize_fp_avx2() 1.13x to 1.49x faster
o Improve av1_quantize_fp_32x32_avx2() 1.07x to 1.54x faster
o Improve av1_quantize_fp_64x64_avx2() 1.03x to 1.25x faster
o Improve av1_quantize_lp_avx2() 1.07x to 1.16x faster
- Bug fixes including but not limited to
* aomedia:3206 Assert that skip_width > 0 for deconvolve function
* aomedia:3278 row_mt enc: Delay top-right sync when intraBC is enabled
* aomedia:3282 blend_a64_*_neon: fix bus error in armv7
* aomedia:3283 FRAME_PARALLEL: Propagate border size to all cpis
* aomedia:3283 RESIZE_MODE: Fix incorrect strides being used for motion
search
* aomedia:3286 rtc-svc: Fix to dynamic_enable spatial layers
* aomedia:3289 rtc-screen: Fix to skipping inter-mode test in nonrd
* aomedia:3289 rtc-screen: Fix for skip newmv on flat blocks
* aomedia:3299 Fix build failure with CONFIG_TUNE_VMAF=1
* aomedia:3296 Fix the conflict --enable-tx-size-search=0 with nonrd mode
--enable-tx-size-search will be ignored in non-rd pick mode
* aomedia:3304 Fix off-by-one error of max w/h in validate_config
* aomedia:3306 Do not use pthread_setname_np on GNU/Hurd
* aomedia:3325 row-multithreading produces invalid bitstream in some cases
* chromium:1346938, chromium:1338114
* compiler_flags.cmake: fix flag detection w/cmake 3.17-3.18.2
* tools/*.py: update to python3
* aom_configure.cmake: detect PIE and set CONFIG_PIC
* test/simd_cmp_impl: use explicit types w/CompareSimd*
* rtc: Fix to disable segm for aq-mode=3
* rtc: Fix to color_sensitivity in variance partition
* rtc-screen: Fix bsize in model rd computation for intra chroma
* Fixes to ensure the correct behavior of the encoder algorithms (like
segmentation, computation of statistics, etc.)
Index: Makefile
===================================================================
RCS file: /home/cvs/ports/multimedia/aom/Makefile,v
retrieving revision 1.17
diff -u -p -u -p -r1.17 Makefile
--- Makefile 7 Aug 2022 10:44:13 -0000 1.17
+++ Makefile 24 Sep 2022 04:23:09 -0000
@@ -2,7 +2,7 @@ COMMENT= Alliance for Open Media AV1 vid
GH_ACCOUNT= jbeich
GH_PROJECT= aom
-GH_TAGNAME= v3.4.0
+GH_TAGNAME= v3.5.0
CATEGORIES= multimedia
SHARED_LIBS= aom 4.0
Index: distinfo
===================================================================
RCS file: /home/cvs/ports/multimedia/aom/distinfo,v
retrieving revision 1.14
diff -u -p -u -p -r1.14 distinfo
--- distinfo 7 Aug 2022 10:44:13 -0000 1.14
+++ distinfo 24 Sep 2022 04:23:17 -0000
@@ -1,2 +1,2 @@
-SHA256 (aom-3.4.0.tar.gz) = gx/40f43m+sgdHIt1r7yU6JESWXCeEomf/q5GDFj5wA=
-SIZE (aom-3.4.0.tar.gz) = 5175309
+SHA256 (aom-3.5.0.tar.gz) = AYnqL1rmuIPIOyRTBd54T2XARhvNcAzJi73FirlXxuc=
+SIZE (aom-3.5.0.tar.gz) = 5213077
Index: patches/patch-CMakeLists_txt
===================================================================
RCS file: /home/cvs/ports/multimedia/aom/patches/patch-CMakeLists_txt,v
retrieving revision 1.3
diff -u -p -u -p -r1.3 patch-CMakeLists_txt
--- patches/patch-CMakeLists_txt 7 Aug 2022 10:44:13 -0000 1.3
+++ patches/patch-CMakeLists_txt 6 Sep 2022 02:00:45 -0000
@@ -1,7 +1,7 @@
Index: CMakeLists.txt
--- CMakeLists.txt.orig
+++ CMakeLists.txt
-@@ -822,7 +822,7 @@ if(ENABLE_EXAMPLES AND "${CMAKE_GENERATOR}" MATCHES "M
+@@ -823,7 +823,7 @@ if(ENABLE_EXAMPLES AND "${CMAKE_GENERATOR}" MATCHES "M
endif()
if(BUILD_SHARED_LIBS)
Index: patches/patch-build_cmake_aom_configure_cmake
===================================================================
RCS file:
/home/cvs/ports/multimedia/aom/patches/patch-build_cmake_aom_configure_cmake,v
retrieving revision 1.8
diff -u -p -u -p -r1.8 patch-build_cmake_aom_configure_cmake
--- patches/patch-build_cmake_aom_configure_cmake 7 Aug 2022 10:44:13
-0000 1.8
+++ patches/patch-build_cmake_aom_configure_cmake 6 Sep 2022 02:02:57
-0000
@@ -3,11 +3,10 @@ ARM uses compiler intrinsics, so don't r
Index: build/cmake/aom_configure.cmake
--- build/cmake/aom_configure.cmake.orig
+++ build/cmake/aom_configure.cmake
-@@ -183,17 +183,6 @@ elseif(AOM_TARGET_CPU MATCHES "arm")
- set(AS_EXECUTABLE as)
+@@ -184,16 +184,6 @@ elseif(AOM_TARGET_CPU MATCHES "arm")
endif()
endif()
-- find_program(as_executable_found ${AS_EXECUTABLE})
+ find_program(as_executable_found ${AS_EXECUTABLE})
- if(NOT as_executable_found)
- message(
- FATAL_ERROR