public void idctData() { float[] array = new float[64]; for (int i = 0; i < scanData.Count; i++) { for (int j = 0; j < factorV; j++) { for (int k = 0; k < factorH; k++) { ZigZag.UnZigZag(scanData[i][k, j], array); scanDecoded.Add(_dct.FastIDCT(array)); } } } }
/// <summary> /// Run the Inverse DCT method on all of the block data /// </summary> public void idctData() { float[] unZZ = new float[64]; float[] toDecode = null; for (int i = 0; i < scanData.Count; i++) { for (int v = 0; v < factorV; v++) { for (int h = 0; h < factorH; h++) { toDecode = scanData[i][h, v]; ZigZag.UnZigZag(toDecode, unZZ); //FJCore.Profiling.IDCTWatch.Start(); scanDecoded.Add(_dct.FastIDCT(unZZ)); //FJCore.Profiling.IDCTWatch.Stop(); } } } }