tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

CHANGELOG (57641B)


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