1. 08 Apr, 2016 1 commit
  2. 06 Apr, 2016 1 commit
  3. 01 Apr, 2016 1 commit
  4. 16 Mar, 2016 1 commit
  5. 29 Feb, 2016 1 commit
  6. 24 Feb, 2016 1 commit
  7. 18 Feb, 2016 1 commit
  8. 12 Feb, 2016 1 commit
  9. 10 Feb, 2016 1 commit
  10. 09 Feb, 2016 2 commits
  11. 05 Feb, 2016 1 commit
  12. 02 Feb, 2016 1 commit
  13. 01 Feb, 2016 1 commit
    • Frank Barchard's avatar
      ubsan overflow fix for multiply by 0x01010101 · 9e39c1f2
      Frank Barchard authored
      This is an UBSan error reported by libjingle
      
      [ RUN      ] WebRtcVideoFrameTest.ConvertToYUY2BufferStride
      [000:000] (videoframe.cc:375): Validate frame passed. format: I420 bpp: 12 size: 1280x720 bytes: 1382400 expected: 1382400 sample[0..3]: 73, 73, 73, 73
      ../../chromium/src/third_party/libyuv/source/row_gcc.cc:2903:25: runtime error: signed integer overflow: 128 * 16843009 cannot be represented in type 'int'
      [8/614] WebRtcVideoFrameTest.ConvertToYUY2BufferStride returned/aborted with exit code 1 (32 ms)
      [9/614] WebRtcVideoFrameTest.ConvertToYUY2BufferInverted (29 ms)
      Note: Google Test filter = WebRtcVideoFrameTest.ConvertToYUY2BufferInverted
      
      The source is uint8 and the multiply is by 0x01010101 to replicate the byte to 4 bytes.
      Changing the constant to 0x01010101u should avoid overflow.
      
      R=harryjin@google.com
      TBR=harryjin@google.com
      BUG=libyuv:563
      
      Review URL: https://codereview.chromium.org/1657533005 .
      9e39c1f2
  14. 21 Jan, 2016 1 commit
  15. 20 Jan, 2016 1 commit
  16. 19 Jan, 2016 1 commit
    • Frank Barchard's avatar
      Fix memory overwrite in YUY2ToNV12 odd wdiths · 58cb5349
      Frank Barchard authored
      When width was odd Y channel wrote an extra pixel.
      This change splits the Y from UV into a temporary
      buffer and memcpy's to the destination.  Performance
      is slower.
      
      Was
      YUY2ToNV12_Any (307 ms)
      YUY2ToNV12_Unaligned (213 ms)
      TestYUY2ToNV12 (181 ms)
      YUY2ToNV12_Opt (177 ms)
      YUY2ToNV12_Invert (177 ms)
      
      Npw
      YUY2ToNV12_Any (300 ms)
      YUY2ToNV12_Unaligned (226 ms)
      YUY2ToNV12_Invert (206 ms)
      TestYUY2ToNV12 (184 ms)
      YUY2ToNV12_Opt (181 ms)
      TBR=harryjin@google.com
      BUG=libyuv:545
      
      Review URL: https://codereview.chromium.org/1593833002 .
      58cb5349
  17. 15 Jan, 2016 1 commit
  18. 13 Jan, 2016 1 commit
  19. 12 Jan, 2016 1 commit
  20. 06 Jan, 2016 1 commit
  21. 05 Jan, 2016 1 commit
  22. 22 Dec, 2015 3 commits
  23. 21 Dec, 2015 1 commit
  24. 17 Dec, 2015 1 commit
  25. 16 Dec, 2015 1 commit
  26. 15 Dec, 2015 2 commits
  27. 11 Dec, 2015 1 commit
  28. 10 Dec, 2015 1 commit
  29. 09 Dec, 2015 2 commits
    • Frank Barchard's avatar
      BlendPlane any width. · a2ea9056
      Frank Barchard authored
      Benchmark
      out\release\libyuv_unittest --libyuv_width=1279 --libyuv_height=719 --libyuv_repeat=999 --libyuv_flags=-1 --gtest_filter=*Blend* | sortms
      
      Was
      I420Blend_Any (2321 ms)
      I420Blend_Unaligned (1684 ms)
      I420Blend_Opt (1675 ms)
      I420Blend_Invert (1653 ms)
      BlendPlane_Invert (1556 ms)
      BlendPlane_Any (1552 ms)
      BlendPlane_Unaligned (1548 ms)
      BlendPlane_Opt (1535 ms)
      ARGBBlend_Unaligned (659 ms)
      ARGBBlend_Any (596 ms)
      ARGBBlend_Invert (591 ms)
      ARGBBlend_Opt (508 ms)
      BlendPlaneRow_Unaligned (186 ms)
      BlendPlaneRow_Opt (171 ms)
      
      Now
      ARGBBlend_Any (621 ms)
      ARGBBlend_Unaligned (585 ms)
      ARGBBlend_Invert (564 ms)
      ARGBBlend_Opt (512 ms)
      I420Blend_Unaligned (347 ms)
      I420Blend_Invert (345 ms)
      I420Blend_Any (337 ms)
      I420Blend_Opt (327 ms)
      BlendPlane_Unaligned (187 ms)
      BlendPlaneRow_Unaligned (187 ms)
      BlendPlane_Invert (186 ms)
      BlendPlane_Any (186 ms)
      BlendPlaneRow_Opt (173 ms)
      BlendPlane_Opt (171 ms)
      
      which is comparable to aligned case
      out\release\libyuv_unittest --libyuv_width=1280 --libyuv_height=720 --libyuv_repeat=999 --libyuv_flags=-1 --gtest_filter=*Blend* | sortms
      ARGBBlend_Any (625 ms)
      ARGBBlend_Unaligned (602 ms)
      ARGBBlend_Invert (508 ms)
      ARGBBlend_Opt (506 ms)
      I420Blend_Any (353 ms)
      I420Blend_Unaligned (322 ms)
      I420Blend_Invert (304 ms)
      I420Blend_Opt (301 ms)
      BlendPlaneRow_Unaligned (188 ms)
      BlendPlane_Unaligned (186 ms)
      BlendPlane_Invert (185 ms)
      BlendPlane_Any (184 ms)
      BlendPlaneRow_Opt (173 ms)
      BlendPlane_Opt (169 ms)
      
      R=dhrosa@google.com, harryjin@google.com
      BUG=libyuv:527
      
      Review URL: https://codereview.chromium.org/1513443002 .
      a2ea9056
    • Frank Barchard's avatar
      Work around bug in xgetbv for Visual Studio. · fae1a105
      Frank Barchard authored
      xgetbv is generating bad code, falsely disabling AVX2 and AVX512.
      disable optimization for the function affected on older versions of Visual C 32 bit.
      
      R=brucedawson@chromium.org, dhrosa@google.com, harryjin@google.com
      BUG=libyuv:529
      
      Review URL: https://codereview.chromium.org/1503393004 .
      fae1a105
  30. 07 Dec, 2015 1 commit
  31. 06 Dec, 2015 1 commit
  32. 02 Dec, 2015 1 commit
  33. 26 Nov, 2015 1 commit
  34. 20 Nov, 2015 1 commit
  35. 19 Nov, 2015 1 commit