1. 18 Dec, 2015 1 commit
  2. 17 Dec, 2015 1 commit
    • Jian Zhou's avatar
      Code clean of sad4xN(_avg)_sse · b158d9a6
      Jian Zhou authored
      Replace MMX with SSE2, reduce psadbw ops which may help Silvermont.
      
      Change-Id: Ic7aec15245c9e5b2f3903dc7631f38e60be7c93d
      b158d9a6
  3. 14 Dec, 2015 1 commit
  4. 11 Dec, 2015 1 commit
    • Jian Zhou's avatar
      Code clean of tm_predictor_32x32 · 88120481
      Jian Zhou authored
      Reallocate the xmm register usage so that no ARCH_X86_64 required.
      Reduce memory access to the left neighbor by half.
      Speed up by single digit on big core machine.
      
      Change-Id: I392515ed8e8aeb02e6a717b3966b1ba13f5be990
      88120481
  5. 10 Dec, 2015 1 commit
    • Jian Zhou's avatar
      SSE2 based h_predictor_32x32 · c90a8a1a
      Jian Zhou authored
      Relocate the function from SSSE3 to SSE2, Unroll loop from 16 to 8,
      and reduce mem access to left.
      Speed up by single digit in ./test_intra_pred_speed on big core
      machines.
      
      Change-Id: I2b7fc95ffc0c42145be2baca4dc77116dff1c960
      c90a8a1a
  6. 08 Dec, 2015 1 commit
    • Jian Zhou's avatar
      Re-enable SSE2 based intra 4x4 prediction · aa5b517a
      Jian Zhou authored
      4x4 Intra predictor implemented with MMX is replaced with SSE2.
      Segfault in change 315561 when decoding vp8 is taken care of.
      
      Change-Id: I083a7cb4eb8982954c20865160f91ebec777ec76
      aa5b517a
  7. 05 Dec, 2015 1 commit
  8. 04 Dec, 2015 4 commits
    • Jian Zhou's avatar
      Speed up h_predictor_16x16 · e86c7c86
      Jian Zhou authored
      Relocate the function from SSSE3 to SSE2, Unroll loop from 8 to 4,
      and reduce mem access to left.
      Speed up by >20% in ./test_intra_pred_speed.
      
      Change-Id: Ie48229c2e32404706b722442942c84983bda74cc
      e86c7c86
    • Jian Zhou's avatar
      Speed up h_predictor_8x8 · da3f08fa
      Jian Zhou authored
      Relocate the function from SSSE3 to SSE2, Unroll loop from 4 to 2,
      and reduce mem access to left.
      Speed up by >20% in ./test_intra_pred_speed.
      
      Change-Id: Ib9f1846819783b6e05e2a310c930eb844b2b4d2e
      da3f08fa
    • Jian Zhou's avatar
      MMX in intra 8x8 prediction replaced with SSE2 · aa2764ab
      Jian Zhou authored
      8x8 Intra predictor implemented with MMX is replaced with SSE2.
      
      Change-Id: I0c90e7c1e1e6942489ac2bfe58903b728aac7a52
      aa2764ab
    • Jian Zhou's avatar
      MMX in intra 4x4 prediction replaced with SSE2 · 89a1efa4
      Jian Zhou authored
      4x4 Intra predictor implemented with MMX is replaced with SSE2.
      
      Change-Id: Id57da2a7c38832d0356bc998790fc1989d39eafc
      89a1efa4
  9. 02 Dec, 2015 1 commit
  10. 30 Nov, 2015 1 commit
    • Jian Zhou's avatar
      SSE2 speed up of h_predictor_4x4 · 9d29d762
      Jian Zhou authored
      Relocate h_predictor_4x4 from SSSE3 to SSE2 with XMM registers.
      Speed up by ~25% in ./test_intra_pred_speed.
      
      Change-Id: I64e14c13b482a471449be3559bfb0da45cf88d9d
      9d29d762
  11. 25 Nov, 2015 1 commit
  12. 19 Nov, 2015 1 commit
    • Jian Zhou's avatar
      Speed up tm_predictor_4x4 · 79b68626
      Jian Zhou authored
      tm_predictor_4x4 is implemented with SSE2 using XMM registers.
      Speed up by ~25% in ./test_intra_pred_speed.
      
      Change-Id: I25074b78d476a2cb17f81cf654bdfd80df2070e0
      79b68626
  13. 18 Nov, 2015 1 commit
  14. 11 Nov, 2015 1 commit
  15. 10 Nov, 2015 1 commit
  16. 20 Oct, 2015 1 commit
    • Geza Lore's avatar
      Optimize vpx_quantize_{b,b_32x32} assembler. · 9cfba09a
      Geza Lore authored
      Added optimization of the 8 bit assembly quantizer routines. This makes
      these functions up to 100% faster, depending on encoding parameters.
      
      This patch maskes the encoder faster in both the high bitdepth and 8bit
      configurations. In the high bitdepth configuration, it effects profile 0
      only.
      
      Based on my profiling using 1080p input the net gain is between 1-3% for
      the 8 bit config, and around 2.5-4.5% for the high bitdepth config,
      depending on target bitrate. The difference between the 8 bit and high
      bitdepth configurations for the same encoder run is reduced by 1% in all
      cases I have profiled.
      
      Change-Id: I86714a6b7364da20cd468cd784247009663a5140
      9cfba09a
  17. 16 Oct, 2015 1 commit
  18. 09 Oct, 2015 1 commit
  19. 06 Oct, 2015 1 commit
    • Julia Robson's avatar
      SSSE3 optimisation for quantize in high bit depth · 37c68efe
      Julia Robson authored
      When configured with high bit detpth enabled, the 8bit quantize
      function stopped using optimised code. This made 8bit content
      decode slowly. This commit re-enables the SSSE3 optimisations.
      
      Change-Id: I194b505dd3f4c494e5c5e53e020f5d94534b16b5
      37c68efe
  20. 05 Oct, 2015 1 commit
    • Julia Robson's avatar
      SSE2 optimisation for quantize in high bit depth · 5e6533e7
      Julia Robson authored
      When configured with high bit detpth enabled, the 8bit quantize
      function stopped using optimised code. This made 8bit content
      decode slowly. This commit re-enables the SSE2 optimisation
      (but not the SSSE3 optimisation).
      
      Change-Id: Id015fe3c1c44580a4bff3f4bd985170f2806a9d9
      5e6533e7
  21. 01 Oct, 2015 1 commit
    • Ronald S. Bultje's avatar
      vp10: reimplement d45/4x4 to match vp8 instead of vp9. · 62a15795
      Ronald S. Bultje authored
      This is more a proof of concept than anything else. The problem here
      isn't so much how to code it, but rather where to place the resulting
      code. All intrapred DSP code lives in vpx_dsp, so do we want the vp10
      specific intra pred functions to live there, or in vp10/?
      
      See issue 1015.
      
      Change-Id: I675f7badcc8e18fd99a9553910ecf3ddf81f0a05
      62a15795
  22. 30 Sep, 2015 2 commits
    • Ronald S. Bultje's avatar
      vp8: change build_intra4x4_predictors() to use vpx_dsp. · c26a9eca
      Ronald S. Bultje authored
      I've added a few new functions (d45e, d63e, he, ve) to cover the
      filtered h/v 4x4 predictors that are vp8-specific, the "correct"
      d45 with the correctly filtered bottom-right pixel (as opposed to
      the unfiltered version in vp9), and the "broken" d63 with weirdly
      filtered bottom-right pixels (which is correctly filtered in vp9).
      
      There may be a minor performance impact on all systems because we
      have to do an extra copy of the Above pixel array to incorporate
      the topleft pixel in the same array (thus fitting the vpx_dsp API).
      In addition, armv6 will have a more serious performance impact b/c
      I removed the armv6/vp8-specific assembly. I'm not sure anyone
      cares...
      
      Change-Id: I7f9e5ebee11d8e21aca2cd517a69eefc181b2e86
      c26a9eca
    • Ronald S. Bultje's avatar
      vp8: change build_intra_predictors_mby_s to use vpx_dsp. · 54d48955
      Ronald S. Bultje authored
      Change-Id: I2000820e0c04de2c975d370a0cf7145330289bb2
      54d48955
  23. 29 Sep, 2015 1 commit
    • Julia Robson's avatar
      Accelerated transform in high bit depth · 406030d1
      Julia Robson authored
      When configured with high bitdepth enabled, the 8bit transform
      stopped using optimised code. This made 8bit content decode slowly.
      
      Change-Id: I67d91f9b212921d5320f949fc0a0d3f32f90c0ea
      406030d1
  24. 27 Aug, 2015 1 commit
    • Johann's avatar
      Add sse2 versions of halfpix variance · a28b2c6f
      Johann authored
      These were lost in the great sub pixel variance move of
      6a82f0d7
      
      Not having these functions caused a ~10% performance regression in
      some realtime vp8 encodes.
      
      Change-Id: I50658483d9198391806b27899f2c0d309233c4b5
      a28b2c6f
  25. 18 Aug, 2015 1 commit
  26. 17 Aug, 2015 1 commit
  27. 14 Aug, 2015 1 commit
  28. 12 Aug, 2015 1 commit
    • Jingning Han's avatar
      Fork VP9 and VP10 codebase · 3ee6db6c
      Jingning Han authored
      This commit folks the VP9 and VP10 codebase and makes libvpx
      support VP8, VP9, and VP10.
      
      Change-Id: I81782e0b809acb3c9844bee8c8ec8f4d5e8fa356
      3ee6db6c
  29. 07 Aug, 2015 3 commits
  30. 04 Aug, 2015 2 commits
    • Jingning Han's avatar
      Change vp9_quantize to vpx_quantize · d621de7e
      Jingning Han authored
      This commit clears all the vp9_ prefix use case in vpx_dsp. It gets
      the vp9 folder ready to branch out vp10.
      
      Change-Id: I2906eec179ee792b4af8c9b4161313653050e931
      d621de7e
    • Jingning Han's avatar
      Replace vp9_ prefix with vpx_ prefix in vpx_dsp function names · 08a453b9
      Jingning Han authored
      This commit clears the function naming convention in vpx_dsp. It
      replaces vp9_ prefix of global functions with vpx_ prefix. It also
      removes the vp9_ prefix from static functions.
      
      Change-Id: I6394359a63b71a51dda01342eec6a3cc08dfeedf
      08a453b9
  31. 03 Aug, 2015 1 commit
  32. 31 Jul, 2015 2 commits