types_altivec.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2006 Guillaume Poirier <gpoirier@mplayerhq.hu>
3  *
4  * This file is part of FFmpeg.
5  *
6  * FFmpeg is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU Lesser General Public
8  * License as published by the Free Software Foundation; either
9  * version 2.1 of the License, or (at your option) any later version.
10  *
11  * FFmpeg is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14  * Lesser General Public License for more details.
15  *
16  * You should have received a copy of the GNU Lesser General Public
17  * License along with FFmpeg; if not, write to the Free Software
18  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
19  */
20 
21 #ifndef AVUTIL_PPC_TYPES_ALTIVEC_H
22 #define AVUTIL_PPC_TYPES_ALTIVEC_H
23 
24 /***********************************************************************
25  * Vector types
26  **********************************************************************/
27 #define vec_u8 vector unsigned char
28 #define vec_s8 vector signed char
29 #define vec_u16 vector unsigned short
30 #define vec_s16 vector signed short
31 #define vec_u32 vector unsigned int
32 #define vec_s32 vector signed int
33 #define vec_f vector float
34 
35 /***********************************************************************
36  * Null vector
37  **********************************************************************/
38 #define LOAD_ZERO const vec_u8 zerov = vec_splat_u8( 0 )
39 
40 #define zero_u8v (vec_u8) zerov
41 #define zero_s8v (vec_s8) zerov
42 #define zero_u16v (vec_u16) zerov
43 #define zero_s16v (vec_s16) zerov
44 #define zero_u32v (vec_u32) zerov
45 #define zero_s32v (vec_s32) zerov
46 
47 #endif /* AVUTIL_PPC_TYPES_ALTIVEC_H */