private static void PrintOutputToTextFile(CalculationQuantization calculatedQuantization, string outputFileName) { using (StreamWriter streamWriter = new StreamWriter(outputFileName)) { Print2DArray(calculatedQuantization.ArrayY, streamWriter); streamWriter.WriteLine(); Print2DArray(calculatedQuantization.ArrayCb, streamWriter); streamWriter.WriteLine(); Print2DArray(calculatedQuantization.ArrayCr, streamWriter); } }
private static CalculationQuantization CalculateQuantization(CalculationDCT calculationDCT) { var arrayHeight = calculationDCT.ArrayY.GetLength(0); var arrayWidth = calculationDCT.ArrayY.GetLength(1); int[,] arrayY = new int[arrayHeight, arrayWidth]; int[,] arrayCb = new int[arrayHeight, arrayWidth]; int[,] arrayCr = new int[arrayHeight, arrayWidth]; for (var i = 0; i < arrayHeight; i++) { for (var j = 0; j < arrayWidth; j++) { arrayY[i, j] = (int)Math.Round((calculationDCT.ArrayY[i, j] / K1Table[i, j])); arrayCb[i, j] = (int)Math.Round((calculationDCT.ArrayCb[i, j] / K2Table[i, j])); arrayCr[i, j] = (int)Math.Round((calculationDCT.ArrayCr[i, j] / K2Table[i, j])); } } CalculationQuantization calculatedQuantization = new CalculationQuantization(arrayY, arrayCb, arrayCr); return(calculatedQuantization); }