History

Use the common WELS_CLIP3 macro instead of a custom reimplementation

Martin Storsjö committed 11 years ago

Commit a9c2e1b1 parent a4370b81 file · +19 −21Browse files

Showing the changes to test/decoder/DecUT_DeblockCommon.cpp (1 of 1 file). Show all

Unified · Split

test/decoder/DecUT_DeblockCommon.cpp+19−21
@@ -3,8 +3,6 @@ · 2 unmodified lines
3#include "../../codec/decoder/core/inc/deblocking.h"3#include "../../codec/decoder/core/inc/deblocking.h"
4#include "../../codec/common/inc/deblocking_common.h"4#include "../../codec/common/inc/deblocking_common.h"
5 5
6#define CLIP3(MIN, MAX, VALUE) ((VALUE) < (MIN) ? (MIN) : ((VALUE) > (MAX) ? (MAX) : (VALUE)))
7
8using namespace WelsDec;6using namespace WelsDec;
9 7
10/* extern pure C functions */8/* extern pure C functions */
@@ -28,7 +26,7 @@ if (iNum==0) { \ · 17 unmodified lines
28 iTc[0] = iTc[1] = iTc[2] = iTc[3] = 25; \26 iTc[0] = iTc[1] = iTc[2] = iTc[3] = 25; \
29 pBase[0] = pRef[0] = 128; \27 pBase[0] = pRef[0] = 128; \
30 for (int i = 1; i < iWidth*iWidth; i++) { \28 for (int i = 1; i < iWidth*iWidth; i++) { \
31 pBase[i] = pRef[i] = CLIP3( 0, 255, pBase[i-1] -16 + rand()%32 ); \29 pBase[i] = pRef[i] = WELS_CLIP3( pBase[i-1] -16 + rand()%32, 0, 255 ); \
32 } \30 } \
33} else if (iNum==1) { \31} else if (iNum==1) { \
34 iAlpha = 4; \32 iAlpha = 4; \
@@ -36,7 +34,7 @@ if (iNum==0) { \ · 1 unmodified line
36 iTc[0] = iTc[1] = iTc[2] = iTc[3] = 9; \34 iTc[0] = iTc[1] = iTc[2] = iTc[3] = 9; \
37 pBase[0] = pRef[0] = 128; \35 pBase[0] = pRef[0] = 128; \
38 for (int i = 1; i < iWidth*iWidth; i++) { \36 for (int i = 1; i < iWidth*iWidth; i++) { \
39 pBase[i] = pRef[i] = CLIP3( 0, 255, pBase[i-1] -4 + rand()%8); \37 pBase[i] = pRef[i] = WELS_CLIP3( pBase[i-1] -4 + rand()%8, 0, 255 ); \
40 } \38 } \
41} else { \39} else { \
42 iAlpha = rand() % 256; \40 iAlpha = rand() % 256; \
@@ -113,20 +111,20 @@ void anchor_DeblockingLumaNormal (uint8_t* pPix, int32_t iStrideX, int32_t iStri · 70 unmodified lines
113 if (abs (p[0] - q[0]) < iAlpha && abs (p[1] - p[0]) < iBeta && abs (q[1] - q[0]) < iBeta) {111 if (abs (p[0] - q[0]) < iAlpha && abs (p[1] - p[0]) < iBeta && abs (q[1] - q[0]) < iBeta) {
114 // 8-470112 // 8-470
115 if (abs (p[2] - p[0]) < iBeta) {113 if (abs (p[2] - p[0]) < iBeta) {
116 pPix[iStrideX * -2] = CLIP3 (0, 255, p[1] + CLIP3 (-1 * pTc[iIndexTc], pTc[iIndexTc],114 pPix[iStrideX * -2] = WELS_CLIP3 (p[1] + WELS_CLIP3 (((p[2] + ((p[0] + q[0] + 1) >> 1) - (p[1] << 1)) >> 1),
117 ((p[2] + ((p[0] + q[0] + 1) >> 1) - (p[1] << 1)) >> 1)));115 -1 * pTc[iIndexTc], pTc[iIndexTc]), 0, 255);
118 iTc++;116 iTc++;
119 }117 }
120 // 8-472118 // 8-472
121 if (abs (q[2] - q[0]) < iBeta) {119 if (abs (q[2] - q[0]) < iBeta) {
122 pPix[iStrideX * 1] = CLIP3 (0, 255, q[1] + CLIP3 (-1 * pTc[iIndexTc], pTc[iIndexTc],120 pPix[iStrideX * 1] = WELS_CLIP3 (q[1] + WELS_CLIP3 (((q[2] + ((p[0] + q[0] + 1) >> 1) - (q[1] << 1)) >> 1),
123 ((q[2] + ((p[0] + q[0] + 1) >> 1) - (q[1] << 1)) >> 1)));121 -1 * pTc[iIndexTc], pTc[iIndexTc]), 0, 255);
124 iTc++;122 iTc++;
125 }123 }
126 // 8-467,468,469124 // 8-467,468,469
127 iDelta = CLIP3 (-1 * iTc, iTc, ((((q[0] - p[0]) << 2) + (p[1] - q[1]) + 4) >> 3));125 iDelta = WELS_CLIP3 (((((q[0] - p[0]) << 2) + (p[1] - q[1]) + 4) >> 3), -1 * iTc, iTc);
128 pPix[iStrideX * -1] = CLIP3 (0, 255, (p[0] + iDelta));126 pPix[iStrideX * -1] = WELS_CLIP3 ((p[0] + iDelta), 0, 255);
129 pPix[0] = CLIP3 (0, 255, (q[0] - iDelta));127 pPix[0] = WELS_CLIP3 ((q[0] - iDelta), 0, 255);
130 }128 }
131 129
132 // Next line130 // Next line
@@ -196,9 +194,9 @@ void anchor_DeblockingChromaNormal (uint8_t* pPixCb, uint8_t* pPixCr, int32_t iS · 63 unmodified lines
196 // filterSampleFlag, 8-460194 // filterSampleFlag, 8-460
197 if (abs (p[0] - q[0]) < iAlpha && abs (p[1] - p[0]) < iBeta && abs (q[1] - q[0]) < iBeta) {195 if (abs (p[0] - q[0]) < iAlpha && abs (p[1] - p[0]) < iBeta && abs (q[1] - q[0]) < iBeta) {
198 // 8-467, 468, 469196 // 8-467, 468, 469
199 iDelta = CLIP3 (-1 * iTc, iTc, ((((q[0] - p[0]) << 2) + (p[1] - q[1]) + 4) >> 3));197 iDelta = WELS_CLIP3 (((((q[0] - p[0]) << 2) + (p[1] - q[1]) + 4) >> 3), -1 * iTc, iTc);
200 pPixCb[iStrideX * -1] = CLIP3 (0, 255, (p[0] + iDelta));198 pPixCb[iStrideX * -1] = WELS_CLIP3 ((p[0] + iDelta), 0, 255);
201 pPixCb[iStrideX * 0 ] = CLIP3 (0, 255, (q[0] - iDelta));199 pPixCb[iStrideX * 0 ] = WELS_CLIP3 ((q[0] - iDelta), 0, 255);
202 }200 }
203 pPixCb += iStrideY;201 pPixCb += iStrideY;
204 202
@@ -211,9 +209,9 @@ void anchor_DeblockingChromaNormal (uint8_t* pPixCb, uint8_t* pPixCr, int32_t iS · 6 unmodified lines
211 // filterSampleFlag, 8-460209 // filterSampleFlag, 8-460
212 if (abs (p[0] - q[0]) < iAlpha && abs (p[1] - p[0]) < iBeta && abs (q[1] - q[0]) < iBeta) {210 if (abs (p[0] - q[0]) < iAlpha && abs (p[1] - p[0]) < iBeta && abs (q[1] - q[0]) < iBeta) {
213 // 8-467, 468, 469211 // 8-467, 468, 469
214 iDelta = CLIP3 (-1 * iTc, iTc, ((((q[0] - p[0]) << 2) + (p[1] - q[1]) + 4) >> 3));212 iDelta = WELS_CLIP3 (((((q[0] - p[0]) << 2) + (p[1] - q[1]) + 4) >> 3), -1 * iTc, iTc);
215 pPixCr[iStrideX * -1] = CLIP3 (0, 255, (p[0] + iDelta));213 pPixCr[iStrideX * -1] = WELS_CLIP3 ((p[0] + iDelta), 0, 255);
216 pPixCr[iStrideX * 0 ] = CLIP3 (0, 255, (q[0] - iDelta));214 pPixCr[iStrideX * 0 ] = WELS_CLIP3 ((q[0] - iDelta), 0, 255);
217 }215 }
218 pPixCr += iStrideY;216 pPixCr += iStrideY;
219 }217 }
@@ -235,8 +233,8 @@ void anchor_DeblockingChromaIntra (uint8_t* pPixCb, uint8_t* pPixCr, int32_t iSt · 15 unmodified lines
235 // filterSampleFlag, 8-460233 // filterSampleFlag, 8-460
236 if (abs (p[0] - q[0]) < iAlpha && abs (p[1] - p[0]) < iBeta && abs (q[1] - q[0]) < iBeta) {234 if (abs (p[0] - q[0]) < iAlpha && abs (p[1] - p[0]) < iBeta && abs (q[1] - q[0]) < iBeta) {
237 // 8-480, 487235 // 8-480, 487
238 pPixCb[iStrideX * -1] = CLIP3 (0, 255, (2 * p[1] + p[0] + q[1] + 2) >> 2);236 pPixCb[iStrideX * -1] = WELS_CLIP3 ((2 * p[1] + p[0] + q[1] + 2) >> 2, 0, 255);
239 pPixCb[iStrideX * 0 ] = CLIP3 (0, 255, (2 * q[1] + q[0] + p[1] + 2) >> 2);237 pPixCb[iStrideX * 0 ] = WELS_CLIP3 ((2 * q[1] + q[0] + p[1] + 2) >> 2, 0, 255);
240 }238 }
241 pPixCb += iStrideY;239 pPixCb += iStrideY;
242 240
@@ -249,8 +247,8 @@ void anchor_DeblockingChromaIntra (uint8_t* pPixCb, uint8_t* pPixCr, int32_t iSt · 6 unmodified lines
249 // filterSampleFlag, 8-460247 // filterSampleFlag, 8-460
250 if (abs (p[0] - q[0]) < iAlpha && abs (p[1] - p[0]) < iBeta && abs (q[1] - q[0]) < iBeta) {248 if (abs (p[0] - q[0]) < iAlpha && abs (p[1] - p[0]) < iBeta && abs (q[1] - q[0]) < iBeta) {
251 // 8-480, 487249 // 8-480, 487
252 pPixCr[iStrideX * -1] = CLIP3 (0, 255, (2 * p[1] + p[0] + q[1] + 2) >> 2);250 pPixCr[iStrideX * -1] = WELS_CLIP3 ((2 * p[1] + p[0] + q[1] + 2) >> 2, 0, 255);
253 pPixCr[iStrideX * 0 ] = CLIP3 (0, 255, (2 * q[1] + q[0] + p[1] + 2) >> 2);251 pPixCr[iStrideX * 0 ] = WELS_CLIP3 ((2 * q[1] + q[0] + p[1] + 2) >> 2, 0, 255);
254 }252 }
255 pPixCr += iStrideY;253 pPixCr += iStrideY;
256 }254 }

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