2 This release includes several bug fixes. This release is ABI
3 compatible with the last release. See
4 https://aomedia.googlesource.com/aom/+log/v3.8.0..v3.8.1 for all the
5 commits in this release.
8 * aomedia:3520: get_cubic_kernel_dbl: Assertion `0 <= x && x < 1'
10 * aomedia:3526: alloc_compressor_data() is called during every
11 aom_codec_control() call on the encoder.
12 * aomedia:3527: aom/av1/encoder/mcomp.c:1810: av1_full_pixel_search:
13 Assertion `ms_params->ms_buffers.ref->width ==
14 ms_params->ms_buffers.src->width' failed.
15 * aomedia:3534: libaom encoder crashed by AOM_USAGE_ALL_INTRA and
16 AOM_EFLAG_NO_REF_LAST flags.
17 * b/310455204: Recreate workers if necessary.
18 * b/310548198: Update frame size in actual encoding.
19 * b/314858909: Do not use adaptive error estimate.
20 * Fix a hang of cmake on arm64 macOS with cmake 3.27.0 or later.
23 This release includes three bug fixes. This release is ABI compatible
24 with the last release. See
25 https://aomedia.googlesource.com/aom/+log/v3.7.1..v3.7.2 for all the
26 commits in this release.
29 * aomedia:3520: get_cubic_kernel_dbl: Assertion `0 <= x && x < 1'
31 * aomedia:3526: alloc_compressor_data() is called during every
32 aom_codec_control() call on the encoder. Note that this partially
33 reverts the fix for bug aomedia:3349.
34 * b/310457427 and b/310766628: Only use rec_sse in CBR mode.
35 * Fix a hang of cmake on arm64 macOS with cmake 3.27.0 or later.
38 This release includes new codec interfaces, compression efficiency and
39 perceptual improvements, speedup and memory optimizations and many bug
40 fixes. This release is ABI compatible with the last release.
44 * AV1E_SET_MAX_CONSEC_FRAME_DROP_CBR: Set the maximum number of
45 consecutive frame drops allowed for the frame dropper in 1 pass
47 * Run-time CPU feature detection for all Arm platforms:
48 CRC, DotProd, I8MM and SVE CPU feature presence is detected at run
49 time and code paths making use of these features are selected
50 dynamically. These code paths provide meaningful performance gains
51 for standard bitdepth RTC and VoD encoding: up to 10% and 20%
52 respectively, over the Armv8.0-A baseline build.
53 * RTC: Frame-dropper support added to the rate control library.
54 * RTC Rate control improvements for low bitrate and for SVC.
56 - Compression Efficiency Improvements
57 * Improved accuracy of cost estimation for loop restoration and
59 * Improved selection of loop restoration unit size - full search up
60 to (non-realtime) speed 2, retuned static selection at higher
62 * RTC Screen content mode: 3-5% bdrate gains across speeds 7 - 10.
63 * Good-quality mode: 0.2 - 0.5% bdrate gains across speeds 1 - 4.
65 - Perceptual Quality Improvements
66 * RTC Screen: Improved visual quality for scrolling.
67 * RTC: Improved color quality for both screen and video mode.
69 - Speedup and Memory Optimizations
70 * Good-quality, single-thread encoder speedups:
71 o 15% improvement for speed 5.
72 o 12% improvement for speed 6.
73 * Arm standard bitdepth VoD (--good):
74 o 8% speedup for speeds 0 and 1.
75 o 20% speedup for speed 2.
76 o 27% speedup for speed 3.
77 o 30% speedup for speed 4.
78 o 38% speedup for speeds 5 and 6.
79 * Arm high bitdepth VoD (--good):
80 o 206% speedup for speeds 0 and 1.
81 o 180% speedup for speed 2.
82 o 51% speedup for speeds 3 and 4.
83 o 68% speedup for speed 5.
84 o 72% speedup for speed 6.
85 * RTC Screen content: 2-6% speedup across speeds 7-10.
86 * RTC: 2-3% speedup for temporal layers.
87 * RTC: Speedups to reference scaling in nonrd pickmode.
88 * Good-quality mode: Simplified global motion estimation, saving
89 ~1200 lines of code and 1KB of tables while improving quality.
92 * Fixes to improve libaom stability in case of memory allocation
94 * Fixes to SIMD functions (x86 AVX2/SSE2 and ARM Neon).
95 * b/310457427, b/310766628: Bug fixes to only use rec_sse in CBR
99 This release includes several bug fixes. This release is ABI
100 compatible with the last release. See
101 https://aomedia.googlesource.com/aom/+log/v3.7.0..v3.7.1 for all the
102 commits in this release.
105 * aomedia:3349: heap overflow when increasing resolution
106 * aomedia:3478: GCC 12.2.0 emits a -Wstringop-overflow warning on
107 aom/av1/encoder/motion_search_facade.c
108 * aomedia:3489: Detect encoder and image high bit depth mismatch
109 * aomedia:3491: heap-buffer-overflow on frame size change (CVE-2023-6879)
110 * b/303023614: Segfault at encoding time for high bit depth images
113 This release includes new codec interfaces, compression efficiency and
114 perceptual improvements, speedup and memory optimizations and many bug fixes.
115 This release is ABI compatible with the last release.
118 * New codec controls:
119 * AV1E_SET_QUANTIZER_ONE_PASS: Set quantizer for each frame.
120 * AV1E_ENABLE_RATE_GUIDE_DELTAQ: enable the rate distribution guided delta
121 quantization in all intra mode. The "enable-rate-guide-deltaq" option is
122 added for this control.
123 * AV1E_SET_RATE_DISTRIBUTION_INFO: set the input file for rate
124 distribution used in all intra mode. The "rate-distribution-info" option
125 is added for this control.
126 * AV1E_GET_LUMA_CDEF_STRENGTH
127 * AV1E_SET_BITRATE_ONE_PASS_CBR
128 * AOM_SCALING_MODE is extended to include 2/3 and 1/3 scaling.
129 * aom_tune_metric is extended to include AOM_TUNE_VMAF_SALIENCY_MAP.
130 The "tune" option is extended to include "vmaf_saliency_map".
131 * SVC example encoder svc_encoder_rtc is able to use the rate control
133 * Loopfilter level and CDEF filter level is supported by RTC rate control
135 * New speed (--cpu-used) 11, intended for RTC screen sharing, added for
136 faster encoding with ~3% bdrate loss with 16% IC (instruction count)
137 speedup compared to speed 10.
139 - Compression Efficiency Improvements
140 * Improved VoD encoding performance
141 * 0.1-0.6% BDrate gains for encoding speeds 2 to 6
142 * Rate control accuracy improvement in VBR mode
143 * RTC encoding improvements
144 * Screen content mode: 10-19% BDrate gains for speeds 6 - 10
145 * Temporal layers video mode, for speed 10:
146 * 2 temporal layers on low resolutions: 13-15% BDrate gain
147 * 3 temporal layers on VGA/HD: 3-4% BDrate gain
149 - Perceptual Quality Improvements
150 * Fixed multiple block and color artifacts for RTC screen content by
151 * Incorporating color into RD cost for IDTX
152 * Reducing thresholds for palette mode in non RD mode
153 * Allowing more palette mode testing
154 * Improved color sensitivity for altref in non-RD mode.
155 * Reduced video flickering for temporal layer encoding.
157 - Speedup and Memory Optimizations
158 * Speed up the VoD encoder
159 * 2-5% for encoding speed 2 to 4
160 * 9-15% for encoding speed 5 to 6
170 * Screen content mode
171 * 15% IC speedup for speeds 6-8
172 * ARM: 7% for speed 9, 3% for speed 10
173 * Temporal layers video mode
174 * 7% speedup for 3 temporal layers on VGA/HD, for speed 10
176 * x86: 2% IC speedup for speeds 7-10
177 * ARM: 2-4% speedup across speeds 5-10
180 * VoD: Major improvements to global motion estimation, now enabled up to
183 * Fixes to make lossless coding work.
184 * Fixes to make frame dropper (--drop_frames) work for single and temporal
186 * Improvements to RPS (reference picture selection) recovery frames.
187 * Improvements to rate control for temporal layers.
188 * libwebm is updated to libwebm-1.0.0.29-9-g1930e3c
191 * aomedia:3261 Assertion failed when encoding av1 with film grain and
193 * aomedia:3276 ensure all allocations are checked (partial fix)
194 * aomedia:3451 The libaom library calls exit()
195 * aomedia:3450 enable -Wshadow for C++ sources
196 * aomedia:3449 Test Seg Faults After
197 b459af3e345be402db052a143fcc5383d4b74cbd
198 * aomedia:3416 prune unused symbols / restrict symbol visibility
199 * aomedia:3443 Jenkins failure:
200 UninstantiatedParameterizedTestSuite<EstimateNoiseTest>
201 * aomedia:3434 realtime failures with CONFIG_BITSTREAM_DEBUG=1
202 * aomedia:3433 DeltaqModeTest crash w/row_mt=0
203 * aomedia:3429 Encoder crash when turn on both ExternalResize and
205 * aomedia:3438 Build failure with
206 `-DSANITIZE=address -DBUILD_SHARED_LIBS=ON` when using clang.
207 * aomedia:3435 Block artifacts when scrolling with AV1 in screen sharing
209 * aomedia:3170 vmaf tune presets produce extreme glitches in one scene
210 * aomedia:3401 Building shared libaom with MSVC results in a race condition
211 with the export library
212 * aomedia:3420 Floating point exception in av1_tpl_get_frame_importance()
213 * aomedia:3424 heap-buffer-overflow in ScaleFilterCols_16_C() (SIGABRT)
214 * aomedia:3417 examples/svc_encoder_rtc.c is using internal macros and
216 * aomedia:3372 SEGV in assign_frame_buffer_p av1_common_int.h
217 * aomedia:3130 'cpu-features.h' file not found on Android NDK 22
218 * aomedia:3415 Encoder/decoder mismatch for svc_encoder_rtc running
220 * aomedia:3412 Lossless Mode Fails Loopback Bit Test
221 * aomedia:3409 The use of AV1_VAR_OFFS in av1/encoder/var_based_part.c is
222 incorrect for high bit depths
223 * aomedia:3403 test_libaom fails with error message
224 "feenableexcept() failed" on Linux arm
225 * aomedia:3370 Random color block at fast motion area
226 * aomedia:3393 Assertion failure in av1_convolve_2d_sr_c()
227 * aomedia:3392 Strong artifacting for high bit-depth real-time
228 * aomedia:3376 aomenc --threads=10 --deltaq-mode=3 crashes after
229 "Allintra: multi-threading of calculating differential contrast"
230 * aomedia:3380 Crashes and ASan and TSan errors in deltaq-mode=3
232 * chromium:1410766 heap-buffer-overflow in aom_yv12_copy_v_c
233 * Cannot set level via AV1E_SET_TARGET_SEQ_LEVEL_IDX
234 * Encoding failure due to the use of loop restoration with unintended use of
236 * Signed integer overflow in scan_past_frames
237 * Signed integer overflow in update_a_sep_sym
238 * Flickering in AV1 1440p/2160p HDR transcodes
239 * Fixed artifacts with screen share at encoder speed 10
240 * Fixed prediction setup for IDTX
243 This release includes several bug fixes. This release is ABI
244 compatible with the last release. See
245 https://aomedia.googlesource.com/aom/+log/v3.6.0..v3.6.1 for all the
246 commits in this release.
249 * aomedia:2871: Guard the support of the 7.x and 8.x levels for AV1
250 under the CONFIG_CWG_C013 config flag, and only output the 7.x and
251 8.x levels when explicitly requested.
252 * aomedia:3382: Choose sb_size by ppi instead of svc.
253 * aomedia:3384: Fix fullpel search limits.
254 * aomedia:3388: Replace left shift of xq_active by multiplication.
255 * aomedia:3389: Fix MV clamping in av1_mv_pred.
256 * aomedia:3390: set_ld_layer_depth: cap max_layer_depth to
258 * aomedia:3418: Fix MV clamping in av1_int_pro_motion_estimation.
259 * aomedia:3429: Move lpf thread data init to lpf_pipeline_mt_init().
260 * b:266719111: Fix undefined behavior in Arm Neon code.
261 * b:269840681: nonrd_opt: align scan tables.
262 * rtc: Fix is_key_frame setting in variance partition.
263 * Build: Fix build with clang-cl and Visual Studio.
264 * Build: Fix module definition file for MinGW/MSYS.
267 This release includes compression efficiency and perceptual quality
268 improvements, speedup and memory optimizations, and some new features.
269 This release is ABI compatible with the last release.
272 * New values 20-27 (corresponding to levels 7.0-7.3 and 8.0-8.3) for
273 the encoder control AV1E_SET_TARGET_SEQ_LEVEL_IDX (note that the
274 proposal to add the new levels are still in draft status). The
275 original special value 24 (keep level stats only for level
276 monitoring) is renumbered as 32.
277 * New encoder control AV1E_SET_SKIP_POSTPROC_FILTERING to skip the
278 application of post-processing filters on reconstructed frame in
280 * New encoder option "kf-max-pyr-height": Maximum height of pyramid
281 structure used for the GOP starting with a key frame (-1 to 5).
282 * Make SVC work for screen content.
283 * Rate control improvements to reduce frame-size spikes for screen
285 * RISC-V architecture support with gcc toolchain.
287 - Compression Efficiency Improvements
288 * Peak compression efficiency in VOD setting is improved by 1%.
289 * 0.7% - 2.2% RTC encoding BDrate gains for real time speed 8 to 10.
290 * 15% RTC encoding BDrate gains for screen content speed 10.
292 - Perceptual Quality Improvements
293 * Resolved a visual quality issue that was reported for high
294 resolution clips (2K) for speed 4 and above in VOD use case.
295 * Visual quality improvements to screen content coding.
296 * Quality improvements to temporal layer RTC coding.
298 - Speedup and Memory Optimizations
299 * RTC single-thread encoder speedup:
300 o ~6% instruction count reduction for speed 5 and 6.
301 o ~15% instruction count reduction for speed 7.
302 o ~10% instruction count reduction for speed 8 to 10 (>=360p
304 * RTC multi-thread encoder speedup (beyond single-thread speedup):
305 o 5-8% encode time reduction for speed 7 to 10.
306 * RTC screen-content encoder speedup:
307 o 11% instruction count reduction for speed 9 and 10 (>=720p
309 * ~5% reduction in heap memory requirements for RTC, speed 6 to 10.
311 o 4-5% speedup for speed 9 in still-picture encoding mode.
312 o 3-4% heap memory reduction in still-picture encoding mode for
313 360p-720p resolutions with multiple threads.
316 * Added a workaround for an AV1 specification bug which makes
317 TRANSLATION type global motion models unusable.
318 * Fixed AddressSanitizer global-buffer-overflow errors in
319 av1/encoder/arm/neon/av1_fwd_txfm2d_neon.c.
320 * Fixed AddressSanitizer heap-buffer-overflow error in
321 av1_wiener_convolve_add_src_neon().
322 * chromium:1393384 Avoid scene detection on spatial resize.
323 * aomedia:3308 Remove color artifacts under high motion.
324 * aomedia:3310 Avoid out of memory failures with Visual Studio 2017,
325 2019, and 2022 for Win32 x86 builds.
326 * aomedia:3346 Make SVC work properly for screen content.
327 * aomedia:3348 Fix a bug where an uninitialized search_site is used.
328 * aomedia:3365 Work around what seems like a Visual Studio 2022
329 compiler optimization bug.
330 * aomedia:3369 Incorrect PSNR values reported by libaom for 12-bit
334 This release is ABI compatible with the last one, including speedup and memory
335 optimizations, and new APIs and features.
338 * Support for frame parallel encode for larger number of threads. --fp-mt
339 flag is available for all build configurations.
340 * New codec control AV1E_GET_NUM_OPERATING_POINTS
342 - Speedup and Memory Optimizations
343 * Speed-up multithreaded encoding for good quality mode for larger number of
344 threads through frame parallel encoding:
345 o 30-34% encode time reduction for 1080p, 16 threads, 1x1 tile
346 configuration (tile_rows x tile_columns)
347 o 18-28% encode time reduction for 1080p, 16 threads, 2x4 tile
349 o 18-20% encode time reduction for 2160p, 32 threads, 2x4 tile
351 * 16-20% speed-up for speed=6 to 8 in still-picture encoding mode
352 * 5-6% heap memory reduction for speed=6 to 10 in real-time encoding mode
353 * Improvements to the speed for speed=7, 8 in real-time encoding mode
354 * Improvements to the speed for speed=9, 10 in real-time screen encoding
356 * Optimizations to improve multi-thread efficiency in real-time encoding
358 * 10-15% speed up for SVC with temporal layers
359 * SIMD optimizations:
360 o Improve av1_quantize_fp_32x32_neon() 1.05x to 1.24x faster
361 o Add aom_highbd_quantize_b{,_32x32,_64x64}_adaptive_neon() 3.15x to 5.6x
363 o Improve av1_quantize_fp_64x64_neon() 1.17x to 1.66x faster
364 o Add aom_quantize_b_avx2() 1.4x to 1.7x faster than aom_quantize_b_avx()
365 o Add aom_quantize_b_32x32_avx2() 1.4x to 2.3x faster than
366 aom_quantize_b_32x32_avx()
367 o Add aom_quantize_b_64x64_avx2() 2.0x to 2.4x faster than
368 aom_quantize_b_64x64_ssse3()
369 o Add aom_highbd_quantize_b_32x32_avx2() 9.0x to 10.5x faster than
370 aom_highbd_quantize_b_32x32_c()
371 o Add aom_highbd_quantize_b_64x64_avx2() 7.3x to 9.7x faster than
372 aom_highbd_quantize_b_64x64_c()
373 o Improve aom_highbd_quantize_b_avx2() 1.07x to 1.20x faster
374 o Improve av1_quantize_fp_avx2() 1.13x to 1.49x faster
375 o Improve av1_quantize_fp_32x32_avx2() 1.07x to 1.54x faster
376 o Improve av1_quantize_fp_64x64_avx2() 1.03x to 1.25x faster
377 o Improve av1_quantize_lp_avx2() 1.07x to 1.16x faster
379 - Bug fixes including but not limited to
380 * aomedia:3206 Assert that skip_width > 0 for deconvolve function
381 * aomedia:3278 row_mt enc: Delay top-right sync when intraBC is enabled
382 * aomedia:3282 blend_a64_*_neon: fix bus error in armv7
383 * aomedia:3283 FRAME_PARALLEL: Propagate border size to all cpis
384 * aomedia:3283 RESIZE_MODE: Fix incorrect strides being used for motion
386 * aomedia:3286 rtc-svc: Fix to dynamic_enable spatial layers
387 * aomedia:3289 rtc-screen: Fix to skipping inter-mode test in nonrd
388 * aomedia:3289 rtc-screen: Fix for skip newmv on flat blocks
389 * aomedia:3299 Fix build failure with CONFIG_TUNE_VMAF=1
390 * aomedia:3296 Fix the conflict --enable-tx-size-search=0 with nonrd mode
391 --enable-tx-size-search will be ignored in non-rd pick mode
392 * aomedia:3304 Fix off-by-one error of max w/h in validate_config
393 * aomedia:3306 Do not use pthread_setname_np on GNU/Hurd
394 * aomedia:3325 row-multithreading produces invalid bitstream in some cases
395 * chromium:1346938, chromium:1338114
396 * compiler_flags.cmake: fix flag detection w/cmake 3.17-3.18.2
397 * tools/*.py: update to python3
398 * aom_configure.cmake: detect PIE and set CONFIG_PIC
399 * test/simd_cmp_impl: use explicit types w/CompareSimd*
400 * rtc: Fix to disable segm for aq-mode=3
401 * rtc: Fix to color_sensitivity in variance partition
402 * rtc-screen: Fix bsize in model rd computation for intra chroma
403 * Fixes to ensure the correct behavior of the encoder algorithms (like
404 segmentation, computation of statistics, etc.)
407 This release includes compression efficiency and perceptual quality
408 improvements, speedup and memory optimizations, and some new features.
409 There are no ABI or API breaking changes in this release.
412 * New --dist-metric flag with "qm-psnr" value to use quantization
413 matrices in the distortion computation for RD search. The default
415 * New command line option "--auto-intra-tools-off=1" to make
416 all-intra encoding faster for high bit rate under
417 "--deltaq-mode=3" mode.
418 * New rate control library aom_av1_rc for real-time hardware
419 encoders. Supports CBR for both one spatial layer and SVC.
420 * New image format AOM_IMG_FMT_NV12 can be used as input to the
421 encoder. The presence of AOM_IMG_FMT_NV12 can be detected at
422 compile time by checking if the macro AOM_HAVE_IMG_FMT_NV12 is
424 * New codec controls for the encoder:
425 o AV1E_SET_AUTO_INTRA_TOOLS_OFF. Only in effect if
427 o AV1E_SET_RTC_EXTERNAL_RC
428 o AV1E_SET_FP_MT. Only supported if libaom is built with
429 -DCONFIG_FRAME_PARALLEL_ENCODE=1.
430 o AV1E_GET_TARGET_SEQ_LEVEL_IDX
431 * New key-value pairs for the key-value API:
432 o --auto-intra-tools-off=0 (default) or 1. Only in effect if
434 o --strict-level-conformance=0 (default) or 1
435 o --fp-mt=0 (default) or 1. Only supported if libaom is built
436 with -DCONFIG_FRAME_PARALLEL_ENCODE=1.
437 * New aomenc options (not supported by the key-value API):
440 - Compression Efficiency Improvements
441 * Correctly calculate SSE for high bitdepth in skip mode, 0.2% to
443 * RTC at speed 9/10: BD-rate gain of ~4/5%
444 * RTC screen content coding: many improvements for real-time screen
445 at speed 10 (quality, speedup, and rate control), up to high
447 * RTC-SVC: fixes to make intra-only frames work for spatial layers.
448 * RTC-SVC: quality improvements for temporal layers.
449 * AV1 RT: A new passive rate control strategy for screen content, an
450 average of 7.5% coding gain, with some clips of 20+%. The feature
451 is turned off by default due to higher bit rate variation.
453 - Perceptual Quality Improvements
454 * RTC: Visual quality improvements for high speeds (9/10)
455 * Improvements in coding quality for all intra mode
457 - Speedup and Memory Optimizations
458 * ~10% speedup in good quality mode encoding.
459 * ~7% heap memory reduction in good quality encoding mode for speed
461 * Ongoing improvements to intra-frame encoding performance on Arm
462 * Faster encoding speed for "--deltaq-mode=3" mode.
463 * ~10% speedup for speed 5/6, ~15% speedup for speed 7/8, and
464 ~10% speedup for speed 9/10 in real time encoding mode
465 * ~20% heap memory reduction in still-picture encoding mode for
466 360p-720p resolutions with multiple threads
467 * ~13% speedup for speed 6 and ~12% speedup for speed 9 in
468 still-picture encoding mode.
469 * Optimizations to improve multi-thread efficiency for still-picture
473 * b/204460717: README.md: replace master with main
474 * b/210677928: libaom disable_order is surprising for
475 max_reference_frames=3
476 * b/222461449: -DCONFIG_TUNE_BUTTERAUGLI=1 broken
477 * b/227207606: write_greyscale writes incorrect chroma in highbd
479 * b/229955363: Integer-overflow in linsolve_wiener
480 * https://crbug.com/aomedia/2032
481 * https://crbug.com/aomedia/2397
482 * https://crbug.com/aomedia/2563
483 * https://crbug.com/aomedia/2815
484 * https://crbug.com/aomedia/3009
485 * https://crbug.com/aomedia/3018
486 * https://crbug.com/aomedia/3045
487 * https://crbug.com/aomedia/3101
488 * https://crbug.com/aomedia/3130
489 * https://crbug.com/aomedia/3173
490 * https://crbug.com/aomedia/3184
491 * https://crbug.com/aomedia/3187
492 * https://crbug.com/aomedia/3190
493 * https://crbug.com/aomedia/3195
494 * https://crbug.com/aomedia/3197
495 * https://crbug.com/aomedia/3201
496 * https://crbug.com/aomedia/3202
497 * https://crbug.com/aomedia/3204
498 * https://crbug.com/aomedia/3205
499 * https://crbug.com/aomedia/3207
500 * https://crbug.com/aomedia/3208
501 * https://crbug.com/aomedia/3209
502 * https://crbug.com/aomedia/3213
503 * https://crbug.com/aomedia/3214
504 * https://crbug.com/aomedia/3219
505 * https://crbug.com/aomedia/3222
506 * https://crbug.com/aomedia/3223
507 * https://crbug.com/aomedia/3225
508 * https://crbug.com/aomedia/3226
509 * https://crbug.com/aomedia/3228
510 * https://crbug.com/aomedia/3232
511 * https://crbug.com/aomedia/3236
512 * https://crbug.com/aomedia/3237
513 * https://crbug.com/aomedia/3238
514 * https://crbug.com/aomedia/3240
515 * https://crbug.com/aomedia/3243
516 * https://crbug.com/aomedia/3244
517 * https://crbug.com/aomedia/3246
518 * https://crbug.com/aomedia/3248
519 * https://crbug.com/aomedia/3250
520 * https://crbug.com/aomedia/3251
521 * https://crbug.com/aomedia/3252
522 * https://crbug.com/aomedia/3255
523 * https://crbug.com/aomedia/3257
524 * https://crbug.com/aomedia/3259
525 * https://crbug.com/aomedia/3260
526 * https://crbug.com/aomedia/3267
527 * https://crbug.com/aomedia/3268
528 * https://crbug.com/aomedia/3269
529 * https://crbug.com/aomedia/3276
530 * https://crbug.com/aomedia/3278
531 * https://crbug.com/chromium/1290068
532 * https://crbug.com/chromium/1303237
533 * https://crbug.com/chromium/1304990
534 * https://crbug.com/chromium/1321141
535 * https://crbug.com/chromium/1321388
536 * https://crbug.com/oss-fuzz/44846
537 * https://crbug.com/oss-fuzz/44856
538 * https://crbug.com/oss-fuzz/44862
539 * https://crbug.com/oss-fuzz/44904
540 * https://crbug.com/oss-fuzz/45056
543 This release includes compression efficiency and perceptual quality
544 improvements, speedup and memory optimizations, some new features, and
548 * AV1 RT: Introducing CDEF search level 5
549 * Changed real time speed 4 to behave the same as real time speed 5
550 * Add --deltaq-strength
551 * rtc: Allow scene-change and overshoot detection for svc
552 * rtc: Intra-only frame for svc
553 * AV1 RT: Option 2 for codec control AV1E_SET_ENABLE_CDEF to disable
554 CDEF on non-ref frames
555 * New codec controls AV1E_SET_LOOPFILTER_CONTROL and
556 AOME_GET_LOOPFILTER_LEVEL
557 * Improvements to three pass encoding
559 - Compression Efficiency Improvements
560 * Overall compression gains: 0.6%
562 - Perceptual Quality Improvements
563 * Improves the perceptual quality of high QP encoding for delta-q mode 4
564 * Auto select noise synthesis level for all intra
566 - Speedup and Memory Optimizations
567 * Added many SSE2 optimizations.
568 * Good quality 2-pass encoder speedups:
574 * Real time mode encoder speedups:
575 o Speed 5: 2.6% BDRate gain, 4% speedup
576 o Speed 6: 3.5% BDRate gain, 4% speedup
577 o Speed 9: 1% BDRate gain, 3% speedup
578 o Speed 10: 3% BDRate gain, neutral speedup
579 * All intra encoding speedups (AVIF):
580 o Single thread - speed 6: 8%
581 o Single thread - speed 9: 15%
582 o Multi thread(8) - speed 6: 14%
583 o Multi thread(8) - speed 9: 34%
586 * Issue 3163: Segmentation fault when using --enable-keyframe-filtering=2
587 * Issue 2436: Integer overflow in av1_warp_affine_c()
588 * Issue 3226: armv7 build failure due to gcc-11
589 * Issue 3195: Bug report on libaom (AddressSanitizer: heap-buffer-overflow)
590 * Issue 3191: Bug report on libaom (AddressSanitizer: SEGV on unknown
592 * Issue 3176: Some SSE2/SADx4AvgTest.* tests fail on Windows
593 * Issue 3175: Some SSE2/SADSkipTest.* tests fail on Windows
596 This release includes compression efficiency and perceptual quality
597 improvements, speedup and memory optimizations, as well as some new
601 * Introduced speeds 7, 8, and 9 for all intra mode.
602 * Introduced speed 10 for real time mode.
603 * Introduced an API that allows external partition decisions.
604 * SVC: added support for compound prediction.
605 * SVC: added support for fixed SVC modes.
607 - Compression Efficiency Improvements
608 * Intra-mode search improvement.
609 * Improved real time (RT) mode BDrate savings by ~5% (RT speed 5)
610 and ~12% (RT speed 6). The improvement was measured on the video
612 * Improved real time mode for nonrd path (speed 7, 8, 9): BDrate
614 * Rate control and RD adjustments based on ML research in VP9.
615 Gains of ~0.5-1.0% for HD.
617 - Perceptual Quality Improvements
618 * Added a new mode --deltaq-mode=3 to improve perceptual quality
619 based on a differential contrast model for still images.
620 * Added a new mode --deltaq-mode=4 to improve perceptual quality
621 based on user rated cq_level data set for still images.
622 * Weighting of some intra mode and partition size choices to better
623 manage and retain texture.
625 - Speedup and Memory Optimizations
626 * Further improved 2-pass good quality encoder speed:
627 o Speed 2 speedup: 18%
628 o Speed 3 speedup: 22%
629 o Speed 4 speedup: 37%
630 o Speed 5 speedup: 30%
631 o Speed 6 speedup: 20%
632 * Optimized the real time encoder (measured on the video conference
634 o RT speed 5 speedup: 110%
635 o RT speed 6 speedup: 77%
638 * Issue 3069: Fix one-pass mode keyframe placement off-by-one error.
639 * Issue 3156: Fix a bug in av1_quantize_lp AVX2 optimization.
642 This release includes several bug fixes.
645 The following four cmake changes should help the people building
647 1. exports: use CMAKE_SHARED_LIBRARY_PREFIX to determine lib name
648 https://aomedia-review.googlesource.com/c/aom/+/142342
649 2. aom_install: Install lib dlls to bindir
650 https://aomedia-review.googlesource.com/c/aom/+/146546
651 3. aom_install: use relpath for install
652 https://aomedia-review.googlesource.com/c/aom/+/146550
653 4. aom_install: don't exclude msvc from install
654 https://aomedia-review.googlesource.com/c/aom/+/146547
656 aom/aom_encoder.h: remove configure option reference
657 https://aomedia-review.googlesource.com/c/aom/+/146743
659 Issue 3113: Tests for detecting chroma subsampling in
660 av1_copy_and_extend_frame() do not work when y_width or y_height is
663 Issue 3115: image2yuvconfig() should calculate uv_crop_width and
664 uv_crop_height from y_crop_width and y_crop_height
666 Issue 3140: rc_overshoot_pct is documented as having a range of
667 0-1000, but is range checked against 0-100
669 Issue 3147: Build failure on Apple M1 arm64
672 This release includes several bug fixes.
675 exports.cmake: use APPLE and WIN32 and use def for mingw-w64
676 https://aomedia-review.googlesource.com/c/aom/+/139882
678 Issue 2993: Incorrect spatial_id when decoding base layer of
681 Issue 3080: Chroma Resampling by Encoder on Y4M Inputs Files Tagged
684 Issue 3081: Use of uninitialized value $version_extra in
685 concatenation (.) or string at aom/build/cmake/version.pl line 88.
688 This release includes several bug fixes.
691 Issue 2965: Cherry-picked the following four commits for the
692 tune=butteraugli mode.
693 1. Add libjxl to pkg_config if enabled:
694 https://aomedia-review.googlesource.com/c/aom/+/136044
695 2. Declare set_mb_butteraugli_rdmult_scaling static:
696 https://aomedia-review.googlesource.com/c/aom/+/134506
697 3. Add color range detection in tune=butteraugli mode:
698 https://aomedia-review.googlesource.com/c/aom/+/135521
699 4. Enable tune=butteraugli in all-intra mode:
700 https://aomedia-review.googlesource.com/c/aom/+/136082
702 Issue 3021: Fix vmaf model initialization error when not set to
705 Issue 3050: Compilation fails with -DCONFIG_TUNE_VMAF=1
707 Issue 3054: Consistent crash on near-static screen content, keyframe
711 This release adds an "all intra" mode to the encoder, which significantly
712 speeds up the encoding of AVIF still images at speed 6.
715 All intra mode for encoding AVIF still images and AV1 all intra videos:
716 AOM_USAGE_ALL_INTRA (2) can be passed as the 'usage' argument to
717 aom_codec_enc_config_default().
719 New encoder control IDs added:
720 - AV1E_SET_ENABLE_DIAGONAL_INTRA: Enable diagonal (D45 to D203) intra
721 prediction modes (0: false, 1: true (default)). Also available as
722 "enable-diagonal-intra" for the aom_codec_set_option() function.
724 New aom_tune_metric enum value: AOM_TUNE_BUTTERAUGLI. The new aomenc option
725 --tune=butteraugli was added to optimize the encoder's perceptual quality by
726 optimizing the Butteraugli metric. Install libjxl (JPEG XL) and then pass
727 -DCONFIG_TUNE_BUTTERAUGLI=1 to the cmake command to enable it.
729 Addition of support for libvmaf 2.x.
732 Heap memory consumption for encoding AVIF still images is significantly
736 Issue 2601: third_party/libaom fails licensecheck
738 Issue 2950: Conditional expression for rc->this_key_frame_forced is always
739 true in find_next_key_frame()
741 Issue 2988: "make install" installs the aom.h header twice
743 Issue 2992: Incorrectly printing the temporal_id twice in dump_obu tool
752 This release includes compression efficiency improvement, speed improvement
753 for realtime mode, as well as some new APIs.
756 Support for PSNR calculation based on stream bit-depth.
758 New encoder control IDs added:
759 - AV1E_SET_ENABLE_RECT_TX
760 - AV1E_SET_VBR_CORPUS_COMPLEXITY_LAP
761 - AV1E_GET_BASELINE_GF_INTERVAL
762 - AV1E_SET_ENABLE_DNL_DENOISING
764 New decoder control IDs added:
765 - AOMD_GET_FWD_KF_PRESENT
766 - AOMD_GET_FRAME_FLAGS
767 - AOMD_GET_ALTREF_PRESENT
769 - AOMD_GET_SCREEN_CONTENT_TOOLS_INFO
770 - AOMD_GET_STILL_PICTURE
772 - AOMD_GET_SHOW_EXISTING_FRAME_FLAG
773 - AOMD_GET_S_FRAME_INFO
775 New aom_tune_content enum value: AOM_CONTENT_FILM
777 New aom_tune_metric enum value: AOM_TUNE_VMAF_NEG_MAX_GAIN
779 Coefficient and mode update can be turned off via
780 AV1E_SET_{COEFF/MODE}_COST_UPD_FREQ.
782 New key & value API added, available with aom_codec_set_option() function.
784 Scaling API expanded to include 1/4, 3/4 and 1/8.
787 Better multithreading performance with realtime mode.
789 New speed 9 setting for faster realtime encoding.
791 Smaller binary size with low bitdepth and realtime only build.
793 Temporal denoiser and its optimizations on x86 and Neon.
795 Optimizations for scaling.
797 Faster encoding with speed settings 2 to 6 for good encoding mode.
799 Improved documentation throughout the library, with function level
800 documentation, tree view and support for the dot tool.
803 Aside from those mentioned in v2.0.1 and v2.0.2, this release includes the
806 Issue 2940: Segfault when encoding with --use-16bit-internal and --limit > 1
808 Issue 2941: Decoder mismatch with --rt --bit-depth=10 and --cpu-used=8
810 Issue 2895: mingw-w64 i686 gcc fails to build
812 Issue 2874: Separate ssse3 functions from sse2 file.
815 This release includes several bug fixes.
818 Issue 2643: Modify the assertion in temporal filter intrinsics.
820 Issue 2648: Fix unit test ThreadTestLarge.EncoderResultTest/49
823 Issue 2869: Add -Wimplicit-function-declaration as C flag only.
825 Issue 2878: Avoid memset in the av1_filter_intra_predictor module
828 Issue 2903: Fix a typo bug in apply_temporal_filter_planewise.
830 Call av1_setup_frame_size() when dropping a frame in the
831 encode_frame_to_data_rate() function in av1/encoder/encoder.c.
834 This release includes two bug fixes.
837 Issue 2723: Fix crash in chroma_check() when generating a monochrome
838 encoded stream in real-time mode.
840 Issue 2833: Fix crash on some input when reduced still picture header is
841 used in real-time mode and speed >=7.
843 2020-05-07 v2.0.0 "Applejack"
844 First official release of libaom.
845 This release includes new real-time mode and SVC support.
848 AOM_SET_POSTPROC, AOM_CODEC_CAP_POSTPROC and AOM_CODEC_USE_POSTPROC are
851 AOM_SET_DBG_* is removed.
853 Multi-resolution encoding is removed.
855 put_frame and put_slice callbacks are removed.
858 Full-sweep document update for codec controls.
861 AOMedia Codec Workgroup Approved version 1.0
863 2016-04-07 v0.1.0 "AOMedia Codec 1"
864 This release is the first Alliance for Open Media codec.