1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
|
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
EXPORTS += [
'YCbCrUtils.h',
]
UNIFIED_SOURCES += [
'scale_yuv_argb.cpp',
'ycbcr_to_rgb565.cpp',
'YCbCrUtils.cpp',
'yuv_convert.cpp',
'yuv_row_c.cpp',
'yuv_row_table.cpp',
]
if CONFIG['INTEL_ARCHITECTURE']:
# These files use MMX and SSE2 intrinsics, so they need special compile flags
# on some compilers.
SOURCES += ['yuv_convert_sse2.cpp']
SOURCES['yuv_convert_sse2.cpp'].flags += CONFIG['SSE2_FLAGS']
# MSVC doesn't support MMX when targeting AMD64.
if CONFIG['_MSC_VER']:
if CONFIG['OS_TEST'] != 'x86_64':
SOURCES += [
'yuv_convert_mmx.cpp',
]
else:
SOURCES += ['yuv_convert_mmx.cpp']
SOURCES['yuv_convert_mmx.cpp'].flags += CONFIG['MMX_FLAGS']
if CONFIG['_MSC_VER']:
if CONFIG['OS_TEST'] == 'x86_64':
SOURCES += [
'yuv_row_win64.cpp',
]
else:
SOURCES += [
'yuv_row_win.cpp',
]
elif CONFIG['OS_ARCH'] in ('Linux', 'SunOS', 'Darwin', 'DragonFly',
'FreeBSD', 'NetBSD', 'OpenBSD'):
SOURCES += [
'yuv_row_posix.cpp',
]
else:
SOURCES += [
'yuv_row_other.cpp',
]
if CONFIG['CPU_ARCH'] == 'arm' and CONFIG['HAVE_ARM_NEON']:
SOURCES += [
'yuv_row_arm.s',
]
SOURCES += [
'yuv_convert_arm.cpp',
]
LOCAL_INCLUDES += ['/media/libyuv/include']
FINAL_LIBRARY = 'xul'
|