Mercurial > mplayer.hg
comparison libswscale/swscale_template.c @ 23263:f85d8e62735d
remove the need of one extra shift in rgb16ToUV
author | ivo |
---|---|
date | Wed, 09 May 2007 21:34:05 +0000 |
parents | 1bd2f5e63da5 |
children | 88b417d972ab |
comparison
equal
deleted
inserted
replaced
23262:a08c4d770870 | 23263:f85d8e62735d |
---|---|
2227 for (i=0; i<width; i++) | 2227 for (i=0; i<width; i++) |
2228 { | 2228 { |
2229 int d0= ((uint32_t*)src1)[i]; | 2229 int d0= ((uint32_t*)src1)[i]; |
2230 | 2230 |
2231 int dl= (d0&0x07E0F81F); | 2231 int dl= (d0&0x07E0F81F); |
2232 int dh= ((d0>>5)&0x07C0F83F); | 2232 int d= dl + (((d0>>16) + (d0<<16))&0x07E0F81F); |
2233 | 2233 |
2234 int dh2= (dh>>11) + (dh<<21); | 2234 int r= d&0x3F; |
2235 int d= dh2 + dl; | 2235 int b= (d>>11)&0x3F; |
2236 | |
2237 int r= d&0x7F; | |
2238 int b= (d>>11)&0x7F; | |
2239 int g= d>>21; | 2236 int g= d>>21; |
2240 dstU[i]= ((2*RU*r + GU*g + 2*BU*b)>>(RGB2YUV_SHIFT+1-2)) + 128; | 2237 dstU[i]= ((2*RU*r + GU*g + 2*BU*b)>>(RGB2YUV_SHIFT+1-2)) + 128; |
2241 dstV[i]= ((2*RV*r + GV*g + 2*BV*b)>>(RGB2YUV_SHIFT+1-2)) + 128; | 2238 dstV[i]= ((2*RV*r + GV*g + 2*BV*b)>>(RGB2YUV_SHIFT+1-2)) + 128; |
2242 } | 2239 } |
2243 } | 2240 } |