Mercurial > mplayer.hg
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], |