Source code

Revision control

Copy as Markdown

Other Tools

# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
# vim: set filetype=python:
# 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['CC_TYPE'] == 'clang-cl':
if CONFIG['TARGET_CPU'] == 'x86':
SOURCES += [
'yuv_convert_mmx.cpp',
]
else:
SOURCES += ['yuv_convert_mmx.cpp']
SOURCES['yuv_convert_mmx.cpp'].flags += CONFIG['MMX_FLAGS']
if CONFIG['CC_TYPE'] == 'clang-cl':
if CONFIG['TARGET_CPU'] == 'x86_64' or \
(CONFIG['TARGET_CPU'] == 'x86' and CONFIG['CC_TYPE'] == 'clang-cl'):
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['TARGET_CPU'] == 'arm' and CONFIG['HAVE_ARM_NEON']:
SOURCES += [
'yuv_row_arm.s',
]
SOURCES += [
'yuv_convert_arm.cpp',
]
LOCAL_INCLUDES += ['/media/libyuv/libyuv/include']
FINAL_LIBRARY = 'xul'