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