Browse code

avfilter/xbr: move alpha blend assignment out of the macros

Clément Bœsch authored on 2014/11/16 20:12:40
Showing 1 changed files
... ...
@@ -74,13 +74,13 @@ static uint32_t pixel_diff(uint32_t x, uint32_t y, const uint32_t *r2y)
74 74
            abs((yuv1 & VMASK) - (yuv2 & VMASK));
75 75
 }
76 76
 
77
-#define ALPHA_BLEND_128_W(dst, src) dst = ((src & LB_MASK) >> 1) + ((dst & LB_MASK) >> 1)
77
+#define ALPHA_BLEND_128_W(a, b) ((((a) & LB_MASK) >> 1) + (((b) & LB_MASK) >> 1))
78 78
 #define ALPHA_BLEND_BASE(a, b, m, s) (  (RED_BLUE_MASK & (((a) & RED_BLUE_MASK) + (((((b) & RED_BLUE_MASK) - ((a) & RED_BLUE_MASK)) * (m)) >> (s)))) \
79 79
                                       | (GREEN_MASK    & (((a) & GREEN_MASK)    + (((((b) & GREEN_MASK)    - ((a) & GREEN_MASK))    * (m)) >> (s)))))
80
-#define ALPHA_BLEND_32_W(dst, src)  dst = ALPHA_BLEND_BASE(dst, src, 1, 3)
81
-#define ALPHA_BLEND_64_W(dst, src)  dst = ALPHA_BLEND_BASE(dst, src, 1, 2)
82
-#define ALPHA_BLEND_192_W(dst, src) dst = ALPHA_BLEND_BASE(dst, src, 3, 2)
83
-#define ALPHA_BLEND_224_W(dst, src) dst = ALPHA_BLEND_BASE(dst, src, 7, 3)
80
+#define ALPHA_BLEND_32_W(a, b)  ALPHA_BLEND_BASE(a, b, 1, 3)
81
+#define ALPHA_BLEND_64_W(a, b)  ALPHA_BLEND_BASE(a, b, 1, 2)
82
+#define ALPHA_BLEND_192_W(a, b) ALPHA_BLEND_BASE(a, b, 3, 2)
83
+#define ALPHA_BLEND_224_W(a, b) ALPHA_BLEND_BASE(a, b, 7, 3)
84 84
 
85 85
 #define df(A, B) pixel_diff(A, B, r2y)
86 86
 #define eq(A, B) (df(A, B) < 155)
... ...
@@ -99,20 +99,20 @@ static uint32_t pixel_diff(uint32_t x, uint32_t y, const uint32_t *r2y)
99 99
             const int up      = ke >= ki<<1 && PE != PC && PB != PC;                                \
100 100
             const unsigned px = df(PE,PF) <= df(PE,PH) ? PF : PH;                                   \
101 101
             if (left && up) {                                                                       \
102
-                ALPHA_BLEND_224_W(E[N3], px);                                                       \
103
-                ALPHA_BLEND_64_W( E[N2], px);                                                       \
102
+                E[N3] = ALPHA_BLEND_224_W(E[N3], px);                                               \
103
+                E[N2] = ALPHA_BLEND_64_W( E[N2], px);                                               \
104 104
                 E[N1] = E[N2];                                                                      \
105 105
             } else if (left) {                                                                      \
106
-                ALPHA_BLEND_192_W(E[N3], px);                                                       \
107
-                ALPHA_BLEND_64_W( E[N2], px);                                                       \
106
+                E[N3] = ALPHA_BLEND_192_W(E[N3], px);                                               \
107
+                E[N2] = ALPHA_BLEND_64_W( E[N2], px);                                               \
108 108
             } else if (up) {                                                                        \
109
-                ALPHA_BLEND_192_W(E[N3], px);                                                       \
110
-                ALPHA_BLEND_64_W( E[N1], px);                                                       \
109
+                E[N3] = ALPHA_BLEND_192_W(E[N3], px);                                               \
110
+                E[N1] = ALPHA_BLEND_64_W( E[N1], px);                                               \
111 111
             } else { /* diagonal */                                                                 \
112
-                ALPHA_BLEND_128_W(E[N3], px);                                                       \
112
+                E[N3] = ALPHA_BLEND_128_W(E[N3], px);                                               \
113 113
             }                                                                                       \
