142 |
uint32_t edged_width, |
uint32_t edged_width, |
143 |
uint32_t edged_height, |
uint32_t edged_height, |
144 |
uint32_t width, |
uint32_t width, |
145 |
uint32_t height, |
uint32_t height) |
|
uint32_t interlacing) |
|
146 |
{ |
{ |
147 |
const uint32_t edged_width2 = edged_width / 2; |
const uint32_t edged_width2 = edged_width / 2; |
148 |
const uint32_t width2 = width / 2; |
const uint32_t width2 = width / 2; |
155 |
src = image->y; |
src = image->y; |
156 |
|
|
157 |
for (i = 0; i < EDGE_SIZE; i++) { |
for (i = 0; i < EDGE_SIZE; i++) { |
|
/* // if interlacing, edges contain top-most data from each field |
|
|
if (interlacing && (i & 1)) { |
|
|
memset(dst, *(src + edged_width), EDGE_SIZE); |
|
|
memcpy(dst + EDGE_SIZE, src + edged_width, width); |
|
|
memset(dst + edged_width - EDGE_SIZE, |
|
|
*(src + edged_width + width - 1), EDGE_SIZE); |
|
|
} else {*/ |
|
158 |
memset(dst, *src, EDGE_SIZE); |
memset(dst, *src, EDGE_SIZE); |
159 |
memcpy(dst + EDGE_SIZE, src, width); |
memcpy(dst + EDGE_SIZE, src, width); |
160 |
memset(dst + edged_width - EDGE_SIZE, *(src + width - 1), |
memset(dst + edged_width - EDGE_SIZE, *(src + width - 1), |
161 |
EDGE_SIZE); |
EDGE_SIZE); |
|
/*}*/ |
|
162 |
dst += edged_width; |
dst += edged_width; |
163 |
} |
} |
164 |
|
|
171 |
|
|
172 |
src -= edged_width; |
src -= edged_width; |
173 |
for (i = 0; i < EDGE_SIZE; i++) { |
for (i = 0; i < EDGE_SIZE; i++) { |
|
/* // if interlacing, edges contain bottom-most data from each field |
|
|
if (interlacing && !(i & 1)) { |
|
|
memset(dst, *(src - edged_width), EDGE_SIZE); |
|
|
memcpy(dst + EDGE_SIZE, src - edged_width, width); |
|
|
memset(dst + edged_width - EDGE_SIZE, |
|
|
*(src - edged_width + width - 1), EDGE_SIZE); |
|
|
} else {*/ |
|
174 |
memset(dst, *src, EDGE_SIZE); |
memset(dst, *src, EDGE_SIZE); |
175 |
memcpy(dst + EDGE_SIZE, src, width); |
memcpy(dst + EDGE_SIZE, src, width); |
176 |
memset(dst + edged_width - EDGE_SIZE, *(src + width - 1), |
memset(dst + edged_width - EDGE_SIZE, *(src + width - 1), |
177 |
EDGE_SIZE); |
EDGE_SIZE); |
|
/*}*/ |
|
178 |
dst += edged_width; |
dst += edged_width; |
179 |
} |
} |
180 |
|
|