12024-10-24 v3.11.0 2 This release includes perceptual quality improvements, binary size reduction 3 under certain configurations and many bug fixes. This release changes the 4 default encoder configuration for the AOM_USAGE_REALTIME mode. This release 5 is ABI compatible with the last release. 6 7 - Perceptual Quality Improvements 8 * Visual quality improvements for RTC screen content 9 * Higher quality on scene or slide changes 10 * Faster quality ramp-up for static content after scene change 11 * Quality improvements for screen content with active maps 12 13 - Speedup 14 * Added and improved Neon SIMD paths for dynamic frame scaling with ~1.5% 15 overall encoding speedup. 16 17 - Other Improvements 18 * Binary size reduction: 10% compared with last release, with 19 CONFIG_REALTIME_ONLY enabled, CONFIG_AV1_DECODER and 20 CONFIG_AV1_HIGHBITDEPTH disabled. 21 * Update default_extra_cfg for CONFIG_REALTIME_ONLY to provide proper RTC 22 defaults settings 23 * Change the default valuess of the following encoder config options in the 24 AOM_USAGE_REALTIME mode: 25 * rc_overshoot_pct and rc_undershoot_pct are changed from 25 to 50 26 * rc_buf_sz is changed from 6000 to 1000 27 * rc_buf_initial_sz is changed from 4000 to 600 28 * rc_buf_optimal_sz is changed from 5000 to 600 29 30 - Bug Fixes 31 * aomedia:363016123: rtc: Fix setting of intra-only frame for 32 set_ref_frame_config and add checks 33 * aomedia:42302583: rtc: Fix for artifacts for screen with active_maps 34 * b:365088425: rtc: Allow for lower-QP on scene/slide changes 35 * b:367285382: Fix to encoder quality max-out too early for screen 36 * b:362936830: rtc: Allow QP to decrease more aggressively for static 37 content 38 * b:361617762: Clamp the calculation of sb64_target_rate to INT_MAX 39 * chromium:362123224: rtc-svc: Reset ref_map_idx for references not used 40 * chromium:367892770: Fix to possible integer overflow in reset_rc 41 * webrtc:369633254: rtc-svc: Fix to reset ref_idx for svc 42 * Fix exit condition in rate correction update 43 442024-08-27 v3.10.0 45 This release includes new codec interfaces, compression efficiency and 46 perceptual improvements, speedup and memory optimizations and many bug 47 fixes. This release is ABI compatible with the last release. 48 49 The definitions of the internal macros AOM_INLINE and AOM_FORCE_INLINE 50 have been removed from the public header aom/aom_integer.h. 51 52 - New Features 53 * New codec controls: 54 * AV1E_SET_AUTO_TILES 55 * AV1E_GET_HIGH_MOTION_CONTENT_SCREEN_RTC 56 * AV1E_SET_POSTENCODE_DROP_RTC: Post encode frame drop feature. 57 * AV1E_SET_MAX_CONSEC_FRAME_DROP_MS_CBR 58 * New key-value pair for aom_codec_set_option(): 59 * "auto-tiles": equivalent to the new codec control 60 AV1E_SET_AUTO_TILES. 61 62 - Deprecated Features 63 * Deprecated codec control: 64 * AV1E_SET_MAX_CONSEC_FRAME_DROP_CBR: Use the new codec control 65 AV1E_SET_MAX_CONSEC_FRAME_DROP_MS_CBR instead. 66 * The sframe_mode field in the aom_codec_enc_cfg_t struct is not 67 implemented. 68 69 - Compression Efficiency Improvements 70 * BD-rate gain of 0.7 - 1.3% (by enabling global motion tool) for 71 speed 5 and speed 6 with ~5% encode time increase. 72 * RTC speed 11 video: ~3-5% BD-rate gain for VGA and QVGA. 73 74 - Perceptual Quality Improvements 75 * RTC quality improvements for slide changes and scrolling content. 76 77 - Speedup and Memory Optimizations 78 * RTC screen content speedups: 79 * ~2x speedup for high motion content for speed 11. 80 * ~2x speedup on key frame coding for speed >= 10. 81 * Arm: Significant uplifts in speed in this release (vs v3.9.1) have 82 come from tuning the various convolutions according to filter size 83 (doing 8-tap when only 2-tap is required is inefficient) and also 84 deploying Armv8.6 USMMLA instructions in 6-tap and 12-tap standard 85 bitdepth convolutions. 86 * Standard bitdepth RTC: 87 * speed 5: +5% 88 * speed 6: +4% 89 * speed 7: +5% 90 * speed 8: +4% 91 * speed 9: +6% 92 * speed 10: +6% 93 * Standard bitdepth VoD: 94 * speed 0: +9% 95 * speed 1: +12% 96 * speed 2: +9% 97 * speed 3: +3% 98 * speed 4: +3% 99 * speed 5: -9% (expected due to global motion changes) 100 * speed 6: -3% (expected due to global motion changes) 101 * High bitdepth VoD: 102 * speed 0: +4% 103 * speed 1: +19% 104 * speed 2: +23% 105 * speed 3: +1% 106 * speed 4: +1% 107 * speed 5: -8% (expected due to global motion changes) 108 * speed 6: -3% (expected due to global motion changes) 109 * Standard bitdepth 2x1 horizontal super-resolution/scaling 110 encoding: +101% 111 112 - Other Improvements 113 * Reduce bit rate overshoot on slide content. 114 115 - Bug Fixes 116 * rtc: Bug fix for active_maps with sb_size=128. 117 * b:343429036: rtc: Fix source_sad setting near boundary. 118 * Fix to QP for temporal enhancement after key frame. 119 * b:343429192: rtc: Condition QP adjustment on rc->q_1/2_frame > 0. 120 1212024-06-07 v3.8.3 122 This release includes several bug fixes. This release is ABI 123 compatible with the last release. See 124 https://aomedia.googlesource.com/aom/+log/v3.8.2..v3.8.3 for all the 125 commits in this release. 126 127 - Bug Fixes 128 * aomedia:2754, aomedia:3567: Ensure thread stack size is at least 129 256 KB 130 * aomedia:3382, chromium:339877165: update codec config after 131 svc/scale controls (CVE-2024-5493) 132 * aomedia:3561: libaom-3.8.2 armv7 Android build failed 133 * aomedia:3580: Allow g_timebase.num to be greater than 134 g_timebase.den 135 * Arm SVE build fixes. 136 * av1_block_error_lp_neon: fix block_size param type 137 1382024-06-05 v3.9.1 139 This release includes several bug fixes. This release is ABI 140 compatible with the last release. See 141 https://aomedia.googlesource.com/aom/+log/v3.9.0..v3.9.1 for all the 142 commits in this release. 143 144 - Bug Fixes 145 * aomedia:2754, aomedia:3567: Ensure thread stack size is at least 146 256 KB 147 * b:330639949, oss-fuzz:68195: Increase scaling in linsolve_wiener 148 * Fix high target data rate overflow. 149 * aomedia:3509: Fix two UBSan errors in av1_rc_update_framerate() 150 * aomedia:3382, chromium:339877165: update codec config after 151 svc/scale controls (CVE-2024-5493) 152 * aomedia:3561: libaom-3.8.2 armv7 Android build failed 153 * aomedia:3571: {,highbd_}intrapred_neon.c: Avoid over-reads in z1 154 and z3 preds 155 * aomedia:3578: libaom-3.9.0 undefined reference to 156 `aom_sub_pixel_variance16xh_ssse3' 157 * aomedia:3579: Use round for RC calculations in cyclic_refresh 158 * aomedia:3580: Allow g_timebase.num to be greater than 159 g_timebase.den 160 * oss-fuzz:68774: libaom:av1_dec_fuzzer: Segv on unknown address in 161 od_ec_dec_init 162 * Arm SVE build fixes. 163 * av1_block_error_lp_neon: fix block_size param type 164 * av1_block_error_lp_sve: fix block_size param type 165 1662024-04-09 v3.9.0 167 This release includes new codec interfaces, compression efficiency and 168 perceptual improvements, speedup for RTC for both video and screen content, 169 and many bug fixes. This release is ABI compatible with the previous release. 170 171 - New Features 172 * New codec control 173 * AV1E_SET_SVC_FRAME_DROP_MODE is added to configure the SVC encoder to 174 only drop spatial layers or the whole superframe. 175 * Active Map is fixed and tested for RTC. 176 * CONFIG_QUANT_MATRIX is added to disable quantization matrices when aom 177 decoder is disabled with CONFIG_AV1_DECODER. Reduces ~10% binary size when 178 both are disabled. 179 * libwebm is updated to libwebm-1.0.0.31-1-gaffd7f4. 180 181 - Compression Efficiency Improvements 182 * RTC encoding improvements 183 * 1-2% BD-rate gain for screen content with temporal layers; 5% BD-rate 184 gain on scrolling content. 185 186 - Perceptual Quality Improvements 187 * For RTC screen content 188 * Reduced color artifacts for RTC screen content 189 * Visual quality improved for scene changes for SVC with quality layers. 190 * Removed visual artifacts for speed 11 191 192 - Speedups: 193 * RTC Speed 11: aggressive speedup setting added for video mode, 194 resolutions <= VGA: ~30% faster than speed 10. 195 * 5-9% speed up for high bit-depth encoding with good mode on Arm, half of 196 which comes from SVE/SVE2 optimizations. 197 198 - Other improvements 199 * Further improvements to global motion estimation. 200 * Documented minimum required SIMD support: SSE4.1 on x86, Neon on Arm. 201 * Remove unneeded SIMD functions, saving >100 KiB from binary size. 202 * Cleaned up and improved pattern_search. 203 * Added end-to-end c vs SIMD bit-exactness test. 204 * Added config flag to calc psnr using libvmaf peak: use a slightly 205 different peak value for PSNR (1020 and 2040 for 10- and 12-bit) 206 207 - Bug Fixes 208 * Fuzzing bug fixes 209 * b/329485898 Null-dereference WRITE in av1_cdef_frame_mt 210 * b/329810149 Null-dereference WRITE in av1_cdef_copy_sb8_16 211 * b/329813868 Ill in av1_cdef_frame_mt 212 * chromium:327882824 Null-dereference WRITE in av1_cdef_init_fb_row 213 * b/330014723 Null-dereference WRITE in 214 cdef_copy_rect8_16bit_to_16bit_avx2 215 * b/310455204 Null-dereference WRITE in prepare_enc_workers 216 * b/314858909 Heap-buffer-overflow in aom_variance64x64_avx2 217 * oss-fuzz:67132 av1_dec_fuzzer: ASSERT: (pbi->tile_count_minus_1 + 1) <= 218 (pbi->output_frame_width_in_tiles_minus_1 + 1) 219 * oss-fuzz:67058 av1_dec_fuzzer: ASSERT: i == 0 || tile_w == *w 220 * oss-fuzz:67161 av1_dec_fuzzer: ASSERT: i == 0 || tile_h == *h 221 * oss-fuzz:67059 av1_dec_fuzzer: Crash in mem_get_varsize 222 * oss-fuzz:67162 av1_dec_fuzzer: Use-of-uninitialized-value in 223 od_ec_decode_bool_q15 224 * oss-fuzz:67184 av1_dec_fuzzer: Heap-buffer-overflow in od_ec_dec_init 225 * oss-fuzz:67216 av1_dec_fuzzer: Heap-buffer-overflow in 226 od_ec_dec_normalize 227 * oss-fuzz:67055 av1_dec_fuzzer: Heap-buffer-overflow in 228 get_ls_tile_buffers 229 * libaom library 230 * aomedia:3510 Large value of duration could cause encoder overflow 231 * chromium:328105513 Fix build conflicts between Abseil and libaom/libvpx 232 in Win ARM64 builds 233 * aomedia:3544 AV1/SharpnessTestLarge.SharpnessPSNRTest failures after 234 59c592bb8 235 * aomedia:3531 Exception encountered with PSNR calculation 236 * aomedia:3541 Can not compile correctly by CYGWIN 237 * chromium:41482688 heap-buffer-overflow write in vpx_img_read() 238 (tools_common.c) with VPX_IMG_FMT_NV12 239 * aomedia:3521 Assertion failures on Arm in CNNTest.* in 240 av1_cnn_convolve_no_maxpool_padding_valid_2x2_neon and 241 av1_cnn_convolve_no_maxpool_padding_valid_5x5_neon 242 * aomedia:3486 C vs NEON mismatch in AV1 encoder 243 * aomedia:3536 Over write in highbd_dr_prediction_z3_upsample1_neon() 244 * aomedia:3276 Significant progress on ensuring all allocations are 245 checked 246 * aomedia:3491 heap-buffer-overflow encoding frames of size 256x256, 247 512x512 in good quality usage mode using 4 threads 248 * aomedia:3322 PSNR number discrepancy 249 * aomedia:3493 Cmake generates garbage symbols for libaom_srcs.gni 250 * aomedia:3478 GCC 12.2.0 emits a -Wstringop-overflow warning on 251 aom/av1/encoder/motion_search_facade.c 252 * aomedia:3484 C vs NEON mismatch in AV1 encoder for high-bitdepth case 253 2542024-03-08 v3.8.2 255 This release includes several bug fixes. This release is ABI 256 compatible with the last release. See 257 https://aomedia.googlesource.com/aom/+log/v3.8.1..v3.8.2 for all the 258 commits in this release. 259 260 - Bug Fixes 261 * aomedia:3523: SIGFPE in av1_twopass_postencode_update() 262 pass2_strategy.c:4261. 263 * aomedia:3535, b/317646516: Over reads in aom_convolve_copy_neon(). 264 * aomedia:3543: invalid feature modifier when compiling 265 aom_dsp/arm/aom_convolve8_neon_i8mm.c on Debian 10 with arm64 266 architecture. 267 * aomedia:3545: Failed to parse configurations due to inconsistent 268 elements between two arrays "av1_ctrl_args" and "av1_arg_ctrl_map" 269 in aomenc.c. 270 * oss-fuzz:66474, b/319140742: Integer-overflow in search_wiener. 271 * Zero initialize an array in cdef search. 272 2732024-01-17 v3.8.1 274 This release includes several bug fixes. This release is ABI 275 compatible with the last release. See 276 https://aomedia.googlesource.com/aom/+log/v3.8.0..v3.8.1 for all the 277 commits in this release. 278 279 - Bug Fixes 280 * aomedia:3520: get_cubic_kernel_dbl: Assertion `0 <= x && x < 1' 281 failed. 282 * aomedia:3526: alloc_compressor_data() is called during every 283 aom_codec_control() call on the encoder. 284 * aomedia:3527: aom/av1/encoder/mcomp.c:1810: av1_full_pixel_search: 285 Assertion `ms_params->ms_buffers.ref->width == 286 ms_params->ms_buffers.src->width' failed. 287 * aomedia:3534: libaom encoder crashed by AOM_USAGE_ALL_INTRA and 288 AOM_EFLAG_NO_REF_LAST flags. 289 * b/310455204: Recreate workers if necessary. 290 * b/310548198: Update frame size in actual encoding. 291 * b/314858909: Do not use adaptive error estimate. 292 * Fix a hang of cmake on arm64 macOS with cmake 3.27.0 or later. 293 2942024-01-18 v3.7.2 295 This release includes three bug fixes. This release is ABI compatible 296 with the last release. See 297 https://aomedia.googlesource.com/aom/+log/v3.7.1..v3.7.2 for all the 298 commits in this release. 299 300 - Bug Fixes 301 * aomedia:3520: get_cubic_kernel_dbl: Assertion `0 <= x && x < 1' 302 failed. 303 * aomedia:3526: alloc_compressor_data() is called during every 304 aom_codec_control() call on the encoder. Note that this partially 305 reverts the fix for bug aomedia:3349. 306 * b/310457427 and b/310766628: Only use rec_sse in CBR mode. 307 * Fix a hang of cmake on arm64 macOS with cmake 3.27.0 or later. 308 3092023-11-30 v3.8.0 310 This release includes new codec interfaces, compression efficiency and 311 perceptual improvements, speedup and memory optimizations and many bug 312 fixes. This release is ABI compatible with the last release. 313 314 - New Features 315 * New codec controls: 316 * AV1E_SET_MAX_CONSEC_FRAME_DROP_CBR: Set the maximum number of 317 consecutive frame drops allowed for the frame dropper in 1 pass 318 CBR mode. 319 * Run-time CPU feature detection for all Arm platforms: 320 CRC, DotProd, I8MM and SVE CPU feature presence is detected at run 321 time and code paths making use of these features are selected 322 dynamically. These code paths provide meaningful performance gains 323 for standard bitdepth RTC and VoD encoding: up to 10% and 20% 324 respectively, over the Armv8.0-A baseline build. 325 * RTC: Frame-dropper support added to the rate control library. 326 * RTC Rate control improvements for low bitrate and for SVC. 327 328 - Compression Efficiency Improvements 329 * Improved accuracy of cost estimation for loop restoration and 330 global motion. 331 * Improved selection of loop restoration unit size - full search up 332 to (non-realtime) speed 2, retuned static selection at higher 333 speeds. 334 * RTC Screen content mode: 3-5% bdrate gains across speeds 7 - 10. 335 * Good-quality mode: 0.2 - 0.5% bdrate gains across speeds 1 - 4. 336 337 - Perceptual Quality Improvements 338 * RTC Screen: Improved visual quality for scrolling. 339 * RTC: Improved color quality for both screen and video mode. 340 341 - Speedup and Memory Optimizations 342 * Good-quality, single-thread encoder speedups: 343 o 15% improvement for speed 5. 344 o 12% improvement for speed 6. 345 * Arm standard bitdepth VoD (--good): 346 o 8% speedup for speeds 0 and 1. 347 o 20% speedup for speed 2. 348 o 27% speedup for speed 3. 349 o 30% speedup for speed 4. 350 o 38% speedup for speeds 5 and 6. 351 * Arm high bitdepth VoD (--good): 352 o 206% speedup for speeds 0 and 1. 353 o 180% speedup for speed 2. 354 o 51% speedup for speeds 3 and 4. 355 o 68% speedup for speed 5. 356 o 72% speedup for speed 6. 357 * RTC Screen content: 2-6% speedup across speeds 7-10. 358 * RTC: 2-3% speedup for temporal layers. 359 * RTC: Speedups to reference scaling in nonrd pickmode. 360 * Good-quality mode: Simplified global motion estimation, saving 361 ~1200 lines of code and 1KB of tables while improving quality. 362 363 - Bug Fixes 364 * Fixes to improve libaom stability in case of memory allocation 365 failures. 366 * Fixes to SIMD functions (x86 AVX2/SSE2 and ARM Neon). 367 * b/310457427, b/310766628: Bug fixes to only use rec_sse in CBR 368 mode. 369 3702023-11-17 v3.7.1 371 This release includes several bug fixes. This release is ABI 372 compatible with the last release. See 373 https://aomedia.googlesource.com/aom/+log/v3.7.0..v3.7.1 for all the 374 commits in this release. 375 376 - Bug Fixes 377 * aomedia:3349: heap overflow when increasing resolution 378 * aomedia:3478: GCC 12.2.0 emits a -Wstringop-overflow warning on 379 aom/av1/encoder/motion_search_facade.c 380 * aomedia:3489: Detect encoder and image high bit depth mismatch 381 * aomedia:3491: heap-buffer-overflow on frame size change (CVE-2023-6879) 382 * b/303023614: Segfault at encoding time for high bit depth images 383 3842023-08-10 v3.7.0 385 This release includes new codec interfaces, compression efficiency and 386 perceptual improvements, speedup and memory optimizations and many bug fixes. 387 This release is ABI compatible with the last release. 388 389 - New Features 390 * New codec controls: 391 * AV1E_SET_QUANTIZER_ONE_PASS: Set quantizer for each frame. 392 * AV1E_ENABLE_RATE_GUIDE_DELTAQ: enable the rate distribution guided delta 393 quantization in all intra mode. The "enable-rate-guide-deltaq" option is 394 added for this control. 395 * AV1E_SET_RATE_DISTRIBUTION_INFO: set the input file for rate 396 distribution used in all intra mode. The "rate-distribution-info" option 397 is added for this control. 398 * AV1E_GET_LUMA_CDEF_STRENGTH 399 * AV1E_SET_BITRATE_ONE_PASS_CBR 400 * AOM_SCALING_MODE is extended to include 2/3 and 1/3 scaling. 401 * aom_tune_metric is extended to include AOM_TUNE_VMAF_SALIENCY_MAP. 402 The "tune" option is extended to include "vmaf_saliency_map". 403 * SVC example encoder svc_encoder_rtc is able to use the rate control 404 library. 405 * Loopfilter level and CDEF filter level is supported by RTC rate control 406 library. 407 * New speed (--cpu-used) 11, intended for RTC screen sharing, added for 408 faster encoding with ~3% bdrate loss with 16% IC (instruction count) 409 speedup compared to speed 10. 410 411 - Compression Efficiency Improvements 412 * Improved VoD encoding performance 413 * 0.1-0.6% BDrate gains for encoding speeds 2 to 6 414 * Rate control accuracy improvement in VBR mode 415 * RTC encoding improvements 416 * Screen content mode: 10-19% BDrate gains for speeds 6 - 10 417 * Temporal layers video mode, for speed 10: 418 * 2 temporal layers on low resolutions: 13-15% BDrate gain 419 * 3 temporal layers on VGA/HD: 3-4% BDrate gain 420 421 - Perceptual Quality Improvements 422 * Fixed multiple block and color artifacts for RTC screen content by 423 * Incorporating color into RD cost for IDTX 424 * Reducing thresholds for palette mode in non RD mode 425 * Allowing more palette mode testing 426 * Improved color sensitivity for altref in non-RD mode. 427 * Reduced video flickering for temporal layer encoding. 428 429 - Speedup and Memory Optimizations 430 * Speed up the VoD encoder 431 * 2-5% for encoding speed 2 to 4 432 * 9-15% for encoding speed 5 to 6 433 * ARM 434 * Standard bitdepth 435 * speed 5: +31% 436 * speed 4: +2% 437 * speed 3: +9% 438 * speed 2: +157% 439 * High bitdepth 440 * speed 5: +85% 441 * RTC speedups 442 * Screen content mode 443 * 15% IC speedup for speeds 6-8 444 * ARM: 7% for speed 9, 3% for speed 10 445 * Temporal layers video mode 446 * 7% speedup for 3 temporal layers on VGA/HD, for speed 10 447 * Single layer video 448 * x86: 2% IC speedup for speeds 7-10 449 * ARM: 2-4% speedup across speeds 5-10 450 451 - Other improvements 452 * VoD: Major improvements to global motion estimation, now enabled up to 453 speed 4 454 * RTC 455 * Fixes to make lossless coding work. 456 * Fixes to make frame dropper (--drop_frames) work for single and temporal 457 layers. 458 * Improvements to RPS (reference picture selection) recovery frames. 459 * Improvements to rate control for temporal layers. 460 * libwebm is updated to libwebm-1.0.0.29-9-g1930e3c 461 462 - Bug Fixes 463 * aomedia:3261 Assertion failed when encoding av1 with film grain and 464 '--monochrome' flag 465 * aomedia:3276 ensure all allocations are checked (partial fix) 466 * aomedia:3451 The libaom library calls exit() 467 * aomedia:3450 enable -Wshadow for C++ sources 468 * aomedia:3449 Test Seg Faults After 469 b459af3e345be402db052a143fcc5383d4b74cbd 470 * aomedia:3416 prune unused symbols / restrict symbol visibility 471 * aomedia:3443 Jenkins failure: 472 UninstantiatedParameterizedTestSuite<EstimateNoiseTest> 473 * aomedia:3434 realtime failures with CONFIG_BITSTREAM_DEBUG=1 474 * aomedia:3433 DeltaqModeTest crash w/row_mt=0 475 * aomedia:3429 Encoder crash when turn on both ExternalResize and 476 g_threads > 2 477 * aomedia:3438 Build failure with 478 `-DSANITIZE=address -DBUILD_SHARED_LIBS=ON` when using clang. 479 * aomedia:3435 Block artifacts when scrolling with AV1 in screen sharing 480 scenarios 481 * aomedia:3170 vmaf tune presets produce extreme glitches in one scene 482 * aomedia:3401 Building shared libaom with MSVC results in a race condition 483 with the export library 484 * aomedia:3420 Floating point exception in av1_tpl_get_frame_importance() 485 * aomedia:3424 heap-buffer-overflow in ScaleFilterCols_16_C() (SIGABRT) 486 * aomedia:3417 examples/svc_encoder_rtc.c is using internal macros and 487 functions 488 * aomedia:3372 SEGV in assign_frame_buffer_p av1_common_int.h 489 * aomedia:3130 'cpu-features.h' file not found on Android NDK 22 490 * aomedia:3415 Encoder/decoder mismatch for svc_encoder_rtc running 491 1 SL 3 TL 492 * aomedia:3412 Lossless Mode Fails Loopback Bit Test 493 * aomedia:3409 The use of AV1_VAR_OFFS in av1/encoder/var_based_part.c is 494 incorrect for high bit depths 495 * aomedia:3403 test_libaom fails with error message 496 "feenableexcept() failed" on Linux arm 497 * aomedia:3370 Random color block at fast motion area 498 * aomedia:3393 Assertion failure in av1_convolve_2d_sr_c() 499 * aomedia:3392 Strong artifacting for high bit-depth real-time 500 * aomedia:3376 aomenc --threads=10 --deltaq-mode=3 crashes after 501 "Allintra: multi-threading of calculating differential contrast" 502 * aomedia:3380 Crashes and ASan and TSan errors in deltaq-mode=3 503 multithreading code 504 * chromium:1410766 heap-buffer-overflow in aom_yv12_copy_v_c 505 * Cannot set level via AV1E_SET_TARGET_SEQ_LEVEL_IDX 506 * Encoding failure due to the use of loop restoration with unintended use of 507 lossless mode. 508 * Signed integer overflow in scan_past_frames 509 * Signed integer overflow in update_a_sep_sym 510 * Flickering in AV1 1440p/2160p HDR transcodes 511 * Fixed artifacts with screen share at encoder speed 10 512 * Fixed prediction setup for IDTX 513 5142023-05-08 v3.6.1 515 This release includes several bug fixes. This release is ABI 516 compatible with the last release. See 517 https://aomedia.googlesource.com/aom/+log/v3.6.0..v3.6.1 for all the 518 commits in this release. 519 520 - Bug Fixes 521 * aomedia:2871: Guard the support of the 7.x and 8.x levels for AV1 522 under the CONFIG_CWG_C013 config flag, and only output the 7.x and 523 8.x levels when explicitly requested. 524 * aomedia:3382: Choose sb_size by ppi instead of svc. 525 * aomedia:3384: Fix fullpel search limits. 526 * aomedia:3388: Replace left shift of xq_active by multiplication. 527 * aomedia:3389: Fix MV clamping in av1_mv_pred. 528 * aomedia:3390: set_ld_layer_depth: cap max_layer_depth to 529 MAX_ARF_LAYERS. 530 * aomedia:3418: Fix MV clamping in av1_int_pro_motion_estimation. 531 * aomedia:3429: Move lpf thread data init to lpf_pipeline_mt_init(). 532 * b:266719111: Fix undefined behavior in Arm Neon code. 533 * b:269840681: nonrd_opt: align scan tables. 534 * rtc: Fix is_key_frame setting in variance partition. 535 * Build: Fix build with clang-cl and Visual Studio. 536 * Build: Fix module definition file for MinGW/MSYS. 537 5382023-02-03 v3.6.0 539 This release includes compression efficiency and perceptual quality 540 improvements, speedup and memory optimizations, and some new features. 541 This release is ABI compatible with the last release. 542 543 - New Features 544 * New values 20-27 (corresponding to levels 7.0-7.3 and 8.0-8.3) for 545 the encoder control AV1E_SET_TARGET_SEQ_LEVEL_IDX (note that the 546 proposal to add the new levels are still in draft status). The 547 original special value 24 (keep level stats only for level 548 monitoring) is renumbered as 32. 549 * New encoder control AV1E_SET_SKIP_POSTPROC_FILTERING to skip the 550 application of post-processing filters on reconstructed frame in 551 all intra mode. 552 * New encoder option "kf-max-pyr-height": Maximum height of pyramid 553 structure used for the GOP starting with a key frame (-1 to 5). 554 * Make SVC work for screen content. 555 * Rate control improvements to reduce frame-size spikes for screen 556 content coding. 557 * RISC-V architecture support with gcc toolchain. 558 559 - Compression Efficiency Improvements 560 * Peak compression efficiency in VOD setting is improved by 1%. 561 * 0.7% - 2.2% RTC encoding BDrate gains for real time speed 8 to 10. 562 * 15% RTC encoding BDrate gains for screen content speed 10. 563 564 - Perceptual Quality Improvements 565 * Resolved a visual quality issue that was reported for high 566 resolution clips (2K) for speed 4 and above in VOD use case. 567 * Visual quality improvements to screen content coding. 568 * Quality improvements to temporal layer RTC coding. 569 570 - Speedup and Memory Optimizations 571 * RTC single-thread encoder speedup: 572 o ~6% instruction count reduction for speed 5 and 6. 573 o ~15% instruction count reduction for speed 7. 574 o ~10% instruction count reduction for speed 8 to 10 (>=360p 575 resolutions). 576 * RTC multi-thread encoder speedup (beyond single-thread speedup): 577 o 5-8% encode time reduction for speed 7 to 10. 578 * RTC screen-content encoder speedup: 579 o 11% instruction count reduction for speed 9 and 10 (>=720p 580 resolutions). 581 * ~5% reduction in heap memory requirements for RTC, speed 6 to 10. 582 * AVIF: 583 o 4-5% speedup for speed 9 in still-picture encoding mode. 584 o 3-4% heap memory reduction in still-picture encoding mode for 585 360p-720p resolutions with multiple threads. 586 587 - Bug Fixes 588 * Added a workaround for an AV1 specification bug which makes 589 TRANSLATION type global motion models unusable. 590 * Fixed AddressSanitizer global-buffer-overflow errors in 591 av1/encoder/arm/neon/av1_fwd_txfm2d_neon.c. 592 * Fixed AddressSanitizer heap-buffer-overflow error in 593 av1_wiener_convolve_add_src_neon(). 594 * chromium:1393384 Avoid scene detection on spatial resize. 595 * aomedia:3308 Remove color artifacts under high motion. 596 * aomedia:3310 Avoid out of memory failures with Visual Studio 2017, 597 2019, and 2022 for Win32 x86 builds. 598 * aomedia:3346 Make SVC work properly for screen content. 599 * aomedia:3348 Fix a bug where an uninitialized search_site is used. 600 * aomedia:3365 Work around what seems like a Visual Studio 2022 601 compiler optimization bug. 602 * aomedia:3369 Incorrect PSNR values reported by libaom for 12-bit 603 encode. 604 6052022-08-31 v3.5.0 606 This release is ABI compatible with the last one, including speedup and memory 607 optimizations, and new APIs and features. 608 609 - New Features 610 * Support for frame parallel encode for larger number of threads. --fp-mt 611 flag is available for all build configurations. 612 * New codec control AV1E_GET_NUM_OPERATING_POINTS 613 614 - Speedup and Memory Optimizations 615 * Speed-up multithreaded encoding for good quality mode for larger number of 616 threads through frame parallel encoding: 617 o 30-34% encode time reduction for 1080p, 16 threads, 1x1 tile 618 configuration (tile_rows x tile_columns) 619 o 18-28% encode time reduction for 1080p, 16 threads, 2x4 tile 620 configuration 621 o 18-20% encode time reduction for 2160p, 32 threads, 2x4 tile 622 configuration 623 * 16-20% speed-up for speed=6 to 8 in still-picture encoding mode 624 * 5-6% heap memory reduction for speed=6 to 10 in real-time encoding mode 625 * Improvements to the speed for speed=7, 8 in real-time encoding mode 626 * Improvements to the speed for speed=9, 10 in real-time screen encoding 627 mode 628 * Optimizations to improve multi-thread efficiency in real-time encoding 629 mode 630 * 10-15% speed up for SVC with temporal layers 631 * SIMD optimizations: 632 o Improve av1_quantize_fp_32x32_neon() 1.05x to 1.24x faster 633 o Add aom_highbd_quantize_b{,_32x32,_64x64}_adaptive_neon() 3.15x to 5.6x 634 faster than "C" 635 o Improve av1_quantize_fp_64x64_neon() 1.17x to 1.66x faster 636 o Add aom_quantize_b_avx2() 1.4x to 1.7x faster than aom_quantize_b_avx() 637 o Add aom_quantize_b_32x32_avx2() 1.4x to 2.3x faster than 638 aom_quantize_b_32x32_avx() 639 o Add aom_quantize_b_64x64_avx2() 2.0x to 2.4x faster than 640 aom_quantize_b_64x64_ssse3() 641 o Add aom_highbd_quantize_b_32x32_avx2() 9.0x to 10.5x faster than 642 aom_highbd_quantize_b_32x32_c() 643 o Add aom_highbd_quantize_b_64x64_avx2() 7.3x to 9.7x faster than 644 aom_highbd_quantize_b_64x64_c() 645 o Improve aom_highbd_quantize_b_avx2() 1.07x to 1.20x faster 646 o Improve av1_quantize_fp_avx2() 1.13x to 1.49x faster 647 o Improve av1_quantize_fp_32x32_avx2() 1.07x to 1.54x faster 648 o Improve av1_quantize_fp_64x64_avx2() 1.03x to 1.25x faster 649 o Improve av1_quantize_lp_avx2() 1.07x to 1.16x faster 650 651 - Bug fixes including but not limited to 652 * aomedia:3206 Assert that skip_width > 0 for deconvolve function 653 * aomedia:3278 row_mt enc: Delay top-right sync when intraBC is enabled 654 * aomedia:3282 blend_a64_*_neon: fix bus error in armv7 655 * aomedia:3283 FRAME_PARALLEL: Propagate border size to all cpis 656 * aomedia:3283 RESIZE_MODE: Fix incorrect strides being used for motion 657 search 658 * aomedia:3286 rtc-svc: Fix to dynamic_enable spatial layers 659 * aomedia:3289 rtc-screen: Fix to skipping inter-mode test in nonrd 660 * aomedia:3289 rtc-screen: Fix for skip newmv on flat blocks 661 * aomedia:3299 Fix build failure with CONFIG_TUNE_VMAF=1 662 * aomedia:3296 Fix the conflict --enable-tx-size-search=0 with nonrd mode 663 --enable-tx-size-search will be ignored in non-rd pick mode 664 * aomedia:3304 Fix off-by-one error of max w/h in validate_config 665 * aomedia:3306 Do not use pthread_setname_np on GNU/Hurd 666 * aomedia:3325 row-multithreading produces invalid bitstream in some cases 667 * chromium:1346938, chromium:1338114 668 * compiler_flags.cmake: fix flag detection w/cmake 3.17-3.18.2 669 * tools/*.py: update to python3 670 * aom_configure.cmake: detect PIE and set CONFIG_PIC 671 * test/simd_cmp_impl: use explicit types w/CompareSimd* 672 * rtc: Fix to disable segm for aq-mode=3 673 * rtc: Fix to color_sensitivity in variance partition 674 * rtc-screen: Fix bsize in model rd computation for intra chroma 675 * Fixes to ensure the correct behavior of the encoder algorithms (like 676 segmentation, computation of statistics, etc.) 677 6782022-06-17 v3.4.0 679 This release includes compression efficiency and perceptual quality 680 improvements, speedup and memory optimizations, and some new features. 681 There are no ABI or API breaking changes in this release. 682 683 - New Features 684 * New --dist-metric flag with "qm-psnr" value to use quantization 685 matrices in the distortion computation for RD search. The default 686 value is "psnr". 687 * New command line option "--auto-intra-tools-off=1" to make 688 all-intra encoding faster for high bit rate under 689 "--deltaq-mode=3" mode. 690 * New rate control library aom_av1_rc for real-time hardware 691 encoders. Supports CBR for both one spatial layer and SVC. 692 * New image format AOM_IMG_FMT_NV12 can be used as input to the 693 encoder. The presence of AOM_IMG_FMT_NV12 can be detected at 694 compile time by checking if the macro AOM_HAVE_IMG_FMT_NV12 is 695 defined. 696 * New codec controls for the encoder: 697 o AV1E_SET_AUTO_INTRA_TOOLS_OFF. Only in effect if 698 --deltaq-mode=3. 699 o AV1E_SET_RTC_EXTERNAL_RC 700 o AV1E_SET_FP_MT. Only supported if libaom is built with 701 -DCONFIG_FRAME_PARALLEL_ENCODE=1. 702 o AV1E_GET_TARGET_SEQ_LEVEL_IDX 703 * New key-value pairs for the key-value API: 704 o --auto-intra-tools-off=0 (default) or 1. Only in effect if 705 --deltaq-mode=3. 706 o --strict-level-conformance=0 (default) or 1 707 o --fp-mt=0 (default) or 1. Only supported if libaom is built 708 with -DCONFIG_FRAME_PARALLEL_ENCODE=1. 709 * New aomenc options (not supported by the key-value API): 710 o --nv12 711 712 - Compression Efficiency Improvements 713 * Correctly calculate SSE for high bitdepth in skip mode, 0.2% to 714 0.6% coding gain. 715 * RTC at speed 9/10: BD-rate gain of ~4/5% 716 * RTC screen content coding: many improvements for real-time screen 717 at speed 10 (quality, speedup, and rate control), up to high 718 resolutions (1080p). 719 * RTC-SVC: fixes to make intra-only frames work for spatial layers. 720 * RTC-SVC: quality improvements for temporal layers. 721 * AV1 RT: A new passive rate control strategy for screen content, an 722 average of 7.5% coding gain, with some clips of 20+%. The feature 723 is turned off by default due to higher bit rate variation. 724 725 - Perceptual Quality Improvements 726 * RTC: Visual quality improvements for high speeds (9/10) 727 * Improvements in coding quality for all intra mode 728 729 - Speedup and Memory Optimizations 730 * ~10% speedup in good quality mode encoding. 731 * ~7% heap memory reduction in good quality encoding mode for speed 732 5 and 6. 733 * Ongoing improvements to intra-frame encoding performance on Arm 734 * Faster encoding speed for "--deltaq-mode=3" mode. 735 * ~10% speedup for speed 5/6, ~15% speedup for speed 7/8, and 736 ~10% speedup for speed 9/10 in real time encoding mode 737 * ~20% heap memory reduction in still-picture encoding mode for 738 360p-720p resolutions with multiple threads 739 * ~13% speedup for speed 6 and ~12% speedup for speed 9 in 740 still-picture encoding mode. 741 * Optimizations to improve multi-thread efficiency for still-picture 742 encoding mode. 743 744 - Bug Fixes 745 * b/204460717: README.md: replace master with main 746 * b/210677928: libaom disable_order is surprising for 747 max_reference_frames=3 748 * b/222461449: -DCONFIG_TUNE_BUTTERAUGLI=1 broken 749 * b/227207606: write_greyscale writes incorrect chroma in highbd 750 mode 751 * b/229955363: Integer-overflow in linsolve_wiener 752 * https://crbug.com/aomedia/2032 753 * https://crbug.com/aomedia/2397 754 * https://crbug.com/aomedia/2563 755 * https://crbug.com/aomedia/2815 756 * https://crbug.com/aomedia/3009 757 * https://crbug.com/aomedia/3018 758 * https://crbug.com/aomedia/3045 759 * https://crbug.com/aomedia/3101 760 * https://crbug.com/aomedia/3130 761 * https://crbug.com/aomedia/3173 762 * https://crbug.com/aomedia/3184 763 * https://crbug.com/aomedia/3187 764 * https://crbug.com/aomedia/3190 765 * https://crbug.com/aomedia/3195 766 * https://crbug.com/aomedia/3197 767 * https://crbug.com/aomedia/3201 768 * https://crbug.com/aomedia/3202 769 * https://crbug.com/aomedia/3204 770 * https://crbug.com/aomedia/3205 771 * https://crbug.com/aomedia/3207 772 * https://crbug.com/aomedia/3208 773 * https://crbug.com/aomedia/3209 774 * https://crbug.com/aomedia/3213 775 * https://crbug.com/aomedia/3214 776 * https://crbug.com/aomedia/3219 777 * https://crbug.com/aomedia/3222 778 * https://crbug.com/aomedia/3223 779 * https://crbug.com/aomedia/3225 780 * https://crbug.com/aomedia/3226 781 * https://crbug.com/aomedia/3228 782 * https://crbug.com/aomedia/3232 783 * https://crbug.com/aomedia/3236 784 * https://crbug.com/aomedia/3237 785 * https://crbug.com/aomedia/3238 786 * https://crbug.com/aomedia/3240 787 * https://crbug.com/aomedia/3243 788 * https://crbug.com/aomedia/3244 789 * https://crbug.com/aomedia/3246 790 * https://crbug.com/aomedia/3248 791 * https://crbug.com/aomedia/3250 792 * https://crbug.com/aomedia/3251 793 * https://crbug.com/aomedia/3252 794 * https://crbug.com/aomedia/3255 795 * https://crbug.com/aomedia/3257 796 * https://crbug.com/aomedia/3259 797 * https://crbug.com/aomedia/3260 798 * https://crbug.com/aomedia/3267 799 * https://crbug.com/aomedia/3268 800 * https://crbug.com/aomedia/3269 801 * https://crbug.com/aomedia/3276 802 * https://crbug.com/aomedia/3278 803 * https://crbug.com/chromium/1290068 804 * https://crbug.com/chromium/1303237 805 * https://crbug.com/chromium/1304990 806 * https://crbug.com/chromium/1321141 807 * https://crbug.com/chromium/1321388 808 * https://crbug.com/oss-fuzz/44846 809 * https://crbug.com/oss-fuzz/44856 810 * https://crbug.com/oss-fuzz/44862 811 * https://crbug.com/oss-fuzz/44904 812 * https://crbug.com/oss-fuzz/45056 813 8142022-01-28 v3.3.0 815 This release includes compression efficiency and perceptual quality 816 improvements, speedup and memory optimizations, some new features, and 817 several bug fixes. 818 819 - New Features 820 * AV1 RT: Introducing CDEF search level 5 821 * Changed real time speed 4 to behave the same as real time speed 5 822 * Add --deltaq-strength 823 * rtc: Allow scene-change and overshoot detection for svc 824 * rtc: Intra-only frame for svc 825 * AV1 RT: Option 2 for codec control AV1E_SET_ENABLE_CDEF to disable 826 CDEF on non-ref frames 827 * New codec controls AV1E_SET_LOOPFILTER_CONTROL and 828 AOME_GET_LOOPFILTER_LEVEL 829 * Improvements to three pass encoding 830 831 - Compression Efficiency Improvements 832 * Overall compression gains: 0.6% 833 834 - Perceptual Quality Improvements 835 * Improves the perceptual quality of high QP encoding for delta-q mode 4 836 * Auto select noise synthesis level for all intra 837 838 - Speedup and Memory Optimizations 839 * Added many SSE2 optimizations. 840 * Good quality 2-pass encoder speedups: 841 o Speed 2: 9% 842 o Speed 3: 12.5% 843 o Speed 4: 8% 844 o Speed 5: 3% 845 o Speed 6: 4% 846 * Real time mode encoder speedups: 847 o Speed 5: 2.6% BDRate gain, 4% speedup 848 o Speed 6: 3.5% BDRate gain, 4% speedup 849 o Speed 9: 1% BDRate gain, 3% speedup 850 o Speed 10: 3% BDRate gain, neutral speedup 851 * All intra encoding speedups (AVIF): 852 o Single thread - speed 6: 8% 853 o Single thread - speed 9: 15% 854 o Multi thread(8) - speed 6: 14% 855 o Multi thread(8) - speed 9: 34% 856 857 - Bug Fixes 858 * Issue 3163: Segmentation fault when using --enable-keyframe-filtering=2 859 * Issue 2436: Integer overflow in av1_warp_affine_c() 860 * Issue 3226: armv7 build failure due to gcc-11 861 * Issue 3195: Bug report on libaom (AddressSanitizer: heap-buffer-overflow) 862 * Issue 3191: Bug report on libaom (AddressSanitizer: SEGV on unknown 863 address) 864 * Issue 3176: Some SSE2/SADx4AvgTest.* tests fail on Windows 865 * Issue 3175: Some SSE2/SADSkipTest.* tests fail on Windows 866 8672021-10-13 v3.2.0 868 This release includes compression efficiency and perceptual quality 869 improvements, speedup and memory optimizations, as well as some new 870 features. 871 872 - New Features 873 * Introduced speeds 7, 8, and 9 for all intra mode. 874 * Introduced speed 10 for real time mode. 875 * Introduced an API that allows external partition decisions. 876 * SVC: added support for compound prediction. 877 * SVC: added support for fixed SVC modes. 878 879 - Compression Efficiency Improvements 880 * Intra-mode search improvement. 881 * Improved real time (RT) mode BDrate savings by ~5% (RT speed 5) 882 and ~12% (RT speed 6). The improvement was measured on the video 883 conference set. 884 * Improved real time mode for nonrd path (speed 7, 8, 9): BDrate 885 gains of ~3-5%. 886 * Rate control and RD adjustments based on ML research in VP9. 887 Gains of ~0.5-1.0% for HD. 888 889 - Perceptual Quality Improvements 890 * Added a new mode --deltaq-mode=3 to improve perceptual quality 891 based on a differential contrast model for still images. 892 * Added a new mode --deltaq-mode=4 to improve perceptual quality 893 based on user rated cq_level data set for still images. 894 * Weighting of some intra mode and partition size choices to better 895 manage and retain texture. 896 897 - Speedup and Memory Optimizations 898 * Further improved 2-pass good quality encoder speed: 899 o Speed 2 speedup: 18% 900 o Speed 3 speedup: 22% 901 o Speed 4 speedup: 37% 902 o Speed 5 speedup: 30% 903 o Speed 6 speedup: 20% 904 * Optimized the real time encoder (measured on the video conference 905 set): 906 o RT speed 5 speedup: 110% 907 o RT speed 6 speedup: 77% 908 909 - Bug Fixes 910 * Issue 3069: Fix one-pass mode keyframe placement off-by-one error. 911 * Issue 3156: Fix a bug in av1_quantize_lp AVX2 optimization. 912 9132021-09-29 v3.1.3 914 This release includes several bug fixes. 915 916 - Bug fixes: 917 The following four cmake changes should help the people building 918 libaom using MSVC. 919 1. exports: use CMAKE_SHARED_LIBRARY_PREFIX to determine lib name 920 https://aomedia-review.googlesource.com/c/aom/+/142342 921 2. aom_install: Install lib dlls to bindir 922 https://aomedia-review.googlesource.com/c/aom/+/146546 923 3. aom_install: use relpath for install 924 https://aomedia-review.googlesource.com/c/aom/+/146550 925 4. aom_install: don't exclude msvc from install 926 https://aomedia-review.googlesource.com/c/aom/+/146547 927 928 aom/aom_encoder.h: remove configure option reference 929 https://aomedia-review.googlesource.com/c/aom/+/146743 930 931 Issue 3113: Tests for detecting chroma subsampling in 932 av1_copy_and_extend_frame() do not work when y_width or y_height is 933 1 934 935 Issue 3115: image2yuvconfig() should calculate uv_crop_width and 936 uv_crop_height from y_crop_width and y_crop_height 937 938 Issue 3140: rc_overshoot_pct is documented as having a range of 939 0-1000, but is range checked against 0-100 940 941 Issue 3147: Build failure on Apple M1 arm64 942 9432021-07-20 v3.1.2 944 This release includes several bug fixes. 945 946 - Bug fixes: 947 exports.cmake: use APPLE and WIN32 and use def for mingw-w64 948 https://aomedia-review.googlesource.com/c/aom/+/139882 949 950 Issue 2993: Incorrect spatial_id when decoding base layer of 951 multi-layer stream 952 953 Issue 3080: Chroma Resampling by Encoder on Y4M Inputs Files Tagged 954 as C420mpeg2 955 956 Issue 3081: Use of uninitialized value $version_extra in 957 concatenation (.) or string at aom/build/cmake/version.pl line 88. 958 9592021-06-08 v3.1.1 960 This release includes several bug fixes. 961 962 - Bug fixes: 963 Issue 2965: Cherry-picked the following four commits for the 964 tune=butteraugli mode. 965 1. Add libjxl to pkg_config if enabled: 966 https://aomedia-review.googlesource.com/c/aom/+/136044 967 2. Declare set_mb_butteraugli_rdmult_scaling static: 968 https://aomedia-review.googlesource.com/c/aom/+/134506 969 3. Add color range detection in tune=butteraugli mode: 970 https://aomedia-review.googlesource.com/c/aom/+/135521 971 4. Enable tune=butteraugli in all-intra mode: 972 https://aomedia-review.googlesource.com/c/aom/+/136082 973 974 Issue 3021: Fix vmaf model initialization error when not set to 975 tune=vmaf 976 977 Issue 3050: Compilation fails with -DCONFIG_TUNE_VMAF=1 978 979 Issue 3054: Consistent crash on near-static screen content, keyframe 980 related 981 9822021-05-03 v3.1.0 983 This release adds an "all intra" mode to the encoder, which significantly 984 speeds up the encoding of AVIF still images at speed 6. 985 986 - Upgrading: 987 All intra mode for encoding AVIF still images and AV1 all intra videos: 988 AOM_USAGE_ALL_INTRA (2) can be passed as the 'usage' argument to 989 aom_codec_enc_config_default(). 990 991 New encoder control IDs added: 992 - AV1E_SET_ENABLE_DIAGONAL_INTRA: Enable diagonal (D45 to D203) intra 993 prediction modes (0: false, 1: true (default)). Also available as 994 "enable-diagonal-intra" for the aom_codec_set_option() function. 995 996 New aom_tune_metric enum value: AOM_TUNE_BUTTERAUGLI. The new aomenc option 997 --tune=butteraugli was added to optimize the encoder's perceptual quality by 998 optimizing the Butteraugli metric. Install libjxl (JPEG XL) and then pass 999 -DCONFIG_TUNE_BUTTERAUGLI=1 to the cmake command to enable it. 1000 1001 Addition of support for libvmaf 2.x. 1002 1003 - Enhancements: 1004 Heap memory consumption for encoding AVIF still images is significantly 1005 reduced. 1006 1007 - Bug fixes: 1008 Issue 2601: third_party/libaom fails licensecheck 1009 1010 Issue 2950: Conditional expression for rc->this_key_frame_forced is always 1011 true in find_next_key_frame() 1012 1013 Issue 2988: "make install" installs the aom.h header twice 1014 1015 Issue 2992: Incorrectly printing the temporal_id twice in dump_obu tool 1016 1017 Issue 2998: 1018 1019 Issue 2999: 1020 1021 Issue 3000: 1022 10232021-02-24 v3.0.0 1024 This release includes compression efficiency improvement, speed improvement 1025 for realtime mode, as well as some new APIs. 1026 1027 - Upgrading: 1028 Support for PSNR calculation based on stream bit-depth. 1029 1030 New encoder control IDs added: 1031 - AV1E_SET_ENABLE_RECT_TX 1032 - AV1E_SET_VBR_CORPUS_COMPLEXITY_LAP 1033 - AV1E_GET_BASELINE_GF_INTERVAL 1034 - AV1E_SET_ENABLE_DNL_DENOISING 1035 1036 New decoder control IDs added: 1037 - AOMD_GET_FWD_KF_PRESENT 1038 - AOMD_GET_FRAME_FLAGS 1039 - AOMD_GET_ALTREF_PRESENT 1040 - AOMD_GET_TILE_INFO 1041 - AOMD_GET_SCREEN_CONTENT_TOOLS_INFO 1042 - AOMD_GET_STILL_PICTURE 1043 - AOMD_GET_SB_SIZE 1044 - AOMD_GET_SHOW_EXISTING_FRAME_FLAG 1045 - AOMD_GET_S_FRAME_INFO 1046 1047 New aom_tune_content enum value: AOM_CONTENT_FILM 1048 1049 New aom_tune_metric enum value: AOM_TUNE_VMAF_NEG_MAX_GAIN 1050 1051 Coefficient and mode update can be turned off via 1052 AV1E_SET_{COEFF/MODE}_COST_UPD_FREQ. 1053 1054 New key & value API added, available with aom_codec_set_option() function. 1055 1056 Scaling API expanded to include 1/4, 3/4 and 1/8. 1057 1058 - Enhancements: 1059 Better multithreading performance with realtime mode. 1060 1061 New speed 9 setting for faster realtime encoding. 1062 1063 Smaller binary size with low bitdepth and realtime only build. 1064 1065 Temporal denoiser and its optimizations on x86 and Neon. 1066 1067 Optimizations for scaling. 1068 1069 Faster encoding with speed settings 2 to 6 for good encoding mode. 1070 1071 Improved documentation throughout the library, with function level 1072 documentation, tree view and support for the dot tool. 1073 1074 - Bug fixes: 1075 Aside from those mentioned in v2.0.1 and v2.0.2, this release includes the 1076 following bug fixes: 1077 1078 Issue 2940: Segfault when encoding with --use-16bit-internal and --limit > 1 1079 1080 Issue 2941: Decoder mismatch with --rt --bit-depth=10 and --cpu-used=8 1081 1082 Issue 2895: mingw-w64 i686 gcc fails to build 1083 1084 Issue 2874: Separate ssse3 functions from sse2 file. 1085 10862021-02-09 v2.0.2 1087 This release includes several bug fixes. 1088 1089 - Bug fixes: 1090 Issue 2643: Modify the assertion in temporal filter intrinsics. 1091 1092 Issue 2648: Fix unit test ThreadTestLarge.EncoderResultTest/49 1093 assertion failure. 1094 1095 Issue 2869: Add -Wimplicit-function-declaration as C flag only. 1096 1097 Issue 2878: Avoid memset in the av1_filter_intra_predictor module 1098 functions. 1099 1100 Issue 2903: Fix a typo bug in apply_temporal_filter_planewise. 1101 1102 Call av1_setup_frame_size() when dropping a frame in the 1103 encode_frame_to_data_rate() function in av1/encoder/encoder.c. 1104 11052020-11-25 v2.0.1 1106 This release includes two bug fixes. 1107 1108 - Bug fixes: 1109 Issue 2723: Fix crash in chroma_check() when generating a monochrome 1110 encoded stream in real-time mode. 1111 1112 Issue 2833: Fix crash on some input when reduced still picture header is 1113 used in real-time mode and speed >=7. 1114 11152020-05-07 v2.0.0 "Applejack" 1116 First official release of libaom. 1117 This release includes new real-time mode and SVC support. 1118 1119 - Upgrading: 1120 AOM_SET_POSTPROC, AOM_CODEC_CAP_POSTPROC and AOM_CODEC_USE_POSTPROC are 1121 removed. 1122 1123 AOM_SET_DBG_* is removed. 1124 1125 Multi-resolution encoding is removed. 1126 1127 put_frame and put_slice callbacks are removed. 1128 1129 - Enhancements: 1130 Full-sweep document update for codec controls. 1131 11322018-06-28 v1.0.0 1133 AOMedia Codec Workgroup Approved version 1.0 1134 11352016-04-07 v0.1.0 "AOMedia Codec 1" 1136 This release is the first Alliance for Open Media codec. 1137