Overview

Request 1063816 accepted

- Update to version 3.6.0:
* This release includes compression efficiency and perceptual
quality improvements, speedup and memory optimizations, and
some new features. This release is ABI compatible with the last
release.
* New Features:
- New values 20-27 (corresponding to levels 7.0-7.3 and
8.0-8.3) for the encoder control
AV1E_SET_TARGET_SEQ_LEVEL_IDX (note that the proposal to add
the new levels are still in draft status). The original
special value 24 (keep level stats only for level monitoring)
is renumbered as 32.
- New encoder control AV1E_SET_SKIP_POSTPROC_FILTERING to skip
the application of post-processing filters on reconstructed
frame in all intra mode.
- New encoder option "kf-max-pyr-height": Maximum height of
pyramid structure used for the GOP starting with a key frame
(-1 to 5).
- Make SVC work for screen content.
- Rate control improvements to reduce frame-size spikes for
screen content coding.
- RISC-V architecture support with gcc toolchain.
* Compression Efficiency Improvements:
- Peak compression efficiency in VOD setting is improved by 1%.
- 0.7% - 2.2% RTC encoding BDrate gains for real time speed 8
to 10.
- 15% RTC encoding BDrate gains for screen content speed 10.
* Perceptual Quality Improvements:
- Resolved a visual quality issue that was reported for high
resolution clips (2K) for speed 4 and above in VOD use case.
- Visual quality improvements to screen content coding.
- Quality improvements to temporal layer RTC coding.
* Speedup and Memory Optimizations:
- RTC single-thread encoder speedup:
. ~6% instruction count reduction for speed 5 and 6.
. ~15% instruction count reduction for speed 7.
. ~10% instruction count reduction for speed 8 to 10 (>=360p
resolutions).
- RTC multi-thread encoder speedup (beyond single-thread
speedup):
. 5-8% encode time reduction for speed 7 to 10.
- RTC screen-content encoder speedup:
. 11% instruction count reduction for speed 9 and 10 (>=720p
resolutions).
- ~5% reduction in heap memory requirements for RTC, speed 6 to
10.
* AVIF:
. 4-5% speedup for speed 9 in still-picture encoding mode.
. 3-4% heap memory reduction in still-picture encoding mode
for 360p-720p resolutions with multiple threads.
* Bug Fixes:
- Added a workaround for an AV1 specification bug which makes
TRANSLATION type global motion models unusable.
- Fixed AddressSanitizer global-buffer-overflow errors in
av1/encoder/arm/neon/av1_fwd_txfm2d_neon.c.
- Fixed AddressSanitizer heap-buffer-overflow error in
av1_wiener_convolve_add_src_neon().
- chromium:1393384 Avoid scene detection on spatial resize.
- aomedia:3308 Remove color artifacts under high motion.
- aomedia:3310 Avoid out of memory failures with Visual Studio
2017, 2019, and 2022 for Win32 x86 builds.
- aomedia:3346 Make SVC work properly for screen content.
- aomedia:3348 Fix a bug where an uninitialized search_site is
used.
- aomedia:3365 Work around what seems like a Visual Studio 2022
compiler optimization bug.
- aomedia:3369 Incorrect PSNR values reported by libaom for
12-bit encode.
- Modernize spec, use cmake_build and ldconfig_scriptlets macros.
- Update to version 3.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:
. 30-34% encode time reduction for 1080p, 16 threads, 1x1
tile configuration (tile_rows x tile_columns)
. 18-28% encode time reduction for 1080p, 16 threads, 2x4
tile configuration
. 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:
. Improve av1_quantize_fp_32x32_neon() 1.05x to 1.24x faster
. Add aom_highbd_quantize_b{,_32x32,_64x64}_adaptive_neon()
3.15x to 5.6x faster than "C"
. Improve av1_quantize_fp_64x64_neon() 1.17x to 1.66x faster
. Add aom_quantize_b_avx2() 1.4x to 1.7x faster than
aom_quantize_b_avx()
. Add aom_quantize_b_32x32_avx2() 1.4x to 2.3x faster than
aom_quantize_b_32x32_avx()
. Add aom_quantize_b_64x64_avx2() 2.0x to 2.4x faster than
aom_quantize_b_64x64_ssse3()
. Add aom_highbd_quantize_b_32x32_avx2() 9.0x to 10.5x faster
than aom_highbd_quantize_b_32x32_c()
. Add aom_highbd_quantize_b_64x64_avx2() 7.3x to 9.7x faster
than aom_highbd_quantize_b_64x64_c()
. Improve aom_highbd_quantize_b_avx2() 1.07x to 1.20x faster
. Improve av1_quantize_fp_avx2() 1.13x to 1.49x faster
. Improve av1_quantize_fp_32x32_avx2() 1.07x to 1.54x faster
. Improve av1_quantize_fp_64x64_avx2() 1.03x to 1.25x faster
. 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.)
- Update to version 3.4.0:
* This release includes compression efficiency and perceptual
quality improvements, speedup and memory optimizations, and
some new features. There are no ABI or API breaking changes in
this release.
* New Features:
- New --dist-metric flag with "qm-psnr" value to use
quantization matrices in the distortion computation for RD
search. The default value is "psnr".
- New command line option "--auto-intra-tools-off=1" to make
all-intra encoding faster for high bit rate under
"--deltaq-mode=3" mode.
- New rate control library aom_av1_rc for real-time hardware
encoders. Supports CBR for both one spatial layer and SVC.
- New image format AOM_IMG_FMT_NV12 can be used as input to the
encoder. The presence of AOM_IMG_FMT_NV12 can be detected at
compile time by checking if the macro AOM_HAVE_IMG_FMT_NV12
is defined.
- New codec controls for the encoder:
o AV1E_SET_AUTO_INTRA_TOOLS_OFF. Only in effect if
--deltaq-mode=3.
o AV1E_SET_RTC_EXTERNAL_RC
o AV1E_SET_FP_MT. Only supported if libaom is built with
-DCONFIG_FRAME_PARALLEL_ENCODE=1.
o AV1E_GET_TARGET_SEQ_LEVEL_IDX
- New key-value pairs for the key-value API:
o --auto-intra-tools-off=0 (default) or 1. Only in effect if
--deltaq-mode=3.
o --strict-level-conformance=0 (default) or 1
o --fp-mt=0 (default) or 1. Only supported if libaom is built
with -DCONFIG_FRAME_PARALLEL_ENCODE=1.
- New aomenc options (not supported by the key-value API):
o --nv12
* Compression Efficiency Improvements:
- Correctly calculate SSE for high bitdepth in skip mode, 0.2%
to 0.6% coding gain.
- RTC at speed 9/10: BD-rate gain of ~4/5%
- RTC screen content coding: many improvements for real-time
screen at speed 10 (quality, speedup, and rate control), up
to high resolutions (1080p).
- RTC-SVC: fixes to make intra-only frames work for spatial
layers.
- RTC-SVC: quality improvements for temporal layers.
- AV1 RT: A new passive rate control strategy for screen
content, an average of 7.5% coding gain, with some clips of
20+%. The feature is turned off by default due to higher bit
rate variation.
* Perceptual Quality Improvements:
- RTC: Visual quality improvements for high speeds (9/10)
- Improvements in coding quality for all intra mode
* Speedup and Memory Optimizations:
- ~10% speedup in good quality mode encoding.
- ~7% heap memory reduction in good quality encoding mode for
speed 5 and 6.
- Ongoing improvements to intra-frame encoding performance on
Arm
- Faster encoding speed for "--deltaq-mode=3" mode.
- ~10% speedup for speed 5/6, ~15% speedup for speed 7/8, and
~10% speedup for speed 9/10 in real time encoding mode
- ~20% heap memory reduction in still-picture encoding mode for
360p-720p resolutions with multiple threads
- ~13% speedup for speed 6 and ~12% speedup for speed 9 in
still-picture encoding mode.
- Optimizations to improve multi-thread efficiency for
still-picture encoding mode.
* Bug Fixes:
- b/204460717: README.md: replace master with main
- b/210677928: libaom disable_order is surprising for
max_reference_frames=3
- b/222461449: -DCONFIG_TUNE_BUTTERAUGLI=1 broken
- b/227207606: write_greyscale writes incorrect chroma in
highbd mode
- b/229955363: Integer-overflow in linsolve_wiener
- https://crbug.com/aomedia/2032
- https://crbug.com/aomedia/2397
- https://crbug.com/aomedia/2563
- https://crbug.com/aomedia/2815
- https://crbug.com/aomedia/3009
- https://crbug.com/aomedia/3018
- https://crbug.com/aomedia/3045
- https://crbug.com/aomedia/3101
- https://crbug.com/aomedia/3130
- https://crbug.com/aomedia/3173
- https://crbug.com/aomedia/3184
- https://crbug.com/aomedia/3187
- https://crbug.com/aomedia/3190
- https://crbug.com/aomedia/3195
- https://crbug.com/aomedia/3197
- https://crbug.com/aomedia/3201
- https://crbug.com/aomedia/3202
- https://crbug.com/aomedia/3204
- https://crbug.com/aomedia/3205
- https://crbug.com/aomedia/3207
- https://crbug.com/aomedia/3208
- https://crbug.com/aomedia/3209
- https://crbug.com/aomedia/3213
- https://crbug.com/aomedia/3214
- https://crbug.com/aomedia/3219
- https://crbug.com/aomedia/3222
- https://crbug.com/aomedia/3223
- https://crbug.com/aomedia/3225
- https://crbug.com/aomedia/3226
- https://crbug.com/aomedia/3228
- https://crbug.com/aomedia/3232
- https://crbug.com/aomedia/3236
- https://crbug.com/aomedia/3237
- https://crbug.com/aomedia/3238
- https://crbug.com/aomedia/3240
- https://crbug.com/aomedia/3243
- https://crbug.com/aomedia/3244
- https://crbug.com/aomedia/3246
- https://crbug.com/aomedia/3248
- https://crbug.com/aomedia/3250
- https://crbug.com/aomedia/3251
- https://crbug.com/aomedia/3252
- https://crbug.com/aomedia/3255
- https://crbug.com/aomedia/3257
- https://crbug.com/aomedia/3259
- https://crbug.com/aomedia/3260
- https://crbug.com/aomedia/3267
- https://crbug.com/aomedia/3268
- https://crbug.com/aomedia/3269
- https://crbug.com/aomedia/3276
- https://crbug.com/aomedia/3278
- https://crbug.com/chromium/1290068
- https://crbug.com/chromium/1303237
- https://crbug.com/chromium/1304990
- https://crbug.com/chromium/1321141
- https://crbug.com/chromium/1321388
- https://crbug.com/oss-fuzz/44846
- https://crbug.com/oss-fuzz/44856
- https://crbug.com/oss-fuzz/44862
- https://crbug.com/oss-fuzz/44904
- https://crbug.com/oss-fuzz/45056
- Update to version 3.3.0:
* This release includes compression efficiency and perceptual
quality improvements, speedup and memory optimizations, some
new features, and several bug fixes.
* New Features
- AV1 RT: Introducing CDEF search level 5
- Changed real time speed 4 to behave the same as real time
speed 5
- Add --deltaq-strength
- rtc: Allow scene-change and overshoot detection for svc
- rtc: Intra-only frame for svc
- AV1 RT: Option 2 for codec control AV1E_SET_ENABLE_CDEF to
disable CDEF on non-ref frames
- New codec controls AV1E_SET_LOOPFILTER_CONTROL and
AOME_GET_LOOPFILTER_LEVEL
- Improvements to three pass encoding
* Compression Efficiency Improvements: Overall compression gains:
0.6%
* Perceptual Quality Improvements
- Improves the perceptual quality of high QP encoding for
delta-q mode 4
- Auto select noise synthesis level for all intra
* Speedup and Memory Optimizations
- Added many SSE2 optimizations.
- Good quality 2-pass encoder speedups:
o Speed 2: 9%
o Speed 3: 12.5%
o Speed 4: 8%
o Speed 5: 3%
o Speed 6: 4%
- Real time mode encoder speedups:
o Speed 5: 2.6% BDRate gain, 4% speedup
o Speed 6: 3.5% BDRate gain, 4% speedup
o Speed 9: 1% BDRate gain, 3% speedup
o Speed 10: 3% BDRate gain, neutral speedup
- All intra encoding speedups (AVIF):
o Single thread - speed 6: 8%
o Single thread - speed 9: 15%
o Multi thread(8) - speed 6: 14%
o Multi thread(8) - speed 9: 34%
* Bug Fixes
- Issue 3163: Segmentation fault when using
--enable-keyframe-filtering=2
- Issue 2436: Integer overflow in av1_warp_affine_c()
- Issue 3226: armv7 build failure due to gcc-11
- Issue 3195: Bug report on libaom (AddressSanitizer:
heap-buffer-overflow)
- Issue 3191: Bug report on libaom (AddressSanitizer: SEGV on
unknown address)
- Drop libaom-devel Requires from libaom-devel-doc sub-package: We
do not need the devel package to be able to read the devel
documentation.
- Update to version 3.2.0:
* This release includes compression efficiency and perceptual
quality improvements, speedup and memory optimizations, as well
as some new features.
* New Features:
+ Introduced speeds 7, 8, and 9 for all intra mode.
+ Introduced speed 10 for real time mode.
+ Introduced an API that allows external partition decisions.
+ SVC: added support for compound prediction.
+ SVC: added support for fixed SVC modes.
* Compression Efficiency Improvements:
+ Intra-mode search improvement.
+ Improved real time (RT) mode BDrate savings by ~5% (RT speed
5) and ~12% (RT speed 6). The improvement was measured on the
video conference set.
+ Improved real time mode for nonrd path (speed 7, 8, 9):
BDrate gains of ~3-5%.
+ Rate control and RD adjustments based on ML research in VP9.
Gains of ~0.5-1.0% for HD.
* Perceptual Quality Improvements:
+ Added a new mode --deltaq-mode=3 to improve perceptual
quality based on a differential contrast model for still
images.
+ Added a new mode –deltaq-mode=4 to improve perceptual quality
based on user rated cq_level data set for still images.
+ Weighting of some intra mode and partition size choices to
better manage and retain texture.
* Speedup and Memory Optimizations:
+ Further improved 2-pass good quality encoder speed:
. Speed 2 speedup: 18%
. Speed 3 speedup: 22%
. Speed 4 speedup: 37%
. Speed 5 speedup: 30%
. Speed 6 speedup: 20%
+ Optimized the real time encoder (measured on the video
conference set):
. RT speed 5 speedup: 110%
. RT speed 6 speedup: 77%
* Bug Fixes
+ Issue 3069: Fix one-pass mode keyframe placement off-by-one
error.
+ Issue 3156: Fix a bug in av1_quantize_lp AVX2 optimization.
- Drop libaom-CVE-2021-30474.patch: Fixed upstream.
- Drop libaom-CVE-2021-30475.patch: Fixed upstream.
- Remove changesgenerate option from _service file, use data from
CHANGELOG to fill .changes instead as it it much nicer and human
readable than just a list of commit messages.
- fix service data
- Update to version 3.1.3:
* Update CHANGELOG for v3.1.3-rc2
* Detect chroma subsampling more directly
* Detect chroma subsampling more directly
* image2yuvconfig() should calculate uv_crop_width
* aom/aom_encoder.h: remove configure option reference
* aom_encoder.h: fix rc_overshoot_pct range
* Update AUTHORS,CHANGELOG,CMakeLists.txt for v3.1.3
* aom_install: don't exclude msvc from install
* aom_install: use relpath for install
* aom_install: Install lib dlls to bindir
- security update
- added patches
fix CVE-2021-30474 [bsc#1186799], aom_dsp/grain_table.c in libaom in AOMedia before 2021-03-30 has a use-after-free.
+ libaom-CVE-2021-30474.patch
- security update
- added patches
fix CVE-2021-30475 [bsc#1189497], Buffer overflow in aom_dsp/noise_model.c
+ libaom-CVE-2021-30475.patch
- Update to version 3.1.2:
* Update AUTHORS,CHANGELOG,CMakeLists.txt for v3.1.2
* Avoid chroma resampling for 420mpeg2 input
* Check array has two elements before using index 1
* Fix DecodeScalabilityTest failure in realtime only
* Store temporal_id and spatial_id of decoded frame
* exports.cmake: use APPLE and WIN32 and use def for mingw-w64
- Update to version 3.1.1
* Fix vmaf model initialization error when not set to tune=vmaf
* Fix consistent crash on near-static screen content, keyframe
related
* Fix tune=butteraugli mode
- Disable NEON on arm where not available.
- Update to version 3.1.0 (bsc#1185843):
https://aomedia.googlesource.com/aom/+/refs/tags/v3.1.0
This release adds an "all intra" mode to the encoder, which significantly
speeds up the encoding of AVIF still images at speed 6.
- Upgrading:
All intra mode for encoding AVIF still images and AV1 all intra videos:
AOM_USAGE_ALL_INTRA (2) can be passed as the 'usage' argument to
aom_codec_enc_config_default().
New encoder control IDs added:
- AV1E_SET_ENABLE_DIAGONAL_INTRA: Enable diagonal (D45 to D203) intra
prediction modes (0: false, 1: true (default)). Also available as
"enable-diagonal-intra" for the aom_codec_set_option() function.
New aom_tune_metric enum value: AOM_TUNE_BUTTERAUGLI. The new aomenc option
--tune=butteraugli was added to optimize the encoder’s perceptual quality by
optimizing the Butteraugli metric. Install libjxl (JPEG XL) and then pass
-DCONFIG_TUNE_BUTTERAUGLI=1 to the cmake command to enable it.
- Includes 3.0
https://aomedia.googlesource.com/aom/+/refs/tags/v3.0.0
This release includes compression efficiency improvement, speed improvement
for realtime mode, as well as some new APIs.
- Upgrading:
Support for PSNR calculation based on stream bit-depth.
New encoder control IDs added:
- AV1E_SET_ENABLE_RECT_TX
- AV1E_SET_VBR_CORPUS_COMPLEXITY_LAP
- AV1E_GET_BASELINE_GF_INTERVAL
- AV1E_SET_ENABLE_DNL_DENOISING
New decoder control IDs added:
- AOMD_GET_FWD_KF_PRESENT
- AOMD_GET_FRAME_FLAGS
- AOMD_GET_ALTREF_PRESENT
- AOMD_GET_TILE_INFO
- AOMD_GET_SCREEN_CONTENT_TOOLS_INFO
- AOMD_GET_STILL_PICTURE
- AOMD_GET_SB_SIZE
- AOMD_GET_SHOW_EXISTING_FRAME_FLAG
- AOMD_GET_S_FRAME_INFO
New aom_tune_content enum value: AOM_CONTENT_FILM
New aom_tune_metric enum value: AOM_TUNE_VMAF_NEG_MAX_GAIN
Coefficient and mode update can be turned off via
AV1E_SET_{COEFF/MODE}_COST_UPD_FREQ.
New key & value API added, available with aom_codec_set_option() function.
Scaling API expanded to include 1/4, 3/4 and 1/8.
- Enhancements:
Better multithreading performance with realtime mode.
New speed 9 setting for faster realtime encoding.
Smaller binary size with low bitdepth and realtime only build.
Temporal denoiser and its optimizations on x86 and Neon.
Optimizations for scaling.
Faster encoding with speed settings 2 to 6 for good encoding mode.
Improved documentation throughout the library, with function level
documentation, tree view and support for the dot tool.
- Bug fixes:
Aside from those mentioned in v2.0.1 and v2.0.2, this release includes the
following bug fixes:
Issue 2940: Segfault when encoding with --use-16bit-internal and --limit > 1
Issue 2941: Decoder mismatch with --rt --bit-depth=10 and --cpu-used=8
Issue 2895: mingw-w64 i686 gcc fails to build
Issue 2874: Separate ssse3 functions from sse2 file.
- Update to version 2.0.2:
* Prepare for the libaom v2.0.2 release
* Call av1_setup_frame_size() when dropping a frame
* Avoid memset in filter_intra_predictor module
* Fix a typo bug in apply_temporal_filter_planewise
* Modify the assertion in temporal filter intrinsics
* Fix unit test ThreadTestLarge.EncoderResultTest/49
* Add -Wimplicit-function-declaration as C flag only
* Update CHANGELOG for libaom v2.0.1
* Set allow_screen_content_tools to 0 in rt mode
* chroma_check: don't access UV planes if monochrome
- Update to version 2.0.0 "Applejack":

This is the first official release of libaom. It has real-time
mode and SVC support, as well as substantial documentation
improvement and clean-ups.
Important changes:
* Decouple library version and so version.
* Move functions into a header file
* Remove av1_ prefix from static functions
* Remove aom_ prefix from static functions
* Remove aom_ prefix for static functions
* Remove av1_ prefix for a static function
- Drop libaom-0002-link-threading-lib-with-shared-library.patch and
libaom-0003-update-CHANGELOG.patch
- Enable CONFIG_LOWBITDEPTH. Makes 8-bit decoding faster. The only
reason this confusingly-named option is not enabled by default
is that its behavior might not match the 16-bit reference code
path, and that hardware vendors want to be able to validate
their designs against it. No actual mismatches have been found.
See https://bugs.chromium.org/p/aomedia/issues/detail?id=2062
- Pass conditional AOM_TARGET_CPU to cmake, fix build for arm and
ppc, as well as optimize target cpu for other arches.
- Init, v1.0.0

Loading...

Request History
Bjørn Lie's avatar

iznogood created request

- Update to version 3.6.0:
* This release includes compression efficiency and perceptual
quality improvements, speedup and memory optimizations, and
some new features. This release is ABI compatible with the last
release.
* New Features:
- New values 20-27 (corresponding to levels 7.0-7.3 and
8.0-8.3) for the encoder control
AV1E_SET_TARGET_SEQ_LEVEL_IDX (note that the proposal to add
the new levels are still in draft status). The original
special value 24 (keep level stats only for level monitoring)
is renumbered as 32.
- New encoder control AV1E_SET_SKIP_POSTPROC_FILTERING to skip
the application of post-processing filters on reconstructed
frame in all intra mode.
- New encoder option "kf-max-pyr-height": Maximum height of
pyramid structure used for the GOP starting with a key frame
(-1 to 5).
- Make SVC work for screen content.
- Rate control improvements to reduce frame-size spikes for
screen content coding.
- RISC-V architecture support with gcc toolchain.
* Compression Efficiency Improvements:
- Peak compression efficiency in VOD setting is improved by 1%.
- 0.7% - 2.2% RTC encoding BDrate gains for real time speed 8
to 10.
- 15% RTC encoding BDrate gains for screen content speed 10.
* Perceptual Quality Improvements:
- Resolved a visual quality issue that was reported for high
resolution clips (2K) for speed 4 and above in VOD use case.
- Visual quality improvements to screen content coding.
- Quality improvements to temporal layer RTC coding.
* Speedup and Memory Optimizations:
- RTC single-thread encoder speedup:
. ~6% instruction count reduction for speed 5 and 6.
. ~15% instruction count reduction for speed 7.
. ~10% instruction count reduction for speed 8 to 10 (>=360p
resolutions).
- RTC multi-thread encoder speedup (beyond single-thread
speedup):
. 5-8% encode time reduction for speed 7 to 10.
- RTC screen-content encoder speedup:
. 11% instruction count reduction for speed 9 and 10 (>=720p
resolutions).
- ~5% reduction in heap memory requirements for RTC, speed 6 to
10.
* AVIF:
. 4-5% speedup for speed 9 in still-picture encoding mode.
. 3-4% heap memory reduction in still-picture encoding mode
for 360p-720p resolutions with multiple threads.
* Bug Fixes:
- Added a workaround for an AV1 specification bug which makes
TRANSLATION type global motion models unusable.
- Fixed AddressSanitizer global-buffer-overflow errors in
av1/encoder/arm/neon/av1_fwd_txfm2d_neon.c.
- Fixed AddressSanitizer heap-buffer-overflow error in
av1_wiener_convolve_add_src_neon().
- chromium:1393384 Avoid scene detection on spatial resize.
- aomedia:3308 Remove color artifacts under high motion.
- aomedia:3310 Avoid out of memory failures with Visual Studio
2017, 2019, and 2022 for Win32 x86 builds.
- aomedia:3346 Make SVC work properly for screen content.
- aomedia:3348 Fix a bug where an uninitialized search_site is
used.
- aomedia:3365 Work around what seems like a Visual Studio 2022
compiler optimization bug.
- aomedia:3369 Incorrect PSNR values reported by libaom for
12-bit encode.
- Modernize spec, use cmake_build and ldconfig_scriptlets macros.
- Update to version 3.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:
. 30-34% encode time reduction for 1080p, 16 threads, 1x1
tile configuration (tile_rows x tile_columns)
. 18-28% encode time reduction for 1080p, 16 threads, 2x4
tile configuration
. 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:
. Improve av1_quantize_fp_32x32_neon() 1.05x to 1.24x faster
. Add aom_highbd_quantize_b{,_32x32,_64x64}_adaptive_neon()
3.15x to 5.6x faster than "C"
. Improve av1_quantize_fp_64x64_neon() 1.17x to 1.66x faster
. Add aom_quantize_b_avx2() 1.4x to 1.7x faster than
aom_quantize_b_avx()
. Add aom_quantize_b_32x32_avx2() 1.4x to 2.3x faster than
aom_quantize_b_32x32_avx()
. Add aom_quantize_b_64x64_avx2() 2.0x to 2.4x faster than
aom_quantize_b_64x64_ssse3()
. Add aom_highbd_quantize_b_32x32_avx2() 9.0x to 10.5x faster
than aom_highbd_quantize_b_32x32_c()
. Add aom_highbd_quantize_b_64x64_avx2() 7.3x to 9.7x faster
than aom_highbd_quantize_b_64x64_c()
. Improve aom_highbd_quantize_b_avx2() 1.07x to 1.20x faster
. Improve av1_quantize_fp_avx2() 1.13x to 1.49x faster
. Improve av1_quantize_fp_32x32_avx2() 1.07x to 1.54x faster
. Improve av1_quantize_fp_64x64_avx2() 1.03x to 1.25x faster
. 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.)
- Update to version 3.4.0:
* This release includes compression efficiency and perceptual
quality improvements, speedup and memory optimizations, and
some new features. There are no ABI or API breaking changes in
this release.
* New Features:
- New --dist-metric flag with "qm-psnr" value to use
quantization matrices in the distortion computation for RD
search. The default value is "psnr".
- New command line option "--auto-intra-tools-off=1" to make
all-intra encoding faster for high bit rate under
"--deltaq-mode=3" mode.
- New rate control library aom_av1_rc for real-time hardware
encoders. Supports CBR for both one spatial layer and SVC.
- New image format AOM_IMG_FMT_NV12 can be used as input to the
encoder. The presence of AOM_IMG_FMT_NV12 can be detected at
compile time by checking if the macro AOM_HAVE_IMG_FMT_NV12
is defined.
- New codec controls for the encoder:
o AV1E_SET_AUTO_INTRA_TOOLS_OFF. Only in effect if
--deltaq-mode=3.
o AV1E_SET_RTC_EXTERNAL_RC
o AV1E_SET_FP_MT. Only supported if libaom is built with
-DCONFIG_FRAME_PARALLEL_ENCODE=1.
o AV1E_GET_TARGET_SEQ_LEVEL_IDX
- New key-value pairs for the key-value API:
o --auto-intra-tools-off=0 (default) or 1. Only in effect if
--deltaq-mode=3.
o --strict-level-conformance=0 (default) or 1
o --fp-mt=0 (default) or 1. Only supported if libaom is built
with -DCONFIG_FRAME_PARALLEL_ENCODE=1.
- New aomenc options (not supported by the key-value API):
o --nv12
* Compression Efficiency Improvements:
- Correctly calculate SSE for high bitdepth in skip mode, 0.2%
to 0.6% coding gain.
- RTC at speed 9/10: BD-rate gain of ~4/5%
- RTC screen content coding: many improvements for real-time
screen at speed 10 (quality, speedup, and rate control), up
to high resolutions (1080p).
- RTC-SVC: fixes to make intra-only frames work for spatial
layers.
- RTC-SVC: quality improvements for temporal layers.
- AV1 RT: A new passive rate control strategy for screen
content, an average of 7.5% coding gain, with some clips of
20+%. The feature is turned off by default due to higher bit
rate variation.
* Perceptual Quality Improvements:
- RTC: Visual quality improvements for high speeds (9/10)
- Improvements in coding quality for all intra mode
* Speedup and Memory Optimizations:
- ~10% speedup in good quality mode encoding.
- ~7% heap memory reduction in good quality encoding mode for
speed 5 and 6.
- Ongoing improvements to intra-frame encoding performance on
Arm
- Faster encoding speed for "--deltaq-mode=3" mode.
- ~10% speedup for speed 5/6, ~15% speedup for speed 7/8, and
~10% speedup for speed 9/10 in real time encoding mode
- ~20% heap memory reduction in still-picture encoding mode for
360p-720p resolutions with multiple threads
- ~13% speedup for speed 6 and ~12% speedup for speed 9 in
still-picture encoding mode.
- Optimizations to improve multi-thread efficiency for
still-picture encoding mode.
* Bug Fixes:
- b/204460717: README.md: replace master with main
- b/210677928: libaom disable_order is surprising for
max_reference_frames=3
- b/222461449: -DCONFIG_TUNE_BUTTERAUGLI=1 broken
- b/227207606: write_greyscale writes incorrect chroma in
highbd mode
- b/229955363: Integer-overflow in linsolve_wiener
- https://crbug.com/aomedia/2032
- https://crbug.com/aomedia/2397
- https://crbug.com/aomedia/2563
- https://crbug.com/aomedia/2815
- https://crbug.com/aomedia/3009
- https://crbug.com/aomedia/3018
- https://crbug.com/aomedia/3045
- https://crbug.com/aomedia/3101
- https://crbug.com/aomedia/3130
- https://crbug.com/aomedia/3173
- https://crbug.com/aomedia/3184
- https://crbug.com/aomedia/3187
- https://crbug.com/aomedia/3190
- https://crbug.com/aomedia/3195
- https://crbug.com/aomedia/3197
- https://crbug.com/aomedia/3201
- https://crbug.com/aomedia/3202
- https://crbug.com/aomedia/3204
- https://crbug.com/aomedia/3205
- https://crbug.com/aomedia/3207
- https://crbug.com/aomedia/3208
- https://crbug.com/aomedia/3209
- https://crbug.com/aomedia/3213
- https://crbug.com/aomedia/3214
- https://crbug.com/aomedia/3219
- https://crbug.com/aomedia/3222
- https://crbug.com/aomedia/3223
- https://crbug.com/aomedia/3225
- https://crbug.com/aomedia/3226
- https://crbug.com/aomedia/3228
- https://crbug.com/aomedia/3232
- https://crbug.com/aomedia/3236
- https://crbug.com/aomedia/3237
- https://crbug.com/aomedia/3238
- https://crbug.com/aomedia/3240
- https://crbug.com/aomedia/3243
- https://crbug.com/aomedia/3244
- https://crbug.com/aomedia/3246
- https://crbug.com/aomedia/3248
- https://crbug.com/aomedia/3250
- https://crbug.com/aomedia/3251
- https://crbug.com/aomedia/3252
- https://crbug.com/aomedia/3255
- https://crbug.com/aomedia/3257
- https://crbug.com/aomedia/3259
- https://crbug.com/aomedia/3260
- https://crbug.com/aomedia/3267
- https://crbug.com/aomedia/3268
- https://crbug.com/aomedia/3269
- https://crbug.com/aomedia/3276
- https://crbug.com/aomedia/3278
- https://crbug.com/chromium/1290068
- https://crbug.com/chromium/1303237
- https://crbug.com/chromium/1304990
- https://crbug.com/chromium/1321141
- https://crbug.com/chromium/1321388
- https://crbug.com/oss-fuzz/44846
- https://crbug.com/oss-fuzz/44856
- https://crbug.com/oss-fuzz/44862
- https://crbug.com/oss-fuzz/44904
- https://crbug.com/oss-fuzz/45056
- Update to version 3.3.0:
* This release includes compression efficiency and perceptual
quality improvements, speedup and memory optimizations, some
new features, and several bug fixes.
* New Features
- AV1 RT: Introducing CDEF search level 5
- Changed real time speed 4 to behave the same as real time
speed 5
- Add --deltaq-strength
- rtc: Allow scene-change and overshoot detection for svc
- rtc: Intra-only frame for svc
- AV1 RT: Option 2 for codec control AV1E_SET_ENABLE_CDEF to
disable CDEF on non-ref frames
- New codec controls AV1E_SET_LOOPFILTER_CONTROL and
AOME_GET_LOOPFILTER_LEVEL
- Improvements to three pass encoding
* Compression Efficiency Improvements: Overall compression gains:
0.6%
* Perceptual Quality Improvements
- Improves the perceptual quality of high QP encoding for
delta-q mode 4
- Auto select noise synthesis level for all intra
* Speedup and Memory Optimizations
- Added many SSE2 optimizations.
- Good quality 2-pass encoder speedups:
o Speed 2: 9%
o Speed 3: 12.5%
o Speed 4: 8%
o Speed 5: 3%
o Speed 6: 4%
- Real time mode encoder speedups:
o Speed 5: 2.6% BDRate gain, 4% speedup
o Speed 6: 3.5% BDRate gain, 4% speedup
o Speed 9: 1% BDRate gain, 3% speedup
o Speed 10: 3% BDRate gain, neutral speedup
- All intra encoding speedups (AVIF):
o Single thread - speed 6: 8%
o Single thread - speed 9: 15%
o Multi thread(8) - speed 6: 14%
o Multi thread(8) - speed 9: 34%
* Bug Fixes
- Issue 3163: Segmentation fault when using
--enable-keyframe-filtering=2
- Issue 2436: Integer overflow in av1_warp_affine_c()
- Issue 3226: armv7 build failure due to gcc-11
- Issue 3195: Bug report on libaom (AddressSanitizer:
heap-buffer-overflow)
- Issue 3191: Bug report on libaom (AddressSanitizer: SEGV on
unknown address)
- Drop libaom-devel Requires from libaom-devel-doc sub-package: We
do not need the devel package to be able to read the devel
documentation.
- Update to version 3.2.0:
* This release includes compression efficiency and perceptual
quality improvements, speedup and memory optimizations, as well
as some new features.
* New Features:
+ Introduced speeds 7, 8, and 9 for all intra mode.
+ Introduced speed 10 for real time mode.
+ Introduced an API that allows external partition decisions.
+ SVC: added support for compound prediction.
+ SVC: added support for fixed SVC modes.
* Compression Efficiency Improvements:
+ Intra-mode search improvement.
+ Improved real time (RT) mode BDrate savings by ~5% (RT speed
5) and ~12% (RT speed 6). The improvement was measured on the
video conference set.
+ Improved real time mode for nonrd path (speed 7, 8, 9):
BDrate gains of ~3-5%.
+ Rate control and RD adjustments based on ML research in VP9.
Gains of ~0.5-1.0% for HD.
* Perceptual Quality Improvements:
+ Added a new mode --deltaq-mode=3 to improve perceptual
quality based on a differential contrast model for still
images.
+ Added a new mode –deltaq-mode=4 to improve perceptual quality
based on user rated cq_level data set for still images.
+ Weighting of some intra mode and partition size choices to
better manage and retain texture.
* Speedup and Memory Optimizations:
+ Further improved 2-pass good quality encoder speed:
. Speed 2 speedup: 18%
. Speed 3 speedup: 22%
. Speed 4 speedup: 37%
. Speed 5 speedup: 30%
. Speed 6 speedup: 20%
+ Optimized the real time encoder (measured on the video
conference set):
. RT speed 5 speedup: 110%
. RT speed 6 speedup: 77%
* Bug Fixes
+ Issue 3069: Fix one-pass mode keyframe placement off-by-one
error.
+ Issue 3156: Fix a bug in av1_quantize_lp AVX2 optimization.
- Drop libaom-CVE-2021-30474.patch: Fixed upstream.
- Drop libaom-CVE-2021-30475.patch: Fixed upstream.
- Remove changesgenerate option from _service file, use data from
CHANGELOG to fill .changes instead as it it much nicer and human
readable than just a list of commit messages.
- fix service data
- Update to version 3.1.3:
* Update CHANGELOG for v3.1.3-rc2
* Detect chroma subsampling more directly
* Detect chroma subsampling more directly
* image2yuvconfig() should calculate uv_crop_width
* aom/aom_encoder.h: remove configure option reference
* aom_encoder.h: fix rc_overshoot_pct range
* Update AUTHORS,CHANGELOG,CMakeLists.txt for v3.1.3
* aom_install: don't exclude msvc from install
* aom_install: use relpath for install
* aom_install: Install lib dlls to bindir
- security update
- added patches
fix CVE-2021-30474 [bsc#1186799], aom_dsp/grain_table.c in libaom in AOMedia before 2021-03-30 has a use-after-free.
+ libaom-CVE-2021-30474.patch
- security update
- added patches
fix CVE-2021-30475 [bsc#1189497], Buffer overflow in aom_dsp/noise_model.c
+ libaom-CVE-2021-30475.patch
- Update to version 3.1.2:
* Update AUTHORS,CHANGELOG,CMakeLists.txt for v3.1.2
* Avoid chroma resampling for 420mpeg2 input
* Check array has two elements before using index 1
* Fix DecodeScalabilityTest failure in realtime only
* Store temporal_id and spatial_id of decoded frame
* exports.cmake: use APPLE and WIN32 and use def for mingw-w64
- Update to version 3.1.1
* Fix vmaf model initialization error when not set to tune=vmaf
* Fix consistent crash on near-static screen content, keyframe
related
* Fix tune=butteraugli mode
- Disable NEON on arm where not available.
- Update to version 3.1.0 (bsc#1185843):
https://aomedia.googlesource.com/aom/+/refs/tags/v3.1.0
This release adds an "all intra" mode to the encoder, which significantly
speeds up the encoding of AVIF still images at speed 6.
- Upgrading:
All intra mode for encoding AVIF still images and AV1 all intra videos:
AOM_USAGE_ALL_INTRA (2) can be passed as the 'usage' argument to
aom_codec_enc_config_default().
New encoder control IDs added:
- AV1E_SET_ENABLE_DIAGONAL_INTRA: Enable diagonal (D45 to D203) intra
prediction modes (0: false, 1: true (default)). Also available as
"enable-diagonal-intra" for the aom_codec_set_option() function.
New aom_tune_metric enum value: AOM_TUNE_BUTTERAUGLI. The new aomenc option
--tune=butteraugli was added to optimize the encoder’s perceptual quality by
optimizing the Butteraugli metric. Install libjxl (JPEG XL) and then pass
-DCONFIG_TUNE_BUTTERAUGLI=1 to the cmake command to enable it.
- Includes 3.0
https://aomedia.googlesource.com/aom/+/refs/tags/v3.0.0
This release includes compression efficiency improvement, speed improvement
for realtime mode, as well as some new APIs.
- Upgrading:
Support for PSNR calculation based on stream bit-depth.
New encoder control IDs added:
- AV1E_SET_ENABLE_RECT_TX
- AV1E_SET_VBR_CORPUS_COMPLEXITY_LAP
- AV1E_GET_BASELINE_GF_INTERVAL
- AV1E_SET_ENABLE_DNL_DENOISING
New decoder control IDs added:
- AOMD_GET_FWD_KF_PRESENT
- AOMD_GET_FRAME_FLAGS
- AOMD_GET_ALTREF_PRESENT
- AOMD_GET_TILE_INFO
- AOMD_GET_SCREEN_CONTENT_TOOLS_INFO
- AOMD_GET_STILL_PICTURE
- AOMD_GET_SB_SIZE
- AOMD_GET_SHOW_EXISTING_FRAME_FLAG
- AOMD_GET_S_FRAME_INFO
New aom_tune_content enum value: AOM_CONTENT_FILM
New aom_tune_metric enum value: AOM_TUNE_VMAF_NEG_MAX_GAIN
Coefficient and mode update can be turned off via
AV1E_SET_{COEFF/MODE}_COST_UPD_FREQ.
New key & value API added, available with aom_codec_set_option() function.
Scaling API expanded to include 1/4, 3/4 and 1/8.
- Enhancements:
Better multithreading performance with realtime mode.
New speed 9 setting for faster realtime encoding.
Smaller binary size with low bitdepth and realtime only build.
Temporal denoiser and its optimizations on x86 and Neon.
Optimizations for scaling.
Faster encoding with speed settings 2 to 6 for good encoding mode.
Improved documentation throughout the library, with function level
documentation, tree view and support for the dot tool.
- Bug fixes:
Aside from those mentioned in v2.0.1 and v2.0.2, this release includes the
following bug fixes:
Issue 2940: Segfault when encoding with --use-16bit-internal and --limit > 1
Issue 2941: Decoder mismatch with --rt --bit-depth=10 and --cpu-used=8
Issue 2895: mingw-w64 i686 gcc fails to build
Issue 2874: Separate ssse3 functions from sse2 file.
- Update to version 2.0.2:
* Prepare for the libaom v2.0.2 release
* Call av1_setup_frame_size() when dropping a frame
* Avoid memset in filter_intra_predictor module
* Fix a typo bug in apply_temporal_filter_planewise
* Modify the assertion in temporal filter intrinsics
* Fix unit test ThreadTestLarge.EncoderResultTest/49
* Add -Wimplicit-function-declaration as C flag only
* Update CHANGELOG for libaom v2.0.1
* Set allow_screen_content_tools to 0 in rt mode
* chroma_check: don't access UV planes if monochrome
- Update to version 2.0.0 "Applejack":

This is the first official release of libaom. It has real-time
mode and SVC support, as well as substantial documentation
improvement and clean-ups.
Important changes:
* Decouple library version and so version.
* Move functions into a header file
* Remove av1_ prefix from static functions
* Remove aom_ prefix from static functions
* Remove aom_ prefix for static functions
* Remove av1_ prefix for a static function
- Drop libaom-0002-link-threading-lib-with-shared-library.patch and
libaom-0003-update-CHANGELOG.patch
- Enable CONFIG_LOWBITDEPTH. Makes 8-bit decoding faster. The only
reason this confusingly-named option is not enabled by default
is that its behavior might not match the 16-bit reference code
path, and that hardware vendors want to be able to validate
their designs against it. No actual mismatches have been found.
See https://bugs.chromium.org/p/aomedia/issues/detail?id=2062
- Pass conditional AOM_TARGET_CPU to cmake, fix build for arm and
ppc, as well as optimize target cpu for other arches.
- Init, v1.0.0


Takashi Iwai's avatar

tiwai accepted request

Thanks.

openSUSE Build Service is sponsored by