[cvs] / xvidcore / src / utils / mem_transfer.h Repository:
ViewVC logotype

Annotation of /xvidcore/src/utils/mem_transfer.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.11 - (view) (download)

1 : edgomez 1.6 /*****************************************************************************
2 :     *
3 :     * XVID MPEG-4 VIDEO CODEC
4 :     * - 8<->16 bit buffer transfer header -
5 :     *
6 : edgomez 1.10 * Copyright(C) 2002 Michael Militzer <isibaar@xvid.org>
7 : edgomez 1.9 *
8 : edgomez 1.11 * 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.6 * (at your option) any later version.
14 :     *
15 :     * This program is distributed in the hope that it will be useful,
16 : edgomez 1.11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 : edgomez 1.6 * 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.11 * along with this program; if not, write to the Free Software
22 : edgomez 1.6 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
23 :     *
24 : edgomez 1.11 * 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 :     *
53 :     * $Id$
54 : edgomez 1.6 *
55 :     ****************************************************************************/
56 :    
57 : Isibaar 1.1 #ifndef _MEM_TRANSFER_H
58 :     #define _MEM_TRANSFER_H
59 :    
60 : edgomez 1.6 /*****************************************************************************
61 :     * transfer8to16 API
62 :     ****************************************************************************/
63 :    
64 : edgomez 1.4 typedef void (TRANSFER_8TO16COPY) (int16_t * const dst,
65 :     const uint8_t * const src,
66 :     uint32_t stride);
67 : edgomez 1.6
68 : edgomez 1.4 typedef TRANSFER_8TO16COPY *TRANSFER_8TO16COPY_PTR;
69 : edgomez 1.6
70 :     /* Our global function pointer - Initialized in xvid.c */
71 : Isibaar 1.1 extern TRANSFER_8TO16COPY_PTR transfer_8to16copy;
72 : edgomez 1.6
73 :     /* Implemented functions */
74 : Isibaar 1.1 TRANSFER_8TO16COPY transfer_8to16copy_c;
75 :     TRANSFER_8TO16COPY transfer_8to16copy_mmx;
76 : ia64p 1.5 TRANSFER_8TO16COPY transfer_8to16copy_ia64;
77 : Isibaar 1.1
78 : edgomez 1.6 /*****************************************************************************
79 :     * transfer16to8 API
80 :     ****************************************************************************/
81 :    
82 : edgomez 1.4 typedef void (TRANSFER_16TO8COPY) (uint8_t * const dst,
83 :     const int16_t * const src,
84 :     uint32_t stride);
85 :     typedef TRANSFER_16TO8COPY *TRANSFER_16TO8COPY_PTR;
86 : edgomez 1.6
87 :     /* Our global function pointer - Initialized in xvid.c */
88 : Isibaar 1.1 extern TRANSFER_16TO8COPY_PTR transfer_16to8copy;
89 : edgomez 1.6
90 :     /* Implemented functions */
91 : Isibaar 1.1 TRANSFER_16TO8COPY transfer_16to8copy_c;
92 :     TRANSFER_16TO8COPY transfer_16to8copy_mmx;
93 : ia64p 1.5 TRANSFER_16TO8COPY transfer_16to8copy_ia64;
94 : Isibaar 1.1
95 : edgomez 1.6 /*****************************************************************************
96 :     * transfer8to16 + substraction op API
97 :     ****************************************************************************/
98 :    
99 : edgomez 1.4 typedef void (TRANSFER_8TO16SUB) (int16_t * const dct,
100 :     uint8_t * const cur,
101 :     const uint8_t * ref,
102 :     const uint32_t stride);
103 : edgomez 1.6
104 : edgomez 1.4 typedef TRANSFER_8TO16SUB *TRANSFER_8TO16SUB_PTR;
105 : Isibaar 1.1
106 : edgomez 1.6 /* Our global function pointer - Initialized in xvid.c */
107 : Isibaar 1.1 extern TRANSFER_8TO16SUB_PTR transfer_8to16sub;
108 : edgomez 1.6
109 :     /* Implemented functions */
110 : Isibaar 1.1 TRANSFER_8TO16SUB transfer_8to16sub_c;
111 :     TRANSFER_8TO16SUB transfer_8to16sub_mmx;
112 : ia64p 1.5 TRANSFER_8TO16SUB transfer_8to16sub_ia64;
113 : Isibaar 1.1
114 : edgomez 1.6 /*****************************************************************************
115 :     * transfer8to16 + substraction op API - Bidirectionnal Version
116 :     ****************************************************************************/
117 :    
118 : edgomez 1.4 typedef void (TRANSFER_8TO16SUB2) (int16_t * const dct,
119 :     uint8_t * const cur,
120 :     const uint8_t * ref1,
121 :     const uint8_t * ref2,
122 :     const uint32_t stride);
123 : edgomez 1.6
124 : edgomez 1.4 typedef TRANSFER_8TO16SUB2 *TRANSFER_8TO16SUB2_PTR;
125 : suxen_drol 1.3
126 : edgomez 1.6 /* Our global function pointer - Initialized in xvid.c */
127 : suxen_drol 1.3 extern TRANSFER_8TO16SUB2_PTR transfer_8to16sub2;
128 : edgomez 1.6
129 :     /* Implemented functions */
130 : suxen_drol 1.3 TRANSFER_8TO16SUB2 transfer_8to16sub2_c;
131 : edgomez 1.8 TRANSFER_8TO16SUB2 transfer_8to16sub2_mmx;
132 : edgomez 1.7 TRANSFER_8TO16SUB2 transfer_8to16sub2_xmm;
133 : ia64p 1.5 TRANSFER_8TO16SUB2 transfer_8to16sub2_ia64;
134 : suxen_drol 1.3
135 :    
136 : edgomez 1.6 /*****************************************************************************
137 :     * transfer16to8 + addition op API
138 :     ****************************************************************************/
139 :    
140 : edgomez 1.4 typedef void (TRANSFER_16TO8ADD) (uint8_t * const dst,
141 :     const int16_t * const src,
142 :     uint32_t stride);
143 : edgomez 1.6
144 : edgomez 1.4 typedef TRANSFER_16TO8ADD *TRANSFER_16TO8ADD_PTR;
145 : edgomez 1.6
146 :     /* Our global function pointer - Initialized in xvid.c */
147 : Isibaar 1.1 extern TRANSFER_16TO8ADD_PTR transfer_16to8add;
148 : edgomez 1.6
149 :     /* Implemented functions */
150 : Isibaar 1.1 TRANSFER_16TO8ADD transfer_16to8add_c;
151 :     TRANSFER_16TO8ADD transfer_16to8add_mmx;
152 : ia64p 1.5 TRANSFER_16TO8ADD transfer_16to8add_ia64;
153 : Isibaar 1.1
154 : edgomez 1.6 /*****************************************************************************
155 :     * transfer8to8 + no op
156 :     ****************************************************************************/
157 :    
158 : edgomez 1.4 typedef void (TRANSFER8X8_COPY) (uint8_t * const dst,
159 :     const uint8_t * const src,
160 :     const uint32_t stride);
161 : edgomez 1.6
162 : edgomez 1.4 typedef TRANSFER8X8_COPY *TRANSFER8X8_COPY_PTR;
163 : edgomez 1.6
164 :     /* Our global function pointer - Initialized in xvid.c */
165 : Isibaar 1.1 extern TRANSFER8X8_COPY_PTR transfer8x8_copy;
166 : edgomez 1.6
167 :     /* Implemented functions */
168 : Isibaar 1.1 TRANSFER8X8_COPY transfer8x8_copy_c;
169 :     TRANSFER8X8_COPY transfer8x8_copy_mmx;
170 : ia64p 1.5 TRANSFER8X8_COPY transfer8x8_copy_ia64;
171 : Isibaar 1.1
172 : edgomez 1.6 #endif

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