private int YUV_to_BGR(int Y,int u,int v){
    if(Y<0) Y=0;
    int tempB,tempG,tempR;
    tempB=Y+((116130*u)>>16);
    if(tempB<0) tempB=0;
    else if(tempB>255) tempB=255;
 
    tempG=Y-((22554*u+46802*v)>>16);
    if(tempG<0) tempG=0;
    else if(tempG>255) tempG=255;
    
    tempR=Y+((91881*v)>>16);
    if(tempR<0) tempR=0;
    else if(tempR>255) tempR=255;

    return  0xff000000 | ((tempR<<16) + (tempG<<8) + tempB);
}