clang on linux prefers no args for rep movsl/stosl. ifdef for C that removes namespace. extern c allows c++ to be used to compile, including with namespace, but C program can link libyuv
BUG=none
TEST=none
Review URL: http://webrtc-codereview.appspot.com/320004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@101 16f28f9a-4ce2-e073-06de-1de4eb20be90
diff --git a/source/row_posix.cc b/source/row_posix.cc
index 005efbb..e531ab1 100644
--- a/source/row_posix.cc
+++ b/source/row_posix.cc
@@ -12,7 +12,10 @@
#include "libyuv/basic_types.h"
+#ifdef __cplusplus
+namespace libyuv {
extern "C" {
+#endif
#ifdef HAS_ARGBTOUVROW_SSSE3
vec8 kARGBToU = {
@@ -318,7 +321,6 @@
}
#endif
-
#ifdef HAS_FASTCONVERTYUVTOARGBROW_SSSE3
#define UB 127 /* min(63,static_cast<int8>(2.018 * 64)) */
#define UG -25 /* static_cast<int8>(-0.391 * 64 - 0.5) */
@@ -637,7 +639,7 @@
#ifdef HAS_REVERSE_ROW_SSSE3
// Shuffle table for reversing the bytes.
-static const uvec8 kShuffleReverse = {
+uvec8 kShuffleReverse = {
15u, 14u, 13u, 12u, 11u, 10u, 9u, 8u, 7u, 6u, 5u, 4u, 3u, 2u, 1u, 0u
};
@@ -666,4 +668,7 @@
}
#endif
+#ifdef __cplusplus
} // extern "C"
+} // namespace libyuv
+#endif