DXR is a code search and navigation tool aimed at making sense of large projects. It supports full-text and regex searches as well as structural queries.

Mercurial (5b81998bb7ab)

VCS Links

Line Code
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 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89
DEPTH		= @DEPTH@
topsrcdir	= @top_srcdir@
srcdir		= @srcdir@
VPATH		= @srcdir@

include $(DEPTH)/config/autoconf.mk

MODULE       = ycbcr
LIBRARY_NAME = ycbcr
LIBXUL_LIBRARY = 1
EXPORT_LIBRARY = 1

DEFINES += -D_IMPL_NS_GFX

EXPORTS      = chromium_types.h \
               yuv_convert.h \
               yuv_row.h \
               ycbcr_to_rgb565.h \
               $(NULL)

CPPSRCS = yuv_convert.cpp \
          yuv_row_c.cpp \
          yuv_row_table.cpp \
          ycbcr_to_rgb565.cpp \
          $(NULL)

# Are we targeting x86 or x64?  If so, build yuv_convert_mmx.cpp and
# yuv_convert_sse2.cpp.
ifneq (,$(INTEL_ARCHITECTURE))
CPPSRCS += yuv_convert_sse2.cpp

# MSVC doesn't support MMX when targeting AMD64.
ifdef _MSC_VER
ifneq ($(OS_TEST),x86_64)
CPPSRCS += yuv_convert_mmx.cpp
endif
else
CPPSRCS += yuv_convert_mmx.cpp
endif
endif

ifdef _MSC_VER
ifeq ($(OS_TEST),x86_64)
ifeq (1400,$(_MSC_VER))
# VC8 doesn't support some SSE2 built-in functions
CPPSRCS += yuv_row_win.cpp \
           $(NULL)
else
CPPSRCS += yuv_row_win64.cpp \
           $(NULL)
endif
else
CPPSRCS += yuv_row_win.cpp \
           $(NULL)
endif
else
ifneq (,$(filter Linux SunOS Darwin DragonFly FreeBSD NetBSD OpenBSD, $(OS_ARCH)))
CPPSRCS += yuv_row_posix.cpp \
           $(NULL)
else
CPPSRCS += yuv_row_other.cpp \
           $(NULL)
endif # posix
endif # windows

ifeq (arm,$(findstring arm,$(OS_TEST)))
ifdef HAVE_ARM_NEON
CPPSRCS += yuv_convert_arm.cpp \
           $(NULL)
ASFILES = yuv_row_arm.$(ASM_SUFFIX) \
          $(NULL)
endif
endif

include $(topsrcdir)/config/rules.mk

# These files use MMX and SSE2 intrinsics, so they need special compile flags
# on some compilers.
ifneq (,$(INTEL_ARCHITECTURE))
ifdef GNU_CC
yuv_convert_mmx.$(OBJ_SUFFIX): CXXFLAGS += -mmmx
yuv_convert_sse2.$(OBJ_SUFFIX): CXXFLAGS += -msse2
endif

ifdef SOLARIS_SUNPRO_CXX
yuv_convert_mmx.$(OBJ_SUFFIX): CXXFLAGS += -xarch=mmx -xO4
yuv_convert_sse2.$(OBJ_SUFFIX): CXXFLAGS += -xarch=sse2 -xO4
endif
endif