1. 15 Aug, 2017 1 commit
    • Urvang Joshi's avatar
      Remove ALT_INTRA flag. · 93b543ab
      Urvang Joshi authored
      This experiment has been adopted as it has been cleared by Tapas.
      
      Change-Id: I0682face60f62dd43091efa0a92d09d846396850
      93b543ab
  2. 06 Jun, 2017 1 commit
    • Urvang Joshi's avatar
      Add a new experiment "rect-intra-pred". · 766a389b
      Urvang Joshi authored
      Earlier, intra prediction for rectangular blocks was performed by
      running two steps of prediction on square sub-blocks.
      
      With this experiment, we do proper intra prediction for rectangular
      blocks. This ensures that we make use of all available neighboring
      pixels especially for directional modes. For this, all the intra
      predictors were updated to work with rectangular transform block sizes.
      
      Performance improvements are small but free of cost:
      
      All Intra frames:
      lowres: -0.126
      midres: -0.154
      
      Video Overall:
      lowres: -0.043
      midres: -0.100
      
      [Could not get AWCY results due to a backlog.]
      
      BUG=aomedia:551
      
      Change-Id: I7936e91b171d5c246cb0a4ea470a981a013892e6
      766a389b
  3. 25 May, 2017 1 commit
    • Urvang Joshi's avatar
      tx64x64: Fix build when highbitdepth is on. · 16247658
      Urvang Joshi authored
      This was being worked around by forcing highbitdepth to be off when
      enabling tx64x64.
      
      With the fixes, removed the work-around.
      
      Change-Id: I3102f9e17d4037af96a9eff418c5af6a97fd740c
      16247658
  4. 10 May, 2017 1 commit
    • Urvang Joshi's avatar
      smooth_pred: 1D weights array to use less memory. · f695d659
      Urvang Joshi authored
      As the block sizes are powers of two, we can index into the weights
      array as sm_weights_array[bs] now.
      
      This uses 2 * MAX_BLOCK_DIM memory, instead of NUM_BLOCK_DIMS *
      MAX_BLOCK_DIM earlier.
      
      Change-Id: I55bcedc188b8ed7def719c4d002c1fe2ec5e1b7f
      f695d659
  5. 09 May, 2017 1 commit
  6. 08 May, 2017 1 commit
    • Urvang Joshi's avatar
      Add a new experiment SMOOTH_HV. · e6ca8e83
      Urvang Joshi authored
      This experiment extends ALT_INTRA by adding two new modes:
      smooth horizontal and smooth vertical.
      
      Improvement on *intra frames* in BDRate (PSNR):
      ===============================================
      
      AWCY (high latency): -0.46%
      (Also, -1.0% or more on PSNR Cb,Cr and APSNR Cb,Cr).
      
      AWCY (low latency): -0.43%
      (Also, -0.88% to -0.94% on PSNR Cb,Cr and APSNR Cb,Cr).
      
      Google sets:
      lowres: -0.454
      midres: -0.484
      hdres:  -0.525
      
      Improvement on *video overall* in BDRate (PSNR):
      ================================================
      
      AWCY (high latency): -0.15%
      
      Google sets:
      lowres: -0.085
      midres: -0.079
      
      Change-Id: I9f4e7c1b8ded1fe244c72838f336103ccc715d50
      e6ca8e83
  7. 25 Apr, 2017 1 commit
    • Urvang Joshi's avatar
      Intra prediction: Remove unused variants. · c3bcf3be
      Urvang Joshi authored
      Directional predictors for 45, 63 and 207 angle had 2 or 3 variants
      each, and only one of them was actually being used. So, removed the
      C, sse2, ssse3 and neon versions of the unused ones.
      
      Updates to the test:
      - test_intra_pred_speed was testing the unused versions, so changed
        it to use the version actually used by code. This meant updating
        some golden MD5 values.
      - test_intra_pred_speed was NOT filling up bottom-left and top-right
        pixels randomly, so the predictors using these pixels weren't tested
        properly. This was fixed.
      
      BUG=aomedia:442
      
      Change-Id: I09725d593408b81e0cd636e70a88c28eea5f2222
      c3bcf3be
  8. 12 Apr, 2017 1 commit
  9. 10 Mar, 2017 1 commit
    • Urvang Joshi's avatar
      SMOOTH_PRED: Use get_msb() to get log2 of block dimension. · ee7ee7f4
      Urvang Joshi authored
      Apart from being inefficient, the floating point operation log2()
      was resulting in an assertion failure due to an unrelated floating
      point exception that happens earlier.
      
      Related: update the MD5s in test_intra_pred_speed to fix that failure
      too.
      
      BUG=aomedia:384
      
      Change-Id: I18dc0733e880bac21b3d07ad874f8ae341f59f06
      ee7ee7f4
  10. 06 Mar, 2017 1 commit
    • Urvang Joshi's avatar
      SMOOTH_PRED: Use 8-bit weights for real. · 4d5bbbd9
      Urvang Joshi authored
      Use 255 instead of 256, to restrict to 8-bits.
      
      Only noise level differences in performance.
      
      AWCY:
                         High Latency     Low Latency
        All Keyframes    -0.01            -0.01
        Video overall    -0.01            -0.07
      
      Google Set:
                        All KF            Video
      lowres            -0.005            -0.029
      midres            -0.008             0.028
      hdres             -0.010            -0.022      
      
      Note: By moving from 18-bit to 8-bit and then
      cutting off at 255 (this change, overall effect is
      noise level too (neutral or better).
      
      Change-Id: I9f2852023015e36c01203bafe486ec400b2ba46f
      4d5bbbd9
  11. 28 Feb, 2017 1 commit
    • Urvang Joshi's avatar
      SMOOTH_PRED: Use 8-bit weights. · 3e42acd4
      Urvang Joshi authored
      Using 8-bit weights gives similar results as 12-bit, with only noise
      level difference. Here's what 8-bit looks like compared to 12-bit:
      
      * AWCY Objective-1-fast:
                                high latency          low latency
      ALL keyframes             0.00                  0.01
      Video                     0.00                  0.04
      
      * Google sets:
      
      All Keyframes:
      lowres: 0
      midres: -0.001
      hdres: -0.001
      
      Video overall:
      lowres: 0
      midres: -0.063
      hdres: 0.026
      
      Change-Id: Ibed6015aa7cce12fcc6f314ffde76624df4ad2a1
      3e42acd4
  12. 23 Feb, 2017 1 commit
    • Urvang Joshi's avatar
      SMOOTH_PRED: Use 12-bit multiplications instead of 18-bit. · 81760810
      Urvang Joshi authored
      Compression performance is roughly neutral:
      
      AWCY:
      -----
                       High Latency     Low Latency
        All Keyframes  0.00             0.00
        Video overall  0.01            -0.01
      
      Google sets:
      ------------
      
      - All Keyframes:
      
        lowres  -0.001
        midres   0.000
        hdres    0.001
      
      - Video overall:
        lowres   0.019
        midres   0.000
        hdres   -0.013
      
      Change-Id: I89be2739203bf3e2848e4ba7ae2988c625f54513
      81760810
  13. 07 Feb, 2017 1 commit
  14. 01 Feb, 2017 1 commit
  15. 20 Dec, 2016 1 commit
    • Jingning Han's avatar
      Add 2x2 intra predictor for high bit-depth · 324b4c6d
      Jingning Han authored
      Provide primitive modules for cb4x4 mode use. This resolves compiler
      warnings when both high bit-depth and cb4x4 mode are turned on.
      
      Change-Id: If6ecac50578b3e665b602419a0701c3e047ce623
      324b4c6d
  16. 16 Dec, 2016 1 commit
    • Jingning Han's avatar
      Fix 2x2 d45 intra prediction · 8a7786d2
      Jingning Han authored
      This commit fixes the 2x2 d45 intra prediction. It avoids the use
      of out-of-boundary position as reference. This resolves an enc/dec
      mismatch issue in cb4x4 mode.
      
      Change-Id: I93d01536a0c004190cc9fe3c724bf41364f6fdde
      8a7786d2
  17. 28 Nov, 2016 1 commit
    • Urvang Joshi's avatar
      Add a new intra prediction mode "smooth". · 6be4a54b
      Urvang Joshi authored
      This is added as part of ALT_INTRA experiment.
      
      This uses interpolation between top row and estimated bottom row; as
      well as left column and estimated right column to generate the
      predicted block.The interpolation is done using a predefined weight
      array.
      
      Based on experiments, the currently chosen weight array was created
      to represent a quadratic curve, but can be tuned further if needed.
      
      Improvement from baseline on Derf set:
      ALL Keyframes: 1.279%
      
      Improvement from existing ALT_INTRA:
      ALL Keyframes: 1.146%
      
      Change-Id: I12637fa1b91bd836f1c59b27d6caee2004acbdd4
      6be4a54b
  18. 21 Nov, 2016 1 commit
  19. 21 Oct, 2016 2 commits
  20. 19 Oct, 2016 1 commit
  21. 13 Oct, 2016 1 commit
  22. 28 Sep, 2016 1 commit
  23. 26 Sep, 2016 2 commits
  24. 02 Sep, 2016 1 commit
  25. 01 Sep, 2016 3 commits
    • Urvang Joshi's avatar
      Add ALT_INTRA experiment. · 340593e5
      Urvang Joshi authored
      When the experiment is ON, we use Paeth predictor instead of TM
      predictor.
      
      For derf set, this gives about 0.09% improvement overall, and 0.55%
      improvement if all frames are forced to be intra-only.
      
      Also, if the EXT_INTRA experiment is also on, the improvement overall
      is 0.056%, and improvement if all frames are forced to be intra-only is
      0.465%.
      
      Change-Id: Id74e107ede70a8d2107fa14fcb3f44b23a437274
      340593e5
    • Yaowu Xu's avatar
      Port renaming changes from AOMedia · f883b42c
      Yaowu Xu authored
      Cherry-Picked the following commits:
      0defd8f2 Changed "WebM" to "AOMedia" & "webm" to "aomedia"
      54e66767 Replace "VPx" by "AVx"
      5082a369 Change "Vpx" to "Avx"
      7df44f17 Replace "Vp9" w/ "Av1"
      967f722f Remove kVp9CodecId
      828f30ce Change "Vp8" to "AOM"
      030b5ffc AUTHORS regenerated
      2524caee Add ref-mv experimental flag
      016762be Change copyright notice to AOMedia form
      81e55269 Replace vp9 w/ av1
      9b94565b Add missing files
      fa8ca9f2 Change "vp9" to "av1"
      ec838b76  Convert "vp8" to "aom"
      80edfa01 Change "VP9" to "AV1"
      d1a11fb9 Change "vp8" to "aom"
      7b582513 Point to WebM test data
      dd1a5c8d Replace "VP8" with "AOM"
      ff00fc0f Change "VPX" to "AOM"
      01dee0bb Change "vp10" to "av1" in source code
      cebe6f0c Convert "vpx" to "aom"
      17b05679 rename vp10*.mk to av1_*.mk
      fe5f8a8a rename files vp10_* to av1_*
      
      Change-Id: I6fc3d18eb11fc171e46140c836ad5339cf6c9419
      f883b42c
    • Yaowu Xu's avatar
      Port folder renaming changes from AOM · c27fc14b
      Yaowu Xu authored
      Manually cherry-picked commits:
      ceef0583 libvpx->libaom part2
      3d26d916 libvpx -> libaom
      cfea7dd7 vp10/ -> av1/
      3a8eff73 Fix a build issue for a test
      bf4202ed Rename vpx to aom
      
      Change-Id: I1b0eb5a40796e3aaf41c58984b4229a439a597dc
      c27fc14b
  26. 10 Aug, 2016 1 commit
  27. 22 Mar, 2016 1 commit
  28. 12 Feb, 2016 1 commit
  29. 05 Feb, 2016 2 commits
    • James Zern's avatar
      intrapred/d135: flatten border results before storing · 05437805
      James Zern authored
      the results along the top and left border are then stored with a moving
      window into the vector.
      ~40-67% faster on ARM, ~40-77+% on x86 depending on the block size.
      
      Change-Id: Iab369aa2946a3ae4eb7290d512868fe5db92dbc8
      05437805
    • Yaowu Xu's avatar
      Fix bad merge artifacts · 105da412
      Yaowu Xu authored
      Temporaly disable warning for unused function for vp10, needs clean
      out the warnings before re-enable the flag for vp10.
      
      Change-Id: I5636f8cd607423f6ea6963db9c2cbd688e30b495
      105da412
  30. 04 Feb, 2016 1 commit
  31. 03 Feb, 2016 2 commits
  32. 01 Feb, 2016 1 commit
  33. 28 Jan, 2016 1 commit
  34. 27 Jan, 2016 1 commit