comparison imgconvert.c @ 4358:0924cc1db086 libavcodec

Cosmetics
author lu_zero
date Wed, 17 Jan 2007 10:47:58 +0000
parents 45e0102824fb
children d276d6eed6a0
comparison
equal deleted inserted replaced
4357:1654075b205c 4358:0924cc1db086
2250 } 2250 }
2251 2251
2252 /** 2252 /**
2253 * Pad image 2253 * Pad image
2254 */ 2254 */
2255 int img_pad(AVPicture *dst, const AVPicture *src, int height, int width, int pix_fmt, 2255 int img_pad(AVPicture *dst, const AVPicture *src, int height, int width,
2256 int padtop, int padbottom, int padleft, int padright, int *color) 2256 int pix_fmt, int padtop, int padbottom, int padleft, int padright,
2257 int *color)
2257 { 2258 {
2258 uint8_t *optr, *iptr; 2259 uint8_t *optr, *iptr;
2259 int y_shift; 2260 int y_shift;
2260 int x_shift; 2261 int x_shift;
2261 int yheight; 2262 int yheight;
2262 int i, y; 2263 int i, y;
2263 2264
2264 if (pix_fmt < 0 || pix_fmt >= PIX_FMT_NB || !is_yuv_planar(&pix_fmt_info[pix_fmt])) 2265 if (pix_fmt < 0 || pix_fmt >= PIX_FMT_NB ||
2265 return -1; 2266 !is_yuv_planar(&pix_fmt_info[pix_fmt])) return -1;
2266 2267
2267 for (i = 0; i < 3; i++) { 2268 for (i = 0; i < 3; i++) {
2268 x_shift = i ? pix_fmt_info[pix_fmt].x_chroma_shift : 0; 2269 x_shift = i ? pix_fmt_info[pix_fmt].x_chroma_shift : 0;
2269 y_shift = i ? pix_fmt_info[pix_fmt].y_chroma_shift : 0; 2270 y_shift = i ? pix_fmt_info[pix_fmt].y_chroma_shift : 0;
2270 2271
2271 if (padtop || padleft) { 2272 if (padtop || padleft) {
2272 memset(dst->data[i], color[i], dst->linesize[i] * (padtop >> y_shift) + (padleft >> x_shift)); 2273 memset(dst->data[i], color[i],
2274 dst->linesize[i] * (padtop >> y_shift) + (padleft >> x_shift));
2273 } 2275 }
2274 2276
2275 if (padleft || padright || src) { 2277 if (padleft || padright || src) {
2276 if (src) { /* first line */ 2278 if (src) { /* first line */
2277 iptr = src->data[i]; 2279 iptr = src->data[i];
2278 optr = dst->data[i] + dst->linesize[i] * (padtop >> y_shift) + (padleft >> x_shift); 2280 optr = dst->data[i] + dst->linesize[i] * (padtop >> y_shift) +
2281 (padleft >> x_shift);
2279 memcpy(optr, iptr, src->linesize[i]); 2282 memcpy(optr, iptr, src->linesize[i]);
2280 iptr += src->linesize[i]; 2283 iptr += src->linesize[i];
2281 } 2284 }
2282 optr = dst->data[i] + dst->linesize[i] * (padtop >> y_shift) + (dst->linesize[i] - (padright >> x_shift)); 2285 optr = dst->data[i] + dst->linesize[i] * (padtop >> y_shift) +
2286 (dst->linesize[i] - (padright >> x_shift));
2283 yheight = (height - 1 - (padtop + padbottom)) >> y_shift; 2287 yheight = (height - 1 - (padtop + padbottom)) >> y_shift;
2284 for (y = 0; y < yheight; y++) { 2288 for (y = 0; y < yheight; y++) {
2285 memset(optr, color[i], (padleft + padright) >> x_shift); 2289 memset(optr, color[i], (padleft + padright) >> x_shift);
2286 if (src) { 2290 if (src) {
2287 memcpy(optr + ((padleft + padright) >> x_shift), iptr, src->linesize[i]); 2291 memcpy(optr + ((padleft + padright) >> x_shift), iptr,
2292 src->linesize[i]);
2288 iptr += src->linesize[i]; 2293 iptr += src->linesize[i];
2289 } 2294 }
2290 optr += dst->linesize[i]; 2295 optr += dst->linesize[i];
2291 } 2296 }
2292 } 2297 }
2293 2298
2294 if (padbottom || padright) { 2299 if (padbottom || padright) {
2295 optr = dst->data[i] + dst->linesize[i] * ((height - padbottom) >> y_shift) - (padright >> x_shift); 2300 optr = dst->data[i] + dst->linesize[i] *
2296 memset(optr, color[i], dst->linesize[i] * (padbottom >> y_shift) + (padright >> x_shift)); 2301 ((height - padbottom) >> y_shift) - (padright >> x_shift);
2302 memset(optr, color[i],dst->linesize[i] *
2303 (padbottom >> y_shift) + (padright >> x_shift));
2297 } 2304 }
2298 } 2305 }
2299 return 0; 2306 return 0;
2300 } 2307 }
2301 2308