Add initial infrastructure for video processing.
[platform/upstream/gstreamer-vaapi.git] / gst-libs / gst / vaapi / Makefile.am
1 lib_LTLIBRARIES = libgstvaapi-@GST_API_VERSION@.la
2
3 if USE_DRM
4 lib_LTLIBRARIES += libgstvaapi-drm-@GST_API_VERSION@.la
5 endif
6
7 if USE_X11
8 lib_LTLIBRARIES += libgstvaapi-x11-@GST_API_VERSION@.la
9 endif
10
11 if USE_GLX
12 lib_LTLIBRARIES += libgstvaapi-glx-@GST_API_VERSION@.la
13 endif
14
15 if USE_WAYLAND
16 lib_LTLIBRARIES += libgstvaapi-wayland-@GST_API_VERSION@.la
17 endif
18
19 libgstvaapi_includedir = \
20         $(includedir)/gstreamer-$(GST_API_VERSION)/gst/vaapi
21
22 libgstvaapi_cflags =                            \
23         -DGST_VAAPI_CORE                        \
24         -DGST_USE_UNSTABLE_API                  \
25         -I$(top_srcdir)/gst-libs                \
26         -I$(top_builddir)/gst-libs              \
27         $(GST_BASE_CFLAGS)                      \
28         $(GST_BASEVIDEO_CFLAGS)                 \
29         $(GST_VIDEO_CFLAGS)                     \
30         $(GST_CFLAGS)                           \
31         $(GST_CODEC_PARSERS_CFLAGS)             \
32         $(LIBVA_CFLAGS)                         \
33         $(NULL)
34
35 libgstvaapi_libs =                              \
36         $(GST_BASE_LIBS)                        \
37         $(GST_BASEVIDEO_LIBS)                   \
38         $(GST_LIBS)                             \
39         $(GST_VIDEO_LIBS)                       \
40         $(GST_CODEC_PARSERS_LIBS)               \
41         $(LIBVA_LIBS)                           \
42         $(top_builddir)/gst-libs/gst/video/libgstvaapi-videoutils.la \
43         $(top_builddir)/gst-libs/gst/codecparsers/libgstvaapi-codecparsers.la
44
45 libgstvaapi_source_c =                          \
46         gstvaapicodec_objects.c                 \
47         gstvaapicontext.c                       \
48         gstvaapidecoder.c                       \
49         gstvaapidecoder_dpb.c                   \
50         gstvaapidecoder_h264.c                  \
51         gstvaapidecoder_mpeg2.c                 \
52         gstvaapidecoder_mpeg4.c                 \
53         gstvaapidecoder_objects.c               \
54         gstvaapidecoder_unit.c                  \
55         gstvaapidecoder_vc1.c                   \
56         gstvaapidisplay.c                       \
57         gstvaapidisplaycache.c                  \
58         gstvaapifilter.c                        \
59         gstvaapiimage.c                         \
60         gstvaapiimagepool.c                     \
61         gstvaapiminiobject.c                    \
62         gstvaapiobject.c                        \
63         gstvaapiparser_frame.c                  \
64         gstvaapipixmap.c                        \
65         gstvaapiprofile.c                       \
66         gstvaapisubpicture.c                    \
67         gstvaapisurface.c                       \
68         gstvaapisurfacepool.c                   \
69         gstvaapisurfaceproxy.c                  \
70         gstvaapiutils.c                         \
71         gstvaapivalue.c                         \
72         gstvaapivideopool.c                     \
73         gstvaapiwindow.c                        \
74         video-format.c                          \
75         $(NULL)
76
77 libgstvaapi_source_h =                          \
78         gstvaapidecoder.h                       \
79         gstvaapidecoder_h264.h                  \
80         gstvaapidecoder_mpeg2.h                 \
81         gstvaapidecoder_mpeg4.h                 \
82         gstvaapidecoder_vc1.h                   \
83         gstvaapidisplay.h                       \
84         gstvaapifilter.h                        \
85         gstvaapiimage.h                         \
86         gstvaapiimagepool.h                     \
87         gstvaapiobject.h                        \
88         gstvaapipixmap.h                        \
89         gstvaapiprofile.h                       \
90         gstvaapisubpicture.h                    \
91         gstvaapisurface.h                       \
92         gstvaapisurfacepool.h                   \
93         gstvaapisurfaceproxy.h                  \
94         gstvaapitypes.h                         \
95         gstvaapivalue.h                         \
96         gstvaapivideopool.h                     \
97         gstvaapiwindow.h                        \
98         video-format.h                          \
99         $(NULL)
100
101 libgstvaapi_source_priv_h =                     \
102         glibcompat.h                            \
103         gstcompat.h                             \
104         gstvaapicodec_objects.h                 \
105         gstvaapicompat.h                        \
106         gstvaapicontext.h                       \
107         gstvaapidebug.h                         \
108         gstvaapidecoder_dpb.h                   \
109         gstvaapidecoder_objects.h               \
110         gstvaapidecoder_priv.h                  \
111         gstvaapidecoder_unit.h                  \
112         gstvaapidisplay_priv.h                  \
113         gstvaapidisplaycache.h                  \
114         gstvaapiimage_priv.h                    \
115         gstvaapiminiobject.h                    \
116         gstvaapiobject_priv.h                   \
117         gstvaapiparser_frame.h                  \
118         gstvaapipixmap_priv.h                   \
119         gstvaapisurface_priv.h                  \
120         gstvaapisurfaceproxy_priv.h             \
121         gstvaapiutils.h                         \
122         gstvaapiversion.h                       \
123         gstvaapivideopool_priv.h                \
124         gstvaapiwindow_priv.h                   \
125         gstvaapiworkarounds.h                   \
126         sysdeps.h                               \
127         $(NULL)
128
129 libgstvaapi_jpegdec_source_c = gstvaapidecoder_jpeg.c
130 libgstvaapi_jpegdec_source_h = gstvaapidecoder_jpeg.h
131 if USE_JPEG_DECODER
132 libgstvaapi_source_c += $(libgstvaapi_jpegdec_source_c)
133 libgstvaapi_source_h += $(libgstvaapi_jpegdec_source_h)
134 endif
135
136 libgstvaapi_drm_source_c =                      \
137         gstvaapidisplay_drm.c                   \
138         gstvaapiwindow_drm.c                    \
139         gstvaapiutils.c                         \
140         $(NULL)
141
142 libgstvaapi_drm_source_h =                      \
143         gstvaapidisplay_drm.h                   \
144         gstvaapiwindow_drm.h                    \
145         $(NULL)
146
147 libgstvaapi_drm_source_priv_h =                 \
148         gstvaapicompat.h                        \
149         gstvaapidisplay_drm_priv.h              \
150         gstvaapiutils.h                         \
151         $(NULL)
152
153 libgstvaapi_x11_source_c =                      \
154         gstvaapidisplay_x11.c                   \
155         gstvaapipixmap_x11.c                    \
156         gstvaapiutils.c                         \
157         gstvaapiutils_x11.c                     \
158         gstvaapiwindow_x11.c                    \
159         $(NULL)
160
161 libgstvaapi_x11_source_h =                      \
162         gstvaapidisplay_x11.h                   \
163         gstvaapipixmap_x11.h                    \
164         gstvaapiwindow_x11.h                    \
165         $(NULL)
166
167 libgstvaapi_x11_source_priv_h =                 \
168         gstvaapicompat.h                        \
169         gstvaapidisplay_x11_priv.h              \
170         gstvaapiutils.h                         \
171         gstvaapiutils_x11.h                     \
172         gstvaapiwindow_x11_priv.h               \
173         $(NULL)
174
175 libgstvaapi_glx_source_c =                      \
176         gstvaapidisplay_glx.c                   \
177         gstvaapitexture.c                       \
178         gstvaapiutils.c                         \
179         gstvaapiutils_glx.c                     \
180         gstvaapiutils_x11.c                     \
181         gstvaapiwindow_glx.c                    \
182         $(NULL)
183
184 libgstvaapi_glx_source_h =                      \
185         gstvaapidisplay_glx.h                   \
186         gstvaapitexture.h                       \
187         gstvaapiwindow_glx.h                    \
188         $(NULL)
189
190 libgstvaapi_glx_source_priv_h =                 \
191         gstvaapicompat.h                        \
192         gstvaapidisplay_glx_priv.h              \
193         gstvaapiutils.h                         \
194         gstvaapiutils_glx.h                     \
195         gstvaapiutils_x11.h                     \
196         $(NULL)
197
198 libgstvaapi_wayland_source_c =                  \
199         gstvaapidisplay_wayland.c               \
200         gstvaapiutils.c                         \
201         gstvaapiwindow_wayland.c                \
202         $(NULL)
203
204 libgstvaapi_wayland_source_h =                  \
205         gstvaapidisplay_wayland.h               \
206         gstvaapiwindow_wayland.h                \
207         $(NULL)
208
209 libgstvaapi_wayland_source_priv_h =             \
210         gstvaapicompat.h                        \
211         gstvaapidisplay_wayland_priv.h          \
212         gstvaapiutils.h                         \
213         $(NULL)
214
215 libgstvaapi_@GST_API_VERSION@_la_SOURCES =      \
216         $(libgstvaapi_source_c)                 \
217         $(libgstvaapi_source_priv_h)            \
218         $(NULL)
219
220 libgstvaapi_@GST_API_VERSION@include_HEADERS =  \
221         $(libgstvaapi_source_h)                 \
222         $(NULL)
223
224 libgstvaapi_@GST_API_VERSION@includedir =       \
225         $(libgstvaapi_includedir)
226
227 libgstvaapi_@GST_API_VERSION@_la_CFLAGS =       \
228         $(libgstvaapi_cflags)                   \
229         $(NULL)
230
231 libgstvaapi_@GST_API_VERSION@_la_LIBADD =       \
232         $(libgstvaapi_libs)                     \
233         $(NULL)
234
235 libgstvaapi_@GST_API_VERSION@_la_LDFLAGS =      \
236         $(GST_ALL_LDFLAGS)                      \
237         $(GST_VAAPI_LT_LDFLAGS)                 \
238         -export-symbols-regex "^gst_.*vaapi.*"  \
239         $(NULL)
240
241 libgstvaapi_drm_@GST_API_VERSION@_la_SOURCES =  \
242         $(libgstvaapi_drm_source_c)             \
243         $(libgstvaapi_drm_source_priv_h)        \
244         $(NULL)
245
246 libgstvaapi_drm_@GST_API_VERSION@include_HEADERS = \
247         $(libgstvaapi_drm_source_h)             \
248         $(NULL)
249
250 libgstvaapi_drm_@GST_API_VERSION@includedir =   \
251         $(libgstvaapi_includedir)
252
253 libgstvaapi_drm_@GST_API_VERSION@_la_CFLAGS =   \
254         -DGST_USE_UNSTABLE_API                  \
255         -I$(top_srcdir)/gst-libs                \
256         $(GLIB_CFLAGS)                          \
257         $(GST_BASE_CFLAGS)                      \
258         $(UDEV_CFLAGS)                          \
259         $(DRM_CFLAGS)                           \
260         $(LIBVA_DRM_CFLAGS)                     \
261         $(NULL)
262
263 libgstvaapi_drm_@GST_API_VERSION@_la_LIBADD =   \
264         $(GLIB_LIBS)                            \
265         $(UDEV_LIBS)                            \
266         $(DRM_LIBS)                             \
267         $(LIBVA_DRM_LIBS)                       \
268         libgstvaapi-$(GST_API_VERSION).la       \
269         $(NULL)
270
271 libgstvaapi_drm_@GST_API_VERSION@_la_LDFLAGS =  \
272         $(GST_ALL_LDFLAGS)                      \
273         $(GST_VAAPI_LT_LDFLAGS)                 \
274         $(NULL)
275
276 libgstvaapi_x11_@GST_API_VERSION@_la_SOURCES =  \
277         $(libgstvaapi_x11_source_c)             \
278         $(libgstvaapi_x11_source_priv_h)        \
279         $(NULL)
280
281 libgstvaapi_x11_@GST_API_VERSION@include_HEADERS = \
282         $(libgstvaapi_x11_source_h)             \
283         $(NULL)
284
285 libgstvaapi_x11_@GST_API_VERSION@includedir =   \
286         $(libgstvaapi_includedir)
287
288 libgstvaapi_x11_@GST_API_VERSION@_la_CFLAGS =   \
289         -DGST_USE_UNSTABLE_API                  \
290         -I$(top_srcdir)/gst-libs                \
291         $(GLIB_CFLAGS)                          \
292         $(GST_BASE_CFLAGS)                      \
293         $(X11_CFLAGS)                           \
294         $(XRANDR_CFLAGS)                        \
295         $(XRENDER_CFLAGS)                       \
296         $(LIBVA_X11_CFLAGS)                     \
297         $(NULL)
298
299 libgstvaapi_x11_@GST_API_VERSION@_la_LIBADD =   \
300         $(GLIB_LIBS)                            \
301         $(X11_LIBS)                             \
302         $(XRANDR_LIBS)                          \
303         $(XRENDER_LIBS)                         \
304         $(LIBVA_X11_LIBS)                       \
305         libgstvaapi-$(GST_API_VERSION).la       \
306         $(NULL)
307
308 libgstvaapi_x11_@GST_API_VERSION@_la_LDFLAGS =  \
309         $(GST_ALL_LDFLAGS)                      \
310         $(GST_VAAPI_LT_LDFLAGS)                 \
311         $(NULL)
312
313 libgstvaapi_glx_@GST_API_VERSION@_la_SOURCES =  \
314         $(libgstvaapi_glx_source_c)             \
315         $(libgstvaapi_glx_source_priv_h)        \
316         $(NULL)
317
318 libgstvaapi_glx_@GST_API_VERSION@include_HEADERS = \
319         $(libgstvaapi_glx_source_h)             \
320         $(NULL)
321
322 libgstvaapi_glx_@GST_API_VERSION@includedir =   \
323         $(libgstvaapi_includedir)
324
325 libgstvaapi_glx_@GST_API_VERSION@_la_CFLAGS =   \
326         -DGST_USE_UNSTABLE_API                  \
327         -I$(top_srcdir)/gst-libs                \
328         $(GLIB_CFLAGS)                          \
329         $(GST_BASE_CFLAGS)                      \
330         $(GST_VIDEO_CFLAGS)                     \
331         $(GL_CFLAGS)                            \
332         $(LIBVA_GLX_CFLAGS)                     \
333         $(NULL)
334
335 libgstvaapi_glx_@GST_API_VERSION@_la_LIBADD =   \
336         $(GLIB_LIBS)                            \
337         $(GST_BASE_LIBS)                        \
338         $(GST_VIDEO_LIBS)                       \
339         $(GL_LIBS)                              \
340         $(LIBVA_GLX_LIBS)                       \
341         libgstvaapi-x11-$(GST_API_VERSION).la   \
342         $(DLOPEN_LIBS)                          \
343         $(NULL)
344
345 libgstvaapi_glx_@GST_API_VERSION@_la_LDFLAGS =  \
346         $(GST_ALL_LDFLAGS)                      \
347         $(GST_VAAPI_LT_LDFLAGS)                 \
348         $(NULL)
349
350 libgstvaapi_wayland_@GST_API_VERSION@_la_SOURCES = \
351         $(libgstvaapi_wayland_source_c)         \
352         $(libgstvaapi_wayland_source_priv_h)    \
353         $(NULL)
354
355 libgstvaapi_wayland_@GST_API_VERSION@include_HEADERS = \
356         $(libgstvaapi_wayland_source_h)         \
357         $(NULL)
358
359 libgstvaapi_wayland_@GST_API_VERSION@includedir = \
360         $(libgstvaapi_includedir)
361
362 libgstvaapi_wayland_@GST_API_VERSION@_la_CFLAGS = \
363         -DGST_USE_UNSTABLE_API                  \
364         -I$(top_srcdir)/gst-libs                \
365         $(GLIB_CFLAGS)                          \
366         $(GST_BASE_CFLAGS)                      \
367         $(WAYLAND_CFLAGS)                       \
368         $(LIBVA_WAYLAND_CFLAGS)                 \
369         $(NULL)
370
371 libgstvaapi_wayland_@GST_API_VERSION@_la_LIBADD = \
372         $(GLIB_LIBS)                            \
373         $(WAYLAND_LIBS)                         \
374         $(LIBVA_WAYLAND_LIBS)                   \
375         libgstvaapi-$(GST_API_VERSION).la       \
376         $(NULL)
377
378 libgstvaapi_wayland_@GST_API_VERSION@_la_LDFLAGS = \
379         $(GST_ALL_LDFLAGS)                      \
380         $(GST_VAAPI_LT_LDFLAGS)                 \
381         $(NULL)
382
383 VERSION_FILE            = .VERSION
384 OLD_VERSION_FILE        = $(VERSION_FILE).old
385 NEW_VERSION_FILE        = $(VERSION_FILE).new
386 PKG_VERSION_FILE        = $(VERSION_FILE).pkg
387
388 gstvaapiversion.h: gen-version
389         $(AM_V_GEN)                                                         \
390         OV=`[ -f $(OLD_VERSION_FILE) ] && cat $(OLD_VERSION_FILE) || :`;    \
391         NV=`cat $(NEW_VERSION_FILE)`;                                       \
392         if [ "$$OV" != "$$NV" -o ! -f gstvaapiversion.h ]; then             \
393                 cp -f $(NEW_VERSION_FILE) $(OLD_VERSION_FILE);              \
394                 $(SED) -e "s|\@GST_VAAPI_VERSION_ID\@|$${NV}|"              \
395                         $(srcdir)/gstvaapiversion.h.in > gstvaapiversion.h; \
396         fi
397
398 gen-version:
399         @echo $(VERSION) > $(NEW_VERSION_FILE)
400 if HAVE_GIT
401         @[ -d $(top_srcdir)/.git ] && \
402         (cd $(top_srcdir) && $(GIT) describe --tags) > $(NEW_VERSION_FILE) || :
403 endif
404         @[ -f $(srcdir)/$(PKG_VERSION_FILE) ] && \
405         cp -f $(srcdir)/$(PKG_VERSION_FILE) $(NEW_VERSION_FILE) || :
406
407 $(PKG_VERSION_FILE): $(NEW_VERSION_FILE)
408         @cp -f $< $@
409
410 BUILT_SOURCES   = gstvaapiversion.h
411 EXTRA_DIST      = gstvaapiversion.h.in $(PKG_VERSION_FILE)
412
413 EXTRA_DIST += \
414         $(libgstvaapi_jpegdec_source_c) \
415         $(libgstvaapi_jpegdec_source_h) \
416         $(NULL)
417
418 CLEANFILES = \
419         $(OLD_VERSION_FILE)     \
420         $(NEW_VERSION_FILE)     \
421         $(PKG_VERSION_FILE)     \
422         $(NULL)
423
424 # Extra clean files so that maintainer-clean removes *everything*
425 MAINTAINERCLEANFILES = Makefile.in