1. 24 Jan, 2014 1 commit
  2. 21 Nov, 2013 1 commit
    • Jingning Han's avatar
      Take out assertion from inverse transforms · 272c82c1
      Jingning Han authored
      Separate the rounding and right shift operations of forward transform
      from those of inverse transform. Take out the assertion check from
      inverse transforms. If the transform coefficients were constructed to
      cause intermediate steps of inverse transform overflow, the codec will
      just let it overflow without breaking the decoding flow.
      
      Change-Id: Ia7ce15dfd1a73b4abbaa78cbc74ec718523c5b1b
      272c82c1
  3. 15 Nov, 2013 1 commit
    • Jingning Han's avatar
      Take out assertion from inverse transforms · bdc43711
      Jingning Han authored
      Separate the rounding and right shift operations of forward transform
      from those of inverse transform. Take out the assertion check from
      inverse transforms. If the transform coefficients were constructed to
      cause intermediate steps of inverse transform overflow, the codec will
      just let it overflow without breaking the decoding flow.
      
      Change-Id: I73cfc3706c4e840fc543a77cbc4cdb0b05d07730
      bdc43711
  4. 12 Oct, 2013 1 commit
  5. 11 Oct, 2013 2 commits
  6. 10 Oct, 2013 1 commit
  7. 07 Oct, 2013 1 commit
    • Dmitry Kovalev's avatar
      Giving consistent names to IDCT 16x16 functions. · b096c5a3
      Dmitry Kovalev authored
      Renames:
        vp9_short_idct16x16_add    -> vp9_idct16x16_256_add
        vp9_short_idct16x16_10_add -> vp9_idct16x16_10_add
        vp9_short_idct16x16_1_add  -> vp9_idct16x16_1_add
        vp9_idct_add_16x16         -> vp9_idct16x16_add
      
      Change-Id: Ief8a3904de78deab0f4ede944c4d0339c228cfc3
      b096c5a3
  8. 06 Oct, 2013 1 commit
    • Dmitry Kovalev's avatar
      Giving consistent names to IDCT 8x8 functions. · c6ad70d5
      Dmitry Kovalev authored
      Renames:
        vp9_short_idct8x8_add    -> vp9_idct8x8_64_add
        vp9_short_idct8x8_1_add  -> vp9_idct8x8_1_add
        vp9_short_idct8x8_10_add -> vp9_idct8x8_10_add
        vp9_idct_add_8x8         -> vp9_idct8x8_add
      
      Change-Id: Ifb8d3a45b4c0397aa805b30463f3d14581bf72c1
      c6ad70d5
  9. 04 Oct, 2013 1 commit
    • Dmitry Kovalev's avatar
      Giving consistent names to IDCT/IWHT functions. · 3a060257
      Dmitry Kovalev authored
      The idea is to have the following names for each transform size:
      
      vp9_idct4x4_add
        vp9_idct4x4_1_add
        vp9_idct4x4_10_add
        vp9_idct4x4_16_add
      
      vp9_idct8x8_add
        vp9_idct8x8_1_add
        vp9_idct8x8_10_add
        vp9_idct8x8_64_add
      
      etc for 16x16, 32x32
      
      The actual list of renames in this patch:
      
      vp9_idct_add_lossless     -> vp9_iwht4x4_add
      vp9_short_iwalsh4x4_add   -> vp9_iwht4x4_16_add
      vp9_short_iwalsh4x4_1_add -> vp9_iwht4x4_1_add
      
      vp9_idct_add            -> vp9_idct4x4_add
      vp9_short_idct4x4_add   -> vp9_idct4x4_16_add
      vp9_short_idct4x4_1_add -> vp9_idct4x4_1_add
      
      Change-Id: I6f43f7437c68dd30cdd05d72e213765578ed30b1
      3a060257
  10. 02 Oct, 2013 1 commit
    • Dmitry Kovalev's avatar
      Moving all idct/iht functions in one place. · be7eec79
      Dmitry Kovalev authored
      Moving functions from vp9_idct_blk to vp9_idct because these functions are
      used from both encoder and decoder. Removing duplicated code from
      vp9_encodemb.c and reusing existing functions.
      
      Change-Id: Ia0a6782f8c4c409efb891651b871dd4bf22d5fe8
      be7eec79
  11. 24 Sep, 2013 1 commit
    • Yaowu Xu's avatar
      Rename defined constants · 6037f179
      Yaowu Xu authored
      The change is to better reflect the nature of the constants.
      
      Change-Id: Icabac6e9bceefbdb3f03f8218f88ef75943c30fb
      6037f179
  12. 19 Sep, 2013 1 commit
  13. 12 Aug, 2013 1 commit
    • Jingning Han's avatar
      SSE2 high precision 32x32 forward DCT · 78136edc
      Jingning Han authored
      Enable SSE2 implementation of high precision 32x32 forward DCT. The
      intermediate stacks are of 32-bits. The run-time goes down from
      32126 cycles to 13442 cycles.
      
      Change-Id: Ib5ccafe3176c65bd6f2dbdef790bd47bbc880e56
      78136edc
  14. 16 Jul, 2013 1 commit
  15. 29 Jun, 2013 1 commit
  16. 18 Jun, 2013 1 commit
    • Jingning Han's avatar
      Make fdct32 computation flow within 16bit range · a41a4860
      Jingning Han authored
      This commit makes use of dual fdct32x32 versions for rate-distortion
      optimization loop and encoding process, respectively. The one for
      rd loop requires only 16 bits precision for intermediate steps.
      The original fdct32x32 that allows higher intermediate precision (18
      bits) was retained for the encoding process only.
      
      This allows speed-up for fdct32x32 in the rd loop. No performance
      loss observed.
      
      Change-Id: I3237770e39a8f87ed17ae5513c87228533397cc3
      a41a4860
  17. 30 May, 2013 1 commit
    • Yaowu Xu's avatar
      Changed to use a new variant of WHT · 042e70e4
      Yaowu Xu authored
      The commit changed to use a new variant of Walsh-Hadamard Transform
      by Tim Terriberry. This new variant has the best compression among a
      number of variants that developed by Tim.
      
      Change-Id: Icb3a88515463cfc644b17ca046fcd139db2557e9
      042e70e4
  18. 18 Mar, 2013 1 commit
    • Yunqing Wang's avatar
      Optimize 8x8 idct function · 6344c84c
      Yunqing Wang authored
      Wrote sse2 functions of vp9_short_idct8x8 and vp9_short_idct10_8x8.
      Compared to c version, the sse2 version is 2X faster. The decoder
      test didn't show noticeable gain since 8x8 idct doesn't take much
      of decoding time (less than 1% in my test).
      
      Change-Id: I56313e18cd481700b3b52c4eda5ca204ca6365f3
      6344c84c
  19. 07 Mar, 2013 1 commit
  20. 04 Mar, 2013 1 commit
  21. 28 Feb, 2013 1 commit
    • Christian Duvivier's avatar
      Faster vp9_short_fdct8x8. · c129203f
      Christian Duvivier authored
      Scalar path is about 1.4x faster (4% overall encoder speedup).
      SSE2 path is about 7x faster (13% overall encoder speedup).
      
      Change-Id: I7e85d8225a914a74c61ea370210414696560094d
      c129203f
  22. 27 Feb, 2013 2 commits
    • Dmitry Kovalev's avatar
      Code cleanup. · 347f3a0a
      Dmitry Kovalev authored
      Fixing code style, using array lookup instead of switch statements for
      forward hybrid transforms (in the same way as for their inverses).
      Consistent usage of ROUND_POWER_OF_TWO macro in appropriate places.
      
      Change-Id: I0d3822ae11f928905fdbfbe4158f91d97c71015f
      347f3a0a
    • Yunqing Wang's avatar
      Optimize vp9_dc_only_idct_add_c function · 35bc02c6
      Yunqing Wang authored
      Wrote SSE2 version of vp9_dc_only_idct_add_c function. In order to
      improve performance, clipped the absolute diff values to [0, 255].
      This allowed us to keep the additions/subtractions in 8 bits.
      Test showed an over 2% decoder performance increase.
      
      Change-Id: Ie1a236d23d207e4ffcd1fc9f3d77462a9c7fe09d
      35bc02c6
  23. 26 Feb, 2013 1 commit
    • Yaowu Xu's avatar
      Improve 32x32 forward dct · 66d94ac1
      Yaowu Xu authored
      The commit improves the 32x32 forward dct implementation:
      1. change to use same constants and rounding as other forward dcts
      2. select rounding to specifically minimize the roundtrip error, which
      improved average 19/block to .77/block using 100000 random input.
      
      Test showed a small but consistent gain on all test sets, about .15%
      
      Change-Id: If0afd6a71880a522f60c1c234be0462092c2eb53
      66d94ac1
  24. 25 Feb, 2013 1 commit
    • Jingning Han's avatar
      clean up forward and inverse hybrid transform · 77a3becf
      Jingning Han authored
      Rebased.
      
      Remove the old matrix multiplication transform computation. The 16x16
      ADST/DCT can be switched on/off and evaluated by setting ACTIVE_HT16
      300/0 in vp9/common/vp9_blockd.h.
      
      Change-Id: Icab2dbd18538987e1dc4e88c45abfc4cfc6e133f
      77a3becf
  25. 22 Feb, 2013 1 commit
    • Dmitry Kovalev's avatar
      Code cleanup. · 548b4dd5
      Dmitry Kovalev authored
      Removing redundant 'extern' keywords and parentheses, fixing indentation,
      making variable names lower case, using short expressions x *= c
      instead of x = x * c, minor code simplifications.
      
      Change-Id: If6a25fcf306d1db26e90d27e3c24a32735c607de
      548b4dd5
  26. 20 Feb, 2013 1 commit
  27. 11 Feb, 2013 1 commit
    • Jingning Han's avatar
      butterfly inverse 4x4 ADST · 57e995ff
      Jingning Han authored
      fixed format issues.
      
      Implement the inverse 4x4 ADST using 9 multiplications. For this
      particular dimension, the original ADST transform can be
      factorized into simpler operations, hence is retained.
      
      Change-Id: Ie5d9749942468df299ab74e90d92cd899569e960
      57e995ff
  28. 07 Feb, 2013 1 commit