1. 07 Jun, 2017 1 commit
  2. 06 Jun, 2017 3 commits
    • Yi Luo's avatar
      Misc quantize unit test fix to conform coding style · 7e2dce03
      Yi Luo authored
      Change-Id: I4e9e6dc6c86de24c6a33d7078c29a853e142c062
    • David Barker's avatar
      Fix some UBSan warnings · 185575a7
      David Barker authored
      * Make intermediate arrays in av1(_highbd)_warp_affine_c signed,
        to avoid integer overflow when multiplying an 'unsigned int'
        by a negative 'int' value.
      * Pad out arrays in masked_variance_test.cc so that the array
        stride is a multiple of 16 bytes.
        This fixes some UBSan errors in masked_variance_intrin_ssse3.c
        related to unaligned loads of 32-bit values.
      Change-Id: I0cf786c94870ff128c883bed8e900b0686afc3f7
    • David Barker's avatar
      Fix warp filter test with --disable-ssse3 · c2d500aa
      David Barker authored
      Put the test cases for av1_warp_affine_ssse3 behind a
      "#if HAVE_SSSE3" condition
      Change-Id: Ide55dc1cf6a1d1b0c37db6d17488ac3f8e113888
  3. 05 Jun, 2017 1 commit
    • Tom Finegan's avatar
      CMake test target tweaks. · 375ee849
      Tom Finegan authored
      Exclude the test targets from Visual Studio and Xcode generation
      runs unless explicitly requested. The test run takes hours, and
      default behavior in the IDEs is to build all targets.
      Change-Id: I37e9904bd8d373a399d7d5fa49fe02771011f9d2
  4. 03 Jun, 2017 1 commit
  5. 02 Jun, 2017 2 commits
  6. 01 Jun, 2017 2 commits
    • Timothy B. Terriberry's avatar
      cb4x4: Move sub-4X4 TX sizes behind CONFIG_CHROMA_2X2. · fe67ed6a
      Timothy B. Terriberry authored
      cb4x4 itself should not require these sizes.
      This simplifies compatibility with other experiments, since we can
      first make them work with cb4x4 (which is now on by default), and
      then worry about chroma_2x2 (which is not) in separate steps.
      Encoder and decoder output should remain unchanged.
      Change-Id: I4e9fcdae49f238b5099a3c74a398fe993c2545f8
    • Yue Chen's avatar
      Make ext_inter/wedge/compound_segment/interintra on by default · f03907a2
      Yue Chen authored
      (1) Make unit tests for masked sad/variance encoder-only
      (2) Fix compile error with intrabc
      (3) Fix warnings reported by static analysis
      Change-Id: I0cd2176fcda0b81e1fc30283767678376ced4c42
  7. 31 May, 2017 1 commit
  8. 30 May, 2017 3 commits
    • David Barker's avatar
      Fix ASan bug in masked variance unit test · 723923ca
      David Barker authored
      The masked variance functions can read slightly off the
      (nominal) end of their input array. This is not a problem,
      since the extra data is never used, and when the functions
      are used in the encoder proper, they will just read data
      from the frame border.
      However, the arrays in the test case had not been properly
      padded, causing ASan to complain about reading off the end
      of an array.
      Also remove an accidental comment in the code.
      Change-Id: Icb5cf4d39ee50fc6e1b807f483940d7a7b12ce63
    • Thomas Daede's avatar
      Remove VAR_BASED_PARTITION. · 8ea3319e
      Thomas Daede authored
      Change-Id: I5d9b86a36f412ded2d6f20e198d2f4de4f97aaeb
    • Yi Luo's avatar
      Add a unit test for AV1 quantizer optimization · ef39c843
      Yi Luo authored
      Change-Id: Ifceffa29d87d12c37ae1563350101415631eaa00
  9. 26 May, 2017 1 commit
    • David Barker's avatar
      ext-inter: Vectorize new masked SAD/SSE functions · 0aa39ff0
      David Barker authored
      We would expect that these new functions would be slower than
      the old masked SAD/SSE functions, as they do additional work
      (blending two inputs and comparing to a third, rather than
      just comparing two inputs).
      This is true for the SAD functions, which are about 50% slower
      (depending on block size and bit depth). However, the sub-pixel
      SSE functions are comparable to the old speed for the accelerated
      special cases (xoffset or yoffset = 0 or 4), and are
      between 40-90% faster for the generic case.
      Change-Id: I1a296ed8fc9e3edc313a6add516ff76b17cd3e9f
  10. 25 May, 2017 2 commits
  11. 24 May, 2017 3 commits
    • Sean Purser-Haskell's avatar
      Normalize parameter rounding with get_shear_params(). · 7d7b2c29
      Sean Purser-Haskell authored
      Change-Id: I529a7c0868039a82f46993577471cb6c452b025b
    • Tom Finegan's avatar
      Remove CONFIG_{DE,EN}CODERS from the build system. · 378d652f
      Tom Finegan authored
      Change-Id: I33d83aa6d31067d0db7a972d36927dc49c420f81
    • David Barker's avatar
      ext-inter: Further cleanup · f19f35f7
      David Barker authored
      * Rename the 'masked_compound_*' functions to just 'masked_*'.
        The previous names were intended to be temporary, to distinguish
        the old and new masked motion search pipelines. But now that the
        old pipeline has been removed, we can reuse the old names.
      * Simplify the new ext-inter compound motion search pipeline
        a bit.
      * Harmonize names: Rename
        aom_highbd_masked_compound_sub_pixel_variance* to
        aom_highbd_8_masked_sub_pixel_variance*, to match the naming of
        the corresponding non-masked functions
      Change-Id: I988768ffe2f42a942405b7d8e93a2757a012dca3
  12. 23 May, 2017 2 commits
    • David Barker's avatar
      Vectorize high-precision convolve filter · 5d34e6a7
      David Barker authored
      Add SSE2 lowbd and SSSE3 highbd versions of the filters
      introduced in https://aomedia-review.googlesource.com/c/11962/ .
      These filters are equivalent in speed to the SSE2 implementations
      of the regular convolve filter. The average time to filter a
      64x64 block is:
      lowbd C: 52us
      lowbd SSE2: 5.6us
      highbd C: 53us
      highbd SSSE3: 5.8us
      Also add a correctness test based on the warp filter tests.
      Change-Id: Ia0d81100e8a414bbfc2b5f664d751cf24765299e
    • David Barker's avatar
      ext-inter: Delete dead code · 0f3c94e1
      David Barker authored
      Patches https://aomedia-review.googlesource.com/c/11987/
      and https://aomedia-review.googlesource.com/c/11988/
      replaced the old masked motion search pipeline with
      a new one which uses different SAD/SSE functions.
      This resulted in a lot of dead code.
      This patch removes the now-dead code. Note that this
      includes vectorized SAD/SSE functions, which will need
      to be rewritten at some point for the new pipeline. It
      also includes the masked_compound_variance_* functions
      since these turned out not to be used by the new pipeline.
      To help with the later addition of vectorized functions, the
      masked_sad/variance_test.cc files are kept but are modified
      to work with the new functions. The tests are then disabled
      until we actually have the vectorized functions.
      Change-Id: I61b686abd14bba5280bed94e1be62eb74ea23d89
  13. 22 May, 2017 3 commits
  14. 19 May, 2017 1 commit
  15. 18 May, 2017 1 commit
    • Sarah Parker's avatar
      Refactor hbd txfm configurations to be 1D · eec47e65
      Sarah Parker authored
      The hbd transform configurations were originally written for all possible
      2d transforms. Now that there are many more possible 2d transforms
      due to EXT_TX and RECT_TX, it is simpler to write the cfg for the
      4 1D transform types and compose them to make all new possible transform
      types. This will allow for an easier integration of the identity transform
      for EXT_TX and rectangular transforms for RECT_TX into the current
      hbd transform codepath and facilitate the removal of obsolete transforms.
      This has no impact on performance.
      Change-Id: I1e217bcd217fd637b1df94fae62d9c59a0523c1a
  16. 17 May, 2017 2 commits
    • Urvang Joshi's avatar
      Rename 32x32 transform test file. · 37f6220e
      Urvang Joshi authored
      This one was named differently than all others, making it harder to
      Also, building this even when EXT_TX is off now, as it's a square
      transform size.
      Change-Id: I4a47abcb41ec936c1f68e1e0eeb33fa53ee56424
    • Tom Finegan's avatar
      Only build/run test targets in MSVC when requested. · 9884be0b
      Tom Finegan authored
      Exclude the test and testdata targets when build solution
      is executed through the MSVC UI.
      Change-Id: I0f5c24084c99452d9fcab4ada4d7f981ffb9ac64
  17. 15 May, 2017 4 commits
    • Yi Luo's avatar
      Fix build on --disable-avx2 · 3e629b96
      Yi Luo authored
      Change-Id: I92c5e43ba225968504ff1c878ca80b86449aeefe
    • Ralph Giles's avatar
      Remove armv6 media-extension assembly. · be111b38
      Ralph Giles authored
      Libvpx dropped armv6 support sometime after the aom fork.
      We don't intend to support this platform, which is likely
      too slow in any case. Remove the assembly and intrinsics
      optimized routines, their tests, cpu feature detection,
      and rtcd specialization for this instruction set extension.
      Change-Id: If44ec28e5ddafc6af179c5d1982ac7e81fe54d5e
    • Tom Finegan's avatar
      Add a test target with sharding support to the CMake build. · e9d70c9b
      Tom Finegan authored
      Two major things going on here:
      - One target is created for each file in test-data.sha1 (testdata_N),
        and the testdata target now depends on all testdata_N targets. The
        testdata build rule can now run with as many jobs as there are
        input files to speed up test data download.
      - GTest sharding support has been added to the tests via a runtests
        custom build target. First, the number of processors is detected,
        and then a custom target is created for each processor (test_N).
        Once each test_N target is created, the runtests custom target
        is created, and then made to depend on each test_N target. When
        CMake is unable to detect the number of processors 10 test targets
        are created. Each custom target then sets the GTEST_SHARD_INDEX and
        GTEST_TOTAL_SHARDS environment variables, allowing GTest to handle
        sharding internally.
      Change-Id: Ib6b7974932396fbf44b735d37155fa57561027ab
    • Tom Finegan's avatar
      Add some missing sources to fix the CMake build. · a9c4e511
      Tom Finegan authored
      CMake build out of sync/broken since
      ee674323 landed.
      Change-Id: Ica3186db2e8b80750069f224f5b5858491e5be0b
  18. 12 May, 2017 1 commit
  19. 11 May, 2017 3 commits
    • Yaowu Xu's avatar
      Add missing initializations of HBD buffers · 5ab58722
      Yaowu Xu authored
      Change-Id: I6889a9b7ba05785ea6d4c684e0e12dcc85fdca7c
    • Yi Luo's avatar
      Partial IDCT 32x32 avx2 · 40f22ef8
      Yi Luo authored
      - Function level improvement (ms):
      Functions       ssse3  avx2   Percentage
      idct32x32_1024  794    374    52.9%
      idct32x32_135   354    169    52.2%
      idct32x32_34    197    142    27.9%
      idct32x32_1     n/a     26    n/a
      - Integrating in default scan order.
      Change-Id: I84815112b26b8a8cb800281a1cfb1706342af57d
    • David Barker's avatar
      Vectorize corner matching function · ee674323
      David Barker authored
      Add an SSE4 version of compute_cross_correlation() from
      corner_match.c. This function is about 3.4x the speed of
      the scalar code; determine_correspondence as a whole is about
      2.5-3x the speed it was previously.
      Change-Id: I707b7cfd5c513c025d3ee7fb6a5f1fa335ecd495
  20. 10 May, 2017 3 commits