rs_convert.spec revision be2163801c33d6849ae580d42b919b8803d55095
1be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#
2be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet# Copyright (C) 2014 The Android Open Source Project
3be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#
4be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet# Licensed under the Apache License, Version 2.0 (the "License");
5be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet# you may not use this file except in compliance with the License.
6be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet# You may obtain a copy of the License at
7be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#
8be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#      http://www.apache.org/licenses/LICENSE-2.0
9be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#
10be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet# Unless required by applicable law or agreed to in writing, software
11be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet# distributed under the License is distributed on an "AS IS" BASIS,
12be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet# See the License for the specific language governing permissions and
14be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet# limitations under the License.
15be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#
16be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
17be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletheader:
18be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsummary: Conversion functions
19be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletdescription:
20be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet TODO Add desc.
21be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletend:
22be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
23be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletfunction: convert_#3#1
24be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletversion: 9
25be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletattrib: const
26be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletw: 2, 3, 4
27be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillett: u8, u16, u32, i8, i16, i32, f32
28be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillett: u8, u16, u32, i8, i16, i32, f32
29be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletret: #3#1
30be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletarg: #2#1 v, compatible(#3)
31be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsummary: Converts numerical vectors
32be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletdescription:
33be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet Component wise conversion from a numerical type to another.
34be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
35be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet Conversions of floating point values to integer will truncate.
36be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
37be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet Conversions of numbers too large to fit the destination type yield undefined results.
38be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet For example, converting a float that contains 1.0e18 to a short is undefined.
39be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet Use @clamp() to avoid this.
40be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletend:
41be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
42be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletfunction: convert_#3#1
43be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletversion: 21
44be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletattrib: const
45be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletw: 2, 3, 4
46be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillett: u64, i64, f64
47be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillett: u64, i64, f64
48be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletret: #3#1
49be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletarg: #2#1 v, compatible(#3)
50be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletend:
51be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
52be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletfunction: convert_#3#1
53be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletversion: 21
54be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletattrib: const
55be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletw: 2, 3, 4
56be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillett: u64, i64, f64
57be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillett: u8, u16, u32, i8, i16, i32, f32
58be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletret: #3#1
59be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletarg: #2#1 v, compatible(#3)
60be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletend:
61be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
62be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletfunction: convert_#3#1
63be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletversion: 21
64be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletattrib: const
65be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletw: 2, 3, 4
66be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillett: u8, u16, u32, i8, i16, i32, f32
67be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillett: u64, i64, f64
68be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletret: #3#1
69be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletarg: #2#1 v, compatible(#3)
70be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletend:
71be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
72be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletfunction: rsPackColorTo8888
73be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletattrib: const
74be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletret: uchar4
75be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletarg: float r
76be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletarg: float g
77be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletarg: float b
78be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsummary:
79be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletdescription:
80be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet Pack floating point (0-1) RGB values into a uchar4.
81be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
82be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet For the float3 variant and the variant that only specifies r, g, b,
83be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet the alpha component is set to 255 (1.0).
84be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillettest: none
85be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletend:
86be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
87be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletfunction: rsPackColorTo8888
88be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletattrib: const
89be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletret: uchar4
90be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletarg: float r
91be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletarg: float g
92be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletarg: float b
93be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletarg: float a
94be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillettest: none
95be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletend:
96be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
97be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletfunction: rsPackColorTo8888
98be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletattrib: const
99be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletret: uchar4
100be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletarg: float3 color
101be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillettest: none
102be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletend:
103be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
104be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletfunction: rsPackColorTo8888
105be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletattrib: const
106be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletret: uchar4
107be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletarg: float4 color
108be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillettest: none
109be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletend:
110be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
111be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletfunction: rsUnpackColor8888
112be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletattrib: =const
113be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletret: float4
114be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletarg: uchar4 c
115be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsummary:
116be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletdescription:
117be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet Unpack a uchar4 color to float4.  The resulting float range will be (0-1).
118be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillettest: none
119be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletend:
120be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
121be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletfunction: rsYuvToRGBA_#2#1
122be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletattrib: const
123be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletw: 4
124be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillett: u8, f32
125be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletret: #2#1
126be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletarg: uchar y
127be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletarg: uchar u
128be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletarg: uchar v
129be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletsummary:
130be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletdescription:
131be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet Convert from YUV to RGBA.
132be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillettest: none
133be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletend:
134