History

fix win64 float issue, enable AQ assembly

volvet committed 12 years ago

Commit 5c9f4471 parent ae027b815 files · +2088 −1642Browse files

Showing the changes to codec/processing/src/adaptivequantization/AdaptiveQuantization.cpp (1 of 15 files). Show all

Unified · Split

codec/processing/src/adaptivequantization/AdaptiveQuantization.cpp+7−1
@@ -50,9 +50,11 @@ CAdaptiveQuantization::CAdaptiveQuantization (int32_t iCpuFlag) { · 49 unmodified lines
5050 m_pfVar = NULL;
5151 WelsMemset (&m_sAdaptiveQuantParam, 0, sizeof (m_sAdaptiveQuantParam));
5252 WelsInitVarFunc (m_pfVar, m_CPUFlag);
53+ XMMREG_PROTECT_INIT(AdaptiveQuantization);
5354 }
5455
5556 CAdaptiveQuantization::~CAdaptiveQuantization() {
57+ XMMREG_PROTECT_UNINIT(AdaptiveQuantization);
5658 }
5759
5860 EResult CAdaptiveQuantization::Process (int32_t iType, SPixMap* pSrcPixMap, SPixMap* pRefPixMap) {
@@ -101,6 +103,7 @@ EResult CAdaptiveQuantization::Process (int32_t iType, SPixMap* pSrcPixMap, SPix · 42 unmodified lines
101103 pRefFrameTmp = pRefFrameY;
102104 pCurFrameTmp = pCurFrameY;
103105 for (i = 0; i < iMbWidth; i++) {
106+ XMMREG_PROTECT_STORE(AdaptiveQuantization);
104107 iSumDiff = pVaaCalcResults->pSad8x8[iMbIndex][0];
105108 iSumDiff += pVaaCalcResults->pSad8x8[iMbIndex][1];
106109 iSumDiff += pVaaCalcResults->pSad8x8[iMbIndex][2];
@@ -109,6 +112,7 @@ EResult CAdaptiveQuantization::Process (int32_t iType, SPixMap* pSrcPixMap, SPix · 2 unmodified lines
109112 iSQDiff = pVaaCalcResults->pSsd16x16[iMbIndex];
110113 uiSum = pVaaCalcResults->pSum16x16[iMbIndex];
111114 iSQSum = pVaaCalcResults->pSumOfSquare16x16[iMbIndex];
115+ XMMREG_PROTECT_LOAD(AdaptiveQuantization);
112116
113117 iSumDiff = iSumDiff >> 8;
114118 pMotionTexture->uiMotionIndex = (iSQDiff >> 8) - (iSumDiff * iSumDiff);
@@ -131,7 +135,9 @@ EResult CAdaptiveQuantization::Process (int32_t iType, SPixMap* pSrcPixMap, SPix · 16 unmodified lines
131135 pRefFrameTmp = pRefFrameY;
132136 pCurFrameTmp = pCurFrameY;
133137 for (i = 0; i < iMbWidth; i++) {
138+ XMMREG_PROTECT_STORE(AdaptiveQuantization);
134139 m_pfVar (pRefFrameTmp, iRefStride, pCurFrameTmp, iCurStride, pMotionTexture);
140+ XMMREG_PROTECT_LOAD(AdaptiveQuantization);
135141 dAverageMotionIndex += pMotionTexture->uiMotionIndex;
136142 dAverageTextureIndex += pMotionTexture->uiTextureIndex;
137143 pMotionTexture++;
@@ -223,7 +229,7 @@ void CAdaptiveQuantization::WelsInitVarFunc (PVarFunc& pfVar, int32_t iCpuFlag) · 85 unmodified lines
223229
224230 #ifdef X86_ASM
225231 if (iCpuFlag & WELS_CPU_SSE2) {
226− // pfVar = SampleVariance16x16_sse2;
232+ pfVar = SampleVariance16x16_sse2;
227233 }
228234 #endif
229235 }

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t