mingw fix ifdefs to use gcc source

mingw gcc sets the macro _M_IX86 which is normally only set
by Visual C and clangcl which are Visual C style source code
style for assembly, but gcc is not Visual C compatible.
Add _MSC_VER to most ifdefs to detect that its really Visual C
or clangcl and not mingw gcc so the gcc source code will be used.

Bug: libyuv:744
Test: CXXFLAGS=-m32 CXX=~/prebuilts/gcc/linux-x86/host/x86_64-w64-mingw32-4.8/bin/x86_64-w64-mingw32-g++ make -f linux.mk
Change-Id: I3431aa486eb769b145faa8d5eb75ed639f9d6f5e
Reviewed-on: https://chromium-review.googlesource.com/722319
Reviewed-by: Cheng Wang <wangcheng@google.com>
Commit-Queue: Frank Barchard <fbarchard@google.com>
6 files changed
tree: bfd028e1cb7fe36f4d7a3bec59e484544ee477d7
  1. build_overrides/
  2. docs/
  3. include/
  4. infra/
  5. source/
  6. tools_libyuv/
  7. unit_test/
  8. util/
  9. .clang-format
  10. .gitignore
  11. .gn
  12. .vpython
  13. all.gyp
  14. Android.mk
  15. AUTHORS
  16. BUILD.gn
  17. cleanup_links.py
  18. CM_linux_packages.cmake
  19. CMakeLists.txt
  20. codereview.settings
  21. DEPS
  22. download_vs_toolchain.py
  23. gyp_libyuv
  24. gyp_libyuv.py
  25. libyuv.gni
  26. libyuv.gyp
  27. libyuv.gypi
  28. libyuv_nacl.gyp
  29. libyuv_test.gyp
  30. LICENSE
  31. LICENSE_THIRD_PARTY
  32. linux.mk
  33. OWNERS
  34. PATENTS
  35. PRESUBMIT.py
  36. public.mk
  37. pylintrc
  38. README.chromium
  39. README.md
  40. winarm.mk
README.md

libyuv is an open source project that includes YUV scaling and conversion functionality.

  • Scale YUV to prepare content for compression, with point, bilinear or box filter.
  • Convert to YUV from webcam formats.
  • Convert from YUV to formats for rendering/effects.
  • Rotate by 90/180/270 degrees to adjust for mobile devices in portrait mode.
  • Optimized for SSE2/SSSE3/AVX2 on x86/x64.
  • Optimized for Neon on Arm.
  • Optimized for DSP R2 on Mips.

Development

See [Getting started] 1 for instructions on how to get started developing.

You can also browse the [docs directory] 2 for more documentation.