/Avc/paint_2.js
JavaScript | 35 lines | 32 code | 3 blank | 0 comment | 2 complexity | db035fd75c5ac3b29fc6f35feedb884c MD5 | raw file
1function _paint($luma, $cb, $cr, w, h) { 2 for (var y1,y2,u,v,ruv,guv,buv,j,w_2=w>>1,W=w*4, surface=SDL.surfaces[SDL.screen], d=surface.image.data, r=0; h-=2;) { 3 for (j=w_2; j--;) { 4 u = HEAPU8[$cr++]; 5 v = HEAPU8[$cb++]; 6 ruv = 409*u-56992; 7 guv = 34784-208*u-100*v; 8 buv = 516*v-70688; 9 10 y2 = HEAPU8[$luma+w]*298; 11 y1 = HEAPU8[$luma++]*298; 12 d[r+W] = y2+ruv>>8; 13 d[r++] = y1+ruv>>8; 14 d[r+W] = y2+guv>>8; 15 d[r++] = y1+guv>>8; 16 d[r+W] = y2+buv>>8; 17 d[r++] = y1+buv>>8; 18 r++; 19 20 y2 = HEAPU8[$luma+w]*298; 21 y1 = HEAPU8[$luma++]*298; 22 d[r+W] = y2+ruv>>8; 23 d[r++] = y1+ruv>>8; 24 d[r+W] = y2+guv>>8; 25 d[r++] = y1+guv>>8; 26 d[r+W] = y2+buv>>8; 27 d[r++] = y1+buv>>8; 28 r++; 29 } 30 r+=W; 31 $luma+=w; 32 } 33 surface.ctx.putImageData(surface.image, 0, 0 ); 34} 35