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. 18 Jun, 2024 2 commits
    • James Zern's avatar
      encode_api_test: add repro for chromium 339877165 · c3c771d1
      James Zern authored
      BUG=chromium:339877165
      
      Change-Id: I69dcc2cda098ec96a34e1e5f7ef557ee8caf5521
      (cherry picked from commit 01467cdb)
      (cherry picked from commit 3a15245e)
      c3c771d1
    • James Zern's avatar
      update codec config after svc/scale controls · 59b42868
      James Zern authored
      This ensures the encoder state/allocations stay in sync with scaling and
      svc layer changes. In the SVC case, depending on the resolution,
      differences in the chosen superblock size among layers may have caused a
      crash. This was reproducible in WebRTC in screen content mode.
      
      The fix is based on a change by Yuan Tong (tongyuan200097) [1]. It
      refreshes the encoder config after AOME_SET_SCALEMODE,
      AOME_SET_NUMBER_SPATIAL_LAYERS and AV1E_SET_SVC_PARAMS if no frames have
      been encoded. AV1E_SET_SVC_PARAMS was missed in the original change.
      
      [1]: https://aomedia-review.googlesource.com/c/aom/+/171941/2
      
      Bug: chromium:339877165
      Change-Id: Ib3d2a123b159898d7c7e19c81e89ff148920e1f1
      (cherry picked from commit e42f4b19)
      (cherry picked from commit 75971361)
      59b42868
  2. 26 Oct, 2023 8 commits
  3. 25 Oct, 2023 8 commits
    • Satheesh Kumar's avatar
      Add pointers to SB_FIRST_PASS_STATS in MACROBLOCK structure · 7b231692
      Satheesh Kumar authored
      In this CL, 'sb_stats_cache' and 'sb_fp_stats' (pointers to
      'SB_FIRST_PASS_STATS') are added in MACROBLOCK structure to
      facilitate its freeing during encoder_destroy() to avoid memory
      leaks in case of an early termination.
      
      Bug: aomedia:3276
      Change-Id: Ibd5c5e3b4addd5bd96f6f60ee8ab10d52b060435
      7b231692
    • George Steed's avatar
      Mark Neon txfm2d helper functions as force-inline · b973d91a
      George Steed authored
      The helper functions are already inlined in the generated assembly
      however the existing code uses a mixture of INLINE and AOM_FORCE_INLINE.
      To be consistent we convert all helpers to be AOM_FORCE_INLINE.
      
      Change-Id: I61b8f85ed716b551b5cff3c3f446749664ef6d4c
      b973d91a
    • George Steed's avatar
      av1_fwd_txfm2d_neon.c: Fix comment around butterfly operation · 4240650c
      George Steed authored
      The second half of the butterfly is formed by subtraction, not addition.
      
      Change-Id: Ia3e1400071748a40200302be081febb51c22a21f
      4240650c
    • George Steed's avatar
      highbd_fwd_txfm_neon.c: Use more butterfly and DCT helpers · 9921bf97
      George Steed authored
      Introduce new `butterfly_dct_{pre,post}` helpers similar to the ones
      that already exist in the lowbd code and use them across the component
      kernels to avoid duplication of the add/sub steps.
      
      Also make more heavy use of the existing butterfly helpers rather than
      having the sequence hard-coded in the component kernels themselves.
      
      Benchmarking this change on a Neoverse N2 machine with Clang 16 and GCC
      12, the highbd txfm2d speed tests show a geomean 1.1% reduction in times
      reported.
      
      Change-Id: I2221bbb714ffe0ffa499449a4b33da584b9278ef
      9921bf97
    • George Steed's avatar
      highbd_fwd_txfm_neon.c: Push negations into cospi multiplies · cde6826f
      George Steed authored
      The existing ADST kernels have a few `vnegq_s32` operations, however we
      can instead propagate these negations down until we find a butterfly
      multiply operation to merge the negation into. Since we already need the
      negated versions of the cospi constants we can then simply adjust the
      butterfly to match and remove the negation completely.
      
      Benchmarking this change on a Neoverse N2 machine with Clang 16 and GCC
      12, the highbd txfm2d speed tests show a geomean 0.4% reduction in times
      reported.
      
      Change-Id: I1c67ecfa4f36cf2050231af16e8fa889ea1b6d6c
      cde6826f
    • George Steed's avatar
      highbd_fwd_txfm_neon.c: Fix typo in butterfly_half_neon · 72bc2097
      George Steed authored
      The macro parameter in0/1 was unused, we just happened to always have
      the right variable around anyway so it never made a difference.
      
      Change-Id: Ie8c13e7f3ab61d05b905cb33a82b93e2a87431e6
      72bc2097
    • Salome Thirot's avatar
      Add high bitdepth version of EncodeAPI.SetSFrameOnFirstFrame · e625088f
      Salome Thirot authored
      Add a high bitpdeth version of the EncodeAPI.SetSFrameOnFirstFrame test
      suite.
      
      Change-Id: I2055c3454acef3980cd30a60737c9477eb05b58b
      e625088f
    • Salome Thirot's avatar
      Add HBD version of EncodeSmallWidthHeight test suite · 42041dfc
      Salome Thirot authored
      Add a high bitdepth version of all the tests from the
      EncodeSmallWidthHeight test suite.
      
      Change-Id: I5c7b833aa3276bfa45508744c12b76c953ec901a
      42041dfc
  4. 24 Oct, 2023 5 commits
    • Salome Thirot's avatar
      Fix loop condition in av1_estimate_noise_from_single_frame_neon · fb09b4c8
      Salome Thirot authored
      The Neon implementation of av1_estimate_noise_from_single_plane was
      causing a segfault due to some bad loop conditions. Fix the bad
      conditions and re-enable the Neon path.
      
      Bug: aomedia:3501
      Change-Id: I2ad74e0b2315d8569760a3f2886618ccb6cb49bf
      fb09b4c8
    • Salome Thirot's avatar
      Fix test suites for av1_calc_proj_params · dcde09ef
      Salome Thirot authored
      Speed and Extreme test suites were testing for only one set of
      parameters, as a result only one helper function used by
      av1_calc_proj_params out of the three was tested. Set suitable
      parameters to test all three helper functions, and remove the setting of
      r.s as it is unused.
      
      Change-Id: I317d29e1ae0759286f07edb1fec25ff63a21deb3
      dcde09ef
    • Salome Thirot's avatar
      Add Neon implementation of av1_calc_proj_params_high_bd · f6c750e8
      Salome Thirot authored
      Add Neon implementation of av1_calc_proj_params_high_bd as well as the
      corresponding tests.
      
      Change-Id: I8da658a9dbba152e27c07bc031c3cfc78334d16d
      f6c750e8
    • George Steed's avatar
      highbd_fwd_txfm_neon.c: Inline load/store helpers into kernels · 9caa2842
      George Steed authored
      Currently in cases where the txfm2d component kernels are called via an
      array lookup the compiler has no way of inlining these. For the
      `load_buffer_*` helper function this is an issue since we load data from
      memory and then must immediately store it back to the stack for passing
      to the component kernel, and similarly for the `store_buffer_*` calls.
      
      To get around this issue we can inline the `load_buffer_*` and
      `store_buffer_*` helpers into the component kernels themselves, creating
      specific "col" and "row" kernels for their respective transforms and
      avoiding the unnecessary stack spills between calls. This also matches a
      similar change previously done for the lowbd Neon code.
      
      Specifically we introduce new `TRANSFORM_COL_{ONE,MANY}` and
      `TRANSFORM_ROW{,_RECT}_{ONE,MANY}` macros to define the new wrapper
      kernels. The "many" kernels also handle looping over the component
      kernels and helpers where we were previously passing a "howmany"
      parameter to the component kernel.
      
      To allow using the `store_buffer_*` helpers in the new wrapper kernels,
      we also need to adjust the helper to expose a stride parameter rather
      than re-using the height from the macro.
      
      Benchmarking this change on a Neoverse N2 machine with Clang 16 and GCC
      12, the highbd txfm2d speed tests show a geomean 5.2% reduction in times
      reported.
      
      Change-Id: I8c17f9f1bb5f6931593e9f990ec45ce7ca225519
      9caa2842
    • Chi Yo Tsai's avatar
      Improve comments for extended partition search sfs · 1bd29b58
      Chi Yo Tsai authored
      Originally reviewed in
      https://aomedia-review.googlesource.com/c/aom/+/136501.
      
      Change-Id: Iccecc10ea8bcbf926f53df35f66354c06eee8be4
      1bd29b58
  5. 21 Oct, 2023 8 commits
  6. 20 Oct, 2023 4 commits
    • Wan-Teh Chang's avatar
      Assert bsize is allowed for 4-way partitions · 2e5d675a
      Wan-Teh Chang authored
      In prepare_features_after_part_ab(), assert bsize is allowed for 4-way
      partitions. av1_ml_prune_4_partition() already has such an assertion, so
      just add a comment for that. However, these two assertions did not fix
      the Coverity defects listed below.
      
      Add a comment for the assertion in prune_4_way_partition_search() added
      in commit c9f3d681
      
      The variables ab_min_bsize_allowed and part4_min_bsize_allowed are
      renamed ab_bsize_thresh and part4_bsize_thresh, respectively, because
      these two variables are actually one less than the minimum bsize
      allowed for ab and 4-way partitions.
      
      Assert that horz_4_bs and vert_4_bs are not equal to BLOCK_INVALID in
      av1_ml_prune_4_partition() and prepare_features_after_part_ab(). These
      assertions actually fixed the following Coverity defects:
      * CID 323648: In av1_ml_prune_4_partition: Out-of-bounds read from a
        buffer
      * CID 323757: In av1_ml_prune_4_partition: Out-of-bounds read from a
        buffer (apparently a duplicate of the above)
      * CID 323761: In prepare_features_after_part_ab: Out-of-bounds read from
        a buffer
      * CID 323828: In prepare_features_after_part_ab: Out-of-bounds read from
        a buffer (apparently a duplicate of the above)
      
      Bug: aomedia:3499
      Change-Id: Idd4ff8cf3e7e6a3656885472af426b6f98489197
      2e5d675a
    • Gerda Zsejke More's avatar
      Add Neon impl for av1_wedge_compute_delta_squares · d081462d
      Gerda Zsejke More authored
      Add Neon implementation for av1_wedge_compute_delta_squares and the
      corresponding test as well.
      
      Change-Id: I33de356718a1e135b083ed1a13614f97b20391ab
      d081462d
    • Wan-Teh Chang's avatar
      Declare ext_partition_eval_thresh as BLOCK_SIZE · 604883a1
      Wan-Teh Chang authored
      Declare the speed feature ext_partition_eval_thresh as BLOCK_SIZE. Also
      declare `bsize` (function parameters, local variables, or data members)
      as BLOCK_SIZE.
      
      The first change comes from
      https://aomedia-review.googlesource.com/c/aom/+/136501.
      
      Change-Id: I72b741c81950b9f36b9d22b794e89cce3f229662
      604883a1
    • Gerda Zsejke More's avatar
      Add Neon implementation of aom_highbd_blend_a64_d16_mask · 7e1fa9e3
      Gerda Zsejke More authored
      Add Neon implementation of aom_highbd_blend_a64_d16_mask as well as
      the corresponding test.
      
      Change-Id: I33525b59a0459cc6f8bd8c7e573cec4948122bad
      7e1fa9e3
  7. 19 Oct, 2023 5 commits