1. 28 Aug, 2015 1 commit
  2. 04 Aug, 2015 1 commit
  3. 31 Jul, 2015 1 commit
    • Jingning Han's avatar
      Factor inverse transform functions into vpx_dsp · e8b133c7
      Jingning Han authored
      This commit moves the module inverse transform functions from vp9
      to vpx_dsp folder. The hybrid transform wrapper functions stay in
      the vp9 folder, since it involves codec-specific data structures.
      
      Change-Id: Ib066367c953d3d024c73ba65157bbd70a95c9ef8
      e8b133c7
  4. 13 May, 2015 1 commit
    • Johann's avatar
      Relocate memory operations for common code · 1d7ccd53
      Johann authored
      With the sad functions, and hopefully the variance functions soon,
      moving to the vpx_dsp location, place the defines used in the
      reference C code in a common location.
      
      Change-Id: I4c8ce7778eb38a0a3ee674d2f1c488eda01cfeca
      1d7ccd53
  5. 29 Apr, 2015 1 commit
    • James Zern's avatar
      vpx_mem: remove vpx_memset · f58011ad
      James Zern authored
      vestigial. replace instances with memset() which they already were being
      defined to.
      
      Change-Id: Ie030cfaaa3e890dd92cf1a995fcb1927ba175201
      f58011ad
  6. 06 Jan, 2015 1 commit
  7. 24 Nov, 2014 1 commit
    • Peter de Rivaz's avatar
      Refactored idct routines and headers · 3a8c43a4
      Peter de Rivaz authored
      This change is made in preparation for a
      subsequent patch which adds acceleration
      for the highbitdepth transform functions.
      
      The highbitdepth transform functions attempt
      to use 16/32bit sse instructions where possible,
      but fallback to using the C implementations if
      potential overflow is detected.  For this reason
      the dct routines are made global so they can be
      called from the acceleration functions in the
      subsequent patch.
      
      Change-Id: Ia921f191bf6936ccba4f13e8461624b120c1f665
      (cherry picked from commit 454342d4e77dbb67f4a3c10f97a57a6fcb46d9a0)
      3a8c43a4
  8. 07 Nov, 2014 1 commit
  9. 05 Nov, 2014 1 commit
  10. 09 Oct, 2014 1 commit
  11. 06 Oct, 2014 1 commit
  12. 04 Oct, 2014 1 commit
  13. 03 Oct, 2014 1 commit
    • Deb Mukherjee's avatar
      Incorporate WRAPLOW macro into non-highbitdepth tx · d50716fa
      Deb Mukherjee authored
      Incorporates the WRAPLOW macro into the non-highbitdepth transforms
      to aid hardware verification between a software C model and an
      intended hardware implementation though the use of the configure
      options: --enable-experimental --enable-emulate-hardware.
      Note that to avoid further discrepancies between the sse/sse2
      implementations of the transforms and the C implementation, when the
      emulate hardware option is invoked, we also disable sse/sse2/etc.
      
      Also incudes some minor cleanups/renaming etc.
      
      Change-Id: Ib864d8493313927d429cce402982f1c8e45b3287
      d50716fa
  14. 30 Sep, 2014 1 commit
    • Jingning Han's avatar
      Remove redundant header file declaration · 0829d2be
      Jingning Han authored
      Some header file in vp9_idct.c has been included in vp9_idct.h.
      This commit removes these redundant declarations.
      
      Change-Id: I0238c27e4efff5c981eb437022c6bc6970c4e445
      0829d2be
  15. 12 Sep, 2014 1 commit
    • Deb Mukherjee's avatar
      Adds high bitdepth transform functions and tests · 10783d4f
      Deb Mukherjee authored
      Adds various high bitdepth transform functions and tests.
      Much of the changes are related to using typedefs tran_low_t
      and tran_high_t for the final transform cofficients and intermediate
      stages of the transform computation respectively rather than fixed
      types int16_t/int. When vp9_highbitdepth configure flag is off,
      these map tp int16_t/int32_t, but when the flag is on, they map
      to int32_t/int64_t to make space for needed extra precision.
      
      Change-Id: I3c56de79e15b904d6f655b62ffae170729befdd8
      10783d4f
  16. 08 May, 2014 1 commit
    • Jingning Han's avatar
      Change eob threshold for partial inverse 8x8 2D-DCT to 12 · 41a350a8
      Jingning Han authored
      The scanning order has the first 12 coefficients of the 8x8 2D-DCT
      sitting in the top left 4x4 block. Hence the partial inverse 8x8
      2D-DCT allows to handle cases with eob below 12.
      
      The overall runtime of the inverse 8x8 2D-DCT unit is reduced from
      166 cycles (using SSE2) to 150 cycles (using SSSE3).
      
      Change-Id: I4514f9748042809ac84df4c14382c00f313f1cd2
      41a350a8
  17. 28 Jan, 2014 1 commit
  18. 20 Nov, 2013 1 commit
  19. 15 Nov, 2013 1 commit
  20. 24 Oct, 2013 1 commit
    • Yunqing Wang's avatar
      Add 32x32 idct function for eob<=34 case · f88315cb
      Yunqing Wang authored
      When only upper-left 8x8 area has non-zero dct coefficients, we
      could skip 1D IDCT for 9th to 32th rows to save operations. This
      function is called when eob <= 34.
      
      Change-Id: I9684b75947bdde346cfe3720f08a953aa7a13fb5
      f88315cb
  21. 12 Oct, 2013 1 commit
  22. 11 Oct, 2013 3 commits
  23. 10 Oct, 2013 2 commits
    • Dmitry Kovalev's avatar
      Removing vp9_idct4_1d_sse2 function. · ddf1b762
      Dmitry Kovalev authored
      We have two SSE2-optimized functions for idct4_1d:
        vp9_idct4_1d_sse2 <-- removing this one
        idct4_1d_sse2
      
      vp9_idct4_1d_sse2 was used only by the following functions which already
      have SSE2 optimized variants:
        vp9_idct4x4_16_add_c   -> vp9_idct4x4_16_add_see2
        idct8_1d               -> vp9_idct8x8_{16, 10, 1}_see2
        vp9_short_iht4x4_add_c -> vp9_short_iht4x4_add_see2
      
      Change-Id: Ib0a7f6d1373dbaf7a4a41208cd9d0671fdf15edb
      ddf1b762
    • Dmitry Kovalev's avatar
      Giving consistent names to IDCT 32x32 functions. · 1e766b50
      Dmitry Kovalev authored
      Renames:
        vp9_short_idct32x32_add   -> vp9_idct32x32_1024_add
        vp9_short_idct32x32_1_add -> vp9_idct32x32_1_add
        vp9_idct_add_32x32        -> vp9_idct32x32_add
      
      Change-Id: Id85306f5814bac6c47463a6b5901a93082510666
      1e766b50
  24. 08 Oct, 2013 1 commit
    • Jingning Han's avatar
      All zero coeff skip in IDCT 32x32 · 6594ca88
      Jingning Han authored
      When all coefficients are zeros, skip the corresponding 1-D inverse
      transform. This practice has been used in the SSE2 implementation of
      inverse 32x32 DCT. This commit imports this algorithm into the C code.
      
      Change-Id: I0f58bfcb183a569fab85d524d5d9cf8ae8653f86
      6594ca88
  25. 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
  26. 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
  27. 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
  28. 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
  29. 30 Sep, 2013 1 commit
    • Dmitry Kovalev's avatar
      Removing vp9_add_constant_residual_{8x8, 16x16, 32x32} functions. · 548671dd
      Dmitry Kovalev authored
      We don't need these functions anymore. The only one which was actually
      used is vp9_add_constant_residual_32x32. Addition of
      vp9_short_idct32x32_1_add eliminates this single usage. SSE2 optimized
      version of vp9_short_idct32x32_1_add will be added in the next patch set,
      right now it is only C implementation. Now we have all idct functions
      implemented in a consistent manner.
      
      Change-Id: I63df79a13cf62aa2c9360a7a26933c100f9ebda3
      548671dd
  30. 27 Sep, 2013 1 commit
  31. 26 Sep, 2013 1 commit
  32. 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
  33. 01 Aug, 2013 1 commit
    • Jingning Han's avatar
      Remove unused vp9_short_idct10_32x32_add · 67719abd
      Jingning Han authored
      The inverse 32x32 transform detects all zero entries and skips the
      computations accordingly per 8 rows in the first 1-D operation. The
      function vp9_short_idct10_32x32_add performs differently and is not
      used anywhere, hence removed.
      
      Change-Id: Ic4fad422debbde7b6b6ffed47c69fbd4268a906c
      67719abd
  34. 29 Jul, 2013 1 commit
    • Jingning Han's avatar
      16x16 inverse 2D-DCT with DC only · a7c4de22
      Jingning Han authored
      This commit provides special handle on 16x16 inverse 2D-DCT, where
      only DC coefficient is quantized to be non-zero value.
      
      Change-Id: I7bf71be7fa13384fab453dc8742b5b50e77a277c
      a7c4de22
  35. 26 Jul, 2013 1 commit
    • Jingning Han's avatar
      Special handle on DC only inverse 8x8 2D-DCT · 325e0aa6
      Jingning Han authored
      This commit enables a special handle for the 8x8 inverse 2D-DCT,
      where only DC coefficient is quantized to be non-zero. For bus_cif
      at 2000 kbps, it provides about 1% speed-up at speed 0.
      
      Change-Id: I2523222359eec26b144cf8fd4c63a4ad63b1b011
      325e0aa6
  36. 24 Jul, 2013 1 commit
  37. 17 Jul, 2013 1 commit