[cvs] / xvidcore / src / bitstream / zigzag.h Repository:
ViewVC logotype

Annotation of /xvidcore/src/bitstream/zigzag.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.5 - (view) (download)

1 : edgomez 1.3 /*****************************************************************************
2 :     *
3 :     * XVID MPEG-4 VIDEO CODEC
4 :     * - zigzag dct block scanning -
5 :     *
6 :     * Copyright(C) 2001-2002 Michael Militzer <isibaar@xvid.org>
7 :     *
8 : edgomez 1.4 * This file is part of XviD, a free MPEG-4 video encoder/decoder
9 :     *
10 :     * XviD is free software; you can redistribute it and/or modify it
11 :     * under the terms of the GNU General Public License as published by
12 :     * the Free Software Foundation; either version 2 of the License, or
13 : edgomez 1.3 * (at your option) any later version.
14 :     *
15 :     * This program is distributed in the hope that it will be useful,
16 : edgomez 1.4 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 : edgomez 1.3 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 :     * GNU General Public License for more details.
19 :     *
20 :     * You should have received a copy of the GNU General Public License
21 : edgomez 1.4 * along with this program; if not, write to the Free Software
22 : edgomez 1.3 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
23 : edgomez 1.4 *
24 :     * Under section 8 of the GNU General Public License, the copyright
25 :     * holders of XVID explicitly forbid distribution in the following
26 :     * countries:
27 :     *
28 :     * - Japan
29 :     * - United States of America
30 :     *
31 :     * Linking XviD statically or dynamically with other modules is making a
32 :     * combined work based on XviD. Thus, the terms and conditions of the
33 :     * GNU General Public License cover the whole combination.
34 :     *
35 :     * As a special exception, the copyright holders of XviD give you
36 :     * permission to link XviD with independent modules that communicate with
37 :     * XviD solely through the VFW1.1 and DShow interfaces, regardless of the
38 :     * license terms of these independent modules, and to copy and distribute
39 :     * the resulting combined work under terms of your choice, provided that
40 :     * every copy of the combined work is accompanied by a complete copy of
41 :     * the source code of XviD (the version of XviD used to produce the
42 :     * combined work), being distributed under the terms of the GNU General
43 :     * Public License plus this exception. An independent module is a module
44 :     * which is not derived from or based on XviD.
45 :     *
46 :     * Note that people who make modified versions of XviD are not obligated
47 :     * to grant this special exception for their modified versions; it is
48 :     * their choice whether to do so. The GNU General Public License gives
49 :     * permission to release a modified version without this exception; this
50 :     * exception also makes it possible to release a modified version which
51 :     * carries forward this exception.
52 : edgomez 1.3 *
53 : edgomez 1.5 * $Id: zigzag.h,v 1.4 2002/11/17 00:57:57 edgomez Exp $
54 : edgomez 1.3 *
55 :     ****************************************************************************/
56 :    
57 : Isibaar 1.1 #ifndef _ZIGZAG_H_
58 :     #define _ZIGZAG_H_
59 :    
60 : edgomez 1.2 static const uint16_t scan_tables[3][64] = {
61 : edgomez 1.5 { /* zig_zag_scan */
62 : edgomez 1.2 0, 1, 8, 16, 9, 2, 3, 10,
63 :     17, 24, 32, 25, 18, 11, 4, 5,
64 :     12, 19, 26, 33, 40, 48, 41, 34,
65 :     27, 20, 13, 6, 7, 14, 21, 28,
66 :     35, 42, 49, 56, 57, 50, 43, 36,
67 :     29, 22, 15, 23, 30, 37, 44, 51,
68 :     58, 59, 52, 45, 38, 31, 39, 46,
69 :     53, 60, 61, 54, 47, 55, 62, 63},
70 : Isibaar 1.1
71 : edgomez 1.5 { /* horizontal_scan */
72 : edgomez 1.2 0, 1, 2, 3, 8, 9, 16, 17,
73 :     10, 11, 4, 5, 6, 7, 15, 14,
74 :     13, 12, 19, 18, 24, 25, 32, 33,
75 :     26, 27, 20, 21, 22, 23, 28, 29,
76 :     30, 31, 34, 35, 40, 41, 48, 49,
77 :     42, 43, 36, 37, 38, 39, 44, 45,
78 :     46, 47, 50, 51, 56, 57, 58, 59,
79 :     52, 53, 54, 55, 60, 61, 62, 63},
80 : Isibaar 1.1
81 : edgomez 1.5 { /* vertical_scan */
82 : edgomez 1.2 0, 8, 16, 24, 1, 9, 2, 10,
83 :     17, 25, 32, 40, 48, 56, 57, 49,
84 :     41, 33, 26, 18, 3, 11, 4, 12,
85 :     19, 27, 34, 42, 50, 58, 35, 43,
86 :     51, 59, 20, 28, 5, 13, 6, 14,
87 :     21, 29, 36, 44, 52, 60, 37, 45,
88 :     53, 61, 22, 30, 7, 15, 23, 31,
89 :     38, 46, 54, 62, 39, 47, 55, 63}
90 : Isibaar 1.1 };
91 :    
92 : edgomez 1.2 #endif /* _ZIGZAG_H_ */

No admin address has been configured
ViewVC Help
Powered by ViewVC 1.0.4