This project is mirrored from https://aomedia.googlesource.com/aom. Pull mirroring failed .
Repository mirroring has been paused due to too many failed attempts. It can be resumed by a project maintainer.
Last successful update .
  1. 11 Feb, 2025 1 commit
  2. 08 Feb, 2025 1 commit
  3. 07 Feb, 2025 3 commits
  4. 06 Feb, 2025 1 commit
  5. 05 Feb, 2025 1 commit
    • Wan-Teh Chang's avatar
      Rename tune=ssimulacra2 to tune=iq · 3b6812b9
      Wan-Teh Chang authored
      We want tune=ssimulacra2 to mean a mode that maximizes the SSIMULACRA 2
      metric. The current tune=ssimulacra2 mode increases image quality by
      using the SSIMULACRA 2 metric as a guidance and validating with
      subjective visual quality checks. Rename it tune=iq, which stands for
      image quality or intra quality.
      
      Bug: b:390668380
      Change-Id: I6f1943395ffc186e9cc773e96d0d69c80d857641
      3b6812b9
  6. 31 Jan, 2025 1 commit
    • James Zern's avatar
      warped_motion.c,cosmetics: fix long line · 3990233f
      James Zern authored
      This was missed due to `/* clang-format off */`, which was meant for the
      `av1_warped_filter[]` array entries.
      
      Change-Id: I9abb43349ed98b119da06d2dc307575eafde47c9
      3990233f
  7. 30 Jan, 2025 1 commit
    • Salome Thirot's avatar
      Remove interleaving load/stores in cfl_predict_neon · feba11b3
      Salome Thirot authored
      Interleaving is not necessary and interleaving load/stores can be very
      slow. Write new helper functions for old compiler versions that don't
      support these _x2/_x4 variants.
      
      Change-Id: I9d865acc68528e3ea192d56e2cceab5bad87d14b
      feba11b3
  8. 28 Jan, 2025 10 commits
    • James Zern's avatar
      aomenc.c: add missing cast · d8ec0d2e
      James Zern authored
      Fixes a `-Wsign-compare` warning seen with clang 18.1.8 shipped with
      Microsoft Visual Studio 2022 17.12.4.
      
      aomenc.c:2321:76: warning: comparison of integers of different signs:
        'unsigned int' and 'aom_bit_depth_t' (aka 'enum aom_bit_depth')
        [-Wsign-compare]
      | if ((global.show_psnr == 2) && (stream->config.cfg.g_input_bit_depth ==
      |                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^
      |                                 stream->config.cfg.g_bit_depth)) {
      |                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      
      Change-Id: Ifb30405efe6b7e4c9cba72922ef79b2e635c4084
      d8ec0d2e
    • jerry's avatar
      riscv64/cdef: Add the CDEF optimization · 5d06690b
      jerry authored
      Change-Id: Ic9184eb4a58256fbbe204835593c3d07bc8564fa
      5d06690b
    • Salome Thirot's avatar
      Optimize Neon implementation of aom_highbd_lpf_14_neon · 8498455b
      Salome Thirot authored
      Port the optimizations and cleanups found while porting these functions
      to SVT-AV1.
      
      Change-Id: I894460ea2b1790d3c1312a0a38c7c5ab2c445aa6
      8498455b
    • Salome Thirot's avatar
      Optimize Neon implementation of aom_highbd_lpf_8_neon · cebba96d
      Salome Thirot authored
      Port the optimizations and cleanups found while porting these functions
      to SVT-AV1.
      
      Change-Id: I71037e2a4c6df5a291ceaac6ff4de7c354c78442
      cebba96d
    • Salome Thirot's avatar
      Optimize Neon implementation of aom_highbd_lpf_6_neon · 99258a8f
      Salome Thirot authored
      Port the optimizations and cleanups found while porting these functions
      to SVT-AV1.
      
      Change-Id: I5a07c67bbf393536a8d85b760d2ade19112400f1
      99258a8f
    • Salome Thirot's avatar
      Cleanup and optimize aom_highbd_lpf_4_neon · 0af5397b
      Salome Thirot authored
      Some minor optimizations and cleanup were found while porting these
      functions to SVT-AV1, so backport them here.
      
      Change-Id: Ib31b66de90438c6b3de918bfa61d4b69b1dc3a0f
      0af5397b
    • Salome Thirot's avatar
      Cleanup Neon implementation of aom_lpf4 · 92f9a3b9
      Salome Thirot authored
      Use the existing helper to compute filter4() and return if filtering
      isn't needed.
      
      This is a port from 487fa384eeb542e3cd885b161b212578c97dc908 in SVT-AV1.
      
      Change-Id: I557ed6a9ecc367243858ab4ab71e781d8b4ae9e8
      92f9a3b9
    • Salome Thirot's avatar
      Optimize Neon implementation of aom_lpf_14 · 0b436b0d
      Salome Thirot authored
      The Neon implementations of aom_lpf_vertical_14 and
      aom_lpf_horizontal_14 compute every filter (filter4(), filter8() and
      filter14()) before selecting for each element which filter is actually
      needed. In practice, however, a lot of cases only need one of the
      filters, so specialize for these scenarios, computing only the filters
      that are needed and eliminate bitwise select.  This makes the case where
      all filters are needed slightly slower, but as it is far from the most
      common case this is ok.
      
      Also move the actual filter computation to separate functions to avoid
      code duplication.
      
      This is a port from 4d6f560d1f4a35a47e5dfc9b7c2dc4f5483d49dc in SVT-AV1.
      
      Change-Id: Id608edad6fee69fc263eb6ee9e0956ca6311d77f
      0b436b0d
    • Salome Thirot's avatar
      Optimize Neon implementation of aom_lpf_8 · 0e1c1a32
      Salome Thirot authored
      The Neon implementations of aom_lpf_vertical_8 and aom_lpf_horizontal_8
      compute both filter4() and filter8() before selecting for each element
      which filter is actually needed. In practice, however, a lot of cases
      only need one of the filters, so specialize for these scenarios,
      computing only the filters that are needed and eliminate bitwise select.
      This makes the case where all filters are needed slightly slower, but as
      it is far from the most common case this is ok.
      
      Also move the actual filter computation to separate functions to avoid
      code duplication.
      
      This is a port from d8ebdeec1edc1df12b2b19a6ffe477aea4bc158e in SVT-AV1.
      
      Change-Id: I2e7157f26515f9ec51e82ad32434117adc4be928
      0e1c1a32
    • Salome Thirot's avatar
      Optimize Neon implementation of aom_lpf_6 · 16d45e09
      Salome Thirot authored
      The Neon implementations of aom_lpf_vertical_6 and aom_lpf_horizontal_6
      compute both filter4() and filter6() before selecting for each element
      which filter is actually needed. In practice, however, a lot of cases
      only need one of the filters, so specialize for these scenarios,
      computing only the filters that are needed and eliminate bitwise select.
      This makes the case where all filters are needed slightly slower, but as
      it is far from the most common case this is ok.
      
      Also move the actual filter computation to separate functions to avoid
      code duplication.
      
      This is a port from d29673138e044fa7dec420f74e1451c53a9ea8ca in SVT-AV1.
      
      Change-Id: Ibda2567c3781e51a9d43c59480284072115ceab6
      16d45e09
  9. 24 Jan, 2025 1 commit
    • James Zern's avatar
      test_aom_rc: work around multiple def link error w/cygwin/mingw · a8f1280d
      James Zern authored
      When building with `BUILD_SHARED_LIBS=1` the aom_av1_rc library will
      link against a static version of libaom as it requires some internal
      functions. This causes the library to contain duplicate versions of some
      of the symbols in libaom which causes link errors when targeting cygwin
      or msys2/mingw-w64. `--allow-multiple-definition` is added to the linker
      flags as a workaround. A better fix will be to limit the symbols
      exported by the library to only the public interface, as is done with
      libaom.
      
      Fixes errors of the form:
      .../x86_64-pc-cygwin/bin/ld:
        libaom.a(aom_codec.c.o):aom_codec.c:(.text+0x30): multiple definition
        of 'aom_codec_iface_name';
        libaom_av1_rc.dll.a(cygaom_av1_rc_dll_d000055.o):(.text+0x0): first
        defined here
      
      Bug: aomedia:391715078
      Change-Id: Ib6c7431de6b7d6f867371c9518ac4b5fdd80667d
      a8f1280d
  10. 23 Jan, 2025 2 commits
    • James Zern's avatar
      cmake: don't use -Wl,-z,def w/cygwin · 8a1be021
      James Zern authored
      fixes:
      .../x86_64-pc-cygwin/bin/ld: unrecognized option '-z'
      .../x86_64-pc-cygwin/bin/ld: use the --help option for usage information
      collect2: error: ld returned 1 exit status
      
      Bug: aomedia:391549038
      Change-Id: I263fa211eb676029448a88ec1cdaedc44528ea32
      8a1be021
    • James Zern's avatar
      set_encoder_config: rm VBR rc buf size override · c10770a6
      James Zern authored
      Previously the values of rc_buf_sz, rc_buf_initial_sz and
      rc_buf_optimal_sz would be ignored when rc_end_usage was set to AOM_VBR
      and the targets set to quite large values.
      
      Change-Id: I68b302d702e389f0341968bfcc0019fb40da7066
      c10770a6
  11. 22 Jan, 2025 1 commit
    • Marco Paniconi's avatar
      rtc-screen: Make sb horiz scroll search window same as vert · 3f94cfa2
      Marco Paniconi authored
      Add more conditions for increasing the horiz/col scroll
      motion window, to reduce speed regression. Condition
      it on the high motion frame-level flag and whether
      the last TL0 had horiz scroll.
      
      Leave the condition as is for now for the vert/row
      scroll since its more common.
      
      Bug: b:383306740
      Change-Id: Idf54694ef53f024da2e9a7561f25db77f9348bf0
      3f94cfa2
  12. 21 Jan, 2025 1 commit
    • Mahesh Madhav's avatar
      Match types between refs and coeffs in generic path · db1d742e
      Mahesh Madhav authored
      Set table data type from 16-bit to 8-bit when not using ARM/X86
      intrinsics. Changing to narrower 8-bit type matches how data is
      used naturally in the code; all values are 8-bit anyway. Narrower
      width allows compiler to use consistent type, enabling better
      vectorization and reducing memory bandwidth.
      
      aarch64 and x86-64 intrinsics paths have similar optimizations.
      
      Change-Id: I03fb0e016143b38a0b7197f8b21577b470578a61
      db1d742e
  13. 17 Jan, 2025 2 commits
    • Wan-Teh Chang's avatar
      Remove the int16_t * casts for av1_warped_filter · e0e69ad3
      Wan-Teh Chang authored
      Complete the work started in commit eac382e1.
      
      Change-Id: I2bfd03fe18276d97e96c29569f3f2d0dbf77371d
      e0e69ad3
    • Wan-Teh Chang's avatar
      Remove the int16_t * casts for av1_warped_filter · eac382e1
      Wan-Teh Chang authored
      The int16_t * casts were apparently added to fix the following compiler
      warning:
        warning: incompatible pointer types assigning to 'const short *'
        from 'const int16_t (*)[8]' (aka 'const short (*)[8]')
        [-Wincompatible-pointer-types]
      
      Using av1_warped_filter[...] (instead of av1_warped_filter + ...) has
      the correct type. The av1_warped_filter[...] form is used in
      av1/common/warped_motion.c.
      
      Note: The int16_t * casts also cast away the const inadvertently because
      av1_warped_filter is a const array.
      
      Change-Id: Iabb564cd0eb1f62a75e8f0283d292e6c64a3088d
      eac382e1
  14. 15 Jan, 2025 1 commit
  15. 14 Jan, 2025 1 commit
  16. 10 Jan, 2025 1 commit
    • James Zern's avatar
      exports_com: rm aom_{malloc,free} · d737ca3e
      James Zern authored
      The functions are private, declared in aom_mem/aom_mem.h.
      
      These functions are used by test_libaom only when test_libaom is linked
      with the libaom static library.
      
      Bug: 370599806
      Change-Id: I9cf12429e1866adacd8ea1fa3f3316193950de00
      d737ca3e
  17. 09 Jan, 2025 1 commit
  18. 06 Jan, 2025 1 commit
  19. 04 Jan, 2025 1 commit
  20. 31 Dec, 2024 1 commit
    • Marco Paniconi's avatar
      rtc: Fix to skip_encoding_non_reference_slide_change · 76df9967
      Marco Paniconi authored
      For scene changes that occur on non_reference
      frames (highest temporal layer) the encoder will do
      a skip encoding. The logic to do this is in the
      variance_partitioning, but this path may be bypassed
      under high motion flag and sb source sad, which is not
      correct. This can lead to some superblocks not being skip
      encoded while others are.
      
      This fixes the artifact observed in comment#18 of the
      issue below.
      
      Bug: b:383306740
      Change-Id: I35ca017edf352efe4e66a5cfbd2879ab73d8a0f6
      76df9967
  21. 27 Dec, 2024 1 commit
  22. 21 Dec, 2024 3 commits
    • James Zern's avatar
      cmake: add float-cast-overflow w/ubsan · 4afbf1b4
      James Zern authored
      Tested with gcc-12/13/14, clang-14/16.
      
      Change-Id: Ifc841db9e3c78531d313aa4b346b982c7f932436
      4afbf1b4
    • Wan-Teh Chang's avatar
      Don't check size limit in aom_realloc_frame_buffer · 79fc63a1
      Wan-Teh Chang authored
      DECODE_WIDTH_LIMIT and DECODE_HEIGHT_LIMIT (used when CONFIG_SIZE_LIMIT
      is defined as 1) are intended for the decoder only. Since
      aom_realloc_frame_buffer() is shared by the decoder and the encoder, it
      should not check DECODE_WIDTH_LIMIT and DECODE_HEIGHT_LIMIT. Move the
      check to the aom_realloc_frame_buffer() call in the
      read_uncompressed_header() function.
      
      Bug: 385367183
      Change-Id: Icdb3660e3631fefb690ef9f28a4d782e4c9a939d
      79fc63a1
    • Marco Paniconi's avatar
      rtc-screen: Increase horiz search in estimate_scroll_motion · f74eae54
      Marco Paniconi authored
      Scroll detection occurs in two places:
      1) at the frame level in estimate_scroll_motion(). This is only done under certain conditions and only for a few superblocks.
      2) at the superblock level in the variance partitioning, this is done on every frame.
      
      This change only increases the horiz/col search window (makes it equal to the vert/row motion for high frame_source_sad) in the estimate_scroll_motion(), to avoid speed slowdown for now.
      
      Reduces artifacts in the issue below for horiz scrolling.
      
      Stats changed for speed 11 rtc_screen:
      negligible change in speed/IC.
      
      Bug: b:383306740
      Change-Id: I54f329cff424299252cf5bd46d1329eb68009f59
      f74eae54
  23. 20 Dec, 2024 1 commit
  24. 18 Dec, 2024 2 commits