1. 04 Nov, 2015 1 commit
  2. 30 Oct, 2015 1 commit
  3. 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
  4. 08 Oct, 2015 1 commit
    • Frank Barchard's avatar
      fix jpeg and bt.709 yuvconstants for neon64. · 76a599ec
      Frank Barchard authored
      yuv constants for bt.601 were previously ported to neon64, as well
      as the code to respect other color spaces.  But the jpeg and bt.709
      colour conversion constants were still in armv7 form.  This changes
      the constants for aarch64 builds to be compatible with the code.
      
      yuv constants are now passed as const *
      
      Remove Yvu constants which were used for older version on nv21 but not new code.
      
      TBR=harryjin@google.com
      BUG=none
      
      Review URL: https://codereview.chromium.org/1398623002 .
      76a599ec
  5. 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
  6. 30 Sep, 2015 1 commit
  7. 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
  8. 22 Sep, 2015 1 commit
  9. 18 Sep, 2015 1 commit
  10. 06 Sep, 2015 1 commit
  11. 03 Sep, 2015 1 commit
  12. 21 Aug, 2015 1 commit
  13. 13 Aug, 2015 2 commits
  14. 07 Apr, 2015 1 commit
  15. 06 Apr, 2015 1 commit
  16. 17 Mar, 2015 1 commit
  17. 11 Mar, 2015 2 commits
  18. 09 Mar, 2015 1 commit
  19. 24 Feb, 2015 2 commits
  20. 23 Feb, 2015 1 commit
  21. 21 Feb, 2015 1 commit
  22. 09 Feb, 2015 1 commit
  23. 03 Feb, 2015 1 commit
  24. 14 Jan, 2015 1 commit
  25. 29 Dec, 2014 1 commit
  26. 24 Oct, 2014 1 commit
  27. 16 Oct, 2014 1 commit
  28. 07 Oct, 2014 1 commit
  29. 08 Jul, 2014 1 commit
  30. 02 Jun, 2014 1 commit
  31. 07 Jan, 2014 1 commit
  32. 27 Dec, 2013 1 commit
  33. 21 Oct, 2013 1 commit
  34. 02 Aug, 2013 2 commits