Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(24)

Side by Side Diff: include/libyuv/row.h

Issue 2424233004: Half float neon port, enable O2 for neon, and denormal test. (Closed)
Patch Set: remove fcvt version of neon disable f16c for intel halffloat test use 1/65535 Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « README.chromium ('k') | include/libyuv/version.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright 2011 The LibYuv Project Authors. All rights reserved. 2 * Copyright 2011 The LibYuv Project Authors. All rights reserved.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license 4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source 5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found 6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may 7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree. 8 * be found in the AUTHORS file in the root of the source tree.
9 */ 9 */
10 10
(...skipping 183 matching lines...) Expand 10 before | Expand all | Expand 10 after
194 #define HAS_ARGBPOLYNOMIALROW_AVX2 194 #define HAS_ARGBPOLYNOMIALROW_AVX2
195 #define HAS_ARGBSHUFFLEROW_AVX2 195 #define HAS_ARGBSHUFFLEROW_AVX2
196 #define HAS_ARGBTORGB565DITHERROW_AVX2 196 #define HAS_ARGBTORGB565DITHERROW_AVX2
197 #define HAS_ARGBTOUVJROW_AVX2 197 #define HAS_ARGBTOUVJROW_AVX2
198 #define HAS_ARGBTOUVROW_AVX2 198 #define HAS_ARGBTOUVROW_AVX2
199 #define HAS_ARGBTOYJROW_AVX2 199 #define HAS_ARGBTOYJROW_AVX2
200 #define HAS_ARGBTOYROW_AVX2 200 #define HAS_ARGBTOYROW_AVX2
201 #define HAS_COPYROW_AVX 201 #define HAS_COPYROW_AVX
202 #define HAS_H422TOARGBROW_AVX2 202 #define HAS_H422TOARGBROW_AVX2
203 #define HAS_HALFFLOATROW_AVX2 203 #define HAS_HALFFLOATROW_AVX2
204 // #define HAS_HALFFLOATROW_F16C // Enable to test halffloat cast 204 // #define HAS_HALFFLOATROW_F16C // Enable to test halffloat cast
205 #define HAS_I400TOARGBROW_AVX2 205 #define HAS_I400TOARGBROW_AVX2
206 #define HAS_I422TOARGB1555ROW_AVX2 206 #define HAS_I422TOARGB1555ROW_AVX2
207 #define HAS_I422TOARGB4444ROW_AVX2 207 #define HAS_I422TOARGB4444ROW_AVX2
208 #define HAS_I422TOARGBROW_AVX2 208 #define HAS_I422TOARGBROW_AVX2
209 #define HAS_I422TORGB24ROW_AVX2 209 #define HAS_I422TORGB24ROW_AVX2
210 #define HAS_I422TORGB565ROW_AVX2 210 #define HAS_I422TORGB565ROW_AVX2
211 #define HAS_I422TORGBAROW_AVX2 211 #define HAS_I422TORGBAROW_AVX2
212 #define HAS_I444TOARGBROW_AVX2 212 #define HAS_I444TOARGBROW_AVX2
213 #define HAS_INTERPOLATEROW_AVX2 213 #define HAS_INTERPOLATEROW_AVX2
214 #define HAS_J422TOARGBROW_AVX2 214 #define HAS_J422TOARGBROW_AVX2
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after
323 #define HAS_SPLITUVROW_NEON 323 #define HAS_SPLITUVROW_NEON
324 #define HAS_UYVYTOARGBROW_NEON 324 #define HAS_UYVYTOARGBROW_NEON
325 #define HAS_UYVYTOUV422ROW_NEON 325 #define HAS_UYVYTOUV422ROW_NEON
326 #define HAS_UYVYTOUVROW_NEON 326 #define HAS_UYVYTOUVROW_NEON
327 #define HAS_UYVYTOYROW_NEON 327 #define HAS_UYVYTOYROW_NEON
328 #define HAS_YUY2TOARGBROW_NEON 328 #define HAS_YUY2TOARGBROW_NEON
329 #define HAS_YUY2TOUV422ROW_NEON 329 #define HAS_YUY2TOUV422ROW_NEON
330 #define HAS_YUY2TOUVROW_NEON 330 #define HAS_YUY2TOUVROW_NEON
331 #define HAS_YUY2TOYROW_NEON 331 #define HAS_YUY2TOYROW_NEON
332 332
333 // TODO(fbarchard): Port to 32 bit.
334 #if defined(__aarch64__)
335 #define HAS_HALFFLOATROW_NEON
336 #endif
337
333 // Effects: 338 // Effects:
334 #define HAS_ARGBADDROW_NEON 339 #define HAS_ARGBADDROW_NEON
335 #define HAS_ARGBATTENUATEROW_NEON 340 #define HAS_ARGBATTENUATEROW_NEON
336 #define HAS_ARGBBLENDROW_NEON 341 #define HAS_ARGBBLENDROW_NEON
337 #define HAS_ARGBCOLORMATRIXROW_NEON 342 #define HAS_ARGBCOLORMATRIXROW_NEON
338 #define HAS_ARGBGRAYROW_NEON 343 #define HAS_ARGBGRAYROW_NEON
339 #define HAS_ARGBMIRRORROW_NEON 344 #define HAS_ARGBMIRRORROW_NEON
340 #define HAS_ARGBMULTIPLYROW_NEON 345 #define HAS_ARGBMULTIPLYROW_NEON
341 #define HAS_ARGBQUANTIZEROW_NEON 346 #define HAS_ARGBQUANTIZEROW_NEON
342 #define HAS_ARGBSEPIAROW_NEON 347 #define HAS_ARGBSEPIAROW_NEON
(...skipping 1604 matching lines...) Expand 10 before | Expand all | Expand 10 after
1947 void HalfFloatRow_C(const uint16* src, uint16* dst, float scale, int width); 1952 void HalfFloatRow_C(const uint16* src, uint16* dst, float scale, int width);
1948 void HalfFloatRow_SSE2(const uint16* src, uint16* dst, float scale, int width); 1953 void HalfFloatRow_SSE2(const uint16* src, uint16* dst, float scale, int width);
1949 void HalfFloatRow_Any_SSE2(const uint16* src, uint16* dst, float scale, 1954 void HalfFloatRow_Any_SSE2(const uint16* src, uint16* dst, float scale,
1950 int width); 1955 int width);
1951 void HalfFloatRow_AVX2(const uint16* src, uint16* dst, float scale, int width); 1956 void HalfFloatRow_AVX2(const uint16* src, uint16* dst, float scale, int width);
1952 void HalfFloatRow_Any_AVX2(const uint16* src, uint16* dst, float scale, 1957 void HalfFloatRow_Any_AVX2(const uint16* src, uint16* dst, float scale,
1953 int width); 1958 int width);
1954 void HalfFloatRow_F16C(const uint16* src, uint16* dst, float scale, int width); 1959 void HalfFloatRow_F16C(const uint16* src, uint16* dst, float scale, int width);
1955 void HalfFloatRow_Any_F16C(const uint16* src, uint16* dst, float scale, 1960 void HalfFloatRow_Any_F16C(const uint16* src, uint16* dst, float scale,
1956 int width); 1961 int width);
1962 void HalfFloatRow_NEON(const uint16* src, uint16* dst, float scale, int width);
1963 void HalfFloatRow_Any_NEON(const uint16* src, uint16* dst, float scale,
1964 int width);
1957 1965
1958 void ARGBLumaColorTableRow_C(const uint8* src_argb, uint8* dst_argb, int width, 1966 void ARGBLumaColorTableRow_C(const uint8* src_argb, uint8* dst_argb, int width,
1959 const uint8* luma, uint32 lumacoeff); 1967 const uint8* luma, uint32 lumacoeff);
1960 void ARGBLumaColorTableRow_SSSE3(const uint8* src_argb, uint8* dst_argb, 1968 void ARGBLumaColorTableRow_SSSE3(const uint8* src_argb, uint8* dst_argb,
1961 int width, 1969 int width,
1962 const uint8* luma, uint32 lumacoeff); 1970 const uint8* luma, uint32 lumacoeff);
1963 1971
1964 #ifdef __cplusplus 1972 #ifdef __cplusplus
1965 } // extern "C" 1973 } // extern "C"
1966 } // namespace libyuv 1974 } // namespace libyuv
1967 #endif 1975 #endif
1968 1976
1969 #endif // INCLUDE_LIBYUV_ROW_H_ 1977 #endif // INCLUDE_LIBYUV_ROW_H_
OLDNEW
« no previous file with comments | « README.chromium ('k') | include/libyuv/version.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698