public static int[][] IDCT(int[][] Q){
		int[][] F = new int[8][8];
		for(int i = 0; i < 8; i++){
			for(int j = 0; j < 8; j++){
				F[i][j] = Q[i][j] * quantMat[i][j];
			}
		}
		printI(F);
		System.out.println("------------");
		int[][] f = new int[8][8];
		int x,y,u,v,pix;
		double coeff,sum,c1,c2,temp1,temp2;
		
		for(x = 0; x < 8; x++){
			for(y = 0; y < 8; y++){
				sum = 0;
				for(u = 0; u < 8; u++){
					for(v = 0; v < 8; v++){
						if(u == 0){
							c1 = 1 / Math.sqrt(2);
						}else{
							c1 = 1;
						}
						
						if(v == 0){
							c2 = 1 / Math.sqrt(2);
						}else{
							c2 = 1;
						}
						pix = F[u][v];
						temp1 = Math.cos( ( (2*x + 1) * u * Math.PI ) / 16);
						temp2 = Math.cos( ( (2*y + 1) * v * Math.PI ) / 16);
						
						sum += c1 * c2 * pix * temp1 * temp2;
					}
				}
				f[x][y] =(int) Math.round(.25 * sum) + 128;
			}
		}
		
		
		
		return f;
	}