| 2024-06-07 v3.8.3 |
| This release includes several bug fixes. This release is ABI |
| compatible with the last release. See |
| https://aomedia.googlesource.com/aom/+log/v3.8.2..v3.8.3 for all the |
| commits in this release. |
| |
| - Bug Fixes |
| * aomedia:2754, aomedia:3567: Ensure thread stack size is at least |
| 256 KB |
| * 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:3580: Allow g_timebase.num to be greater than |
| g_timebase.den |
| * Arm SVE build fixes. |
| * av1_block_error_lp_neon: fix block_size param type |
| |
| 2024-03-08 v3.8.2 |
| This release includes several bug fixes. This release is ABI |
| compatible with the last release. See |
| https://aomedia.googlesource.com/aom/+log/v3.8.1..v3.8.2 for all the |
| commits in this release. |
| |
| - Bug Fixes |
| * aomedia:3523: SIGFPE in av1_twopass_postencode_update() |
| pass2_strategy.c:4261. |
| * aomedia:3535, b/317646516: Over reads in aom_convolve_copy_neon(). |
| * aomedia:3543: invalid feature modifier when compiling |
| aom_dsp/arm/aom_convolve8_neon_i8mm.c on Debian 10 with arm64 |
| architecture. |
| * aomedia:3545: Failed to parse configurations due to inconsistent |
| elements between two arrays "av1_ctrl_args" and "av1_arg_ctrl_map" |
| in aomenc.c. |
| * oss-fuzz:66474, b/319140742: Integer-overflow in search_wiener. |
| * Zero initialize an array in cdef search. |
| |
| 2024-01-17 v3.8.1 |
| This release includes several bug fixes. This release is ABI |
| compatible with the last release. See |
| https://aomedia.googlesource.com/aom/+log/v3.8.0..v3.8.1 for all the |
| commits in this release. |
| |
| - Bug Fixes |
| * aomedia:3520: get_cubic_kernel_dbl: Assertion `0 <= x && x < 1' |
| failed. |
| * aomedia:3526: alloc_compressor_data() is called during every |
| aom_codec_control() call on the encoder. |
| * aomedia:3527: aom/av1/encoder/mcomp.c:1810: av1_full_pixel_search: |
| Assertion `ms_params->ms_buffers.ref->width == |
| ms_params->ms_buffers.src->width' failed. |
| * aomedia:3534: libaom encoder crashed by AOM_USAGE_ALL_INTRA and |
| AOM_EFLAG_NO_REF_LAST flags. |
| * b/310455204: Recreate workers if necessary. |
| * b/310548198: Update frame size in actual encoding. |
| * b/314858909: Do not use adaptive error estimate. |
| * Fix a hang of cmake on arm64 macOS with cmake 3.27.0 or later. |
| |
| 2023-11-30 v3.8.0 |
| This release includes new codec interfaces, compression efficiency and |
| perceptual improvements, speedup and memory optimizations and many bug |
| fixes. This release is ABI compatible with the last release. |
| |
| - New Features |
| * New codec controls: |
| * AV1E_SET_MAX_CONSEC_FRAME_DROP_CBR: Set the maximum number of |
| consecutive frame drops allowed for the frame dropper in 1 pass |
| CBR mode. |
| * Run-time CPU feature detection for all Arm platforms: |
| CRC, DotProd, I8MM and SVE CPU feature presence is detected at run |
| time and code paths making use of these features are selected |
| dynamically. These code paths provide meaningful performance gains |
| for standard bitdepth RTC and VoD encoding: up to 10% and 20% |
| respectively, over the Armv8.0-A baseline build. |
| * RTC: Frame-dropper support added to the rate control library. |
| * RTC Rate control improvements for low bitrate and for SVC. |
| |
| - Compression Efficiency Improvements |
| * Improved accuracy of cost estimation for loop restoration and |
| global motion. |
| * Improved selection of loop restoration unit size - full search up |
| to (non-realtime) speed 2, retuned static selection at higher |
| speeds. |
| * RTC Screen content mode: 3-5% bdrate gains across speeds 7 - 10. |
| * Good-quality mode: 0.2 - 0.5% bdrate gains across speeds 1 - 4. |
| |
| - Perceptual Quality Improvements |
| * RTC Screen: Improved visual quality for scrolling. |
| * RTC: Improved color quality for both screen and video mode. |
| |
| - Speedup and Memory Optimizations |
| * Good-quality, single-thread encoder speedups: |
| o 15% improvement for speed 5. |
| o 12% improvement for speed 6. |
| * Arm standard bitdepth VoD (--good): |
| o 8% speedup for speeds 0 and 1. |
| o 20% speedup for speed 2. |
| o 27% speedup for speed 3. |
| o 30% speedup for speed 4. |
| o 38% speedup for speeds 5 and 6. |
| * Arm high bitdepth VoD (--good): |
| o 206% speedup for speeds 0 and 1. |
| o 180% speedup for speed 2. |
| o 51% speedup for speeds 3 and 4. |
| o 68% speedup for speed 5. |
| o 72% speedup for speed 6. |
| * RTC Screen content: 2-6% speedup across speeds 7-10. |
| * RTC: 2-3% speedup for temporal layers. |
| * RTC: Speedups to reference scaling in nonrd pickmode. |
| * Good-quality mode: Simplified global motion estimation, saving |
| ~1200 lines of code and 1KB of tables while improving quality. |
| |
| - Bug Fixes |
| * Fixes to improve libaom stability in case of memory allocation |
| failures. |
| * Fixes to SIMD functions (x86 AVX2/SSE2 and ARM Neon). |
| * b/310457427, b/310766628: Bug fixes to only use rec_sse in CBR |
| mode. |
| |
| 2023-11-17 v3.7.1 |
| This release includes several bug fixes. This release is ABI |
| compatible with the last release. See |
| https://aomedia.googlesource.com/aom/+log/v3.7.0..v3.7.1 for all the |
| commits in this release. |
| |
| - Bug Fixes |
| * aomedia:3349: heap overflow when increasing resolution |
| * aomedia:3478: GCC 12.2.0 emits a -Wstringop-overflow warning on |
| aom/av1/encoder/motion_search_facade.c |
| * aomedia:3489: Detect encoder and image high bit depth mismatch |
| * aomedia:3491: heap-buffer-overflow on frame size change (CVE-2023-6879) |
| * b/303023614: Segfault at encoding time for high bit depth images |
| |
| 2023-08-10 v3.7.0 |
| This release includes new codec interfaces, compression efficiency and |
| perceptual improvements, speedup and memory optimizations and many bug fixes. |
| This release is ABI compatible with the last release. |
| |
| - New Features |
| * New codec controls: |
| * AV1E_SET_QUANTIZER_ONE_PASS: Set quantizer for each frame. |
| * AV1E_ENABLE_RATE_GUIDE_DELTAQ: enable the rate distribution guided delta |
| quantization in all intra mode. The "enable-rate-guide-deltaq" option is |
| added for this control. |
| * AV1E_SET_RATE_DISTRIBUTION_INFO: set the input file for rate |
| distribution used in all intra mode. The "rate-distribution-info" option |
| is added for this control. |
| * AV1E_GET_LUMA_CDEF_STRENGTH |
| * AV1E_SET_BITRATE_ONE_PASS_CBR |
| * AOM_SCALING_MODE is extended to include 2/3 and 1/3 scaling. |
| * aom_tune_metric is extended to include AOM_TUNE_VMAF_SALIENCY_MAP. |
| The "tune" option is extended to include "vmaf_saliency_map". |
| * SVC example encoder svc_encoder_rtc is able to use the rate control |
| library. |
| * Loopfilter level and CDEF filter level is supported by RTC rate control |
| library. |
| * New speed (--cpu-used) 11, intended for RTC screen sharing, added for |
| faster encoding with ~3% bdrate loss with 16% IC (instruction count) |
| speedup compared to speed 10. |
| |
| - Compression Efficiency Improvements |
| * Improved VoD encoding performance |
| * 0.1-0.6% BDrate gains for encoding speeds 2 to 6 |
| * Rate control accuracy improvement in VBR mode |
| * RTC encoding improvements |
| * Screen content mode: 10-19% BDrate gains for speeds 6 - 10 |
| * Temporal layers video mode, for speed 10: |
| * 2 temporal layers on low resolutions: 13-15% BDrate gain |
| * 3 temporal layers on VGA/HD: 3-4% BDrate gain |
| |
| - Perceptual Quality Improvements |
| * Fixed multiple block and color artifacts for RTC screen content by |
| * Incorporating color into RD cost for IDTX |
| * Reducing thresholds for palette mode in non RD mode |
| * Allowing more palette mode testing |
| * Improved color sensitivity for altref in non-RD mode. |
| * Reduced video flickering for temporal layer encoding. |
| |
| - Speedup and Memory Optimizations |
| * Speed up the VoD encoder |
| * 2-5% for encoding speed 2 to 4 |
| * 9-15% for encoding speed 5 to 6 |
| * ARM |
| * Standard bitdepth |
| * speed 5: +31% |
| * speed 4: +2% |
| * speed 3: +9% |
| * speed 2: +157% |
| * High bitdepth |
| * speed 5: +85% |
| * RTC speedups |
| * Screen content mode |
| * 15% IC speedup for speeds 6-8 |
| * ARM: 7% for speed 9, 3% for speed 10 |
| * Temporal layers video mode |
| * 7% speedup for 3 temporal layers on VGA/HD, for speed 10 |
| * Single layer video |
| * x86: 2% IC speedup for speeds 7-10 |
| * ARM: 2-4% speedup across speeds 5-10 |
| |
| - Other improvements |
| * VoD: Major improvements to global motion estimation, now enabled up to |
| speed 4 |
| * RTC |
| * Fixes to make lossless coding work. |
| * Fixes to make frame dropper (--drop_frames) work for single and temporal |
| layers. |
| * Improvements to RPS (reference picture selection) recovery frames. |
| * Improvements to rate control for temporal layers. |
| * libwebm is updated to libwebm-1.0.0.29-9-g1930e3c |
| |
| - Bug Fixes |
| * aomedia:3261 Assertion failed when encoding av1 with film grain and |
| '--monochrome' flag |
| * aomedia:3276 ensure all allocations are checked (partial fix) |
| * aomedia:3451 The libaom library calls exit() |
| * aomedia:3450 enable -Wshadow for C++ sources |
| * aomedia:3449 Test Seg Faults After |
| b459af3e345be402db052a143fcc5383d4b74cbd |
| * aomedia:3416 prune unused symbols / restrict symbol visibility |
| * aomedia:3443 Jenkins failure: |
| UninstantiatedParameterizedTestSuite<EstimateNoiseTest> |
| * aomedia:3434 realtime failures with CONFIG_BITSTREAM_DEBUG=1 |
| * aomedia:3433 DeltaqModeTest crash w/row_mt=0 |
| * aomedia:3429 Encoder crash when turn on both ExternalResize and |
| g_threads > 2 |
| * aomedia:3438 Build failure with |
| `-DSANITIZE=address -DBUILD_SHARED_LIBS=ON` when using clang. |
| * aomedia:3435 Block artifacts when scrolling with AV1 in screen sharing |
| scenarios |
| * aomedia:3170 vmaf tune presets produce extreme glitches in one scene |
| * aomedia:3401 Building shared libaom with MSVC results in a race condition |
| with the export library |
| * aomedia:3420 Floating point exception in av1_tpl_get_frame_importance() |
| * aomedia:3424 heap-buffer-overflow in ScaleFilterCols_16_C() (SIGABRT) |
| * aomedia:3417 examples/svc_encoder_rtc.c is using internal macros and |
| functions |
| * aomedia:3372 SEGV in assign_frame_buffer_p av1_common_int.h |
| * aomedia:3130 'cpu-features.h' file not found on Android NDK 22 |
| * aomedia:3415 Encoder/decoder mismatch for svc_encoder_rtc running |
| 1 SL 3 TL |
| * aomedia:3412 Lossless Mode Fails Loopback Bit Test |
| * aomedia:3409 The use of AV1_VAR_OFFS in av1/encoder/var_based_part.c is |
| incorrect for high bit depths |
| * aomedia:3403 test_libaom fails with error message |
| "feenableexcept() failed" on Linux arm |
| * aomedia:3370 Random color block at fast motion area |
| * aomedia:3393 Assertion failure in av1_convolve_2d_sr_c() |
| * aomedia:3392 Strong artifacting for high bit-depth real-time |
| * aomedia:3376 aomenc --threads=10 --deltaq-mode=3 crashes after |
| "Allintra: multi-threading of calculating differential contrast" |
| * aomedia:3380 Crashes and ASan and TSan errors in deltaq-mode=3 |
| multithreading code |
| * chromium:1410766 heap-buffer-overflow in aom_yv12_copy_v_c |
| * Cannot set level via AV1E_SET_TARGET_SEQ_LEVEL_IDX |
| * Encoding failure due to the use of loop restoration with unintended use of |
| lossless mode. |
| * Signed integer overflow in scan_past_frames |
| * Signed integer overflow in update_a_sep_sym |
| * Flickering in AV1 1440p/2160p HDR transcodes |
| * Fixed artifacts with screen share at encoder speed 10 |
| * Fixed prediction setup for IDTX |
| |
| 2023-05-08 v3.6.1 |
| This release includes several bug fixes. This release is ABI |
| compatible with the last release. See |
| https://aomedia.googlesource.com/aom/+log/v3.6.0..v3.6.1 for all the |
| commits in this release. |
| |
| - Bug Fixes |
| * aomedia:2871: Guard the support of the 7.x and 8.x levels for AV1 |
| under the CONFIG_CWG_C013 config flag, and only output the 7.x and |
| 8.x levels when explicitly requested. |
| * aomedia:3382: Choose sb_size by ppi instead of svc. |
| * aomedia:3384: Fix fullpel search limits. |
| * aomedia:3388: Replace left shift of xq_active by multiplication. |
| * aomedia:3389: Fix MV clamping in av1_mv_pred. |
| * aomedia:3390: set_ld_layer_depth: cap max_layer_depth to |
| MAX_ARF_LAYERS. |
| * aomedia:3418: Fix MV clamping in av1_int_pro_motion_estimation. |
| * aomedia:3429: Move lpf thread data init to lpf_pipeline_mt_init(). |
| * b:266719111: Fix undefined behavior in Arm Neon code. |
| * b:269840681: nonrd_opt: align scan tables. |
| * rtc: Fix is_key_frame setting in variance partition. |
| * Build: Fix build with clang-cl and Visual Studio. |
| * Build: Fix module definition file for MinGW/MSYS. |
| |
| 2023-02-03 v3.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: |
| o ~6% instruction count reduction for speed 5 and 6. |
| o ~15% instruction count reduction for speed 7. |
| o ~10% instruction count reduction for speed 8 to 10 (>=360p |
| resolutions). |
| * RTC multi-thread encoder speedup (beyond single-thread speedup): |
| o 5-8% encode time reduction for speed 7 to 10. |
| * RTC screen-content encoder speedup: |
| o 11% instruction count reduction for speed 9 and 10 (>=720p |
| resolutions). |
| * ~5% reduction in heap memory requirements for RTC, speed 6 to 10. |
| * AVIF: |
| o 4-5% speedup for speed 9 in still-picture encoding mode. |
| o 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. |
| |
| 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.) |
| |
| 2022-06-17 v3.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 |
| |
| 2022-01-28 v3.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) |
| * Issue 3176: Some SSE2/SADx4AvgTest.* tests fail on Windows |
| * Issue 3175: Some SSE2/SADSkipTest.* tests fail on Windows |
| |
| 2021-10-13 v3.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: |
| o Speed 2 speedup: 18% |
| o Speed 3 speedup: 22% |
| o Speed 4 speedup: 37% |
| o Speed 5 speedup: 30% |
| o Speed 6 speedup: 20% |
| * Optimized the real time encoder (measured on the video conference |
| set): |
| o RT speed 5 speedup: 110% |
| o 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. |
| |
| 2021-09-29 v3.1.3 |
| This release includes several bug fixes. |
| |
| - Bug fixes: |
| The following four cmake changes should help the people building |
| libaom using MSVC. |
| 1. exports: use CMAKE_SHARED_LIBRARY_PREFIX to determine lib name |
| https://aomedia-review.googlesource.com/c/aom/+/142342 |
| 2. aom_install: Install lib dlls to bindir |
| https://aomedia-review.googlesource.com/c/aom/+/146546 |
| 3. aom_install: use relpath for install |
| https://aomedia-review.googlesource.com/c/aom/+/146550 |
| 4. aom_install: don't exclude msvc from install |
| https://aomedia-review.googlesource.com/c/aom/+/146547 |
| |
| aom/aom_encoder.h: remove configure option reference |
| https://aomedia-review.googlesource.com/c/aom/+/146743 |
| |
| Issue 3113: Tests for detecting chroma subsampling in |
| av1_copy_and_extend_frame() do not work when y_width or y_height is |
| 1 |
| |
| Issue 3115: image2yuvconfig() should calculate uv_crop_width and |
| uv_crop_height from y_crop_width and y_crop_height |
| |
| Issue 3140: rc_overshoot_pct is documented as having a range of |
| 0-1000, but is range checked against 0-100 |
| |
| Issue 3147: Build failure on Apple M1 arm64 |
| |
| 2021-07-20 v3.1.2 |
| This release includes several bug fixes. |
| |
| - Bug fixes: |
| exports.cmake: use APPLE and WIN32 and use def for mingw-w64 |
| https://aomedia-review.googlesource.com/c/aom/+/139882 |
| |
| Issue 2993: Incorrect spatial_id when decoding base layer of |
| multi-layer stream |
| |
| Issue 3080: Chroma Resampling by Encoder on Y4M Inputs Files Tagged |
| as C420mpeg2 |
| |
| Issue 3081: Use of uninitialized value $version_extra in |
| concatenation (.) or string at aom/build/cmake/version.pl line 88. |
| |
| 2021-06-08 v3.1.1 |
| This release includes several bug fixes. |
| |
| - Bug fixes: |
| Issue 2965: Cherry-picked the following four commits for the |
| tune=butteraugli mode. |
| 1. Add libjxl to pkg_config if enabled: |
| https://aomedia-review.googlesource.com/c/aom/+/136044 |
| 2. Declare set_mb_butteraugli_rdmult_scaling static: |
| https://aomedia-review.googlesource.com/c/aom/+/134506 |
| 3. Add color range detection in tune=butteraugli mode: |
| https://aomedia-review.googlesource.com/c/aom/+/135521 |
| 4. Enable tune=butteraugli in all-intra mode: |
| https://aomedia-review.googlesource.com/c/aom/+/136082 |
| |
| Issue 3021: Fix vmaf model initialization error when not set to |
| tune=vmaf |
| |
| Issue 3050: Compilation fails with -DCONFIG_TUNE_VMAF=1 |
| |
| Issue 3054: Consistent crash on near-static screen content, keyframe |
| related |
| |
| 2021-05-03 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. |
| |
| Addition of support for libvmaf 2.x. |
| |
| - Enhancements: |
| Heap memory consumption for encoding AVIF still images is significantly |
| reduced. |
| |
| - Bug fixes: |
| Issue 2601: third_party/libaom fails licensecheck |
| |
| Issue 2950: Conditional expression for rc->this_key_frame_forced is always |
| true in find_next_key_frame() |
| |
| Issue 2988: "make install" installs the aom.h header twice |
| |
| Issue 2992: Incorrectly printing the temporal_id twice in dump_obu tool |
| |
| Issue 2998: |
| |
| Issue 2999: |
| |
| Issue 3000: |
| |
| 2021-02-24 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. |
| |
| 2021-02-09 v2.0.2 |
| This release includes several bug fixes. |
| |
| - Bug fixes: |
| Issue 2643: Modify the assertion in temporal filter intrinsics. |
| |
| Issue 2648: Fix unit test ThreadTestLarge.EncoderResultTest/49 |
| assertion failure. |
| |
| Issue 2869: Add -Wimplicit-function-declaration as C flag only. |
| |
| Issue 2878: Avoid memset in the av1_filter_intra_predictor module |
| functions. |
| |
| Issue 2903: Fix a typo bug in apply_temporal_filter_planewise. |
| |
| Call av1_setup_frame_size() when dropping a frame in the |
| encode_frame_to_data_rate() function in av1/encoder/encoder.c. |
| |
| 2020-11-25 v2.0.1 |
| This release includes two bug fixes. |
| |
| - Bug fixes: |
| Issue 2723: Fix crash in chroma_check() when generating a monochrome |
| encoded stream in real-time mode. |
| |
| Issue 2833: Fix crash on some input when reduced still picture header is |
| used in real-time mode and speed >=7. |
| |
| 2020-05-07 v2.0.0 "Applejack" |
| First official release of libaom. |
| This release includes new real-time mode and SVC support. |
| |
| - Upgrading: |
| AOM_SET_POSTPROC, AOM_CODEC_CAP_POSTPROC and AOM_CODEC_USE_POSTPROC are |
| removed. |
| |
| AOM_SET_DBG_* is removed. |
| |
| Multi-resolution encoding is removed. |
| |
| put_frame and put_slice callbacks are removed. |
| |
| - Enhancements: |
| Full-sweep document update for codec controls. |
| |
| 2018-06-28 v1.0.0 |
| AOMedia Codec Workgroup Approved version 1.0 |
| |
| 2016-04-07 v0.1.0 "AOMedia Codec 1" |
| This release is the first Alliance for Open Media codec. |