114 114
         } else if (e <= i) {                                                                        \
115
-            ALPHA_BLEND_128_W( E[N3], ((df(PE,PF) <= df(PE,PH)) ? PF : PH));                        \
115
+            E[N3] = ALPHA_BLEND_128_W(E[N3], ((df(PE,PF) <= df(PE,PH)) ? PF : PH));                 \
116 116
         }                                                                                           \
117 117
     }                                                                                               \
118 118
 } while (0)
... ...
@@ -131,28 +131,28 @@ static uint32_t pixel_diff(uint32_t x, uint32_t y, const uint32_t *r2y)
131 131
             const int up      = ke >= ki<<1 && PE != PC && PB != PC;                                \
132 132
             const unsigned px = df(PE,PF) <= df(PE,PH) ? PF : PH;                                   \
133 133
             if (left && up) {                                                                       \
134
-                ALPHA_BLEND_192_W(E[N7], px);                                                       \
135
-                ALPHA_BLEND_64_W( E[N6], px);                                                       \
134
+                E[N7] = ALPHA_BLEND_192_W(E[N7], px);                                               \
135
+                E[N6] = ALPHA_BLEND_64_W( E[N6], px);                                               \
136 136
                 E[N5] = E[N7];                                                                      \
137 137
                 E[N2] = E[N6];                                                                      \
138 138
                 E[N8] = px;                                                                         \
139 139
             } else if (left) {                                                                      \
140
-                ALPHA_BLEND_192_W(E[N7], px);                                                       \
141
-                ALPHA_BLEND_64_W( E[N5], px);                                                       \
142
-                ALPHA_BLEND_64_W( E[N6], px);                                                       \
140
+                E[N7] = ALPHA_BLEND_192_W(E[N7], px);                                               \
141
+                E[N5] = ALPHA_BLEND_64_W( E[N5], px);                                               \
142
+                E[N6] = ALPHA_BLEND_64_W( E[N6], px);                                               \
143 143
                 E[N8] = px;                                                                         \
144 144
             } else if (up) {                                                                        \
145
-                ALPHA_BLEND_192_W(E[N5], px);                                                       \
146
-                ALPHA_BLEND_64_W( E[N7], px);                                                       \
147
-                ALPHA_BLEND_64_W( E[N2], px);                                                       \
145
+                E[N5] = ALPHA_BLEND_192_W(E[N5], px);                                               \
146
+                E[N7] = ALPHA_BLEND_64_W( E[N7], px);                                               \
147
+                E[N2] = ALPHA_BLEND_64_W( E[N2], px);                                               \
148 148
                 E[N8] = px;                                                                         \
149 149
             } else { /* diagonal */                                                                 \
150
-                ALPHA_BLEND_224_W(E[N8], px);                                                       \
151
-                ALPHA_BLEND_32_W( E[N5], px);                                                       \
152
-                ALPHA_BLEND_32_W( E[N7], px);                                                       \
150
+                E[N8] = ALPHA_BLEND_224_W(E[N8], px);                                               \
151
+                E[N5] = ALPHA_BLEND_32_W( E[N5], px);                                               \
152
+                E[N7] = ALPHA_BLEND_32_W( E[N7], px);                                               \
153 153
             }                                                                                       \
154 154
         } else if (e <= i) {                                                                        \
155
-            ALPHA_BLEND_128_W(E[N8], ((df(PE,PF) <= df(PE,PH)) ? PF : PH));                         \
155
+            E[N8] = ALPHA_BLEND_128_W(E[N8], ((df(PE,PF) <= df(PE,PH)) ? PF : PH));                 \
156 156
         }                                                                                           \
