comparison postproc/swscale_template.c @ 9499:bc5b87370cd1

cleanup
author michael
date Mon, 24 Feb 2003 00:12:30 +0000
parents 543ab3909b78
children 61057de81510
comparison
equal deleted inserted replaced
9498:7e282f362dbe 9499:bc5b87370cd1
1583 int i; 1583 int i;
1584 for(i=0; i<width; i++) 1584 for(i=0; i<width; i++)
1585 { 1585 {
1586 int b= ((uint32_t*)src)[i]&0xFF; 1586 int b= ((uint32_t*)src)[i]&0xFF;
1587 int g= (((uint32_t*)src)[i]>>8)&0xFF; 1587 int g= (((uint32_t*)src)[i]>>8)&0xFF;
1588 int r= ((uint32_t*)src)[i]>>16; 1588 int r= (((uint32_t*)src)[i]>>16)&0xFF;
1589 1589
1590 dst[i]= ((RY*r + GY*g + BY*b + (33<<(RGB2YUV_SHIFT-1)) )>>RGB2YUV_SHIFT); 1590 dst[i]= ((RY*r + GY*g + BY*b + (33<<(RGB2YUV_SHIFT-1)) )>>RGB2YUV_SHIFT);
1591 } 1591 }
1592 #endif 1592 #endif
1593 } 1593 }
1944 int i; 1944 int i;
1945 for(i=0; i<width; i++) 1945 for(i=0; i<width; i++)
1946 { 1946 {
1947 int r= ((uint32_t*)src)[i]&0xFF; 1947 int r= ((uint32_t*)src)[i]&0xFF;
1948 int g= (((uint32_t*)src)[i]>>8)&0xFF; 1948 int g= (((uint32_t*)src)[i]>>8)&0xFF;
1949 int b= ((uint32_t*)src)[i]>>16; 1949 int b= (((uint32_t*)src)[i]>>16)&0xFF;
1950 1950
1951 dst[i]= ((RY*r + GY*g + BY*b + (33<<(RGB2YUV_SHIFT-1)) )>>RGB2YUV_SHIFT); 1951 dst[i]= ((RY*r + GY*g + BY*b + (33<<(RGB2YUV_SHIFT-1)) )>>RGB2YUV_SHIFT);
1952 } 1952 }
1953 } 1953 }
1954 1954
2500 } 2500 }
2501 #endif 2501 #endif
2502 } 2502 }
2503 } 2503 }
2504 2504
2505 static int RENAME(swScale)(SwsContext *c, uint8_t* srcParam[], int srcStrideParam[], int srcSliceY, 2505 static int RENAME(swScale)(SwsContext *c, uint8_t* src[], int srcStride[], int srcSliceY,
2506 int srcSliceH, uint8_t* dstParam[], int dstStrideParam[]){ 2506 int srcSliceH, uint8_t* dst[], int dstStride[]){
2507 2507
2508 /* load a few things into local vars to make the code more readable? and faster */ 2508 /* load a few things into local vars to make the code more readable? and faster */
2509 const int srcW= c->srcW; 2509 const int srcW= c->srcW;
2510 const int dstW= c->dstW; 2510 const int dstW= c->dstW;
2511 const int dstH= c->dstH; 2511 const int dstH= c->dstH;
2546 int dstY= c->dstY; 2546 int dstY= c->dstY;
2547 int lumBufIndex= c->lumBufIndex; 2547 int lumBufIndex= c->lumBufIndex;
2548 int chrBufIndex= c->chrBufIndex; 2548 int chrBufIndex= c->chrBufIndex;
2549 int lastInLumBuf= c->lastInLumBuf; 2549 int lastInLumBuf= c->lastInLumBuf;
2550 int lastInChrBuf= c->lastInChrBuf; 2550 int lastInChrBuf= c->lastInChrBuf;
2551 int srcStride[3];
2552 int dstStride[3];
2553 uint8_t *src[3];
2554 uint8_t *dst[3];
2555 2551
2556 sws_orderYUV(c->srcFormat, src, srcStride, srcParam, srcStrideParam);
2557 sws_orderYUV(c->dstFormat, dst, dstStride, dstParam, dstStrideParam);
2558
2559 if(isPacked(c->srcFormat)){ 2552 if(isPacked(c->srcFormat)){
2560 src[0]= 2553 src[0]=
2561 src[1]= 2554 src[1]=
2562 src[2]= srcParam[0]; 2555 src[2]= src[0];
2563 srcStride[0]= 2556 srcStride[0]=
2564 srcStride[1]= 2557 srcStride[1]=
2565 srcStride[2]= srcStrideParam[0]; 2558 srcStride[2]= srcStride[0];
2566 } 2559 }
2567 srcStride[1]<<= c->vChrDrop; 2560 srcStride[1]<<= c->vChrDrop;
2568 srcStride[2]<<= c->vChrDrop; 2561 srcStride[2]<<= c->vChrDrop;
2569 2562
2570 // printf("swscale %X %X %X -> %X %X %X\n", (int)src[0], (int)src[1], (int)src[2], 2563 // printf("swscale %X %X %X -> %X %X %X\n", (int)src[0], (int)src[1], (int)src[2],