[packages/framewave] - enhanced c++ (cover also static_assert keyword, conflicting template arguments, new literals) - ad
qboosh
qboosh at pld-linux.org
Sat Apr 15 19:50:16 CEST 2017
commit 2f0fee9c371b79e613d95a60dd62e98db45b4c34
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date: Sat Apr 15 19:50:12 2017 +0200
- enhanced c++ (cover also static_assert keyword, conflicting template arguments, new literals)
- added warnings patch (disable -Wnarrowing under gcc 6 in SSE vectors initialization hackery)
- added cpuid patch (replace custom asm code with GCC builtin, fixes build for x32 ABI)
- release 12
framewave-c++.patch | 101 ++++++++++++++
framewave-cpuid.patch | 78 +++++++++++
framewave-warnings.patch | 343 +++++++++++++++++++++++++++++++++++++++++++++++
framewave.spec | 6 +-
4 files changed, 527 insertions(+), 1 deletion(-)
---
diff --git a/framewave.spec b/framewave.spec
index 6cf3fae..c09aa71 100644
--- a/framewave.spec
+++ b/framewave.spec
@@ -6,7 +6,7 @@ Summary: Framewave - set of popular image and signal processing routines
Summary(pl.UTF-8): Framewave - zestaw popularnych funkcji do przetwarzania obrazu i sygnału
Name: framewave
Version: 1.3.1
-Release: 11
+Release: 12
License: Apache v2.0
Group: Libraries
Source0: http://downloads.sourceforge.net/framewave/FRAMEWAVE_%{version}_SRC.tar.gz
@@ -15,6 +15,8 @@ Patch0: %{name}-system-boost.patch
Patch1: %{name}-c++.patch
Patch2: no-forced-arch-bits.patch
Patch3: %{name}-templates.patch
+Patch4: %{name}-warnings.patch
+Patch5: %{name}-cpuid.patch
URL: http://framewave.sourceforge.net/
BuildRequires: boost-devel >= 1.34
BuildRequires: libstdc++-devel
@@ -70,6 +72,8 @@ Statyczne biblioteki Framewave.
%patch1 -p1
%patch2 -p1
%patch3 -p1
+%patch4 -p1
+%patch5 -p1
# kill precompiled binaries
%{__rm} BuildTools/bin/FwHeaderConvert_*
diff --git a/framewave-c++.patch b/framewave-c++.patch
index c2d9344..e28dbc5 100644
--- a/framewave-c++.patch
+++ b/framewave-c++.patch
@@ -1453,3 +1453,104 @@
}
return fwStsNoErr;
}
+--- FRAMEWAVE_1.3.1_SRC/Framewave/domain/common/include/fwdev.h.orig 2009-07-09 11:15:40.000000000 +0200
++++ FRAMEWAVE_1.3.1_SRC/Framewave/domain/common/include/fwdev.h 2017-04-15 12:01:46.003904127 +0200
+@@ -36,7 +36,7 @@ This software is subject to the Apache v
+ //=======================================
+ // Static Assert
+ //=======================================
+-#define STATIC_ASSERT( arg ) static_assert<arg>()
++#define STATIC_ASSERT( arg ) fw_static_assert<arg>()
+
+
+ //=======================================
+@@ -83,12 +83,12 @@ namespace OPT_LEVEL
+ {
+
+ template<bool b>
+- struct static_assert {};
++ struct fw_static_assert {};
+ template<>
+- struct static_assert<false>
++ struct fw_static_assert<false>
+ {
+ private:
+- static_assert();
++ fw_static_assert();
+ };
+ } // namespace OPT_LEVEL
+
+--- FRAMEWAVE_1.3.1_SRC/Framewave/domain/fwImage/include/Filter.h.orig 2009-07-09 11:15:30.000000000 +0200
++++ FRAMEWAVE_1.3.1_SRC/Framewave/domain/fwImage/include/Filter.h 2017-04-15 12:56:42.006179581 +0200
+@@ -1119,22 +1119,22 @@ namespace FilterCommon
+ typename _DstType_,
+ typename _CalcType_,
+ template< CH,
+- typename _SrcType_,
+- typename _DstType_,
+- typename _CalcType_,
+- template< CH _chCount_,
+- typename _SrcType_ > class _BorderType_
++ typename,
++ typename,
++ typename,
++ template< CH,
++ typename > class _BorderType_
+ > class _Operator_,
+ template< typename, typename > class _DataType_,
+- template< CH _chCount_,
+- typename _SrcType_ > class _BorderType_
++ template< CH,
++ typename> class _BorderType_
+ > class Processor,
+ template< CH _chCount_,
+ typename _SrcType_,
+ typename _DstType_,
+ typename _CalcType_,
+- template< CH _chCount_,
+- typename _SrcType_ > class _BorderType_
++ template< CH,
++ typename > class _BorderType_
+ > class Operator,
+ template< typename _SrcType_,
+ typename _DstType_
+--- FRAMEWAVE_1.3.1_SRC/Framewave/domain/fwVideo/src/H264-Transform.cpp.orig 2009-07-09 11:15:35.000000000 +0200
++++ FRAMEWAVE_1.3.1_SRC/Framewave/domain/fwVideo/src/H264-Transform.cpp 2017-04-15 13:45:20.673252419 +0200
+@@ -114,7 +114,7 @@ FwStatus PREFIX_OPT(OPT_PREFIX, fwiTrans
+ count = 0;
+ for (coeff_ctr=0;coeff_ctr<4;coeff_ctr++)
+ {
+- level =(abs(pTBlock[coeff_ctr]) * quant_coef[qp_rem][0][0] + 2*qp_const) >> (q_bits+1);
++ level =(absm(pTBlock[coeff_ctr]) * quant_coef[qp_rem][0][0] + 2*qp_const) >> (q_bits+1);
+ pSrcDst[coeff_ctr]=(Fw16s) sign(level,pTBlock[coeff_ctr]);
+ if(pSrcDst[coeff_ctr] > MAX_CAVLC_LEVEL_VALUE) return fwStsScaleRangeErr;
+ }
+@@ -189,7 +189,7 @@ FwStatus PREFIX_OPT(OPT_PREFIX, fwiTrans
+ for (coeff_ctr=0;coeff_ctr<16;coeff_ctr++)
+ {
+ i=pScanMatrix[coeff_ctr];
+- level= (abs(pTBlock[i]) * quant_coef[qp_rem][0][0] + 2*qp_const)>>(q_bits+1);
++ level= (absm(pTBlock[i]) * quant_coef[qp_rem][0][0] + 2*qp_const)>>(q_bits+1);
+ pSrcDst[i]=(Fw16s)sign(level,pTBlock[i]);
+ if(pSrcDst[i] > MAX_CAVLC_LEVEL_VALUE) return fwStsScaleRangeErr;
+ }
+@@ -267,7 +267,7 @@ FwStatus PREFIX_OPT(OPT_PREFIX, fwiTrans
+ {
+ i=pScanMatrix[coeff_ctr];
+
+- level= ( abs( pSrcDst[i]) * quant_coef[qp_rem][i/4][i%4] + qp_const) >> q_bits;
++ level= ( absm( pSrcDst[i]) * quant_coef[qp_rem][i/4][i%4] + qp_const) >> q_bits;
+ pSrcDst[i]=(Fw16s)sign(level*dequant_coef[qp_rem][i/4][i%4]<<qp_per,pSrcDst[i]);
+ if(pSrcDst[i] > MAX_CAVLC_LEVEL_VALUE) return fwStsScaleRangeErr;
+ }
+--- FRAMEWAVE_1.3.1_SRC/Framewave/sdk/SSEPlus/include/SSEPlus_base.h.orig 2009-07-09 11:15:29.000000000 +0200
++++ FRAMEWAVE_1.3.1_SRC/Framewave/sdk/SSEPlus/include/SSEPlus_base.h 2017-04-15 12:18:16.139325970 +0200
+@@ -86,7 +86,7 @@ const static double SSP_F64_ALLOWANCE =
+ //---------------------------------------
+ #define STRING2(x) #x
+ #define STRING(x) STRING2(x)
+-#define WARN( ) __FILE__"("STRING(__LINE__)") : NOTE "
++#define WARN( ) __FILE__ "(" STRING(__LINE__) ") : NOTE "
+
+ //#define _SSP_SHUFFLE(w,x,y,z) (((w)<<3) | ((x)<<2) | ((y)<<1) | (z))
+
diff --git a/framewave-cpuid.patch b/framewave-cpuid.patch
new file mode 100644
index 0000000..fa7ef63
--- /dev/null
+++ b/framewave-cpuid.patch
@@ -0,0 +1,78 @@
+--- FRAMEWAVE_1.3.1_SRC/Framewave/domain/fwBase/src/system.cpp.orig 2009-07-09 11:15:36.000000000 +0200
++++ FRAMEWAVE_1.3.1_SRC/Framewave/domain/fwBase/src/system.cpp 2017-04-15 12:04:33.188802940 +0200
+@@ -18,6 +18,8 @@ void * x_baseDataPtr = 0;
+ #pragma intrinsic(__cpuid)
+ #pragma intrinsic(__rdtsc)
+
++ #define get_cpuid __cpuid
++
+ static inline __int64 get_rdtsc_sys()
+ {
+ return __rdtsc();
+@@ -35,37 +37,8 @@ void * x_baseDataPtr = 0;
+ // Linux
+ #elif defined( FW_LIN ) || defined( FW_MAC )
+
+- // CPUID
+- #if defined( FW_SYS64 )
+-
+- #define __cpuid(CPUInfo, InfoType) __asm__ __volatile__(" pushq %%rbx; \
+- xorq %%rax, %%rax; \
+- movl %%esi, %%eax; \
+- cpuid; \
+- movl %%eax, 0x0(%%rdi); \
+- movl %%ebx, 0x4(%%rdi); \
+- movl %%ecx, 0x8(%%rdi); \
+- movl %%edx, 0xc(%%rdi); \
+- popq %%rbx;" \
+- : : "D" (CPUInfo), "S" (InfoType) \
+- : "%rax", "%rcx", "%rdx" )
+-
+- #elif defined( FW_SYS32 )
+-
+- #define __cpuid(CPUInfo, InfoType) __asm__ __volatile__(" pushl %%ebx; \
+- xorl %%eax, %%eax; \
+- movl %%esi, %%eax; \
+- cpuid; \
+- movl %%eax, 0x0(%%edi); \
+- movl %%ebx, 0x4(%%edi); \
+- movl %%ecx, 0x8(%%edi); \
+- movl %%edx, 0xc(%%edi); \
+- popl %%ebx;" \
+- : : "D" (CPUInfo), "S" (InfoType) \
+- : "%eax", "%ecx", "%edx" )
+-
+- #endif
+-
++ #include <cpuid.h>
++ #define get_cpuid(CPUInfo, InfoType) __cpuid(InfoType, CPUInfo[0], CPUInfo[1], CPUInfo[2], CPUInfo[3])
+ // RDTSC
+ #define rdtsc(low,high) __asm__ __volatile__("rdtsc" : "=a" (low), "=d" (high))
+
+@@ -127,7 +100,7 @@ void * x_baseDataPtr = 0;
+ }
+
+ #define rdtsc rdtsc64
+- #define __cpuid cpuid64
++ #define get_cpuid cpuid64
+
+ #elif defined( FW_SYS32 )
+
+@@ -157,7 +130,7 @@ void * x_baseDataPtr = 0;
+ }
+
+ #define rdtsc rdtsc32
+- #define __cpuid cpuid32
++ #define get_cpuid cpuid32
+
+ #endif
+
+@@ -215,7 +188,7 @@ template< class T > unsigned MSBPos()
+ FwCpuType GetCpuType()
+ {
+ int out[4];
+- __cpuid( out, CPUID_CODE_FEATURES );
++ get_cpuid( out, CPUID_CODE_FEATURES );
+
+ if( IsSet( out[CPUID_INDEX_SSE4A ], CPUID_BIT_SSE4A)) return fwCpuFamily10h;
+ if( IsSet( out[CPUID_INDEX_SSE3 ], CPUID_BIT_SSE3 )) return fwCpuSSE3;
diff --git a/framewave-warnings.patch b/framewave-warnings.patch
new file mode 100644
index 0000000..9f530dd
--- /dev/null
+++ b/framewave-warnings.patch
@@ -0,0 +1,343 @@
+--- FRAMEWAVE_1.3.1_SRC/Framewave/sdk/cbl/cbl_common_primitives.h.orig 2009-07-09 11:14:37.000000000 +0200
++++ FRAMEWAVE_1.3.1_SRC/Framewave/sdk/cbl/cbl_common_primitives.h 2017-04-15 11:28:42.272853562 +0200
+@@ -152,6 +152,11 @@ union CBL_FORCEALIGN_16 XMM128
+ S8 s8 [16];
+ };
+
++#if defined(__GNUC__) && (__GNUC__ >= 6)
++#pragma GCC diagnostic push
++#pragma GCC diagnostic ignored "-Wnarrowing"
++#endif
++
+ #if defined( CBL_MSVC )
+
+ namespace CBL_LIBRARY
+@@ -648,4 +653,8 @@ namespace CBL_LIBRARY
+
+ } // namespace CBL_LIBRARY
+
++#if defined(__GNUC__) && (__GNUC__ >= 6)
++#pragma GCC diagnostic pop
++#endif
++
+ #endif // __CBL_COMMON_PRIMITIVES_H__
+--- FRAMEWAVE_1.3.1_SRC/Framewave/domain/fwImage/include/color.h.orig 2009-07-09 11:15:30.000000000 +0200
++++ FRAMEWAVE_1.3.1_SRC/Framewave/domain/fwImage/include/color.h 2017-04-15 12:22:56.753144791 +0200
+@@ -266,12 +266,19 @@ namespace OPT_LEVEL
+ //Cb 38 74 112 9 19 28
+ //Cr 112 94 18 28 24 4
+
++#if defined(__GNUC__) && (__GNUC__ >= 6)
++#pragma GCC diagnostic push
++#pragma GCC diagnostic ignored "-Wnarrowing"
++#endif
+ static const __m128i rgbtoYcbcr_Y = CONST_SET_16I(25,129,66,0,0,25,129,66);
+ static const __m128i rgbtoYcbcr_crcb = CONST_SET_16I(-4,-24,28,0,0,28,-19,-9);
+ static const __m128i const128 = CONST_SET_16I(0,0,0,128,128,0,0,0);
+ static const __m128i const16 = CONST_SET_16I(0,16,0,16,0,16,0,16);
+ static const __m128i addconst128 = CONST_SET_16I(0,0,0,128,0,0,0,128);
+ static const __m128i zero = CONST_SET1_32I(0);
++#if defined(__GNUC__) && (__GNUC__ >= 6)
++#pragma GCC diagnostic pop
++#endif
+
+ if (row > 1) // Condition: 1) # of rows = 2
+ {
+--- FRAMEWAVE_1.3.1_SRC/Framewave/domain/fwImage/include/colorModelConvSpecial.h.orig 2009-07-09 11:15:30.000000000 +0200
++++ FRAMEWAVE_1.3.1_SRC/Framewave/domain/fwImage/include/colorModelConvSpecial.h 2017-04-15 13:21:50.183726931 +0200
+@@ -214,9 +214,9 @@ namespace OPT_LEVEL
+ pfn( ptrSrc , C1, ((A8U *)pDst + 1), C1 ); // A0
+ pfn( ptrSrc + 3, C1, ((A8U *)pDst + 3), C1 ); // A1
+ // Calculate the average of the two pixel values for 422 compression
+- TS srcData[3] = { (*ptrSrc + *(ptrSrc + 3))>>1, // R
+- (*(ptrSrc + 1) + *(ptrSrc + 4))>>1, // G
+- (*(ptrSrc + 2) + *(ptrSrc + 5))>>1 }; // B
++ TS srcData[3] = { static_cast<TS>((*ptrSrc + *(ptrSrc + 3))>>1), // R
++ static_cast<TS>((*(ptrSrc + 1) + *(ptrSrc + 4))>>1), // G
++ static_cast<TS>((*(ptrSrc + 2) + *(ptrSrc + 5))>>1) }; // B
+ pfn( srcData, C3, tempDst, C3 );
+ *(A8U *)pDst = tempDst[1]; // B0
+ *(A8U *)(pDst + 2) = tempDst[2]; // C0
+@@ -280,9 +280,9 @@ namespace OPT_LEVEL
+ pfn( ptrSrc , C1, (pDst + 1 ), C1 ); // A0
+ pfn( ptrSrc + 4, C1, (pDst + 3 ), C1 ); // A1
+ // Calculate the average of the two pixel values for 422 compression
+- TS srcData[3] = { (*ptrSrc + *(ptrSrc + 4))>>1, // R
+- (*(ptrSrc+1) + *(ptrSrc + 5))>>1, // G
+- (*(ptrSrc+2) + *(ptrSrc + 6))>>1 }; // B
++ TS srcData[3] = { static_cast<TS>((*ptrSrc + *(ptrSrc + 4))>>1), // R
++ static_cast<TS>((*(ptrSrc+1) + *(ptrSrc + 5))>>1), // G
++ static_cast<TS>((*(ptrSrc+2) + *(ptrSrc + 6))>>1) }; // B
+
+ pfn( srcData, C3, tempDst, C3 );
+
+@@ -350,9 +350,9 @@ namespace OPT_LEVEL
+ pfn( ptrSrc , C1, pDst , C1 ); // A0
+ pfn( ptrSrc+3, C1, (pDst + 2 ), C1 ); // A1
+ // Calculate the average of the two pixel values for 422 compression
+- TS srcData[3] = { (*ptrSrc + *(ptrSrc + 3))>>1,
+- (*(ptrSrc + 1) + *(ptrSrc + 4))>>1,
+- (*(ptrSrc + 2) + *(ptrSrc + 5))>>1 };
++ TS srcData[3] = { static_cast<TS>((*ptrSrc + *(ptrSrc + 3))>>1),
++ static_cast<TS>((*(ptrSrc + 1) + *(ptrSrc + 4))>>1),
++ static_cast<TS>((*(ptrSrc + 2) + *(ptrSrc + 5))>>1) };
+
+ pfn( srcData , C3, tempDst, C3 );
+
+@@ -569,9 +569,9 @@ namespace OPT_LEVEL
+ pfn( ptrSrc+3, C1, pDst[0] + 1, C1 ); // A1
+
+ // Calculate the average of the two pixel values for 422 compression
+- TS srcData[3] = { (*ptrSrc + *(ptrSrc+3))>>1,
+- (*(ptrSrc+1) + *(ptrSrc+4))>>1,
+- (*(ptrSrc+2) + *(ptrSrc+5))>>1 };
++ TS srcData[3] = { static_cast<TS>((*ptrSrc + *(ptrSrc+3))>>1),
++ static_cast<TS>((*(ptrSrc+1) + *(ptrSrc+4))>>1),
++ static_cast<TS>((*(ptrSrc+2) + *(ptrSrc+5))>>1) };
+
+ pfn (srcData, C3, tempDst, C3);
+ *(pDst[1]) = tempDst[1]; // B0
+--- FRAMEWAVE_1.3.1_SRC/Framewave/sdk/cbl/cbl_pack_unpack_primitives_sse2.h.orig 2009-07-09 11:14:37.000000000 +0200
++++ FRAMEWAVE_1.3.1_SRC/Framewave/sdk/cbl/cbl_pack_unpack_primitives_sse2.h 2017-04-15 11:31:37.638153156 +0200
+@@ -358,8 +358,16 @@ CBL_INLINE __m128i CBL_SSE2::Pack64STo3
+ __m128i h2= _mm_unpackhi_epi32(srcLo,srcHi);
+ __m128i hBytes = _mm_unpackhi_epi32(h1,h2);
+ __m128i lBytes = _mm_unpacklo_epi32(h1,h2);
++
++#if defined(__GNUC__) && (__GNUC__ >= 6)
++#pragma GCC diagnostic push
++#pragma GCC diagnostic ignored "-Wnarrowing"
++#endif
+ const __m128i zero = CONST_SETZERO_32I();
+ const __m128i nOne = CONST_SET1_32I(0xFFFFFFFF);
++#if defined(__GNUC__) && (__GNUC__ >= 6)
++#pragma GCC diagnostic pop
++#endif
+
+ __m128i x = _mm_cmplt_epi32(hBytes,nOne);
+ h1 = _mm_slli_epi32(x,31);
+--- FRAMEWAVE_1.3.1_SRC/Framewave/sdk/SSEPlus/include/arithmetic/SSEPlus_arithmetic_SSE2.h.orig 2009-07-09 11:15:28.000000000 +0200
++++ FRAMEWAVE_1.3.1_SRC/Framewave/sdk/SSEPlus/include/arithmetic/SSEPlus_arithmetic_SSE2.h 2017-04-15 13:05:16.648171534 +0200
+@@ -90,7 +90,14 @@ __m128i ssp_arithmetic_hadd4_epi16_SSE2(
+ SSP_FORCEINLINE
+ __m128 ssp_round_ps_neg_zero_SSE2( __m128 a, int iRoundMode )
+ {
++#if defined(__GNUC__) && (__GNUC__ >= 6)
++#pragma GCC diagnostic push
++#pragma GCC diagnostic ignored "-Wnarrowing"
++#endif
+ const static __m128i SIGN_BIT = SSP_CONST_SET_32I( 0x80000000, 0x80000000, 0x80000000,0x80000000 );
++#if defined(__GNUC__) && (__GNUC__ >= 6)
++#pragma GCC diagnostic pop
++#endif
+ ssp_m128 A, sign;
+ A.f = a;
+
+--- FRAMEWAVE_1.3.1_SRC/Framewave/sdk/SSEPlus/include/convert/SSEPlus_convert_SSE2.h.orig 2009-07-09 11:15:28.000000000 +0200
++++ FRAMEWAVE_1.3.1_SRC/Framewave/sdk/SSEPlus/include/convert/SSEPlus_convert_SSE2.h 2017-04-15 13:20:25.736238223 +0200
+@@ -149,11 +149,18 @@ void ssp_convert_reverse_transpose_SSE2(
+ SSP_FORCEINLINE
+ void ssp_convert_3p_3c_epi8_SSE2( __m128i *r, __m128i *g, __m128i *b )
+ {
++#if defined(__GNUC__) && (__GNUC__ >= 6)
++#pragma GCC diagnostic push
++#pragma GCC diagnostic ignored "-Wnarrowing"
++#endif
+ const static __m128i odd_8 = SSP_CONST_SET_8I( 0xFF,0,0xFF,0,0xFF,0,0xFF,0,0xFF,0,0xFF,0,0xFF,0,0xFF,0 );
+ const static __m128i even_8 = SSP_CONST_SET_8I( 0,0xFF,0,0xFF,0,0xFF,0,0xFF,0,0xFF,0,0xFF,0,0xFF,0,0xFF );
+
+ const static __m128i odd_16 = SSP_CONST_SET_16I( 0xFFFF,0,0xFFFF,0,0xFFFF,0,0xFFFF,0 );
+ const static __m128i even_16 = SSP_CONST_SET_16I( 0,0xFFFF,0,0xFFFF,0,0xFFFF,0,0xFFFF );
++#if defined(__GNUC__) && (__GNUC__ >= 6)
++#pragma GCC diagnostic pop
++#endif
+
+ ssp_m128 T, RG, GB, BR, RGBR, GBRG, BRGB;
+
+--- FRAMEWAVE_1.3.1_SRC/Framewave/sdk/SSEPlus/include/emulation/SSEPlus_emulation_comps_REF.h.orig 2009-07-09 11:15:28.000000000 +0200
++++ FRAMEWAVE_1.3.1_SRC/Framewave/sdk/SSEPlus/include/emulation/SSEPlus_emulation_comps_REF.h 2017-04-15 12:22:09.457482384 +0200
+@@ -1598,7 +1598,14 @@ SSP_FORCEINLINE __m128 ssp_comgt_ss_REF(
+ SSP_FORCEINLINE __m128i ssp_comtrue_epi16_REF(__m128i a, __m128i b)
+ {
+ a; b;
++#if defined(__GNUC__) && (__GNUC__ >= 6)
++#pragma GCC diagnostic push
++#pragma GCC diagnostic ignored "-Wnarrowing"
++#endif
+ const static __m128i tmp = SSP_CONST_SET_64I( 0xFFFFFFFFFFFFFFFFULL, 0xFFFFFFFFFFFFFFFFULL );
++#if defined(__GNUC__) && (__GNUC__ >= 6)
++#pragma GCC diagnostic pop
++#endif
+ return tmp;
+ }
+
+@@ -1648,7 +1655,14 @@ SSP_FORCEINLINE __m128i ssp_comtrue_epu8
+ SSP_FORCEINLINE __m128d ssp_comtrue_pd_REF(__m128d a, __m128d b)
+ {
+ a; b;
++#if defined(__GNUC__) && (__GNUC__ >= 6)
++#pragma GCC diagnostic push
++#pragma GCC diagnostic ignored "-Wnarrowing"
++#endif
+ const static __m128i tmp = SSP_CONST_SET_64I( 0xFFFFFFFFFFFFFFFFULL, 0xFFFFFFFFFFFFFFFFULL );
++#if defined(__GNUC__) && (__GNUC__ >= 6)
++#pragma GCC diagnostic pop
++#endif
+ ssp_m128 A;
+ A.i = tmp;
+ return A.d;
+@@ -1658,7 +1672,14 @@ SSP_FORCEINLINE __m128d ssp_comtrue_pd_R
+ SSP_FORCEINLINE __m128 ssp_comtrue_ps_REF(__m128 a, __m128 b)
+ {
+ a; b;
++#if defined(__GNUC__) && (__GNUC__ >= 6)
++#pragma GCC diagnostic push
++#pragma GCC diagnostic ignored "-Wnarrowing"
++#endif
+ const static __m128i tmp = SSP_CONST_SET_64I( 0xFFFFFFFFFFFFFFFFULL, 0xFFFFFFFFFFFFFFFFULL );
++#if defined(__GNUC__) && (__GNUC__ >= 6)
++#pragma GCC diagnostic pop
++#endif
+ ssp_m128 A;
+ A.i = tmp;
+ return A.f;
+--- FRAMEWAVE_1.3.1_SRC/Framewave/sdk/SSEPlus/include/emulation/SSEPlus_emulation_SSE2.h.orig 2009-07-09 11:15:28.000000000 +0200
++++ FRAMEWAVE_1.3.1_SRC/Framewave/sdk/SSEPlus/include/emulation/SSEPlus_emulation_SSE2.h 2017-04-15 13:03:50.600603842 +0200
+@@ -13,6 +13,11 @@
+ #include "SSEPlus_emulation_comps_SSE2.h"
+
+
++#if defined(__GNUC__) && (__GNUC__ >= 6)
++#pragma GCC diagnostic push
++#pragma GCC diagnostic ignored "-Wnarrowing"
++#endif
++
+ /** @addtogroup emulated_SSE2
+ * @{
+ * @name SSE[3,4A,...,5] implemented in SSE2
+@@ -2185,4 +2190,8 @@ SSP_FORCEINLINE __m128i ssp_shl_epi64_SS
+ */
+
+
++#if defined(__GNUC__) && (__GNUC__ >= 6)
++#pragma GCC diagnostic pop
++#endif
++
+ #endif // __SSEPLUS_EMULATION_SSE2_H__
+--- FRAMEWAVE_1.3.1_SRC/Framewave/sdk/SSEPlus/include/logical/SSEPlus_logical_SSE2.h.orig 2009-07-09 11:15:29.000000000 +0200
++++ FRAMEWAVE_1.3.1_SRC/Framewave/sdk/SSEPlus/include/logical/SSEPlus_logical_SSE2.h 2017-04-15 12:44:16.222807366 +0200
+@@ -7,6 +7,11 @@
+
+ #include "../native/SSEPlus_native_SSE2.h"
+
++#if defined(__GNUC__) && (__GNUC__ >= 6)
++#pragma GCC diagnostic push
++#pragma GCC diagnostic ignored "-Wnarrowing"
++#endif
++
+ /** @addtogroup supplimental_SSE2
+ * @{
+ * @name Logical Operations
+@@ -148,4 +153,8 @@ SSP_FORCEINLINE __m128i ssp_srli_epi8_SS
+ * @}
+ */
+
++#if defined(__GNUC__) && (__GNUC__ >= 6)
++#pragma GCC diagnostic pop
++#endif
++
+ #endif // __SSEPLUS_LOGICAL_SSE2_H__
+--- FRAMEWAVE_1.3.1_SRC/Framewave/domain/fwJPEG/src/JPEGColor.cpp.orig 2009-07-09 11:15:35.000000000 +0200
++++ FRAMEWAVE_1.3.1_SRC/Framewave/domain/fwJPEG/src/JPEGColor.cpp 2017-04-15 17:58:22.256551161 +0200
+@@ -71,11 +71,18 @@
+ static SYS_INLINE void YCbCrToRGBConv(__m128i &y,__m128i &cb,__m128i &cr)
+ {
+ __m128i r, g, b;
++#if defined(__GNUC__) && (__GNUC__ >= 6)
++#pragma GCC diagnostic push
++#pragma GCC diagnostic ignored "-Wnarrowing"
++#endif
+ static const __m128i constant = CONST_SET1_32I((S16)(128*64.0));
+ static const __m128i val90 = CONST_SET1_16I ( (S16)90 ); // R = ( 1.402*2^6 )
+ static const __m128i val46 = CONST_SET1_16I ( (S16)(-46) ); // G = ( -.71414*2^6 )
+ static const __m128i val22 = CONST_SET1_16I ( (S16)(-22) ); // cr= ( -0.34414*(2^6) )
+ static const __m128i val113 = CONST_SET1_16I( (S16)(113) ); // B = ( 1.772*(2^6) )
++#if defined(__GNUC__) && (__GNUC__ >= 6)
++#pragma GCC diagnostic pop
++#endif
+
+
+ // RED
+--- FRAMEWAVE_1.3.1_SRC/Framewave/domain/fwJPEG/include/JPEGColorConv.h.orig 2009-07-09 11:15:34.000000000 +0200
++++ FRAMEWAVE_1.3.1_SRC/Framewave/domain/fwJPEG/include/JPEGColorConv.h 2017-04-15 18:10:42.566324738 +0200
+@@ -8,6 +8,11 @@
+
+ #include "fe.h"
+
++#if defined(__GNUC__) && (__GNUC__ >= 6)
++#pragma GCC diagnostic push
++#pragma GCC diagnostic ignored "-Wnarrowing"
++#endif
++
+ namespace OPT_LEVEL
+ {
+ SYS_INLINE static void Mul_16s(__m128i const &s1,__m128i const &s2,__m128i &d1,__m128i &d2)
+@@ -1304,4 +1309,8 @@
+ /////////
+ }
+
++#if defined(__GNUC__) && (__GNUC__ >= 6)
++#pragma GCC diagnostic pop
++#endif
++
+ #endif // __JPEGCOLORCONV_H__
+--- FRAMEWAVE_1.3.1_SRC/Framewave/domain/common/include/SSE2Intrinsic.h.orig 2009-07-09 11:15:40.000000000 +0200
++++ FRAMEWAVE_1.3.1_SRC/Framewave/domain/common/include/SSE2Intrinsic.h 2017-04-15 18:22:32.157931524 +0200
+@@ -309,6 +309,11 @@
+ }
+
+
++#if defined(__GNUC__) && (__GNUC__ >= 6)
++#pragma GCC diagnostic push
++#pragma GCC diagnostic ignored "-Wnarrowing"
++#endif
++
+ // these variants don't check for the magnitude to be 0, since if magnitude
+ // is 0, it WILL NOT be less than level (since only gtzero levels are passed into
+ // the LT functions) hence these values will be cleared out anyway
+@@ -348,6 +353,10 @@
+ return ret.d;
+ }
+
++#if defined(__GNUC__) && (__GNUC__ >= 6)
++#pragma GCC diagnostic pop
++#endif
++
+ SYS_INLINE STATIC __m128i _fw_threshval_16sc(const XMM128& complex, const XMM128 &level)
+ {
+ XMM128 ret = complex, rethi, mag, maghi, temp;
+--- FRAMEWAVE_1.3.1_SRC/Framewave/domain/common/include/shuffle.h.orig 2009-07-09 11:15:40.000000000 +0200
++++ FRAMEWAVE_1.3.1_SRC/Framewave/domain/common/include/shuffle.h 2017-04-15 18:23:39.564585726 +0200
+@@ -106,6 +106,11 @@
+ // --- </epi16> ---
+
+
++#if defined(__GNUC__) && (__GNUC__ >= 6)
++#pragma GCC diagnostic push
++#pragma GCC diagnostic ignored "-Wnarrowing"
++#endif
++
+ // --- <epi8> ---
+ SYS_INLINE STATIC __m128i _mm_rlli_epi8(const __m128i ®, const int &by)
+ {
+@@ -140,6 +145,10 @@
+ }
+ // --- </epi8> ---
+
++#if defined(__GNUC__) && (__GNUC__ >= 6)
++#pragma GCC diagnostic pop
++#endif
++
+
+ } // namespace OPT_LEVEL
+
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/framewave.git/commitdiff/2f0fee9c371b79e613d95a60dd62e98db45b4c34
More information about the pld-cvs-commit
mailing list