157 157
     }                                                                                               \
158 158
 } while (0)
... ...
@@ -171,32 +171,32 @@ static uint32_t pixel_diff(uint32_t x, uint32_t y, const uint32_t *r2y)
171 171
             const int up      = ke >= ki<<1 && PE != PC && PB != PC;                                \
172 172
             const unsigned px = df(PE,PF) <= df(PE,PH) ? PF : PH;                                   \
173 173
             if (left && up) {                                                                       \
174
-                ALPHA_BLEND_192_W(E[N13], px);                                                      \
175
-                ALPHA_BLEND_64_W( E[N12], px);                                                      \
174
+                E[N13] = ALPHA_BLEND_192_W(E[N13], px);                                             \
175
+                E[N12] = ALPHA_BLEND_64_W( E[N12], px);                                             \
176 176
                 E[N15] = E[N14] = E[N11] = px;                                                      \
177 177
                 E[N10] = E[N3]  = E[N12];                                                           \
178 178
                 E[N7]  = E[N13];                                                                    \
179 179
             } else if (left) {                                                                      \
180
-                ALPHA_BLEND_192_W(E[N11], px);                                                      \
181
-                ALPHA_BLEND_192_W(E[N13], px);                                                      \
182
-                ALPHA_BLEND_64_W( E[N10], px);                                                      \
183
-                ALPHA_BLEND_64_W( E[N12], px);                                                      \
180
+                E[N11] = ALPHA_BLEND_192_W(E[N11], px);                                             \
181
+                E[N13] = ALPHA_BLEND_192_W(E[N13], px);                                             \
182
+                E[N10] = ALPHA_BLEND_64_W( E[N10], px);                                             \
183
+                E[N12] = ALPHA_BLEND_64_W( E[N12], px);                                             \
184 184
                 E[N14] = px;                                                                        \
185 185
                 E[N15] = px;                                                                        \
186 186
             } else if (up) {                                                                        \
187
-                ALPHA_BLEND_192_W(E[N14], px);                                                      \
188
-                ALPHA_BLEND_192_W(E[N7 ], px);                                                      \
189
-                ALPHA_BLEND_64_W( E[N10], px);                                                      \
190
-                ALPHA_BLEND_64_W( E[N3 ], px);                                                      \
187
+                E[N14] = ALPHA_BLEND_192_W(E[N14], px);                                             \
188
+                E[N7 ] = ALPHA_BLEND_192_W(E[N7 ], px);                                             \
189
+                E[N10] = ALPHA_BLEND_64_W( E[N10], px);                                             \
190
+                E[N3 ] = ALPHA_BLEND_64_W( E[N3 ], px);                                             \
191 191
                 E[N11] = px;                                                                        \
192 192
                 E[N15] = px;                                                                        \
193 193
             } else { /* diagonal */                                                                 \
194
-                ALPHA_BLEND_128_W(E[N11], px);                                                      \
195
-                ALPHA_BLEND_128_W(E[N14], px);                                                      \
194
+                E[N11] = ALPHA_BLEND_128_W(E[N11], px);                                             \
195
+                E[N14] = ALPHA_BLEND_128_W(E[N14], px);                                             \
196 196
                 E[N15] = px;                                                                        \
197 197
             }                                                                                       \
198 198
         } else if (e <= i) {                                                                        \
199
-            ALPHA_BLEND_128_W( E[N15], ((df(PE,PF) <= df(PE,PH)) ? PF : PH));                       \
199
+            E[N15] = ALPHA_BLEND_128_W(E[N15], ((df(PE,PF) <= df(PE,PH)) ? PF : PH));               \
200 200
         }                                                                                           \
201 201
     }                                                                                               \
202 202
 } while (0)