1dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu/* 2dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui ZhuCopyright (c) 2011 Stanislav Vitvitskiy 3dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu 4dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui ZhuPermission is hereby granted, free of charge, to any person obtaining a copy of this 5dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhusoftware and associated documentation files (the "Software"), to deal in the Software 6dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhuwithout restriction, including without limitation the rights to use, copy, modify, 7dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhumerge, publish, distribute, sublicense, and/or sell copies of the Software, and to 8dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhupermit persons to whom the Software is furnished to do so, subject to the following 9dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhuconditions: 10dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu 11dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui ZhuThe above copyright notice and this permission notice shall be included in all copies or 12dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhusubstantial portions of the Software. 13dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu 14dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui ZhuTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, 15dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui ZhuINCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR 16dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui ZhuPURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE 17dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui ZhuFOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 18dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui ZhuTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE 19dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui ZhuOR OTHER DEALINGS IN THE SOFTWARE. 20dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu*/ 21dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhupackage com.googlecode.mp4parser.h264; 22dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu 23dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhuimport java.nio.ShortBuffer; 24dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu 25dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhupublic class Debug { 26dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu public final static void print8x8(int[] output) { 27dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu int i = 0; 28dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu for (int x = 0; x < 8; x++) { 29dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu for (int y = 0; y < 8; y++) { 30dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu System.out.printf("%3d, ", output[i]); 31dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu i++; 32dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu } 33dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu System.out.println(); 34dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu } 35dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu } 36dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu 37dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu public final static void print8x8(short[] output) { 38dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu int i = 0; 39dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu for (int x = 0; x < 8; x++) { 40dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu for (int y = 0; y < 8; y++) { 41dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu System.out.printf("%3d, ", output[i]); 42dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu i++; 43dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu } 44dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu System.out.println(); 45dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu } 46dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu } 47dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu 48dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu public final static void print8x8(ShortBuffer output) { 49dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu for (int x = 0; x < 8; x++) { 50dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu for (int y = 0; y < 8; y++) { 51dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu System.out.printf("%3d, ", output.get()); 52dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu } 53dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu System.out.println(); 54dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu } 55dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu } 56dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu 57dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu public static void print(short[] table) { 58dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu int i = 0; 59dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu for (int x = 0; x < 8; x++) { 60dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu for (int y = 0; y < 8; y++) { 61dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu System.out.printf("%3d, ", table[i]); 62dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu i++; 63dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu } 64dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu System.out.println(); 65dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu } 66dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu } 67dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu 68dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu public static void trace(String format, Object... args) { 69dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu // System.out.printf("> " + format + "\n", args); 70dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu } 71dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu 72dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu public final static boolean debug = false; 73dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu 74dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu public static void print(int i) { 75dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu if (debug) 76dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu System.out.print(i); 77dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu } 78dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu 79dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu public static void print(String string) { 80dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu if (debug) 81dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu System.out.print(string); 82dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu } 83dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu 84dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu public static void println(String string) { 85dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu if (debug) 86dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu System.out.println(string); 87dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu } 88dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu} 89