1. 16 Oct, 2015 1 commit
  2. 13 Oct, 2015 1 commit
  3. 07 Oct, 2015 2 commits
    • Frank Barchard's avatar
      Reimplement NV21ToARGB to allow different color matrix. · 914a9856
      Frank Barchard authored
      Low level for NV21ToARGB written to accept yuv matrix used by
      other YUV to ARGB functions.
      Previously NV21 was implemented for Windows using NV12 with a different
      matrix that swapped U and V.  But the Arm version of the low level does
      not allow the matrix U and V contributions to be swapped.
      Using a new low level function that reads NV21 and uses the same
      yuvconstants as other YUV conversion functions allows an Arm port of
      this function.
      
      TBR=harryjin@google.com
      BUG=libyuv:500
      
      Review URL: https://codereview.chromium.org/1388273002 .
      914a9856
    • Frank Barchard's avatar
      Add J444ToARGB conversion function. · f00bc9ef
      Frank Barchard authored
      J444 is JPeg YUV color space with 444 subsampling.
      This implementation uses the existing I444ToARGB conversion, which is
      BT.601 color space with 444 subsampling, but passing in the jpeg
      color matrix constants.
      
      TBR=harryjin@google.com
      BUG=449
      
      Review URL: https://codereview.chromium.org/1387313002 .
      f00bc9ef
  4. 25 Sep, 2015 1 commit
    • Frank Barchard's avatar
      I420Alpha row function in 1 pass. · e365cdde
      Frank Barchard authored
      API change - I420AlphaToARGB takes flag indicating if RGB should be
      premultiplied by alpha.
      
      This version implements an efficient SSSE3 version for Windows.
      C version done in 2 steps.
      
      Was
      libyuvTest.I420AlphaToARGB_Any (1136 ms)
      libyuvTest.I420AlphaToARGB_Unaligned (1210 ms)
      libyuvTest.I420AlphaToARGB_Invert (966 ms)
      libyuvTest.I420AlphaToARGB_Opt (1031 ms)
      libyuvTest.I420AlphaToABGR_Any (1020 ms)
      libyuvTest.I420AlphaToABGR_Unaligned (1359 ms)
      libyuvTest.I420AlphaToABGR_Invert (1082 ms)
      libyuvTest.I420AlphaToABGR_Opt (986 ms)
      
      R=harryjin@google.com
      BUG=libyuv:496
      
      Review URL: https://codereview.chromium.org/1367093002 .
      e365cdde
  5. 22 Sep, 2015 1 commit
    • Frank Barchard's avatar
      Replace random with fastrand · 16f12b58
      Frank Barchard authored
      random / rand is slow and impacts performance testing.
      Although its only called to clear a frame once, a typical profile shows
      it high in the overall profile, when doing 1000 frames for a benchmark.
      
      95.10%  libyuv_unittest  libyuv_unittest      [.] YUY2ToARGBRow_SSSE3
       2.01%  libyuv_unittest  libc-2.19.so         [.] __random_r
       1.13%  libyuv_unittest  libc-2.19.so         [.] __random
      
      Replace random is a faster version for unittests.
      
      set LIBYUV_WIDTH=1280
      set LIBYUV_HEIGHT=720
      set LIBYUV_REPEAT=999
      set LIBYUV_FLAGS=-1
      out\release\libyuv_unittest --gtest_filter=*YUY2ToARGB*  | findms
      
      Was
      libyuvTest.YUY2ToARGB_Opt (497 ms)
      
      Now
      libyuvTest.YUY2ToARGB_Opt (454 ms)
      
      R=harryjin@google.com
      BUG=none
      
      Review URL: https://codereview.chromium.org/1361813002 .
      16f12b58
  6. 18 Sep, 2015 1 commit
  7. 06 Sep, 2015 1 commit
  8. 03 Sep, 2015 1 commit
  9. 21 Aug, 2015 1 commit
  10. 18 Aug, 2015 1 commit
    • Frank Barchard's avatar
      xmmword cast for clang · cda9d38a
      Frank Barchard authored
      clangcl use compare_win for 32 bit, allowing fallback and enabling avx2 code for clang.
      move defines/protos to compare_row.h
      fix issue with odd width ARGBCopyAlpha functions by copying destination to temp buffer, then doing alpha copy, then copy back to destination.
      
      R=harryjin@google.com
      TBR=harryjin@google.com
      BUG=libyuv:484
      
      Review URL: https://webrtc-codereview.appspot.com/59379004.
      cda9d38a
  11. 13 Aug, 2015 1 commit
  12. 30 Jul, 2015 1 commit
  13. 21 Jul, 2015 1 commit
  14. 17 Jul, 2015 2 commits
  15. 09 Jun, 2015 1 commit
    • fbarchard@google.com's avatar
      Box filter for YUV use rows with accumulation buffer for better memory behavior.… · 05416e2d
      fbarchard@google.com authored
      Box filter for YUV use rows with accumulation buffer for better memory behavior.  The old code would do columns accumulated into registers, and then store the result once.  This was slow from a memory point of view.  The new code does a row of source at a time, updating an accumulation buffer every row.  The accumulation buffer is small, and should fit cache.  Before each accumulation of N rows, the buffer needs to be reset to zero.  If the memset is a bottleneck, it would be faster to do the first row without an add, storing to the accumulation buffer, and then add for the remaining rows.
      BUG=425
      TESTED=out\release\libyuv_unittest --gtest_filter=*ScaleTo1x1*
      R=harryjin@google.com
      
      Review URL: https://webrtc-codereview.appspot.com/52659004
      
      git-svn-id: http://libyuv.googlecode.com/svn/trunk@1428 16f28f9a-4ce2-e073-06de-1de4eb20be90
      05416e2d
  16. 26 Mar, 2015 1 commit
  17. 19 Mar, 2015 1 commit
  18. 17 Mar, 2015 1 commit
  19. 10 Mar, 2015 1 commit
  20. 06 Mar, 2015 2 commits
  21. 04 Mar, 2015 1 commit
  22. 27 Feb, 2015 1 commit
  23. 18 Feb, 2015 1 commit
  24. 17 Feb, 2015 1 commit
  25. 10 Feb, 2015 1 commit
  26. 09 Feb, 2015 1 commit
  27. 04 Feb, 2015 1 commit
  28. 03 Feb, 2015 1 commit
  29. 02 Feb, 2015 2 commits
  30. 14 Jan, 2015 1 commit
  31. 13 Jan, 2015 3 commits
  32. 29 Dec, 2014 1 commit
  33. 15 Dec, 2014 2 commits