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