1. 23 Jan, 2020 1 commit
    • Frank Barchard's avatar
      RAWToJ400 and RGBToJ400 use 2 step row function for Intel. RAWToJ400 Was 3996… · 3db22ebc
      Frank Barchard authored
      RAWToJ400 and RGBToJ400 use 2 step row function for Intel. RAWToJ400 Was 3996 ms, now 3309.  20.7% faster.
      
      Call a row function for each row, based on ARGBToI400 code.
      But implement row functions as 2 step conversion.  Adds the
      row functions:
      RAWToYJ, RGBToYJ, SSSE3 and AVX2 versions, and Any versions.
      The smaller row buffer is more cache friendly on large images.
      
      The max cache size can be configured, and is currently:
      // Maximum temporary width for wrappers to process at a time, in pixels.
      And the row buffer is
        SIMD_ALIGNED(uint8_t row[MAXTWIDTH * 4]);
      So 8192 bytes are used for the row buffer, leaving the rest for source
      and destination buffers.
      
      blaze-bin/third_party/libyuv/libyuv_test '--gunit_filter=*R*To?400_Opt' --libyuv_width=3600 --libyuv_height=2500 --libyuv_repeat=1000 --libyuv_flags=-1 --libyuv_cpu_info=-1 | sortms
      
      Was
      RAWToJ400_Opt (3996 ms)
      ARGBToI400_Opt (3964 ms)
      RGB24ToJ400_Opt (3960 ms)
      ARGBToJ400_Opt (3909 ms)
      RGBAToJ400_Opt (3885 ms)
      
      Now
      ARGBToJ400_Opt (4091 ms)
      ARGBToI400_Opt (3936 ms)
      RGBAToJ400_Opt (3428 ms)
      RGB24ToJ400_Opt (3324 ms)
      RAWToJ400_Opt (3309 ms)
      
      Bug: libyuv:854, b/147753855
      Change-Id: Ieb65fbda94e812c737f4c3c74107354b73c4bcd2
      Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/2016203Reviewed-by: 's avatarrichard winterton <rrwinterton@gmail.com>
      Commit-Queue: Frank Barchard <fbarchard@chromium.org>
      3db22ebc
  2. 16 Jan, 2020 1 commit
    • Frank Barchard's avatar
      RAWToJ400 for big endian RGB to grey scale. · 1cea4235
      Frank Barchard authored
      On Pixel 3
      Was
      BM_ConvertToGray/1280/720/3                        2360958 ns      2334984 ns         2999
      BM_ConvertToGray/1279/721/3                        2360289 ns      2334329 ns         2994
      BM_ConvertGrayTensorflowCoefficients/1280/720/3    2983296 ns      2947113 ns         2259
      BM_ConvertGrayTensorflowCoefficients/1279/721/3    2871205 ns      2835359 ns         2170
      
      Now
      BM_ConvertToGray/1280/720/3                        2358469 ns      2334068 ns         2997
      BM_ConvertToGray/1279/721/3                        2364584 ns      2336892 ns         2995
      BM_ConvertGrayTensorflowCoefficients/1280/720/3     281312 ns       278244 ns        25170
      BM_ConvertGrayTensorflowCoefficients/1279/721/3     351310 ns       347229 ns        20217
      
      BUG=libyuv:854
      
      Change-Id: If2192affc2d3219e0fb824737d75b9374a25d709
      Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/2003236
      Commit-Queue: Frank Barchard <fbarchard@chromium.org>
      Reviewed-by: 's avatarrichard winterton <rrwinterton@gmail.com>
      1cea4235
  3. 09 Dec, 2019 1 commit
  4. 13 Nov, 2019 1 commit
  5. 12 Nov, 2019 1 commit
  6. 06 Nov, 2019 1 commit
  7. 05 Nov, 2019 2 commits
  8. 29 Oct, 2019 1 commit
  9. 28 Oct, 2019 1 commit
  10. 21 Oct, 2019 1 commit
  11. 14 Oct, 2019 1 commit
  12. 09 Oct, 2019 1 commit
  13. 07 Oct, 2019 1 commit
  14. 17 Sep, 2019 2 commits
  15. 11 Sep, 2019 2 commits
  16. 04 Sep, 2019 1 commit
  17. 30 Aug, 2019 1 commit
  18. 20 Aug, 2019 1 commit
  19. 10 Aug, 2019 1 commit
  20. 07 Aug, 2019 2 commits
  21. 02 Aug, 2019 1 commit
  22. 26 Jul, 2019 2 commits
  23. 19 Jul, 2019 1 commit
  24. 18 Jul, 2019 2 commits
  25. 02 Jul, 2019 2 commits
  26. 01 Jul, 2019 1 commit
  27. 29 May, 2019 1 commit
  28. 14 May, 2019 1 commit
  29. 06 May, 2019 1 commit
  30. 12 Apr, 2019 1 commit
  31. 01 Apr, 2019 1 commit
  32. 05 Mar, 2019 1 commit
  33. 30 Jan, 2019 1 commit