Tags give the ability to mark specific points in history as being important
-
v3.14.1
03087864 · ·Release v3.14.1 2026-05-22 v3.14.1 This release is ABI compatible with the last release. See https://aomedia.googlesource.com/aom/+log/v3.14.0..v3.14.1 for all the commits in this release. - Bug Fixes * b:513603812: NULL Pointer Dereference in validate_img (av1_cx_iface.c) with 10-bit monochrome input * oss-fuzz:514006304: Increase ctx->cx_data_sz to 2.5x uncomp frame size Bug: 514751615 -
-
v3.14.0
047d8cf6 · ·Release v3.14.0 Pinkie Pie 2026-05-12 v3.14.0 This release is ABI compatible with the last release. This release includes significant compression efficiency and perceptual quality improvements for layered image encoding, in addition to bug fixes. The `build` directory in the source tree was removed and the original build/cmake directory was moved up one level. If you use the CMake toolchain files in the original build/cmake/toolchains directory, they are now in the cmake/toolchains directory. The unsupported aom_img_fmt_t enum constants AOM_IMG_FMT_AOMYV12 and AOM_IMG_FMT_AOMI420 are deprecated and will be removed in a future release. Do not use them. The new codec controls AV1E_SET_EXTERNAL_RATE_CONTROL (including the new aom_rc_funcs_t struct and the new "aom/aom_ext_ratectrl.h" and "aom/aom_tpl.h" headers) and AV1E_GET_GOP_INFO (including the new aom_gop_info_t struct) have the experimental API status and are NOT part of the stable API. Applications that need the backward compatibility of the stable API must not use AV1E_SET_EXTERNAL_RATE_CONTROL and AV1E_GET_GOP_INFO. - New Features * Tuning modes AOM_TUNE_IQ and AOM_TUNE_SSIMULACRA2 now work with inter-frame encoding modes (good-quality and realtime), enabling efficient layered image encoding. * Variance Boost (deltaq-mode 6) support has been extended to include good-quality and realtime modes. * New value 2 for use_fixed_qp_offsets: disallow the application of per-frame QP offsets, enabling full control of each frame's QP, by adjusting rc_cfg.cq_level between each encoded frame. * Low complexity decode mode (the encoder optimizations that produce encoded bitstreams that can be decoded at low computational complexity) now supports good-quality encoding (speed 1 to 3) for not only vertical videos (608p to 1080p) but also horizontal videos (720p to 1080p). * Realtime encoding with non-zero lookahead is supported, for !REALTME_ONLY_CONFIG. * New AOM_EFLAG_FREEZE_INTERNAL_STATE flag for aom_codec_encode() to encode a frame without updating encoder state such as reference buffers, CDF tables, and rate control state. Useful for speculative encoding. * New aom_matrix_coefficients_t enum constants: - AOM_CICP_MC_IPT_C2 (15): IPT-C2 - AOM_CICP_MC_YCGCO_RE (16): YCgCo-Re - AOM_CICP_MC_YCGCO_RO (17): YCgCo-Ro * New aom_metadata_insert_flags_t enum constants for adding layer-specific metadata OBUs: - AOM_MIF_NON_KEY_FRAME_LAYER_SPECIFIC: Adds layer-specific metadata if it's not a keyframe - AOM_MIF_KEY_FRAME_LAYER_SPECIFIC: Adds layer-specific metadata only if it's a keyframe - AOM_MIF_ANY_FRAME_LAYER_SPECIFIC: Adds layer-specific metadata to any type of frame * Experimental: New codec control AV1E_SET_EXTERNAL_RATE_CONTROL to enable an external rate control library. Not part of the stable API. * Experimental: New codec control AV1E_GET_GOP_INFO to get the GOP structure from the encoder. Not part of the stable API. * New codec control AOME_SET_VALIDATE_HBD_INPUT to validate high bitdepth (HBD) input and ensure that every pixel is within the valid range. The corresponding option for aom_codec_set_option() is "validate-hbd-input". * New codec control AOMD_SET_FRAME_SIZE_LIMIT to set the maximum frame size for a decoder - Compression Efficiency Improvements * When encoding 2-layered images with AOM_TUNE_IQ vs. AOM_TUNE_SSIM: - Good-quality mode: up to 15% gains at similar SSIMULACRA 2 scores. - Realtime mode: up to 30% gains at similar SSIMULACRA 2 scores. * Enable screen detection mode 2 (anti-aliased text and graphics aware) in all-intra mode. * Some minor quantization matrix formula and delta chroma q tweaks for the AOM_TUNE_SSIMULACRA2 tuning mode, with up to 0.2% SSIMULACRA 2 score efficiency gains. * Re-tune and re-work encoder features, achieving coding gains at each speed level and better coding efficiency vs complexity tradeoff (an estimated 20-30% encoder time reduction with about 1-5% vmaf gains). * RTC screen: improvements to quality and scroll detection for high resolutions. - Perceptual Quality Improvements * AOM_TUNE_IQ improves the visual quality of layered image encoding compared to AOM_TUNE_SSIM. * Adaptive sharpness: tweak loop filter sharpness threshold to improve visual quality at QPs 29 and 30. * Improve encoder algorithms in loop restoration, CDEF, temporal filter and rate control, delivering better visual quality. - Speedups * Make Adaptive CDEF more decoder friendly by limiting CDEF application to only regions where high filter strengths are needed. * Encoder complexity is reduced significantly, especially at speed 1 to 3. * Further AArch64 SIMD optimization of filtering algorithms, particularly using Armv8.6 Neon I8MM. * Additional tweaks to AArch64 Neon paths for quantization, SAD, subpel variance and intra-predictors. - Bug Fixes * Commit 4cc0867f: fix multithreading crashes when loop restoration filtering is used by the encoder. * Commit 74aaa1ef: fix AOM_SCALING_MODE crashes when compound mask prediction modes are used by the encoder. * b:502030569: Avoid assertion failure in `read_uncompressed_header` triggered by fuzzed input * b:503197490: Fix an integer overflow in target bits calculation * b:503691210: Avoid reference to uninitialized member variables for multi workers. * b:504317456: Handle buffer pointer in LAP mode to avoid overflow * b:502133197: Avoid a bitread assertion failure in get_av1config_from_obu() Bug: 510033563 -
-
v3.13.3
92d4c37f · ·Release v3.13.3 2026-04-02 v3.13.3 This release includes several bug fixes. This release is ABI compatible with the last release. See https://aomedia.googlesource.com/aom/+log/v3.13.2..v3.13.3 for all the commits in this release. - Bug Fixes * Commit 4cc0867f: fix multithreading crashes when loop restoration filtering is used by the encoder. * Commit 74aaa1ef: fix AOM_SCALING_MODE crashes when compound mask prediction modes are used by the encoder. Bug: 498612990 -
v3.13.2
ad44980d · ·Release v3.13.2 2026-03-17 v3.13.2 This release includes several bug fixes. This release is ABI compatible with the last release. See https://aomedia.googlesource.com/aom/+log/v3.13.1..v3.13.2 for all the commits in this release. - Bug Fixes * x86: enable SSE4.2 in x86_simd_caps https://aomedia-review.googlesource.com/206481 * b:448994065: Working nasm-3.0.0 is not detected with libaom on 3.13.1 * b:480978101: Heap buffer overflow in av1_copy_and_extend_frame during encode triggered by NV12/bordered image with size_align * b:487259772: Out-of-bounds heap read in VP9 encoder via WebCodecs VideoEncoder dimension reconfiguration * b:489473886: Invalid memory read access in aom_sse_avx2 (Mozilla report) Bug: 493253375 -
-
v3.13.1
d772e334 · ·Release v3.13.1 Opaline 2025-09-05 v3.13.1 This release is ABI compatible with the last release. This release fixes two issues with the newly installed cmake files in 3.13.0, there are no changes to the library except for the version number. - Bug Fixes * b:441135035#comment9: the version number in AOMConfig.cmake is now correct and AOM_LIBRARIES now contains only one libaom reference; there is a AOM_STATIC_LIBRARIES variable for the static target. Bug: 443333642 -
v3.13.0
d9c115ce · ·Release v3.13.0 Opaline 2025-09-02 v3.13.0 This release is ABI compatible with the last release. The aom_roi_map_t struct, used only by the codec control AOME_SET_ROI_MAP, was modified in this release. Since AOME_SET_ROI_MAP was unimplemented, aom_roi_map_t was effectively an unused struct. Therefore aom_roi_map_t is to be considered as a new struct added in this release and this change does not break ABI compatibility. - New Features * New tuning mode AOM_TUNE_SSIMULACRA2 for the AOME_SET_TUNING codec control (--tune=ssimulacra2) in all-intra mode. The feature detection macro AOM_HAVE_TUNE_SSIMULACRA2, if defined, indicates that AOM_TUNE_SSIMULACRA2 is available. AOM_TUNE_SSIMULACRA2 was developed to maximize SSIMULACRA 2 scores. * New codec control AV1E_SET_SCREEN_CONTENT_DETECTION_MODE (--screen-detection-mode). This codec control helps select between two screen detection modes: * Mode 1: standard (default) * Mode 2: anti-aliased text and graphics aware * New codec control AV1E_SET_ENABLE_ADAPTIVE_SHARPNESS (--enable-adaptive-sharpness). When enabled, it modulates sharpness based on frame QP, which helps mitigate blocking artifacts in the low to medium quality range. * Added low complexity decode mode for 720p vertical videos. * ROI feature implemented for RTC: for delta QP, skip encoding, and reference selection. * External scaling feature for SVC: allow downscaled images to be passed into encoder for spatial layers without reconfiguring it. * Allow per-frame calculation of PSNR (contribution from Meta). - Compression Efficiency Improvements * Variance Boost is now enabled for tuning modes AOM_TUNE_IQ and AOM_TUNE_SSIMULACRA2 at speeds 8 and 9 (2-5% SSIMULACRA 2 BD-Rate gains) * Several quality/time tradeoff improvements and bug fixes for all intra mode speeds 8 and 9. * Up to 6.9% SSIMULACRA 2 BD-Rate gains for speed 8 * Up to 2.2% SSIMULACRA 2 BD-Rate gains for speed 9 - Perceptual Quality Improvements * RTC: Visual quality improvements for screen content mode. * RTC: Visual quality improvements for video mode for resolutions >= 720p. - Speedups * Optimize intraBC search for better speed/efficiency tradeoffs for all intra mode speeds >= 1 * Optimize intraBC block hashing process * RTC Screen: speed feature added to speed 12 for ~2x speedup on slide/scene changes, for resolutions >= 720p. * ML based speedup improvement on the partition pruning for speed <= 2 - Other Improvements * Fixes for RPS (reference picture selection) for RTC: Based on av1_discuss issue: https://groups.google.com/a/aomedia.org/g/av1-discuss/c/sqFad980SsA - Bug Fixes * b:421196988: all intra speed 8: overuse of palette mode unnecessarily inflating file sizes * b:423804955: Improve quality for 4K Screencast * webrtc:388070060: Allow per-frame calculation of PSNR * b:433046392, b:432035817: Fix to SVC crash triggered with Jitsi video conference app. * b:419622699: Fix integer overflow in update_buffer_level * b:407813259: Fix to update seq_params for number of layers change * b:400885218: External scaling for AV1 * b:391849810: High AV1 frame encode time on slide changes * b:399575647: Too aggressive QP backoff at scene changes * b:383306740: Quality degradation at horizontal scrolling Bug: 441135035 -
-
v3.12.1
10aece41 · ·Release v3.12.1 2025-04-11 v3.12.1 This release includes several bug fixes. This release is ABI compatible with the last release. See https://aomedia.googlesource.com/aom/+log/v3.12.0..v3.12.1 for all the commits in this release. - Bug Fixes * b:396169342: Assertion `av1_is_subpelmv_in_range(&ms_params.mv_limits, start_mv)' failed. * b:401671154: typo in void init_src_params(...) * Coverity defect 323670: Uninitialized scalar variable in encode_with_and_without_superres() * cmake: bump minimum version to 3.16 * cfl_ppc: fix subtract_average_vsx * Fix an incorrect index in av1_highbd_pixel_proj_error_neon Bug: 409848651 -
-
v3.12.0
3b624af4 · ·libaom v3.12.0 North Star release 2025-02-10 v3.12.0 This release includes new codec interfaces, compression efficiency and perceptual improvements, speedup and memory optimizations, and bug fixes. This release is ABI compatible with the last release. Five internal functions (aom_free, aom_malloc, aom_wb_bytes_written, aom_wb_write_bit, aom_wb_write_literal) that were exported by mistake are no longer exported from the libaom shared library. The removal of these internal functions from the ABI is a bug fix and does not break ABI compatibility. Acknowledgments: The image quality optimizations in the new tuning mode AOM_TUNE_IQ were originally developed for SVT-AV1-PSY by Cole Ogaard, Gianni Rosato, Julio Barba, and Zakaria Djebrouni. - New Features * New tuning mode AOM_TUNE_IQ (image quality) for the AOME_SET_TUNING codec control (--tune=iq) in all-intra mode. The feature detection macro AOM_HAVE_TUNE_IQ, if defined, indicates that AOM_TUNE_IQ is available. The image quality optimizations in AOM_TUNE_IQ were developed by using the SSIMULACRA 2 metric for guidance and validated with subjective visual quality checks. * New value 6 for the AV1E_SET_DELTAQ_MODE codec control (--deltaq-mode): use modulation for all intra using Variance Boost. Variance Boost is a variance adaptive quantization implementation that modulates qindex depending on the ratio of low-variance to high-variance 8x8 subblocks within a 64x64 superblock, as well as the actual variance of the subblocks themselves. * New value 3 for the AV1E_SET_ENABLE_CDEF codec control (--enable-cdef): Enable CDEF adaptively based on frame qindex. * In all-intra mode, the AOME_SET_SHARPNESS codec control now also sets the loop_filter_sharpness syntax element in the bitstream. Larger values increasingly reduce how much the filtering can change the sample values on block edges to favor perceived sharpness. * In all-intra mode, the default value of the AV1E_SET_QM_MIN codec control is decreased to 4, and the default value of the AV1E_SET_QM_MAX codec control is increased to 10. The default values in good-quality and realtime modes remain unchanged (5 and 9, respectively). - Compression Efficiency Improvements * Tuning mode AOM_TUNE_IQ improves image compression efficiency on the CLIC dataset by up to 12% for the same SSIMULACRA 2 score, up to 14% for the same DSSIM score, and up to 17% for the same Butteraugli score. * ~3% BD-rate gains for speed 11 VGA camera mode. * ~5% BD-rate gains for speed 11 on scroll clips screen mode. - Perceptual Quality Improvements * Adjust temporal filter strength for better visual quality. * RTC screen: visual quality improvements for scrolling and for scene/slide changes. * RTC camera mode: visual quality improvements for speed 11 VGA. - Speedup and Memory Optimizations * Optimize the Arm Neon implementation of the loop filter functions with an average uplift of 15 - 25% in microbenchmarks. * Add the CDEF optimization for RISC-V. * Help the compiler generate better vectorized code for variance calculation and warped motion in generic CPU builds. * Make several arrays const. - Other Improvements * Binary size reduction: 1 - 2% compared with last release, with CONFIG_REALTIME_ONLY enabled, CONFIG_AV1_DECODER and CONFIG_AV1_HIGHBITDEPTH disabled. * Build: compile source files in parallel under MSVC. - Bug Fixes * Fix bug where metadata added with aom_img_add_metadata was lost when frame scaling was used. * Bug b:383306740: RTC: Fix to issues with scrolling for screen content. * Bug b:382465458: RTC: Fix to artifact for grayscale input. * Bug b:380247338: RTC: Fix to encode_time spikes on scene/slide changes. * RTC: Fix to rate correction factor update for VBR screen mode. https://groups.google.com/a/aomedia.org/g/av1-discuss/c/nJxECdg-7P8 * Bug b:378401081: RTC: Fix to cyclic refresh update for external RC (rate control). Bug: 394596176 -
-
-
v3.11.0
d6f30ae4 · ·Release v3.11.0 Minty 2024-11-14 v3.11.0 Minty This release includes perceptual quality improvements, binary size reduction under certain configurations and many bug fixes. This release changes the default encoder configuration for the AOM_USAGE_REALTIME mode. This release is ABI compatible with the last release. - Perceptual Quality Improvements * Visual quality improvements for RTC screen content * Higher quality on scene or slide changes * Faster quality ramp-up for static content after scene change * Quality improvements for screen content with active maps - Speedup * Added and improved Neon SIMD paths for dynamic frame scaling with ~1.5% overall encoding speedup. - Other Improvements * Binary size reduction: 10% compared with last release, with CONFIG_REALTIME_ONLY enabled, CONFIG_AV1_DECODER and CONFIG_AV1_HIGHBITDEPTH disabled. * Update default_extra_cfg for CONFIG_REALTIME_ONLY to provide proper RTC defaults settings * Change the default valuess of the following encoder config options in the AOM_USAGE_REALTIME mode: * rc_overshoot_pct and rc_undershoot_pct are changed from 25 to 50 * rc_buf_sz is changed from 6000 to 1000 * rc_buf_initial_sz is changed from 4000 to 600 * rc_buf_optimal_sz is changed from 5000 to 600 - Bug Fixes * aomedia:363016123: rtc: Fix setting of intra-only frame for set_ref_frame_config and add checks * aomedia:42302583: rtc: Fix for artifacts for screen with active_maps * b:365088425: rtc: Allow for lower-QP on scene/slide changes * b:367285382: Fix to encoder quality max-out too early for screen * b:362936830: rtc: Allow QP to decrease more aggressively for static content * b:361617762: Clamp the calculation of sb64_target_rate to INT_MAX * chromium:362123224: rtc-svc: Reset ref_map_idx for references not used * chromium:367892770: Fix to possible integer overflow in reset_rc * webrtc:369633254: rtc-svc: Fix to reset ref_idx for svc * Fix exit condition in rate correction updateA -
-
-
-