OSDN Git Service

ENC: add common structure for AVC encoder
[android-x86/hardware-intel-common-vaapi.git] / src / Makefile.am
1 # Copyright (c) 2007 Intel Corporation. All Rights Reserved.
2 #
3 # Permission is hereby granted, free of charge, to any person obtaining a
4 # copy of this software and associated documentation files (the
5 # "Software"), to deal in the Software without restriction, including
6 # without limitation the rights to use, copy, modify, merge, publish,
7 # distribute, sub license, and/or sell copies of the Software, and to
8 # permit persons to whom the Software is furnished to do so, subject to
9 # the following conditions:
10
11 # The above copyright notice and this permission notice (including the
12 # next paragraph) shall be included in all copies or substantial portions
13 # of the Software.
14
15 # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
16 # OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17 # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
18 # IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR
19 # ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
20 # TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
21 # SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22
23 SUBDIRS         = shaders
24 DIST_SUBDIRS    = $(SUBDIRS)
25 EXTRA_DIST      =
26 BUILT_SOURCES   =
27
28 AM_CPPFLAGS = \
29         -DPTHREADS              \
30         $(DRM_CFLAGS)           \
31         $(LIBVA_DEPS_CFLAGS)    \
32         -DVA_DRIVERS_PATH="\"$(LIBVA_DRIVERS_PATH)\"" \
33         $(NULL)
34
35 driver_cflags = \
36         -Wall                   \
37         -fvisibility=hidden     \
38         $(NULL)
39
40 driver_ldflags = \
41         -avoid-version          \
42         -no-undefined           \
43         -Wl,--no-undefined      \
44         $(NULL)
45
46 driver_libs = \
47         -lpthread -lm -ldl      \
48         $(DRM_LIBS) -ldrm_intel \
49         $(NULL)
50
51 source_c = \
52         dso_utils.c             \
53         gen6_mfc.c              \
54         gen6_mfc_common.c       \
55         gen6_mfd.c              \
56         gen6_vme.c              \
57         gen7_vme.c              \
58         gen7_mfc.c              \
59         gen7_mfd.c              \
60         gen75_mfd.c             \
61         gen75_mfc.c             \
62         gen8_encoder_vp8.c      \
63         gen8_mfc.c              \
64         gen8_mfd.c              \
65         gen8_vme.c              \
66         gen9_encoder_vp8.c      \
67         gen9_vme.c              \
68         gen9_mfc.c              \
69         gen9_mfc_hevc.c         \
70         gen9_mfd.c              \
71         gen9_vdenc.c            \
72         gen75_picture_process.c \
73         gen75_vme.c             \
74         gen75_vpp_gpe.c         \
75         gen75_vpp_vebox.c       \
76         gen9_post_processing.c  \
77         i965_avc_bsd.c          \
78         i965_avc_hw_scoreboard.c\
79         i965_avc_ildb.c         \
80         i965_decoder_utils.c    \
81         i965_device_info.c      \
82         i965_drv_video.c        \
83         i965_encoder.c          \
84         i965_encoder_utils.c    \
85         i965_encoder_vp8.c      \
86         i965_media.c            \
87         i965_media_h264.c       \
88         i965_media_mpeg2.c      \
89         i965_gpe_utils.c        \
90         i965_post_processing.c  \
91         i965_yuv_coefs.c        \
92         gen8_post_processing.c  \
93         i965_render.c           \
94         i965_vpp_avs.c          \
95         gen8_render.c           \
96         gen9_render.c           \
97         intel_batchbuffer.c     \
98         intel_batchbuffer_dump.c\
99         intel_driver.c          \
100         intel_memman.c          \
101         object_heap.c           \
102         intel_media_common.c            \
103         vp8_probs.c             \
104         vp9_probs.c             \
105         vpx_quant.c             \
106         gen9_vp9_encoder_kernels.c      \
107         gen9_vp9_const_def.c      \
108         gen9_vp9_encoder.c      \
109         intel_common_vpp_internal.c           \
110         i965_encoder_const_def.c    \
111         $(NULL)
112
113 source_h = \
114         dso_utils.h             \
115         gen6_mfc.h              \
116         gen6_mfd.h              \
117         gen6_vme.h              \
118         gen7_mfd.h              \
119         gen75_picture_process.h \
120         gen75_vpp_gpe.h         \
121         gen75_vpp_vebox.h       \
122         gen8_post_processing.h  \
123         gen9_mfd.h              \
124         gen9_mfc.h              \
125         gen9_vdenc.h            \
126         i965_avc_bsd.h          \
127         i965_avc_hw_scoreboard.h\
128         i965_avc_ildb.h         \
129         i965_decoder.h          \
130         i965_decoder_utils.h    \
131         i965_defines.h          \
132         i965_drv_video.h        \
133         i965_encoder.h          \
134         i965_encoder_utils.h    \
135         i965_encoder_vp8.h      \
136         i965_media.h            \
137         i965_media_h264.h       \
138         i965_media_mpeg2.h      \
139         i965_mutext.h           \
140         i965_gpe_utils.h        \
141         i965_pciids.h           \
142         i965_post_processing.h  \
143         i965_render.h           \
144         i965_structs.h          \
145         i965_vpp_avs.h          \
146         i965_yuv_coefs.h        \
147         intel_batchbuffer.h     \
148         intel_batchbuffer_dump.h\
149         intel_compiler.h        \
150         intel_driver.h          \
151         intel_media.h           \
152         intel_memman.h          \
153         intel_version.h         \
154         object_heap.h           \
155         vp8_probs.h             \
156         vp9_probs.h             \
157         vpx_quant.h             \
158         sysdeps.h               \
159         va_backend_compat.h     \
160         i965_fourcc.h           \
161         gen9_vp9_encoder.h           \
162         gen9_vp9_encapi.h           \
163         gen9_vp9_const_def.h      \
164         gen9_vp9_encoder_kernels.h           \
165         intel_gen_vppapi.h           \
166         intel_common_vpp_internal.h           \
167         i965_encoder_common.h        \
168         i965_encoder_api.h        \
169         $(NULL)
170
171 # convenience library that can be linked by driver and tests
172 noinst_LTLIBRARIES              = libi965_drv_video.la
173 libi965_drv_video_la_CFLAGS     = $(driver_cflags)
174 libi965_drv_video_la_LDFLAGS    = $(driver_ldflags)
175 libi965_drv_video_la_LIBADD     = $(driver_libs)
176 libi965_drv_video_la_SOURCES    = $(source_c)
177
178 # driver module
179 i965_drv_video_la_LTLIBRARIES   = i965_drv_video.la
180 i965_drv_video_ladir            = $(LIBVA_DRIVERS_PATH)
181 i965_drv_video_la_CFLAGS        = $(driver_cflags)
182 i965_drv_video_la_LDFLAGS       = -module $(driver_ldflags)
183 i965_drv_video_la_LIBADD        = libi965_drv_video.la $(driver_libs)
184 i965_drv_video_la_SOURCES       =
185
186 noinst_HEADERS                  = $(source_h)
187
188 if USE_X11
189 source_c                        += i965_output_dri.c
190 source_h                        += i965_output_dri.h
191 endif
192
193 if USE_WAYLAND
194 source_c                        += i965_output_wayland.c
195 source_h                        += i965_output_wayland.h
196 source_h                        += $(protocol_source_h)
197 driver_cflags                   += $(WAYLAND_CFLAGS) $(WAYLAND_CLIENT_CFLAGS)
198 endif
199
200 # git version
201 VERSION_FILE                    = .VERSION
202 OLD_VERSION_FILE                = $(VERSION_FILE).old
203 NEW_VERSION_FILE                = $(VERSION_FILE).new
204 PKG_VERSION_FILE                = $(VERSION_FILE).pkg
205
206 intel_version.h: gen-version
207         $(AM_V_GEN)                                                      \
208         OV=`[ -f $(OLD_VERSION_FILE) ] && cat $(OLD_VERSION_FILE) || :`; \
209         NV=`cat $(NEW_VERSION_FILE)`;                                    \
210         if [ "$$OV" != "$$NV" -o ! -f intel_version.h ]; then            \
211                 cp -f $(NEW_VERSION_FILE) $(OLD_VERSION_FILE);           \
212                 $(SED) -e "s|\@INTEL_DRIVER_GIT_VERSION\@|$${NV}|"       \
213                         $(srcdir)/intel_version.h.in > intel_version.h;  \
214         fi
215
216 gen-version:
217         @echo $(VERSION) > $(NEW_VERSION_FILE)
218 if HAVE_GIT
219         @[ -d $(top_srcdir)/.git ] && \
220         (cd $(top_srcdir) && $(GIT) describe --tags) > $(NEW_VERSION_FILE) || :
221 endif
222         @[ -f $(srcdir)/$(PKG_VERSION_FILE) ] && \
223         cp -f $(srcdir)/$(PKG_VERSION_FILE) $(NEW_VERSION_FILE) || :
224
225 $(PKG_VERSION_FILE): $(NEW_VERSION_FILE)
226         @cp -f $< $@
227
228 BUILT_SOURCES   += intel_version.h
229 EXTRA_DIST      += Android.mk intel_version.h.in $(PKG_VERSION_FILE)
230
231 # Wayland protocol
232 protocol_source_h = wayland-drm-client-protocol.h
233 i965_output_wayland.c: $(protocol_source_h)
234 %-client-protocol.h : %.xml
235         $(AM_V_GEN)$(WAYLAND_SCANNER) client-header < $< > $@
236
237 EXTRA_DIST += \
238         wayland-drm.xml         \
239         $(NULL)
240
241 # Extra clean files so that maintainer-clean removes *everything*
242 MAINTAINERCLEANFILES = Makefile.in config.h.in