1. 07 Feb, 2018 1 commit
  2. 24 Jan, 2018 1 commit
  3. 23 Jan, 2018 1 commit
  4. 02 Jan, 2018 1 commit
  5. 04 Aug, 2017 1 commit
  6. 11 Feb, 2017 1 commit
  7. 11 Jan, 2017 1 commit
    • Frank Barchard's avatar
      Libyuv MIPS DSPR2 optimizations. · 000d2fa9
      Frank Barchard authored
      Optimized functions:
      
      I444ToARGBRow_DSPR2
      I422ToARGB4444Row_DSPR2
      I422ToARGB1555Row_DSPR2
      NV12ToARGBRow_DSPR2
      BGRAToUVRow_DSPR2
      BGRAToYRow_DSPR2
      ABGRToUVRow_DSPR2
      ARGBToYRow_DSPR2
      ABGRToYRow_DSPR2
      RGBAToUVRow_DSPR2
      RGBAToYRow_DSPR2
      ARGBToUVRow_DSPR2
      RGB24ToARGBRow_DSPR2
      RAWToARGBRow_DSPR2
      RGB565ToARGBRow_DSPR2
      ARGB1555ToARGBRow_DSPR2
      ARGB4444ToARGBRow_DSPR2
      ScaleAddRow_DSPR2
      
      Bug-fixes in functions:
      
      ScaleRowDown2_DSPR2
      ScaleRowDown4_DSPR2
      
      BUG=
      
      Review-Url: https://codereview.chromium.org/2626123003 .
      000d2fa9
  8. 08 Nov, 2016 1 commit
  9. 15 Oct, 2016 1 commit
  10. 14 Oct, 2016 1 commit
  11. 11 Oct, 2016 1 commit
    • Frank Barchard's avatar
      Remove I411 support. · d363ea65
      Frank Barchard authored
      YUV 411 is very uncommon format.  Remove support.
      
      Update documentation to reflect that 411 is deprecated.
      
      Simplify tests for YUV to only test with the new side by side YUV but keep old 3 plane test around with a macro for now.
      
      BUG=libyuv:645
      R=kjellander@chromium.org
      
      Review URL: https://codereview.chromium.org/2406123002 .
      d363ea65
  12. 03 Oct, 2016 1 commit
  13. 29 Sep, 2016 1 commit
  14. 27 Sep, 2016 1 commit
  15. 28 Jun, 2016 1 commit
  16. 28 May, 2016 1 commit
  17. 26 May, 2016 1 commit
  18. 18 Feb, 2016 1 commit
  19. 13 Jan, 2016 1 commit
  20. 12 Jan, 2016 1 commit
  21. 21 Dec, 2015 1 commit
  22. 17 Dec, 2015 1 commit
  23. 09 Dec, 2015 2 commits
  24. 06 Dec, 2015 1 commit
  25. 02 Dec, 2015 1 commit
  26. 18 Nov, 2015 1 commit
  27. 17 Nov, 2015 1 commit
  28. 03 Nov, 2015 1 commit
  29. 02 Nov, 2015 2 commits
  30. 30 Oct, 2015 1 commit
  31. 27 Oct, 2015 2 commits
    • Frank Barchard's avatar
      refactor I420AlphaToABGR to use I420AlphaToARGB internally · b86dbf24
      Frank Barchard authored
      swap U and V and transpose conversion matrix, so I420AlphaToARGB and
      I420AlphaToABGR share low level code.
      
      Having less code with same performance allows more focused
      optimization for future ARM versions.
      
      R=harryjin@google.com
      TBR=harryjin@chromium.org
      BUG=libyuv:473,libyuv:516
      
      Review URL: https://codereview.chromium.org/1422263002 .
      b86dbf24
    • Frank Barchard's avatar
      implement I444ToABGR by swapping uv and transpose matrix · cf160cdb
      Frank Barchard authored
      U contributes to B and G.  V contributes to R and G.
      By swapping U and V, they contribute to the opposite channels.  Adjust the matrix so the U contribution is in the matrix location such that it till contribute to the
      new B channel and vice versa.
      This allows ABGR versions of YUV conversion to use the same low level code as ARGB, just using a different matrix and swapping U and V pointers.
      
      As a result the existing I444ToABGRRow functions are no longer needed and are removed.
      
      Previously this function was only Intel AVX2 optimized for Windwos.  Now it is also optimized for Arm and GCC.
      
      ARMv7 Neon
      Was LibYUVConvertTest.I444ToABGR_Opt (75971 ms)
      Now LibYUVConvertTest.I444ToABGR_Opt (3672 ms)
      20.6 times faster.
      
      R=xhwang@chromium.org
      BUG=libyuv:515
      
      Review URL: https://codereview.chromium.org/1414133006 .
      cf160cdb
  32. 08 Oct, 2015 3 commits
  33. 07 Oct, 2015 1 commit
    • 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
  34. 30 Sep, 2015 1 commit
  35. 25 Sep, 2015 1 commit
    • Frank Barchard's avatar
      win64 version of I422AlphaToARGB. · febc26a2
      Frank Barchard authored
      Was
      I420AlphaToARGB_Premult (8861 ms)
      I420AlphaToARGB_Opt (7119 ms)
      Now
      I420AlphaToABGR_Premult (2840 ms)
      I420AlphaToARGB_Opt (484 ms)
      
      C function switched to 1 step.
      Was
      I420AlphaToARGB_Premult (8862 ms)
      I420AlphaToABGR_Opt (6718 ms)
      
      Now
      I420AlphaToARGB_Premult (8706 ms)
      I420AlphaToARGB_Opt (6541 ms)
      
      R=harryjin@google.com
      BUG=libyuv:496, libyuv:473
      
      Review URL: https://codereview.chromium.org/1359183003 .
      febc26a2