1. 25 Oct, 2016 2 commits
  2. 24 Oct, 2016 1 commit
    • Frank Barchard's avatar
      Add MSA optimized I422ToARGBRow_MSA and I422ToRGBARow_MSA functions · f5d5bd88
      Frank Barchard authored
      R=fbarchard@google.com
      BUG=libyuv:634
      
      Performance Gains :- (vs C vectorized)
      
      I422ToARGBRow_MSA     : ~1.6x
      I422ToRGBARow_MSA     : ~1.6x
      
      I422ToARGBRow_Any_MSA : ~1.58x
      I422ToRGBARow_Any_MSA : ~1.6x
      
      Performance Gains :- (vs C non-vectorized)
      
      I422ToARGBRow_MSA     : ~7x
      I422ToRGBARow_MSA     : ~7x
      
      I422ToARGBRow_Any_MSA : ~6.9x
      I422ToRGBARow_Any_MSA : ~6.8x
      
      Regarding performance measurement, We have created standalone tests which pass in row's data from a 1920x1080 filled buffer to both the C and MSA functions. And such N iterations are executed to get more accurate timings of C vs MSA.
      
      Review URL: https://codereview.chromium.org/2430313005 .
      f5d5bd88
  3. 21 Oct, 2016 1 commit
    • Frank Barchard's avatar
      scale by 1 for neon implemented · 451af5e9
      Frank Barchard authored
      void HalfFloat1Row_NEON(const uint16* src, uint16* dst, float, int width) {
        asm volatile (
        "1:                                          \n"
          MEMACCESS(0)
          "ld1        {v1.16b}, [%0], #16            \n"  // load 8 shorts
          "subs       %w2, %w2, #8                   \n"  // 8 pixels per loop
          "uxtl       v2.4s, v1.4h                   \n"  // 8 int's
          "uxtl2      v1.4s, v1.8h                   \n"
          "scvtf      v2.4s, v2.4s                   \n"  // 8 floats
          "scvtf      v1.4s, v1.4s                   \n"
          "fcvtn      v4.4h, v2.4s                   \n"  // 8 floatsgit
          "fcvtn2     v4.8h, v1.4s                   \n"
         MEMACCESS(1)
          "st1        {v4.16b}, [%1], #16            \n"  // store 8 shorts
          "b.gt       1b                             \n"
        : "+r"(src),    // %0
          "+r"(dst),    // %1
          "+r"(width)   // %2
        :
        : "cc", "memory", "v1", "v2", "v4"
        );
      }
      
      void HalfFloatRow_NEON(const uint16* src, uint16* dst, float scale, int width) {
        asm volatile (
        "1:                                          \n"
          MEMACCESS(0)
          "ld1        {v1.16b}, [%0], #16            \n"  // load 8 shorts
          "subs       %w2, %w2, #8                   \n"  // 8 pixels per loop
          "uxtl       v2.4s, v1.4h                   \n"  // 8 int's
          "uxtl2      v1.4s, v1.8h                   \n"
          "scvtf      v2.4s, v2.4s                   \n"  // 8 floats
          "scvtf      v1.4s, v1.4s                   \n"
          "fmul       v2.4s, v2.4s, %3.s[0]          \n"  // adjust exponent
          "fmul       v1.4s, v1.4s, %3.s[0]          \n"
          "uqshrn     v4.4h, v2.4s, #13              \n"  // isolate halffloat
          "uqshrn2    v4.8h, v1.4s, #13              \n"
         MEMACCESS(1)
          "st1        {v4.16b}, [%1], #16            \n"  // store 8 shorts
          "b.gt       1b                             \n"
        : "+r"(src),    // %0
          "+r"(dst),    // %1
          "+r"(width)   // %2
        : "w"(scale * 1.9259299444e-34f)    // %3
        : "cc", "memory", "v1", "v2", "v4"
        );
      }
      
      TEST=LibYUVPlanarTest.TestHalfFloatPlane_One
      BUG=libyuv:560
      R=hubbe@chromium.org
      
      Review URL: https://codereview.chromium.org/2430313008 .
      451af5e9
  4. 20 Oct, 2016 2 commits
  5. 19 Oct, 2016 1 commit
  6. 18 Oct, 2016 3 commits
  7. 17 Oct, 2016 3 commits
  8. 15 Oct, 2016 1 commit
  9. 14 Oct, 2016 2 commits
  10. 13 Oct, 2016 2 commits
  11. 12 Oct, 2016 2 commits
  12. 11 Oct, 2016 2 commits
  13. 08 Oct, 2016 2 commits
  14. 07 Oct, 2016 1 commit
  15. 06 Oct, 2016 1 commit
    • Frank Barchard's avatar
      YUY2ToI422_Any_Neon clean up to not require 16 pixels · 3b88a19a
      Frank Barchard authored
      YUY2ToI422_Any_Neon previously required 16 pixels and duplicated
      the last pixel.  The replication was not necessary after a previous
      change to treat YUY2 to 4 byte macro pixels.
      
      TBR=harryjin@google.com
      BUG=libyuv:648
      TESTED=util/android/test_runner.py gtest -s libyuv_unittest -t 7200 --verbose --release --gtest_filter=*YUY2ToI422* -a "--libyuv_width=17 --libyuv_height=7 --libyuv_repeat=999 --libyuv_flags=1"
      
      Review URL: https://codereview.chromium.org/2399143002 .
      3b88a19a
  16. 05 Oct, 2016 1 commit
  17. 04 Oct, 2016 2 commits
  18. 03 Oct, 2016 1 commit
  19. 30 Sep, 2016 1 commit
  20. 29 Sep, 2016 1 commit
  21. 28 Sep, 2016 1 commit
  22. 27 Sep, 2016 3 commits
  23. 26 Sep, 2016 1 commit
  24. 23 Sep, 2016 2 commits
    • Frank Barchard's avatar
      setup_links.py: Use junctions instead of symlinks on Windows. · feaff94b
      Frank Barchard authored
      Instead of creating symlinks on Windows, the script is now:
      * creating a junction for directories
      * copying individual files.
      
      This makes 'gclient sync' and 'gclient runhooks' no longer
      require administrator's privileges.
      If the script is run with administrator's privileges, a
      warning will be printed, informing the user that it's not recommended.
      
      Also clean up a few old documentation references to the
      Chromium SVN->Git transition.
      
      BUG=libyuv:584,webrtc:4911
      TESTED=Running the script with+without administrator's privileges.
      I also tested the case of this change being rolled back, in which
      case I verified that the copied files are still being deleted using
      the same cleanup code path as the previous symlinks.
      NOTRY=True
      R=braveyao@chromium.org
      
      Review URL: https://codereview.chromium.org/2359383002 .
      feaff94b
    • Frank Barchard's avatar
      fix warning on visual C for mips cpu detect · 34a29bf7
      Frank Barchard authored
      follow up warning fixs
      cpu_id.cc(167): warning C4267: 'initializing': conversion from 'size_t' to 'int', possible loss of data
      lint warning: cpu_id.cc:171:  Missing space before ( in if(  [whitespace/parens] [5]
      
      TBR=manojkumar.bhosale@imgtec.com
      BUG=libyuv:634
      TEST=try bots for windows.
      
      Review URL: https://codereview.chromium.org/2365813002 .
      34a29bf7
  25. 22 Sep, 2016 1 commit