15,471
社区成员
发帖
与我相关
我的任务
分享
int R=(int)(pY[j] * 4194304 - pCb[j] * 10333 + pCr[j] * 5727677 - 731820157 + 2097152)>>22);
int G=(int)((pY[j] * 4194304 - pCb[j] * 1399048 - pCr[j] * 2935263 + 554791958 + 2097152)>>22);
int B=(int)((pY[j] * 4194304 + pCb[j] * 7263892 - pCr[j] * 25573 - 926504885 + 2097152)>>22);
int R = (int)((pY[j] * 16384 - pCb[j] * 40 + pCr[j] * 22374 - 2850480) >> 14);
int G = (int)((pY[j] * 16384 - pCb[j] * 5465 - pCr[j] * 11466 + 2175348) >> 14);
int B = (int)((pY[j] * 16384 + pCb[j] * 28375 - pCr[j] * 100 - 3610968) >> 14);
0040D446 mov edx,dword ptr [ebp+8]
0040D449 add edx,dword ptr [ebp-4]
0040D44C xor eax,eax
0040D44E mov al,byte ptr [edx]
0040D450 shl eax,16h
0040D453 mov ecx,dword ptr [ebp+0Ch]
0040D456 add ecx,dword ptr [ebp-4]
0040D459 xor edx,edx
0040D45B mov dl,byte ptr [ecx]
0040D45D imul edx,edx,285Dh
0040D463 sub eax,edx
0040D465 mov ecx,dword ptr [ebp+10h]
0040D468 add ecx,dword ptr [ebp-4]
0040D46B xor edx,edx
0040D46D mov dl,byte ptr [ecx]
0040D46F imul edx,edx,5765BDh
0040D475 lea eax,[eax+edx-2B7EB07Dh]
0040D47C sar eax,16h
0040D47F mov dword ptr [R],eax
0040D446 mov edx,dword ptr [ebp+8]
0040D449 add edx,dword ptr [ebp-4]
0040D44C xor eax,eax
0040D44E mov al,byte ptr [edx]
0040D450 shl eax,0Eh
0040D453 mov ecx,dword ptr [ebp+0Ch]
0040D456 add ecx,dword ptr [ebp-4]
0040D459 xor edx,edx
0040D45B mov dl,byte ptr [ecx]
0040D45D imul edx,edx,28h
0040D460 sub eax,edx
0040D462 mov ecx,dword ptr [ebp+10h]
0040D465 add ecx,dword ptr [ebp-4]
0040D468 xor edx,edx
0040D46A mov dl,byte ptr [ecx]
0040D46C imul edx,edx,5766h
0040D472 lea eax,[eax+edx-2B7EB0h]
0040D479 sar eax,0Eh
0040D47C mov dword ptr [R],eax
//double dR = (pY[j] - 0.00246351 * pCb[j] + 1.36558478 * pCr[j] - 174.47952208);
//double dG = (pY[j] - 0.33355916 * pCb[j] - 0.69982140 * pCr[j] + 132.27271048);
//double dB = (pY[j] + 1.73184701 * pCb[j] - 0.00609719 * pCr[j] - 220.89597832);
int R = (int)((pY[j] * 4194304 - pCb[j] * 10333 + pCr[j] * 5727677 - 731820157 + 2097152) >> 22);
int G = (int)((pY[j] * 4194304 - pCb[j] * 1399048 - pCr[j] * 2935263 + 554791958 + 2097152) >> 22);
int B = (int)((pY[j] * 4194304 + pCb[j] * 7263892 - pCr[j] * 25573 - 926504885 + 2097152) >> 22);
int R = (int)((pY[j] * 16384 - pCb[j] * 40 + pCr[j] * 22374 - 2850480) >> 14);
int G = (int)((pY[j] * 16384 - pCb[j] * 5465 - pCr[j] * 11466 + 2175348) >> 14);
int B = (int)((pY[j] * 16384 + pCb[j] * 28375 - pCr[j] * 100 - 3610968) >> 14);