1. 01 Feb, 2017 1 commit
  2. 08 Aug, 2016 1 commit
  3. 02 Aug, 2016 1 commit
  4. 21 Jun, 2016 1 commit
  5. 15 Mar, 2016 1 commit
  6. 11 Nov, 2015 1 commit
    • Geza Lore's avatar
      Add AVX vectorized vp9_diamond_search_sad · 5eefd3eb
      Geza Lore authored
      This function now has an AVX intrinsics version which is about 80%
      faster compared to the C implementation. This provides a 2-4% total
      speed-up for encode, depending on encoding parameters. The function
      utilizes 3 properties of the cost function lookup table, constructed
      in 'cal_nmvjointsadcost' and 'cal_nmvsadcosts'.
      For the joint cost:
        - mvjointsadcost[1] == mvjointsadcost[2] == mvjointsadcost[3]
      For the component costs:
        - For all i: mvsadcost[0][i] == mvsadcost[1][i]
              (equal per component cost)
        - For all i: mvsadcost[0][i] == mvsadcost[0][-i]
              (Cost function is even)
      These must hold, otherwise the AVX version of the function cannot be used.
      
      Change-Id: I6c2791d43022822a9e6ab43cd124a773946d0bdc
      5eefd3eb
  7. 06 Nov, 2015 1 commit
    • James Zern's avatar
      Revert "Add AVX vectorized vp9_diamond_search_sad" · 30466f26
      James Zern authored
      This reverts commit f1342a7b.
      
      This breaks 32-bit builds:
       runtime error: load of misaligned address 0xf72fdd48 for type 'const
      __m128i' (vector of 2 'long long' values), which requires 16 byte
      alignment
      
      + _mm_set1_epi64x is incompatible with some versions of visual studio
      
      Change-Id: I6f6fc3c11403344cef78d1c432cdc9147e5c1673
      30466f26
  8. 05 Nov, 2015 1 commit
    • Geza Lore's avatar
      Add AVX vectorized vp9_diamond_search_sad · f1342a7b
      Geza Lore authored
      This function now has an AVX intrinsics version which is about 80%
      faster compared to the C implementation. This provides a 2-4% total
      speed-up for encode, depending on encoding parameters. The function
      utilizes 3 properties of the cost function lookup table, constructed
      in 'cal_nmvjointsadcost' and 'cal_nmvsadcosts'.
      For the joint cost:
        - mvjointsadcost[1] == mvjointsadcost[2] == mvjointsadcost[3]
      For the component costs:
        - For all i: mvsadcost[0][i] == mvsadcost[1][i]
              (equal per component cost)
        - For all i: mvsadcost[0][i] == mvsadcost[0][-i]
              (Cost function is even)
      These must hold, otherwise the AVX version of the function cannot be used.
      
      Change-Id: I184055b864c5a2dc37b2d8c5c9012eb801e9daf6
      f1342a7b
  9. 28 Oct, 2015 1 commit
  10. 29 Aug, 2015 1 commit
  11. 07 Jul, 2015 1 commit
  12. 22 May, 2015 1 commit
  13. 04 Mar, 2015 1 commit
  14. 17 Nov, 2014 1 commit
  15. 09 Oct, 2014 1 commit
    • Deb Mukherjee's avatar
      Subpel search cleanups and enhancements · d78dbff0
      Deb Mukherjee authored
      - Some fixes to surface fit.
      - Returns variance function as cost rather than sad in the
        pattern search and diamond search functions. Only
        vp9_pattern_search_sad function used in bigdia search
        uses sad as integer 1-away costs.
      - Deploys SUBPEL_TREE_PRUNED_MORE for speed 4+.
      
      Results:
      derf [Speed 3]: About +0.036% in coding efficiency without any
      discernible speed loss.
      derf [Speed 4]: About 2-3% faster at -0.199% loss in coding efficiency.
      derf [Speed 5]: About 3-4% faster at -0.149% loss in coding efficiency.
      
      Change-Id: I8462f94f6adb46966ca964f2bd0400977357fd63
      d78dbff0
  16. 29 Sep, 2014 1 commit
    • Deb Mukherjee's avatar
      Adds two new subpel search methods · 4e9c0d2a
      Deb Mukherjee authored
      One is a more aggressive version of the pruned subpel tree
      search where only a single halfpel candidate is searched.
      The search candidate is based on a surface fit result.
      The other is a method to obtain the subpel position at one
      shot based on the same surface fit.
      
      The methods have not been deployed in any speed setting yet.
      
      Change-Id: I34fef3f2e34f11396c9d1ba97f4be8c4ffca62d3
      4e9c0d2a
  17. 23 Sep, 2014 1 commit
    • Deb Mukherjee's avatar
      Pruned subpel search for speed 3. · c94b17f4
      Deb Mukherjee authored
      Adds code to return an integer cost list for NSTEP search. Then
      uses it for pruned subpel search in speed 3.
      
      derf: -0.06%
      Speed on mobcal 720p increaes from 10.28 fps to 10.65 fps.
      [Subject to further testing].
      
      Change-Id: Ib591382d25b2c11bcaba9d3a27a93a9d1ab27a96
      c94b17f4
  18. 28 Aug, 2014 1 commit
    • Deb Mukherjee's avatar
      Updates vp9_pattern search to return integer sads · 04b100b2
      Deb Mukherjee authored
      Updates the vp9_pattern_search function to return integer one-away
      neighbors' sad values, for subsequent use in speeding up the
      sub-pel search. Also, removes code for the do_refine option
      which is not being used currently.
      Updates the integer and subpel functions to pass in a 5-element
      sad list for output or input.
      
      A new pruned sub-pel search algorithm is implemented that uses
      the sad returned from the integer pel search. But it is not
      deployed yet.
      
      Change-Id: Ifa9f5ad024b5b660570366d2bd900343e1891520
      04b100b2
  19. 11 Jul, 2014 1 commit
  20. 09 Jul, 2014 1 commit
    • Yunqing Wang's avatar
      Remove repetitive code in mcomp.c · a581da21
      Yunqing Wang authored
      Deleted vp9_find_best_sub_pixel_comp_tree(), and combined it in
      vp9_find_best_sub_pixel_tree().
      
      Change-Id: Ifb25763c8b19822df5537cc1daa76ce88dc3b056
      a581da21
  21. 12 Jun, 2014 1 commit
  22. 14 May, 2014 1 commit
  23. 01 May, 2014 1 commit
  24. 29 Apr, 2014 1 commit
  25. 11 Apr, 2014 1 commit
  26. 26 Mar, 2014 1 commit
  27. 08 Mar, 2014 1 commit
    • Deb Mukherjee's avatar
      Support for a fast diamond search · bead2e8f
      Deb Mukherjee authored
      Adds a fast diamond search which is about 5% faster than FAST_HEX
      with only a 0.1% drop in psnr when turned on for both speeds 5 and 7.
      This search is turned on for speed 7.
      
      Change-Id: I497630aa88a5148926086bb3038e7975e5f4eb98
      bead2e8f
  28. 07 Mar, 2014 1 commit
  29. 03 Mar, 2014 1 commit
    • Deb Mukherjee's avatar
      Refactoring motion search libs · b80020d4
      Deb Mukherjee authored
      The core motion estimation fucntions all return sad now consistently.
      The only exception is vp9_full_pixel_diamond(), however the core diamond
      and refining search routines called from vp9_full_pixel_diamond() also
      return SAD. If variance of pred error + mv cost is desired it must be
      calculated explicitly outside these functions. For very fast encoding,
      hopefully this will eliminate some redundant computations.
      
      Also suggests reimplementing FAST_HEX with the vp9_pattern_search
      framework. It is not exactly the same as the existing FAST_HEX, but
      performance is slightly better and speed is very similar. Enables
      removing a lot of duplicate code.
      
      Change-Id: I152736393438c25bdf7e96b37cbb8ce330f4f94a
      b80020d4
  30. 18 Feb, 2014 1 commit
    • Yunqing Wang's avatar
      Use fast HEX search in real time mode · 360c80cf
      Yunqing Wang authored
      In good quality mode motion search, the best matches are normally
      found after searching in a large area. In real time mode, to make
      encoding fast, a center-biased fast HEX search is used, which
      converges quickly most of the time. A 4-point diamond search is
      also carried out as the following refining search, which gives more
      precise results, and maintains good motion search quality.
      
      At speed 5, the borg test on rtc set showed an overall PSNR loss of
      0.936%. The encoding speed gain is 4% - 5%.
      
      Change-Id: I42cd68bb56a09ca1b86293c99d5f7312225ca7ae
      360c80cf
  31. 17 Feb, 2014 1 commit
  32. 13 Feb, 2014 1 commit
  33. 12 Feb, 2014 1 commit
  34. 01 Feb, 2014 1 commit
  35. 24 Jan, 2014 2 commits
  36. 17 Jan, 2014 2 commits
  37. 03 Jan, 2014 1 commit
  38. 19 Dec, 2013 1 commit
    • Yunqing Wang's avatar
      Remove a unused sub-pixel search · 6ff4f192
      Yunqing Wang authored
      The original iterative search was replaced by subpel_tree search,
      and was not used anymore.
      
      Change-Id: I998b38e1cb0ee359a08b2410d0766dbf183ab071
      6ff4f192