123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768 |
- 2023-11-17 v3.7.1
- This release includes several bug fixes. This release is ABI
- compatible with the last release. See
- https://aomedia.googlesource.com/aom/+log/v3.7.0..v3.7.1 for all the
- commits in this release.
- - Bug Fixes
- * aomedia:3349: heap overflow when increasing resolution
- * aomedia:3478: GCC 12.2.0 emits a -Wstringop-overflow warning on
- aom/av1/encoder/motion_search_facade.c
- * aomedia:3489: Detect encoder and image high bit depth mismatch
- * aomedia:3491: heap-buffer-overflow on frame size change
- * b/303023614: Segfault at encoding time for high bit depth images
- 2023-08-10 v3.7.0
- This release includes new codec interfaces, compression efficiency and
- perceptual improvements, speedup and memory optimizations and many bug fixes.
- This release is ABI compatible with the last release.
- - New Features
- * New codec controls:
- * AV1E_SET_QUANTIZER_ONE_PASS: Set quantizer for each frame.
- * AV1E_ENABLE_RATE_GUIDE_DELTAQ: enable the rate distribution guided delta
- quantization in all intra mode. The "enable-rate-guide-deltaq" option is
- added for this control.
- * AV1E_SET_RATE_DISTRIBUTION_INFO: set the input file for rate
- distribution used in all intra mode. The "rate-distribution-info" option
- is added for this control.
- * AV1E_GET_LUMA_CDEF_STRENGTH
- * AV1E_SET_BITRATE_ONE_PASS_CBR
- * AOM_SCALING_MODE is extended to include 2/3 and 1/3 scaling.
- * aom_tune_metric is extended to include AOM_TUNE_VMAF_SALIENCY_MAP.
- The "tune" option is extended to include "vmaf_saliency_map".
- * SVC example encoder svc_encoder_rtc is able to use the rate control
- library.
- * Loopfilter level and CDEF filter level is supported by RTC rate control
- library.
- * New speed (--cpu-used) 11, intended for RTC screen sharing, added for
- faster encoding with ~3% bdrate loss with 16% IC (instruction count)
- speedup compared to speed 10.
- - Compression Efficiency Improvements
- * Improved VoD encoding performance
- * 0.1-0.6% BDrate gains for encoding speeds 2 to 6
- * Rate control accuracy improvement in VBR mode
- * RTC encoding improvements
- * Screen content mode: 10-19% BDrate gains for speeds 6 - 10
- * Temporal layers video mode, for speed 10:
- * 2 temporal layers on low resolutions: 13-15% BDrate gain
- * 3 temporal layers on VGA/HD: 3-4% BDrate gain
- - Perceptual Quality Improvements
- * Fixed multiple block and color artifacts for RTC screen content by
- * Incorporating color into RD cost for IDTX
- * Reducing thresholds for palette mode in non RD mode
- * Allowing more palette mode testing
- * Improved color sensitivity for altref in non-RD mode.
- * Reduced video flickering for temporal layer encoding.
- - Speedup and Memory Optimizations
- * Speed up the VoD encoder
- * 2-5% for encoding speed 2 to 4
- * 9-15% for encoding speed 5 to 6
- * ARM
- * Standard bitdepth
- * speed 5: +31%
- * speed 4: +2%
- * speed 3: +9%
- * speed 2: +157%
- * High bitdepth
- * speed 5: +85%
- * RTC speedups
- * Screen content mode
- * 15% IC speedup for speeds 6-8
- * ARM: 7% for speed 9, 3% for speed 10
- * Temporal layers video mode
- * 7% speedup for 3 temporal layers on VGA/HD, for speed 10
- * Single layer video
- * x86: 2% IC speedup for speeds 7-10
- * ARM: 2-4% speedup across speeds 5-10
- - Other improvements
- * VoD: Major improvements to global motion estimation, now enabled up to
- speed 4
- * RTC
- * Fixes to make lossless coding work.
- * Fixes to make frame dropper (--drop_frames) work for single and temporal
- layers.
- * Improvements to RPS (reference picture selection) recovery frames.
- * Improvements to rate control for temporal layers.
- * libwebm is updated to libwebm-1.0.0.29-9-g1930e3c
- - Bug Fixes
- * aomedia:3261 Assertion failed when encoding av1 with film grain and
- '--monochrome' flag
- * aomedia:3276 ensure all allocations are checked (partial fix)
- * aomedia:3451 The libaom library calls exit()
- * aomedia:3450 enable -Wshadow for C++ sources
- * aomedia:3449 Test Seg Faults After
- b459af3e345be402db052a143fcc5383d4b74cbd
- * aomedia:3416 prune unused symbols / restrict symbol visibility
- * aomedia:3443 Jenkins failure:
- UninstantiatedParameterizedTestSuite<EstimateNoiseTest>
- * aomedia:3434 realtime failures with CONFIG_BITSTREAM_DEBUG=1
- * aomedia:3433 DeltaqModeTest crash w/row_mt=0
- * aomedia:3429 Encoder crash when turn on both ExternalResize and
- g_threads > 2
- * aomedia:3438 Build failure with
- `-DSANITIZE=address -DBUILD_SHARED_LIBS=ON` when using clang.
- * aomedia:3435 Block artifacts when scrolling with AV1 in screen sharing
- scenarios
- * aomedia:3170 vmaf tune presets produce extreme glitches in one scene
- * aomedia:3401 Building shared libaom with MSVC results in a race condition
- with the export library
- * aomedia:3420 Floating point exception in av1_tpl_get_frame_importance()
- * aomedia:3424 heap-buffer-overflow in ScaleFilterCols_16_C() (SIGABRT)
- * aomedia:3417 examples/svc_encoder_rtc.c is using internal macros and
- functions
- * aomedia:3372 SEGV in assign_frame_buffer_p av1_common_int.h
- * aomedia:3130 'cpu-features.h' file not found on Android NDK 22
- * aomedia:3415 Encoder/decoder mismatch for svc_encoder_rtc running
- 1 SL 3 TL
- * aomedia:3412 Lossless Mode Fails Loopback Bit Test
- * aomedia:3409 The use of AV1_VAR_OFFS in av1/encoder/var_based_part.c is
- incorrect for high bit depths
- * aomedia:3403 test_libaom fails with error message
- "feenableexcept() failed" on Linux arm
- * aomedia:3370 Random color block at fast motion area
- * aomedia:3393 Assertion failure in av1_convolve_2d_sr_c()
- * aomedia:3392 Strong artifacting for high bit-depth real-time
- * aomedia:3376 aomenc --threads=10 --deltaq-mode=3 crashes after
- "Allintra: multi-threading of calculating differential contrast"
- * aomedia:3380 Crashes and ASan and TSan errors in deltaq-mode=3
- multithreading code
- * chromium:1410766 heap-buffer-overflow in aom_yv12_copy_v_c
- * Cannot set level via AV1E_SET_TARGET_SEQ_LEVEL_IDX
- * Encoding failure due to the use of loop restoration with unintended use of
- lossless mode.
- * Signed integer overflow in scan_past_frames
- * Signed integer overflow in update_a_sep_sym
- * Flickering in AV1 1440p/2160p HDR transcodes
- * Fixed artifacts with screen share at encoder speed 10
- * Fixed prediction setup for IDTX
- 2023-05-08 v3.6.1
- This release includes several bug fixes. This release is ABI
- compatible with the last release. See
- https://aomedia.googlesource.com/aom/+log/v3.6.0..v3.6.1 for all the
- commits in this release.
- - Bug Fixes
- * aomedia:2871: Guard the support of the 7.x and 8.x levels for AV1
- under the CONFIG_CWG_C013 config flag, and only output the 7.x and
- 8.x levels when explicitly requested.
- * aomedia:3382: Choose sb_size by ppi instead of svc.
- * aomedia:3384: Fix fullpel search limits.
- * aomedia:3388: Replace left shift of xq_active by multiplication.
- * aomedia:3389: Fix MV clamping in av1_mv_pred.
- * aomedia:3390: set_ld_layer_depth: cap max_layer_depth to
- MAX_ARF_LAYERS.
- * aomedia:3418: Fix MV clamping in av1_int_pro_motion_estimation.
- * aomedia:3429: Move lpf thread data init to lpf_pipeline_mt_init().
- * b:266719111: Fix undefined behavior in Arm Neon code.
- * b:269840681: nonrd_opt: align scan tables.
- * rtc: Fix is_key_frame setting in variance partition.
- * Build: Fix build with clang-cl and Visual Studio.
- * Build: Fix module definition file for MinGW/MSYS.
- 2023-02-03 v3.6.0
- This release includes compression efficiency and perceptual quality
- improvements, speedup and memory optimizations, and some new features.
- This release is ABI compatible with the last release.
- - New Features
- * New values 20-27 (corresponding to levels 7.0-7.3 and 8.0-8.3) for
- the encoder control AV1E_SET_TARGET_SEQ_LEVEL_IDX (note that the
- proposal to add the new levels are still in draft status). The
- original special value 24 (keep level stats only for level
- monitoring) is renumbered as 32.
- * New encoder control AV1E_SET_SKIP_POSTPROC_FILTERING to skip the
- application of post-processing filters on reconstructed frame in
- all intra mode.
- * New encoder option "kf-max-pyr-height": Maximum height of pyramid
- structure used for the GOP starting with a key frame (-1 to 5).
- * Make SVC work for screen content.
- * Rate control improvements to reduce frame-size spikes for screen
- content coding.
- * RISC-V architecture support with gcc toolchain.
- - Compression Efficiency Improvements
- * Peak compression efficiency in VOD setting is improved by 1%.
- * 0.7% - 2.2% RTC encoding BDrate gains for real time speed 8 to 10.
- * 15% RTC encoding BDrate gains for screen content speed 10.
- - Perceptual Quality Improvements
- * Resolved a visual quality issue that was reported for high
- resolution clips (2K) for speed 4 and above in VOD use case.
- * Visual quality improvements to screen content coding.
- * Quality improvements to temporal layer RTC coding.
- - Speedup and Memory Optimizations
- * RTC single-thread encoder speedup:
- o ~6% instruction count reduction for speed 5 and 6.
- o ~15% instruction count reduction for speed 7.
- o ~10% instruction count reduction for speed 8 to 10 (>=360p
- resolutions).
- * RTC multi-thread encoder speedup (beyond single-thread speedup):
- o 5-8% encode time reduction for speed 7 to 10.
- * RTC screen-content encoder speedup:
- o 11% instruction count reduction for speed 9 and 10 (>=720p
- resolutions).
- * ~5% reduction in heap memory requirements for RTC, speed 6 to 10.
- * AVIF:
- o 4-5% speedup for speed 9 in still-picture encoding mode.
- o 3-4% heap memory reduction in still-picture encoding mode for
- 360p-720p resolutions with multiple threads.
- - Bug Fixes
- * Added a workaround for an AV1 specification bug which makes
- TRANSLATION type global motion models unusable.
- * Fixed AddressSanitizer global-buffer-overflow errors in
- av1/encoder/arm/neon/av1_fwd_txfm2d_neon.c.
- * Fixed AddressSanitizer heap-buffer-overflow error in
- av1_wiener_convolve_add_src_neon().
- * chromium:1393384 Avoid scene detection on spatial resize.
- * aomedia:3308 Remove color artifacts under high motion.
- * aomedia:3310 Avoid out of memory failures with Visual Studio 2017,
- 2019, and 2022 for Win32 x86 builds.
- * aomedia:3346 Make SVC work properly for screen content.
- * aomedia:3348 Fix a bug where an uninitialized search_site is used.
- * aomedia:3365 Work around what seems like a Visual Studio 2022
- compiler optimization bug.
- * aomedia:3369 Incorrect PSNR values reported by libaom for 12-bit
- encode.
- 2022-08-31 v3.5.0
- This release is ABI compatible with the last one, including speedup and memory
- optimizations, and new APIs and features.
- - New Features
- * Support for frame parallel encode for larger number of threads. --fp-mt
- flag is available for all build configurations.
- * New codec control AV1E_GET_NUM_OPERATING_POINTS
- - Speedup and Memory Optimizations
- * Speed-up multithreaded encoding for good quality mode for larger number of
- threads through frame parallel encoding:
- o 30-34% encode time reduction for 1080p, 16 threads, 1x1 tile
- configuration (tile_rows x tile_columns)
- o 18-28% encode time reduction for 1080p, 16 threads, 2x4 tile
- configuration
- o 18-20% encode time reduction for 2160p, 32 threads, 2x4 tile
- configuration
- * 16-20% speed-up for speed=6 to 8 in still-picture encoding mode
- * 5-6% heap memory reduction for speed=6 to 10 in real-time encoding mode
- * Improvements to the speed for speed=7, 8 in real-time encoding mode
- * Improvements to the speed for speed=9, 10 in real-time screen encoding
- mode
- * Optimizations to improve multi-thread efficiency in real-time encoding
- mode
- * 10-15% speed up for SVC with temporal layers
- * SIMD optimizations:
- o Improve av1_quantize_fp_32x32_neon() 1.05x to 1.24x faster
- o Add aom_highbd_quantize_b{,_32x32,_64x64}_adaptive_neon() 3.15x to 5.6x
- faster than "C"
- o Improve av1_quantize_fp_64x64_neon() 1.17x to 1.66x faster
- o Add aom_quantize_b_avx2() 1.4x to 1.7x faster than aom_quantize_b_avx()
- o Add aom_quantize_b_32x32_avx2() 1.4x to 2.3x faster than
- aom_quantize_b_32x32_avx()
- o Add aom_quantize_b_64x64_avx2() 2.0x to 2.4x faster than
- aom_quantize_b_64x64_ssse3()
- o Add aom_highbd_quantize_b_32x32_avx2() 9.0x to 10.5x faster than
- aom_highbd_quantize_b_32x32_c()
- o Add aom_highbd_quantize_b_64x64_avx2() 7.3x to 9.7x faster than
- aom_highbd_quantize_b_64x64_c()
- o Improve aom_highbd_quantize_b_avx2() 1.07x to 1.20x faster
- o Improve av1_quantize_fp_avx2() 1.13x to 1.49x faster
- o Improve av1_quantize_fp_32x32_avx2() 1.07x to 1.54x faster
- o Improve av1_quantize_fp_64x64_avx2() 1.03x to 1.25x faster
- o Improve av1_quantize_lp_avx2() 1.07x to 1.16x faster
- - Bug fixes including but not limited to
- * aomedia:3206 Assert that skip_width > 0 for deconvolve function
- * aomedia:3278 row_mt enc: Delay top-right sync when intraBC is enabled
- * aomedia:3282 blend_a64_*_neon: fix bus error in armv7
- * aomedia:3283 FRAME_PARALLEL: Propagate border size to all cpis
- * aomedia:3283 RESIZE_MODE: Fix incorrect strides being used for motion
- search
- * aomedia:3286 rtc-svc: Fix to dynamic_enable spatial layers
- * aomedia:3289 rtc-screen: Fix to skipping inter-mode test in nonrd
- * aomedia:3289 rtc-screen: Fix for skip newmv on flat blocks
- * aomedia:3299 Fix build failure with CONFIG_TUNE_VMAF=1
- * aomedia:3296 Fix the conflict --enable-tx-size-search=0 with nonrd mode
- --enable-tx-size-search will be ignored in non-rd pick mode
- * aomedia:3304 Fix off-by-one error of max w/h in validate_config
- * aomedia:3306 Do not use pthread_setname_np on GNU/Hurd
- * aomedia:3325 row-multithreading produces invalid bitstream in some cases
- * chromium:1346938, chromium:1338114
- * compiler_flags.cmake: fix flag detection w/cmake 3.17-3.18.2
- * tools/*.py: update to python3
- * aom_configure.cmake: detect PIE and set CONFIG_PIC
- * test/simd_cmp_impl: use explicit types w/CompareSimd*
- * rtc: Fix to disable segm for aq-mode=3
- * rtc: Fix to color_sensitivity in variance partition
- * rtc-screen: Fix bsize in model rd computation for intra chroma
- * Fixes to ensure the correct behavior of the encoder algorithms (like
- segmentation, computation of statistics, etc.)
- 2022-06-17 v3.4.0
- This release includes compression efficiency and perceptual quality
- improvements, speedup and memory optimizations, and some new features.
- There are no ABI or API breaking changes in this release.
- - New Features
- * New --dist-metric flag with "qm-psnr" value to use quantization
- matrices in the distortion computation for RD search. The default
- value is "psnr".
- * New command line option "--auto-intra-tools-off=1" to make
- all-intra encoding faster for high bit rate under
- "--deltaq-mode=3" mode.
- * New rate control library aom_av1_rc for real-time hardware
- encoders. Supports CBR for both one spatial layer and SVC.
- * New image format AOM_IMG_FMT_NV12 can be used as input to the
- encoder. The presence of AOM_IMG_FMT_NV12 can be detected at
- compile time by checking if the macro AOM_HAVE_IMG_FMT_NV12 is
- defined.
- * New codec controls for the encoder:
- o AV1E_SET_AUTO_INTRA_TOOLS_OFF. Only in effect if
- --deltaq-mode=3.
- o AV1E_SET_RTC_EXTERNAL_RC
- o AV1E_SET_FP_MT. Only supported if libaom is built with
- -DCONFIG_FRAME_PARALLEL_ENCODE=1.
- o AV1E_GET_TARGET_SEQ_LEVEL_IDX
- * New key-value pairs for the key-value API:
- o --auto-intra-tools-off=0 (default) or 1. Only in effect if
- --deltaq-mode=3.
- o --strict-level-conformance=0 (default) or 1
- o --fp-mt=0 (default) or 1. Only supported if libaom is built
- with -DCONFIG_FRAME_PARALLEL_ENCODE=1.
- * New aomenc options (not supported by the key-value API):
- o --nv12
- - Compression Efficiency Improvements
- * Correctly calculate SSE for high bitdepth in skip mode, 0.2% to
- 0.6% coding gain.
- * RTC at speed 9/10: BD-rate gain of ~4/5%
- * RTC screen content coding: many improvements for real-time screen
- at speed 10 (quality, speedup, and rate control), up to high
- resolutions (1080p).
- * RTC-SVC: fixes to make intra-only frames work for spatial layers.
- * RTC-SVC: quality improvements for temporal layers.
- * AV1 RT: A new passive rate control strategy for screen content, an
- average of 7.5% coding gain, with some clips of 20+%. The feature
- is turned off by default due to higher bit rate variation.
- - Perceptual Quality Improvements
- * RTC: Visual quality improvements for high speeds (9/10)
- * Improvements in coding quality for all intra mode
- - Speedup and Memory Optimizations
- * ~10% speedup in good quality mode encoding.
- * ~7% heap memory reduction in good quality encoding mode for speed
- 5 and 6.
- * Ongoing improvements to intra-frame encoding performance on Arm
- * Faster encoding speed for "--deltaq-mode=3" mode.
- * ~10% speedup for speed 5/6, ~15% speedup for speed 7/8, and
- ~10% speedup for speed 9/10 in real time encoding mode
- * ~20% heap memory reduction in still-picture encoding mode for
- 360p-720p resolutions with multiple threads
- * ~13% speedup for speed 6 and ~12% speedup for speed 9 in
- still-picture encoding mode.
- * Optimizations to improve multi-thread efficiency for still-picture
- encoding mode.
- - Bug Fixes
- * b/204460717: README.md: replace master with main
- * b/210677928: libaom disable_order is surprising for
- max_reference_frames=3
- * b/222461449: -DCONFIG_TUNE_BUTTERAUGLI=1 broken
- * b/227207606: write_greyscale writes incorrect chroma in highbd
- mode
- * b/229955363: Integer-overflow in linsolve_wiener
- * https://crbug.com/aomedia/2032
- * https://crbug.com/aomedia/2397
- * https://crbug.com/aomedia/2563
- * https://crbug.com/aomedia/2815
- * https://crbug.com/aomedia/3009
- * https://crbug.com/aomedia/3018
- * https://crbug.com/aomedia/3045
- * https://crbug.com/aomedia/3101
- * https://crbug.com/aomedia/3130
- * https://crbug.com/aomedia/3173
- * https://crbug.com/aomedia/3184
- * https://crbug.com/aomedia/3187
- * https://crbug.com/aomedia/3190
- * https://crbug.com/aomedia/3195
- * https://crbug.com/aomedia/3197
- * https://crbug.com/aomedia/3201
- * https://crbug.com/aomedia/3202
- * https://crbug.com/aomedia/3204
- * https://crbug.com/aomedia/3205
- * https://crbug.com/aomedia/3207
- * https://crbug.com/aomedia/3208
- * https://crbug.com/aomedia/3209
- * https://crbug.com/aomedia/3213
- * https://crbug.com/aomedia/3214
- * https://crbug.com/aomedia/3219
- * https://crbug.com/aomedia/3222
- * https://crbug.com/aomedia/3223
- * https://crbug.com/aomedia/3225
- * https://crbug.com/aomedia/3226
- * https://crbug.com/aomedia/3228
- * https://crbug.com/aomedia/3232
- * https://crbug.com/aomedia/3236
- * https://crbug.com/aomedia/3237
- * https://crbug.com/aomedia/3238
- * https://crbug.com/aomedia/3240
- * https://crbug.com/aomedia/3243
- * https://crbug.com/aomedia/3244
- * https://crbug.com/aomedia/3246
- * https://crbug.com/aomedia/3248
- * https://crbug.com/aomedia/3250
- * https://crbug.com/aomedia/3251
- * https://crbug.com/aomedia/3252
- * https://crbug.com/aomedia/3255
- * https://crbug.com/aomedia/3257
- * https://crbug.com/aomedia/3259
- * https://crbug.com/aomedia/3260
- * https://crbug.com/aomedia/3267
- * https://crbug.com/aomedia/3268
- * https://crbug.com/aomedia/3269
- * https://crbug.com/aomedia/3276
- * https://crbug.com/aomedia/3278
- * https://crbug.com/chromium/1290068
- * https://crbug.com/chromium/1303237
- * https://crbug.com/chromium/1304990
- * https://crbug.com/chromium/1321141
- * https://crbug.com/chromium/1321388
- * https://crbug.com/oss-fuzz/44846
- * https://crbug.com/oss-fuzz/44856
- * https://crbug.com/oss-fuzz/44862
- * https://crbug.com/oss-fuzz/44904
- * https://crbug.com/oss-fuzz/45056
- 2022-01-28 v3.3.0
- This release includes compression efficiency and perceptual quality
- improvements, speedup and memory optimizations, some new features, and
- several bug fixes.
- - New Features
- * AV1 RT: Introducing CDEF search level 5
- * Changed real time speed 4 to behave the same as real time speed 5
- * Add --deltaq-strength
- * rtc: Allow scene-change and overshoot detection for svc
- * rtc: Intra-only frame for svc
- * AV1 RT: Option 2 for codec control AV1E_SET_ENABLE_CDEF to disable
- CDEF on non-ref frames
- * New codec controls AV1E_SET_LOOPFILTER_CONTROL and
- AOME_GET_LOOPFILTER_LEVEL
- * Improvements to three pass encoding
- - Compression Efficiency Improvements
- * Overall compression gains: 0.6%
- - Perceptual Quality Improvements
- * Improves the perceptual quality of high QP encoding for delta-q mode 4
- * Auto select noise synthesis level for all intra
- - Speedup and Memory Optimizations
- * Added many SSE2 optimizations.
- * Good quality 2-pass encoder speedups:
- o Speed 2: 9%
- o Speed 3: 12.5%
- o Speed 4: 8%
- o Speed 5: 3%
- o Speed 6: 4%
- * Real time mode encoder speedups:
- o Speed 5: 2.6% BDRate gain, 4% speedup
- o Speed 6: 3.5% BDRate gain, 4% speedup
- o Speed 9: 1% BDRate gain, 3% speedup
- o Speed 10: 3% BDRate gain, neutral speedup
- * All intra encoding speedups (AVIF):
- o Single thread - speed 6: 8%
- o Single thread - speed 9: 15%
- o Multi thread(8) - speed 6: 14%
- o Multi thread(8) - speed 9: 34%
- - Bug Fixes
- * Issue 3163: Segmentation fault when using --enable-keyframe-filtering=2
- * Issue 2436: Integer overflow in av1_warp_affine_c()
- * Issue 3226: armv7 build failure due to gcc-11
- * Issue 3195: Bug report on libaom (AddressSanitizer: heap-buffer-overflow)
- * Issue 3191: Bug report on libaom (AddressSanitizer: SEGV on unknown
- address)
- * Issue 3176: Some SSE2/SADx4AvgTest.* tests fail on Windows
- * Issue 3175: Some SSE2/SADSkipTest.* tests fail on Windows
- 2021-10-13 v3.2.0
- This release includes compression efficiency and perceptual quality
- improvements, speedup and memory optimizations, as well as some new
- features.
- - New Features
- * Introduced speeds 7, 8, and 9 for all intra mode.
- * Introduced speed 10 for real time mode.
- * Introduced an API that allows external partition decisions.
- * SVC: added support for compound prediction.
- * SVC: added support for fixed SVC modes.
- - Compression Efficiency Improvements
- * Intra-mode search improvement.
- * Improved real time (RT) mode BDrate savings by ~5% (RT speed 5)
- and ~12% (RT speed 6). The improvement was measured on the video
- conference set.
- * Improved real time mode for nonrd path (speed 7, 8, 9): BDrate
- gains of ~3-5%.
- * Rate control and RD adjustments based on ML research in VP9.
- Gains of ~0.5-1.0% for HD.
- - Perceptual Quality Improvements
- * Added a new mode --deltaq-mode=3 to improve perceptual quality
- based on a differential contrast model for still images.
- * Added a new mode --deltaq-mode=4 to improve perceptual quality
- based on user rated cq_level data set for still images.
- * Weighting of some intra mode and partition size choices to better
- manage and retain texture.
- - Speedup and Memory Optimizations
- * Further improved 2-pass good quality encoder speed:
- o Speed 2 speedup: 18%
- o Speed 3 speedup: 22%
- o Speed 4 speedup: 37%
- o Speed 5 speedup: 30%
- o Speed 6 speedup: 20%
- * Optimized the real time encoder (measured on the video conference
- set):
- o RT speed 5 speedup: 110%
- o RT speed 6 speedup: 77%
- - Bug Fixes
- * Issue 3069: Fix one-pass mode keyframe placement off-by-one error.
- * Issue 3156: Fix a bug in av1_quantize_lp AVX2 optimization.
- 2021-09-29 v3.1.3
- This release includes several bug fixes.
- - Bug fixes:
- The following four cmake changes should help the people building
- libaom using MSVC.
- 1. exports: use CMAKE_SHARED_LIBRARY_PREFIX to determine lib name
- https://aomedia-review.googlesource.com/c/aom/+/142342
- 2. aom_install: Install lib dlls to bindir
- https://aomedia-review.googlesource.com/c/aom/+/146546
- 3. aom_install: use relpath for install
- https://aomedia-review.googlesource.com/c/aom/+/146550
- 4. aom_install: don't exclude msvc from install
- https://aomedia-review.googlesource.com/c/aom/+/146547
- aom/aom_encoder.h: remove configure option reference
- https://aomedia-review.googlesource.com/c/aom/+/146743
- Issue 3113: Tests for detecting chroma subsampling in
- av1_copy_and_extend_frame() do not work when y_width or y_height is
- 1
- Issue 3115: image2yuvconfig() should calculate uv_crop_width and
- uv_crop_height from y_crop_width and y_crop_height
- Issue 3140: rc_overshoot_pct is documented as having a range of
- 0-1000, but is range checked against 0-100
- Issue 3147: Build failure on Apple M1 arm64
- 2021-07-20 v3.1.2
- This release includes several bug fixes.
- - Bug fixes:
- exports.cmake: use APPLE and WIN32 and use def for mingw-w64
- https://aomedia-review.googlesource.com/c/aom/+/139882
- Issue 2993: Incorrect spatial_id when decoding base layer of
- multi-layer stream
- Issue 3080: Chroma Resampling by Encoder on Y4M Inputs Files Tagged
- as C420mpeg2
- Issue 3081: Use of uninitialized value $version_extra in
- concatenation (.) or string at aom/build/cmake/version.pl line 88.
- 2021-06-08 v3.1.1
- This release includes several bug fixes.
- - Bug fixes:
- Issue 2965: Cherry-picked the following four commits for the
- tune=butteraugli mode.
- 1. Add libjxl to pkg_config if enabled:
- https://aomedia-review.googlesource.com/c/aom/+/136044
- 2. Declare set_mb_butteraugli_rdmult_scaling static:
- https://aomedia-review.googlesource.com/c/aom/+/134506
- 3. Add color range detection in tune=butteraugli mode:
- https://aomedia-review.googlesource.com/c/aom/+/135521
- 4. Enable tune=butteraugli in all-intra mode:
- https://aomedia-review.googlesource.com/c/aom/+/136082
- Issue 3021: Fix vmaf model initialization error when not set to
- tune=vmaf
- Issue 3050: Compilation fails with -DCONFIG_TUNE_VMAF=1
- Issue 3054: Consistent crash on near-static screen content, keyframe
- related
- 2021-05-03 v3.1.0
- This release adds an "all intra" mode to the encoder, which significantly
- speeds up the encoding of AVIF still images at speed 6.
- - Upgrading:
- All intra mode for encoding AVIF still images and AV1 all intra videos:
- AOM_USAGE_ALL_INTRA (2) can be passed as the 'usage' argument to
- aom_codec_enc_config_default().
- New encoder control IDs added:
- - AV1E_SET_ENABLE_DIAGONAL_INTRA: Enable diagonal (D45 to D203) intra
- prediction modes (0: false, 1: true (default)). Also available as
- "enable-diagonal-intra" for the aom_codec_set_option() function.
- New aom_tune_metric enum value: AOM_TUNE_BUTTERAUGLI. The new aomenc option
- --tune=butteraugli was added to optimize the encoder's perceptual quality by
- optimizing the Butteraugli metric. Install libjxl (JPEG XL) and then pass
- -DCONFIG_TUNE_BUTTERAUGLI=1 to the cmake command to enable it.
- Addition of support for libvmaf 2.x.
- - Enhancements:
- Heap memory consumption for encoding AVIF still images is significantly
- reduced.
- - Bug fixes:
- Issue 2601: third_party/libaom fails licensecheck
- Issue 2950: Conditional expression for rc->this_key_frame_forced is always
- true in find_next_key_frame()
- Issue 2988: "make install" installs the aom.h header twice
- Issue 2992: Incorrectly printing the temporal_id twice in dump_obu tool
- Issue 2998:
- Issue 2999:
- Issue 3000:
- 2021-02-24 v3.0.0
- This release includes compression efficiency improvement, speed improvement
- for realtime mode, as well as some new APIs.
- - Upgrading:
- Support for PSNR calculation based on stream bit-depth.
- New encoder control IDs added:
- - AV1E_SET_ENABLE_RECT_TX
- - AV1E_SET_VBR_CORPUS_COMPLEXITY_LAP
- - AV1E_GET_BASELINE_GF_INTERVAL
- - AV1E_SET_ENABLE_DNL_DENOISING
- New decoder control IDs added:
- - AOMD_GET_FWD_KF_PRESENT
- - AOMD_GET_FRAME_FLAGS
- - AOMD_GET_ALTREF_PRESENT
- - AOMD_GET_TILE_INFO
- - AOMD_GET_SCREEN_CONTENT_TOOLS_INFO
- - AOMD_GET_STILL_PICTURE
- - AOMD_GET_SB_SIZE
- - AOMD_GET_SHOW_EXISTING_FRAME_FLAG
- - AOMD_GET_S_FRAME_INFO
- New aom_tune_content enum value: AOM_CONTENT_FILM
- New aom_tune_metric enum value: AOM_TUNE_VMAF_NEG_MAX_GAIN
- Coefficient and mode update can be turned off via
- AV1E_SET_{COEFF/MODE}_COST_UPD_FREQ.
- New key & value API added, available with aom_codec_set_option() function.
- Scaling API expanded to include 1/4, 3/4 and 1/8.
- - Enhancements:
- Better multithreading performance with realtime mode.
- New speed 9 setting for faster realtime encoding.
- Smaller binary size with low bitdepth and realtime only build.
- Temporal denoiser and its optimizations on x86 and Neon.
- Optimizations for scaling.
- Faster encoding with speed settings 2 to 6 for good encoding mode.
- Improved documentation throughout the library, with function level
- documentation, tree view and support for the dot tool.
- - Bug fixes:
- Aside from those mentioned in v2.0.1 and v2.0.2, this release includes the
- following bug fixes:
- Issue 2940: Segfault when encoding with --use-16bit-internal and --limit > 1
- Issue 2941: Decoder mismatch with --rt --bit-depth=10 and --cpu-used=8
- Issue 2895: mingw-w64 i686 gcc fails to build
- Issue 2874: Separate ssse3 functions from sse2 file.
- 2021-02-09 v2.0.2
- This release includes several bug fixes.
- - Bug fixes:
- Issue 2643: Modify the assertion in temporal filter intrinsics.
- Issue 2648: Fix unit test ThreadTestLarge.EncoderResultTest/49
- assertion failure.
- Issue 2869: Add -Wimplicit-function-declaration as C flag only.
- Issue 2878: Avoid memset in the av1_filter_intra_predictor module
- functions.
- Issue 2903: Fix a typo bug in apply_temporal_filter_planewise.
- Call av1_setup_frame_size() when dropping a frame in the
- encode_frame_to_data_rate() function in av1/encoder/encoder.c.
- 2020-11-25 v2.0.1
- This release includes two bug fixes.
- - Bug fixes:
- Issue 2723: Fix crash in chroma_check() when generating a monochrome
- encoded stream in real-time mode.
- Issue 2833: Fix crash on some input when reduced still picture header is
- used in real-time mode and speed >=7.
- 2020-05-07 v2.0.0 "Applejack"
- First official release of libaom.
- This release includes new real-time mode and SVC support.
- - Upgrading:
- AOM_SET_POSTPROC, AOM_CODEC_CAP_POSTPROC and AOM_CODEC_USE_POSTPROC are
- removed.
- AOM_SET_DBG_* is removed.
- Multi-resolution encoding is removed.
- put_frame and put_slice callbacks are removed.
- - Enhancements:
- Full-sweep document update for codec controls.
- 2018-06-28 v1.0.0
- AOMedia Codec Workgroup Approved version 1.0
- 2016-04-07 v0.1.0 "AOMedia Codec 1"
- This release is the first Alliance for Open Media codec.
|