Showing the changes to codec/common/src/deblocking_common.cpp (1 of 12 files). Show all
Unified · Split
| @@ -21,14 +21,14 @@ void DeblockLumaLt4_c (uint8_t* pPix, int32_t iStrideX, int32_t iStrideY, int32_ · 20 unmodified lines | |||
| 21 | bool bDetaP2P0 = WELS_ABS (p2 - p0) < iBeta; | 21 | bool bDetaP2P0 = WELS_ABS (p2 - p0) < iBeta; |
| 22 | bool bDetaQ2Q0 = WELS_ABS (q2 - q0) < iBeta; | 22 | bool bDetaQ2Q0 = WELS_ABS (q2 - q0) < iBeta; |
| 23 | if (bDetaP2P0) { | 23 | if (bDetaP2P0) { |
| 24 | pPix[-2 * iStrideX] = p1 + WELS_CLIP3 ((p2 + ((p0 + q0 + 1) >> 1) - (p1 << 1)) >> 1, -iTc0, iTc0); | 24 | pPix[-2 * iStrideX] = p1 + WELS_CLIP3 ((p2 + ((p0 + q0 + 1) >> 1) - (p1 * (1 << 1))) >> 1, -iTc0, iTc0); |
| 25 | iTc++; | 25 | iTc++; |
| 26 | } | 26 | } |
| 27 | if (bDetaQ2Q0) { | 27 | if (bDetaQ2Q0) { |
| 28 | pPix[iStrideX] = q1 + WELS_CLIP3 ((q2 + ((p0 + q0 + 1) >> 1) - (q1 << 1)) >> 1, -iTc0, iTc0); | 28 | pPix[iStrideX] = q1 + WELS_CLIP3 ((q2 + ((p0 + q0 + 1) >> 1) - (q1 * (1 << 1))) >> 1, -iTc0, iTc0); |
| 29 | iTc++; | 29 | iTc++; |
| 30 | } | 30 | } |
| 31 | int32_t iDeta = WELS_CLIP3 ((((q0 - p0) << 2) + (p1 - q1) + 4) >> 3, -iTc, iTc); | 31 | int32_t iDeta = WELS_CLIP3 ((((q0 - p0) * (1 << 2)) + (p1 - q1) + 4) >> 3, -iTc, iTc); |
| 32 | pPix[-iStrideX] = WelsClip1 (p0 + iDeta); /* p0' */ | 32 | pPix[-iStrideX] = WelsClip1 (p0 + iDeta); /* p0' */ |
| 33 | pPix[0] = WelsClip1 (q0 - iDeta); /* q0' */ | 33 | pPix[0] = WelsClip1 (q0 - iDeta); /* q0' */ |
| 34 | } | 34 | } |
| @@ -56,23 +56,23 @@ void DeblockLumaEq4_c (uint8_t* pPix, int32_t iStrideX, int32_t iStrideY, int32_ · 21 unmodified lines | |||
| 56 | bool bDetaQ2Q0 = WELS_ABS (q2 - q0) < iBeta; | 56 | bool bDetaQ2Q0 = WELS_ABS (q2 - q0) < iBeta; |
| 57 | if (bDetaP2P0) { | 57 | if (bDetaP2P0) { |
| 58 | const int32_t p3 = pPix[-4 * iStrideX]; | 58 | const int32_t p3 = pPix[-4 * iStrideX]; |
| 59 | pPix[-iStrideX] = (p2 + (p1 << 1) + (p0 << 1) + (q0 << 1) + q1 + 4) >> 3; //p0 | 59 | pPix[-iStrideX] = (p2 + (p1 * (1 << 1)) + (p0 * (1 << 1)) + (q0 * (1 << 1)) + q1 + 4) >> 3; //p0 |
| 60 | pPix[-2 * iStrideX] = (p2 + p1 + p0 + q0 + 2) >> 2; //p1 | 60 | pPix[-2 * iStrideX] = (p2 + p1 + p0 + q0 + 2) >> 2; //p1 |
| 61 | pPix[-3 * iStrideX] = ((p3 << 1) + p2 + (p2 << 1) + p1 + p0 + q0 + 4) >> 3; //p2 | 61 | pPix[-3 * iStrideX] = ((p3 * (1 << 1)) + p2 + (p2 * (1 << 1)) + p1 + p0 + q0 + 4) >> 3; //p2 |
| 62 | } else { | 62 | } else { |
| 63 | pPix[-1 * iStrideX] = ((p1 << 1) + p0 + q1 + 2) >> 2; //p0 | 63 | pPix[-1 * iStrideX] = ((p1 * (1 << 1)) + p0 + q1 + 2) >> 2; //p0 |
| 64 | } | 64 | } |
| 65 | if (bDetaQ2Q0) { | 65 | if (bDetaQ2Q0) { |
| 66 | const int32_t q3 = pPix[3 * iStrideX]; | 66 | const int32_t q3 = pPix[3 * iStrideX]; |
| 67 | pPix[0] = (p1 + (p0 << 1) + (q0 << 1) + (q1 << 1) + q2 + 4) >> 3; //q0 | 67 | pPix[0] = (p1 + (p0 * (1 << 1)) + (q0 * (1 << 1)) + (q1 * (1 << 1)) + q2 + 4) >> 3; //q0 |
| 68 | pPix[iStrideX] = (p0 + q0 + q1 + q2 + 2) >> 2; //q1 | 68 | pPix[iStrideX] = (p0 + q0 + q1 + q2 + 2) >> 2; //q1 |
| 69 | pPix[2 * iStrideX] = ((q3 << 1) + q2 + (q2 << 1) + q1 + q0 + p0 + 4) >> 3; //q2 | 69 | pPix[2 * iStrideX] = ((q3 * (1 << 1)) + q2 + (q2 * (1 << 1)) + q1 + q0 + p0 + 4) >> 3; //q2 |
| 70 | } else { | 70 | } else { |
| 71 | pPix[0] = ((q1 << 1) + q0 + p1 + 2) >> 2; //q0 | 71 | pPix[0] = ((q1 * (1 << 1)) + q0 + p1 + 2) >> 2; //q0 |
| 72 | } | 72 | } |
| 73 | } else { | 73 | } else { |
| 74 | pPix[-iStrideX] = ((p1 << 1) + p0 + q1 + 2) >> 2; //p0 | 74 | pPix[-iStrideX] = ((p1 * (1 << 1)) + p0 + q1 + 2) >> 2; //p0 |
| 75 | pPix[ 0] = ((q1 << 1) + q0 + p1 + 2) >> 2; //q0 | 75 | pPix[ 0] = ((q1 * (1 << 1)) + q0 + p1 + 2) >> 2; //q0 |
| 76 | } | 76 | } |
| 77 | } | 77 | } |
| 78 | pPix += iStrideY; | 78 | pPix += iStrideY; |
| @@ -107,7 +107,7 @@ void DeblockChromaLt4_c (uint8_t* pPixCb, uint8_t* pPixCr, int32_t iStrideX, int · 28 unmodified lines | |||
| 107 | bDetaP1P0 = WELS_ABS (p1 - p0) < iBeta; | 107 | bDetaP1P0 = WELS_ABS (p1 - p0) < iBeta; |
| 108 | bDetaQ1Q0 = WELS_ABS (q1 - q0) < iBeta; | 108 | bDetaQ1Q0 = WELS_ABS (q1 - q0) < iBeta; |
| 109 | if (bDetaP0Q0 && bDetaP1P0 && bDetaQ1Q0) { | 109 | if (bDetaP0Q0 && bDetaP1P0 && bDetaQ1Q0) { |
| 110 | iDeta = WELS_CLIP3 ((((q0 - p0) << 2) + (p1 - q1) + 4) >> 3, -iTc0, iTc0); | 110 | iDeta = WELS_CLIP3 ((((q0 - p0) * (1 << 2)) + (p1 - q1) + 4) >> 3, -iTc0, iTc0); |
| 111 | pPixCb[-iStrideX] = WelsClip1 (p0 + iDeta); /* p0' */ | 111 | pPixCb[-iStrideX] = WelsClip1 (p0 + iDeta); /* p0' */ |
| 112 | pPixCb[0] = WelsClip1 (q0 - iDeta); /* q0' */ | 112 | pPixCb[0] = WelsClip1 (q0 - iDeta); /* q0' */ |
| 113 | } | 113 | } |
| @@ -123,7 +123,7 @@ void DeblockChromaLt4_c (uint8_t* pPixCb, uint8_t* pPixCr, int32_t iStrideX, int · 9 unmodified lines | |||
| 123 | bDetaQ1Q0 = WELS_ABS (q1 - q0) < iBeta; | 123 | bDetaQ1Q0 = WELS_ABS (q1 - q0) < iBeta; |
| 124 | 124 | ||
| 125 | if (bDetaP0Q0 && bDetaP1P0 && bDetaQ1Q0) { | 125 | if (bDetaP0Q0 && bDetaP1P0 && bDetaQ1Q0) { |
| 126 | iDeta = WELS_CLIP3 ((((q0 - p0) << 2) + (p1 - q1) + 4) >> 3, -iTc0, iTc0); | 126 | iDeta = WELS_CLIP3 ((((q0 - p0) * (1 << 2)) + (p1 - q1) + 4) >> 3, -iTc0, iTc0); |
| 127 | pPixCr[-iStrideX] = WelsClip1 (p0 + iDeta); /* p0' */ | 127 | pPixCr[-iStrideX] = WelsClip1 (p0 + iDeta); /* p0' */ |
| 128 | pPixCr[0] = WelsClip1 (q0 - iDeta); /* q0' */ | 128 | pPixCr[0] = WelsClip1 (q0 - iDeta); /* q0' */ |
| 129 | } | 129 | } |
| @@ -146,8 +146,8 @@ void DeblockChromaEq4_c (uint8_t* pPixCb, uint8_t* pPixCr, int32_t iStrideX, int · 16 unmodified lines | |||
| 146 | bDetaP1P0 = WELS_ABS (p1 - p0) < iBeta; | 146 | bDetaP1P0 = WELS_ABS (p1 - p0) < iBeta; |
| 147 | bDetaQ1Q0 = WELS_ABS (q1 - q0) < iBeta; | 147 | bDetaQ1Q0 = WELS_ABS (q1 - q0) < iBeta; |
| 148 | if (bDetaP0Q0 && bDetaP1P0 && bDetaQ1Q0) { | 148 | if (bDetaP0Q0 && bDetaP1P0 && bDetaQ1Q0) { |
| 149 | pPixCb[-iStrideX] = ((p1 << 1) + p0 + q1 + 2) >> 2; /* p0' */ | 149 | pPixCb[-iStrideX] = ((p1 * (1 << 1)) + p0 + q1 + 2) >> 2; /* p0' */ |
| 150 | pPixCb[0] = ((q1 << 1) + q0 + p1 + 2) >> 2; /* q0' */ | 150 | pPixCb[0] = ((q1 * (1 << 1)) + q0 + p1 + 2) >> 2; /* q0' */ |
| 151 | } | 151 | } |
| 152 | 152 | ||
| 153 | //cr | 153 | //cr |
| @@ -159,8 +159,8 @@ void DeblockChromaEq4_c (uint8_t* pPixCb, uint8_t* pPixCr, int32_t iStrideX, int · 5 unmodified lines | |||
| 159 | bDetaP1P0 = WELS_ABS (p1 - p0) < iBeta; | 159 | bDetaP1P0 = WELS_ABS (p1 - p0) < iBeta; |
| 160 | bDetaQ1Q0 = WELS_ABS (q1 - q0) < iBeta; | 160 | bDetaQ1Q0 = WELS_ABS (q1 - q0) < iBeta; |
| 161 | if (bDetaP0Q0 && bDetaP1P0 && bDetaQ1Q0) { | 161 | if (bDetaP0Q0 && bDetaP1P0 && bDetaQ1Q0) { |
| 162 | pPixCr[-iStrideX] = ((p1 << 1) + p0 + q1 + 2) >> 2; /* p0' */ | 162 | pPixCr[-iStrideX] = ((p1 * (1 << 1)) + p0 + q1 + 2) >> 2; /* p0' */ |
| 163 | pPixCr[0] = ((q1 << 1) + q0 + p1 + 2) >> 2; /* q0' */ | 163 | pPixCr[0] = ((q1 * (1 << 1)) + q0 + p1 + 2) >> 2; /* q0' */ |
| 164 | } | 164 | } |
| 165 | pPixCr += iStrideY; | 165 | pPixCr += iStrideY; |
| 166 | pPixCb += iStrideY; | 166 | pPixCb += iStrideY; |
| @@ -198,7 +198,7 @@ void DeblockChromaLt42_c (uint8_t* pPixCbCr, int32_t iStrideX, int32_t iStrideY, · 31 unmodified lines | |||
| 198 | bDetaP1P0 = WELS_ABS (p1 - p0) < iBeta; | 198 | bDetaP1P0 = WELS_ABS (p1 - p0) < iBeta; |
| 199 | bDetaQ1Q0 = WELS_ABS (q1 - q0) < iBeta; | 199 | bDetaQ1Q0 = WELS_ABS (q1 - q0) < iBeta; |
| 200 | if (bDetaP0Q0 && bDetaP1P0 && bDetaQ1Q0) { | 200 | if (bDetaP0Q0 && bDetaP1P0 && bDetaQ1Q0) { |
| 201 | iDeta = WELS_CLIP3 ((((q0 - p0) << 2) + (p1 - q1) + 4) >> 3, -iTc0, iTc0); | 201 | iDeta = WELS_CLIP3 ((((q0 - p0) * (1 << 2)) + (p1 - q1) + 4) >> 3, -iTc0, iTc0); |
| 202 | pPixCbCr[-iStrideX] = WelsClip1 (p0 + iDeta); /* p0' */ | 202 | pPixCbCr[-iStrideX] = WelsClip1 (p0 + iDeta); /* p0' */ |
| 203 | pPixCbCr[0] = WelsClip1 (q0 - iDeta); /* q0' */ | 203 | pPixCbCr[0] = WelsClip1 (q0 - iDeta); /* q0' */ |
| 204 | } | 204 | } |
| @@ -221,8 +221,8 @@ void DeblockChromaEq42_c (uint8_t* pPixCbCr, int32_t iStrideX, int32_t iStrideY, · 16 unmodified lines | |||
| 221 | bDetaP1P0 = WELS_ABS (p1 - p0) < iBeta; | 221 | bDetaP1P0 = WELS_ABS (p1 - p0) < iBeta; |
| 222 | bDetaQ1Q0 = WELS_ABS (q1 - q0) < iBeta; | 222 | bDetaQ1Q0 = WELS_ABS (q1 - q0) < iBeta; |
| 223 | if (bDetaP0Q0 && bDetaP1P0 && bDetaQ1Q0) { | 223 | if (bDetaP0Q0 && bDetaP1P0 && bDetaQ1Q0) { |
| 224 | pPixCbCr[-iStrideX] = ((p1 << 1) + p0 + q1 + 2) >> 2; /* p0' */ | 224 | pPixCbCr[-iStrideX] = ((p1 * (1 << 1)) + p0 + q1 + 2) >> 2; /* p0' */ |
| 225 | pPixCbCr[0] = ((q1 << 1) + q0 + p1 + 2) >> 2; /* q0' */ | 225 | pPixCbCr[0] = ((q1 * (1 << 1)) + q0 + p1 + 2) >> 2; /* q0' */ |
| 226 | } | 226 | } |
| 227 | 227 | ||
| 228 | pPixCbCr += iStrideY; | 228 | pPixCbCr += iStrideY; |