| 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. |