D-Modem/pjproject-2.11.1/third_party/build/yuv/Notes.txt
2021-10-29 14:41:03 -04:00

38 lines
1.5 KiB
Text

Notes:
* Source code for libyuv from https://chromium.googlesource.com/libyuv/libyuv/ dated 17 November 2017.
* All code is compilable, except for compare_win.cc
- Use older version (https://chromium.googlesource.com/libyuv/libyuv/+/baf6a3c1bd385e7ffe6b7634560e71fb49e4f589%5E%21/)
Since there's a compiler error on (VS2005):
--------------------------------------------------------------------------------------
pmulld xmm0,xmm6
--------------------------------------------------------------------------------------
- On VS2015, error C2024: 'alignas' attribute applies to variables, data members and tag types only
--------------------------------------------------------------------------------------
__declspec(naked) __declspec(align(16))
Change to :
__declspec(naked)
--------------------------------------------------------------------------------------
* Added these lines to file include/libyuv/basic_types.h:
--
#if _MSC_VER==1400
# include <stdint.h> // for uint8_t
#endif
...
#if defined(_MSC_VER)
# pragma warning(disable:4996) // This function or variable may be unsafe.
#endif
--
* Modify compare_row.h:
- VS2005 doesn't support SSE42, resulting error on HammingDistance_SSE42().
--------------------------------------------------------------------------------------
diff += __popcnt(x);
--------------------------------------------------------------------------------------
So, we use the default method HammingDistance_C() to calculate Hamming Distance.