configure: Require GLib >= 2.40 like everywhere else
[platform/upstream/gstreamer.git] / configure.ac
1 # gstreamer-vaapi package version number
2 m4_define([gst_vaapi_major_version], [1])
3 m4_define([gst_vaapi_minor_version], [9])
4 m4_define([gst_vaapi_micro_version], [1])
5 m4_define([gst_vaapi_nano_version],  [1])
6 m4_define([gst_vaapi_version],
7           [gst_vaapi_major_version.gst_vaapi_minor_version.gst_vaapi_micro_version])
8 m4_if(gst_vaapi_nano_version, [0], [],
9   [m4_append([gst_vaapi_version], gst_vaapi_nano_version, [.])])
10
11 # Configure defaults
12 m4_define([default_glapi],              [any])
13
14 dnl - library source changed -> increment REVISION
15 dnl - interfaces added/removed/changed -> increment CURRENT, REVISION = 0
16 dnl - interfaces added -> increment AGE
17 dnl - interfaces removed -> AGE = 0
18 # gstreamer-vaapi library (libtool) version number
19 m4_define([gst_vaapi_lt_current],       [901])
20 m4_define([gst_vaapi_lt_revision],      [0])
21 m4_define([gst_vaapi_lt_age],           [901])
22
23 # glib version number
24 m4_define([glib_version], [2.40])
25
26 # gstreamer version number
27 m4_define([gst_version],                [1.9.1.1])
28 m4_define([gst_plugins_base_version],   [1.9.1.1])
29 m4_define([gst_plugins_bad_version],    [1.9.1.1])
30
31 # Wayland minimum version number
32 m4_define([wayland_api_version], [1.0.2])
33
34 # VA-API minimum version number
35 m4_define([va_api_version],     [0.30.4])
36 m4_define([va_api_enc_version], [0.34.0])
37 m4_define([va_api_drm_version], [0.33.0])
38 m4_define([va_api_x11_version], [0.31.0])
39 m4_define([va_api_wld_version], [0.33.0])
40
41 # gtk-doc version number
42 # XXX: introspection annotations require gtk-doc >= 1.12
43 m4_define([gtkdoc_version], [1.12])
44
45 AC_PREREQ([2.69])
46 AC_INIT([GStreamer VA-API Plug-ins], [gst_vaapi_version],
47   [http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer],
48   [gstreamer-vaapi])
49
50 dnl define the output header for config
51 AC_CONFIG_HEADERS([config.h])
52 AC_CONFIG_SRCDIR([Makefile.am])
53 AC_CONFIG_MACRO_DIR([m4])
54 AC_CONFIG_AUX_DIR([build-aux])
55
56 AG_GST_INIT
57
58 dnl initialize automake
59 AM_INIT_AUTOMAKE([-Wno-portability 1.14 no-dist-gzip dist-xz tar-ustar subdir-objects])
60
61 dnl define PACKAGE_VERSION_* variables
62 AS_VERSION
63
64 dnl check if this is a release version
65 AS_NANO(GST_GIT="no", GST_GIT="yes")
66
67 dnl AM_MAINTAINER_MODE only provides the option to configure to enable it
68 AM_MAINTAINER_MODE([enable])
69
70 dnl use pretty build output by default
71 AM_SILENT_RULES([yes])
72
73 dnl our libraries and install dirs use GST_API_VERSION in the filename
74 dnl to allow side-by-side installation of different API versions
75 GST_API_VERSION=1.0
76 AC_SUBST([GST_API_VERSION])
77 AC_DEFINE_UNQUOTED([GST_API_VERSION], ["$GST_API_VERSION"],
78   [GStreamer API Version])
79
80 AG_GST_LIBTOOL_PREPARE
81
82 dnl CURRENT, REVISION, AGE
83 dnl sets GST_LT_LDFLAGS
84 AS_LIBTOOL(GST, gst_vaapi_lt_current, gst_vaapi_lt_revision, gst_vaapi_lt_age)
85
86 dnl *** required versions of GStreamer stuff ***
87 GLIB_REQ=glib_version
88 GST_REQ=gst_version
89 GST_PBREQ=gst_plugins_base_version
90 GST_PBADREQ=gst_plugins_bad_version
91 WAYLAND_REQ=wayland_api_version
92 GTKDOC_REQ=gtkdoc_version
93
94 dnl *** required versions of VA-API stuff ***
95 VAAPI_REQ=va_api_version
96 VAAPI_ENC_REQ=va_api_enc_version
97 VAAPI_DRM_REQ=va_api_drm_version
98 VAAPI_X11_REQ=va_api_x11_version
99 VAAPI_WLD_REQ=va_api_wld_version
100
101 dnl *** autotools stuff ****
102
103 dnl allow for different autotools
104 AS_AUTOTOOLS_ALTERNATE
105
106 dnl Add parameters for aclocal
107 AC_SUBST([ACLOCAL_AMFLAGS], ["-I m4 -I common/m4"])
108
109 dnl *** check for arguments to configure ***
110
111 AG_GST_ARG_DISABLE_FATAL_WARNINGS
112 AG_GST_ARG_ENABLE_EXTRA_CHECKS
113 AG_GST_ARG_DEBUG
114
115 AG_GST_ARG_EXAMPLES
116
117 AG_GST_ARG_WITH_PKG_CONFIG_PATH
118
119 AG_GST_SET_PACKAGE_RELEASE_DATETIME_WITH_NANO([$PACKAGE_VERSION_NANO],
120   ["${srcdir}/gstreamer-vaapi.doap"],
121   [$PACKAGE_VERSION_MAJOR.$PACKAGE_VERSION_MINOR.$PACKAGE_VERSION_MICRO])
122
123 AC_ARG_ENABLE([encoders],
124   AS_HELP_STRING([--enable-encoders],
125     [enable video encoders @<:@default=yes@:>@]),
126   [], [enable_encoders="yes"])
127
128 AC_ARG_ENABLE([drm],
129   AS_HELP_STRING([--enable-drm],
130     [enable DRM backend @<:@default=yes@:>@]),
131   [], [enable_drm="yes"])
132
133 AC_ARG_ENABLE([x11],
134   AS_HELP_STRING([--enable-x11],
135     [enable X11 output @<:@default=yes@:>@]),
136   [], [enable_x11="yes"])
137
138 AC_ARG_ENABLE([glx],
139   AS_HELP_STRING([--enable-glx],
140     [enable OpenGL/X11 output @<:@default=yes@:>@]),
141   [], [enable_glx="yes"])
142
143 AC_ARG_ENABLE([wayland],
144   AC_HELP_STRING([--enable-wayland],
145     [enable Wayland output @<:@default=yes@:>@]),
146   [], [enable_wayland="yes"])
147
148 AC_ARG_ENABLE([egl],
149   AS_HELP_STRING([--enable-egl],
150     [enable EGL output @<:@default=yes@:>@]),
151   [], [enable_egl="yes"])
152
153 AC_ARG_WITH([glapi],
154   AS_HELP_STRING([--with-glapi=APIs],
155     [build with the specified OpenGL APIs @<:@default=default_glapi@:>@]),
156   [GLAPI="$with_glapi"], [GLAPI=default_glapi])
157
158 dnl *** checks for platform ***
159
160 dnl * hardware/architecture *
161
162 dnl check CPU type
163 AG_GST_ARCH
164
165 dnl *** checks for programs ***
166
167 dnl find a compiler
168 AC_PROG_CC
169 AC_PROG_CC_STDC
170
171 dnl check if the compiler supports '-c' and '-o' options
172 AM_PROG_CC_C_O
173
174 dnl check for git command for version generation in libgstvaapi
175 AC_PATH_PROG([GIT], [git])
176 AM_CONDITIONAL([HAVE_GIT], [test -n "$GIT"])
177
178 dnl check for documentation tools
179 GTK_DOC_CHECK([$GTKDOC_REQ])
180 AG_GST_PLUGIN_DOCS([$GTKDOC_REQ])
181
182 dnl *** checks for libraries ***
183 dnl check for libm, for sin() etc.
184 AC_CHECK_LIB([m], [tan])
185
186 dnl Check to see if dlopen is in default libraries (like Solaris, which
187 dnl has it in libc), or if libdl is needed to get it.
188 AC_CHECK_FUNC([dlopen], [], [
189   AC_CHECK_LIB([dl], [dlopen], [DLOPEN_LIBS="-ldl"])])
190 AC_SUBST([DLOPEN_LIBS])
191
192 dnl define LIBDIR so we can inform people where we live
193 AS_AC_EXPAND([LIBDIR], [$libdir])
194 AC_DEFINE_UNQUOTED([LIBDIR], ["$LIBDIR"], [library dir])
195
196 dnl set location of plugin directory
197 AG_GST_SET_PLUGINDIR
198
199 dnl *** checks for header files ***
200
201 dnl *** checks for types/defines ***
202
203 dnl *** checks for structures ***
204
205 dnl *** checks for compiler characteristics ***
206
207 dnl *** checks for library functions ***
208
209 dnl *** checks for headers ***
210
211 dnl *** checks for dependency libraries ***
212
213 dnl ---------------------------------------------------------------------------
214 dnl -- GStreamer                                                             --
215 dnl ---------------------------------------------------------------------------
216 dnl GLib is required
217 AG_GST_GLIB_CHECK([$GLIB_REQ])
218
219 dnl checks for gstreamer
220 dnl uninstalled is selected preferentially -- see pkg-config(1)
221 AG_GST_CHECK_GST([$GST_API_VERSION], [$GST_REQ], [yes])
222
223 dnl back compatibility
224 AC_MSG_CHECKING([for GStreamer API version])
225 gst_api_version=`$PKG_CONFIG --modversion "gstreamer-$GST_API_VERSION"`
226 gst_major_version=`echo "$gst_api_version" | cut -d'.' -f1`
227 gst_minor_version=`echo "$gst_api_version" | cut -d'.' -f2`
228 GST_VERSION="${gst_major_version}.${gst_minor_version}"
229 AC_MSG_RESULT([$GST_VERSION])
230 AC_DEFINE_UNQUOTED([GST_API_VERSION_S], ["$GST_VERSION"],
231   [Defined to the string representation of GStreamer version])
232
233 AG_GST_CHECK_GST_BASE([$GST_API_VERSION], [$GST_REQ], [yes])
234 AG_GST_CHECK_GST_PLUGINS_BASE([$GST_API_VERSION], [$GST_PBREQ], [yes])
235
236 dnl gst_dmabuf_memory_get_fd (gstreamer-allocators)
237 AG_GST_CHECK_MODULES([GST_ALLOCATORS],
238   [gstreamer-allocators-$GST_API_VERSION], [$GST_PBREQ], [yes])
239
240 dnl GstVideoOverlayComposition (gstreamer-video)
241 AG_GST_CHECK_MODULES([GST_VIDEO],
242   [gstreamer-video-$GST_API_VERSION], [$GST_PBREQ], [yes])
243
244 dnl ... GStreamer base utils (gstreamer-pbutils)
245 AG_GST_CHECK_MODULES([GST_PBUTILS],
246   [gstreamer-pbutils-$GST_API_VERSION], [$GST_PBREQ], [yes])
247
248 dnl bitstream parsers (gstreamer-codecparsers)
249 AG_GST_CHECK_MODULES([GST_CODEC_PARSERS],
250   [gstreamer-codecparsers-$GST_API_VERSION], [$GST_PBADREQ], [yes])
251
252 AS_IF([test "x$enable_glx" = "xyes" -o "x$enable_egl" = "xyes"],
253   [enable_opengl="yes"], [enable_opengl="no"])
254
255 dnl ... opengl helper libraries
256 HAVE_GSTGL=0
257 if test "x$enable_opengl" = "xyes"; then
258   PKG_CHECK_MODULES([GST_GL],
259     [gstreamer-gl-$GST_API_VERSION >= $GST_PBADREQ],
260     [
261       HAVE_GSTGL=1
262       AC_CACHE_CHECK([for GStreamer OpenGL helper libraries],
263         [ac_cv_have_gst_gl_helpers],
264         [
265           saved_CPPFLAGS="$CPPFLAGS"
266           CPPFLAGS="$CPPFLAGS $GST_GL_CFLAGS $GST_VIDEO_CFLAGS"
267           saved_LIBS="$LIBS"
268           LIBS="$saved_LIBS"
269           AC_CHECK_HEADERS([gst/gl/gl.h], [], [HAVE_GSTGL=0])
270           AC_COMPILE_IFELSE(
271             [
272               AC_LANG_PROGRAM(
273                 [[
274 #include <gst/gl/gl.h>
275                 ]],
276                 [[
277 GstGLContext gl_context;
278                 ]])
279             ],
280             [ac_cv_have_gst_gl_helpers="yes"],
281             [ac_cv_have_gst_gl_helpers="no"])
282           CPPFLAGS="$saved_CPPFLAGS"
283           LIBS="$saved_LIBS"
284         ])
285     ], [])
286 fi
287 AS_IF([test "x$ac_cv_have_gst_gl_helpers" = "xno"], [HAVE_GSTGL=0])
288 AM_CONDITIONAL([USE_GST_GL_HELPERS], [test $HAVE_GSTGL -eq 1])
289 AC_DEFINE_UNQUOTED([USE_GST_GL_HELPERS], [$HAVE_GSTGL],
290   [Defined to 1 if GStreamer OpenGL helper libraries are available])
291
292 if test "x$enable_egl" = "xyes" -a $HAVE_GSTGL -ne 1; then
293   AC_MSG_WARN([GStreamer/GL helper libraries not found, disabling EGL support])
294   enable_egl="no"
295 fi
296
297 dnl ---------------------------------------------------------------------------
298 dnl -- Renderers                                                             --
299 dnl ---------------------------------------------------------------------------
300
301 dnl Check for DRM/libudev
302 USE_DRM=0
303 if test "x$enable_drm" = "xyes"; then
304   PKG_CHECK_MODULES([DRM], [libdrm libudev],
305     [
306       USE_DRM=1
307       saved_CPPFLAGS="$CPPFLAGS"
308       CPPFLAGS="$CPPFLAGS $DRM_CFLAGS"
309       AC_CHECK_HEADERS([drm_fourcc.h], [], [USE_DRM=0])
310       CPPFLAGS="$saved_CPPFLAGS"
311     ], [])
312 fi
313
314 dnl Check for X11
315 USE_X11=0
316 if test "x$enable_x11" = "xyes"; then
317   PKG_CHECK_MODULES([X11], [x11],
318     [
319       USE_X11=1
320       saved_CPPFLAGS="$CPPFLAGS"
321       CPPFLAGS="$CPPFLAGS $X11_CFLAGS"
322       AC_CHECK_HEADERS([X11/Xlib.h X11/Xutil.h X11/Xatom.h], [], [USE_X11=0])
323       CPPFLAGS="$saved_CPPFLAGS"
324     ], [])
325 fi
326
327 HAVE_XKBLIB=0
328 HAVE_XRANDR=0
329 HAVE_XRENDER=0
330 if test $USE_X11 -eq 1; then
331   dnl Check for XKB library
332   HAVE_XKBLIB=1
333   AC_CHECK_HEADERS([X11/XKBlib.h], [], [HAVE_XKBLIB=0])
334
335   dnl Check for XRandR
336   PKG_CHECK_MODULES([XRANDR], [xrandr],
337     [
338       HAVE_XRANDR=1
339       saved_CPPFLAGS="$CPPFLAGS"
340       CPPFLAGS="$CPPFLAGS $XRANDR_CFLAGS"
341       AC_CHECK_HEADERS([X11/extensions/Xrandr.h], [], [HAVE_XRANDR=0])
342       CPPFLAGS="$saved_CPPFLAGS"
343     ], [])
344
345   dnl Check for XRender
346   PKG_CHECK_MODULES([XRENDER], [xrender],
347     [
348       HAVE_XRENDER=1
349       saved_CPPFLAGS="$CPPFLAGS"
350       CPPFLAGS="$CPPFLAGS $XRENDER_CFLAGS"
351       AC_CHECK_HEADERS([X11/extensions/Xrender.h], [], [HAVE_XRENDER=0])
352       CPPFLAGS="$saved_CPPFLAGS"
353     ], [])
354 fi
355
356 AC_DEFINE_UNQUOTED([HAVE_XKBLIB], [$HAVE_XKBLIB],
357   [Defined to 1 if the XKB extension exists.])
358 AC_DEFINE_UNQUOTED([HAVE_XRANDR], [$HAVE_XRANDR],
359   [Defined to 1 if the XRandR extension exists.])
360 AC_DEFINE_UNQUOTED([HAVE_XRENDER], [$HAVE_XRENDER],
361   [Defined to 1 if the XRender extension exists.])
362
363 dnl OpenGL
364 GLES_VERSION_MASK=0
365
366 HAVE_GL=0
367 HAVE_GLESv2=0
368 HAVE_GLESv3=0
369 if test "x$enable_opengl" = "xyes"; then
370   dnl OpenGL
371   case ",$GLAPI," in
372     (*,any,*|*,gl,*)
373       HAVE_GL=1
374       PKG_CHECK_MODULES([GL], [gl],
375         [
376           saved_CPPFLAGS="$CPPFLAGS"
377           CPPFLAGS="$CPPFLAGS $GL_CFLAGS"
378           AC_CHECK_HEADERS([GL/gl.h GL/glext.h], [], [HAVE_GL=0],
379             [
380 #ifdef HAVE_GL_GL_H
381 # include <GL/gl.h>
382 #endif
383             ])
384           CPPFLAGS="$saved_CPPFLAGS"
385         ], [HAVE_GL=0])
386       GLES_VERSION_MASK=`expr $GLES_VERSION_MASK "+" $HAVE_GL "*" 1`
387     ;;
388   esac
389
390   dnl OpenGL|ESv2
391   case ",$GLAPI," in
392     (*,any,*|*,gles2,*)
393       HAVE_GLESv2=1
394       PKG_CHECK_MODULES([GLES2], [glesv2],
395         [
396           saved_CPPFLAGS="$CPPFLAGS"
397           CPPFLAGS="$CPPFLAGS $GLES2_CFLAGS"
398           AC_CHECK_HEADERS([GLES2/gl2.h GLES2/gl2ext.h], [], [HAVE_GLESv2=0],
399             [
400 #ifdef HAVE_GLES2_GL2_H
401 # include <GLES2/gl2.h>
402 #endif
403             ])
404           CPPFLAGS="$saved_CPPFLAGS"
405         ], [HAVE_GLESv2=0])
406       GLES_VERSION_MASK=`expr $GLES_VERSION_MASK "+" $HAVE_GLESv2 "*" 4`
407     ;;
408   esac
409
410   dnl OpenGL|ESv3
411   case ",$GLAPI," in
412     (*,any,*|*,gles3,*)
413       HAVE_GLESv3=1
414       PKG_CHECK_MODULES([GLES3], [glesv2],
415         [
416           saved_CPPFLAGS="$CPPFLAGS"
417           CPPFLAGS="$CPPFLAGS $GLES3_CFLAGS"
418           AC_CHECK_HEADERS([GLES3/gl3.h GLES3/gl3ext.h GLES2/gl2ext.h], [],
419             [HAVE_GLESv3=0],
420             [
421 #ifdef HAVE_GLES3_GL3_H
422 # include <GLES3/gl3.h>
423 #endif
424             ])
425           CPPFLAGS="$saved_CPPFLAGS"
426         ], [HAVE_GLESv3=0])
427       GLES_VERSION_MASK=`expr $GLES_VERSION_MASK "+" $HAVE_GLESv3 "*" 8`
428     ;;
429   esac
430 fi
431
432 dnl ... GLX
433 USE_GLX=0
434 if test "x$enable_glx" = "xyes" -a $HAVE_GL -eq 1 -a $USE_X11 -eq 1; then
435   USE_GLX=1
436
437   saved_CPPFLAGS="$CPPFLAGS"
438   saved_LIBS="$LIBS"
439   CPPFLAGS="$CPPFLAGS $GL_CFLAGS"
440   LIBS="$LIBS $GL_LIBS"
441   AC_CHECK_HEADERS([GL/glx.h], [], [USE_GLX=0],
442     [
443 #ifdef HAVE_GL_GL_H
444 # include <GL/gl.h>
445 #endif
446     ])
447   AC_CHECK_LIB([GL], [glXCreateContext], [], [USE_GLX=0])
448   CPPFLAGS="$saved_CPPFLAGS"
449   LIBS="$saved_LIBS"
450 fi
451
452 dnl ... EGL
453 USE_EGL=0
454 if test "x$enable_egl" = "xyes" -a $GLES_VERSION_MASK -ne 0; then
455   PKG_CHECK_MODULES([EGL], [egl],
456     [
457       USE_EGL=1
458
459       saved_CPPFLAGS="$CPPFLAGS"
460       saved_LIBS="$LIBS"
461       AC_CHECK_HEADERS([EGL/egl.h], [], [USE_EGL=0])
462       AC_CHECK_LIB([EGL], [eglGetDisplay], [], [USE_EGL=0])
463       CPPFLAGS="$saved_CPPFLAGS"
464       LIBS="$saved_LIBS"
465
466       dnl Check for GMODULE
467       PKG_CHECK_MODULES([GMODULE], [gmodule-2.0 >= $GLIB_REQ])
468     ], [])
469 fi
470
471 dnl Check for Wayland
472 USE_WAYLAND=0
473 if test "x$enable_wayland" = "xyes"; then
474   PKG_CHECK_MODULES([WAYLAND], [wayland-client >= $WAYLAND_REQ],
475     [
476       USE_WAYLAND=1
477       saved_CPPFLAGS="$CPPFLAGS"
478       CPPFLAGS="$CPPFLAGS $WAYLAND_CFLAGS"
479       AC_CHECK_HEADERS([wayland-client.h], [], [USE_WAYLAND=0])
480       CPPFLAGS="$saved_CPPFLAGS"
481     ], [])
482 fi
483
484 dnl ---------------------------------------------------------------------------
485 dnl -- VA-API                                                                --
486 dnl ---------------------------------------------------------------------------
487
488 dnl Core API
489 PKG_CHECK_MODULES([LIBVA], [libva >= $VAAPI_REQ])
490 VA_VERSION_STR=`$PKG_CONFIG --modversion libva`
491
492 dnl VA/DRM API
493 if test $USE_DRM -eq 1; then
494   PKG_CHECK_MODULES([LIBVA_DRM], [libva-drm >= $VAAPI_DRM_REQ],
495     [
496       saved_CPPFLAGS="$CPPFLAGS"
497       CPPFLAGS="$LIBVA_DRM_CFLAGS"
498       AC_CHECK_HEADERS([va/va_drm.h], [], [USE_DRM=0])
499       CPPFLAGS="$saved_CPPFLAGS"
500     ], [USE_DRM=0])
501 fi
502
503 dnl VA/X11 API
504 if test $USE_X11 -eq 1; then
505   PKG_CHECK_MODULES(LIBVA_X11, [libva-x11 >= $VAAPI_X11_REQ],
506     [], [USE_X11=0])
507 fi
508
509 dnl Check for va_dec_jpeg.h header
510 saved_CPPFLAGS="$CPPFLAGS"
511 CPPFLAGS="$CPPFLAGS $LIBVA_CFLAGS"
512 AC_CHECK_HEADERS([va/va_dec_jpeg.h], [], [],
513   [
514 #include <va/va.h>
515   ])
516 CPPFLAGS="$saved_CPPFLAGS"
517
518 dnl Check for JPEG decoding API (0.32.1+)
519 USE_JPEG_DECODER=0
520 AC_CACHE_CHECK([for JPEG decoding API],
521   [ac_cv_have_jpeg_decoding_api],
522   [
523     saved_CPPFLAGS="$CPPFLAGS"
524     CPPFLAGS="$CPPFLAGS $LIBVA_CFLAGS"
525     saved_LIBS="$LIBS"
526     LIBS="$LIBS $LIBVA_LIBS"
527     AC_COMPILE_IFELSE(
528       [
529         AC_LANG_PROGRAM(
530           [[
531 #include <va/va.h>
532 #ifdef HAVE_VA_VA_DEC_JPEG_H
533 # include <va/va_dec_jpeg.h>
534 #endif
535           ]],
536           [[
537 VAPictureParameterBufferJPEGBaseline pic_param;
538 VASliceParameterBufferJPEGBaseline slice_param;
539 VAHuffmanTableBufferJPEGBaseline huffman_table;
540 VAIQMatrixBufferJPEGBaseline iq_matrix;
541           ]])
542       ],
543       [ac_cv_have_jpeg_decoding_api="yes"],
544       [ac_cv_have_jpeg_decoding_api="no"])
545     CPPFLAGS="$saved_CPPFLAGS"
546     LIBS="$saved_LIBS"
547   ])
548 AS_IF([test "x$ac_cv_have_jpeg_decoding_api" = "xyes"], [USE_JPEG_DECODER=1])
549
550 dnl Check for va_dec_vp8.h header
551 saved_CPPFLAGS="$CPPFLAGS"
552 CPPFLAGS="$CPPFLAGS $LIBVA_CFLAGS"
553 AC_CHECK_HEADERS([va/va_dec_vp8.h], [], [],
554   [
555 #include <va/va.h>
556   ])
557 CPPFLAGS="$saved_CPPFLAGS"
558
559 dnl Check for VP8 decoding API (0.34+)
560 USE_VP8_DECODER=0
561 AC_CACHE_CHECK([for VP8 decoding API],
562   [ac_cv_have_vp8_decoding_api],
563   [
564     saved_CPPFLAGS="$CPPFLAGS"
565     CPPFLAGS="$CPPFLAGS $LIBVA_CFLAGS"
566     saved_LIBS="$LIBS"
567     LIBS="$LIBS $LIBVA_LIBS"
568     AC_COMPILE_IFELSE(
569       [
570         AC_LANG_PROGRAM(
571           [[
572 #include <va/va.h>
573 #ifdef HAVE_VA_VA_DEC_VP8_H
574 # include <va/va_dec_vp8.h>
575 #endif
576           ]],
577           [[
578 VAPictureParameterBufferVP8 pic_param;
579 VASliceParameterBufferVP8 slice_param;
580 VAProbabilityDataBufferVP8 prob_data;
581 VAIQMatrixBufferVP8 iq_matrix;
582 slice_param.slice_data_offset = 0;
583 slice_param.slice_data_flag = 0;
584           ]])
585       ],
586       [ac_cv_have_vp8_decoding_api="yes"],
587       [ac_cv_have_vp8_decoding_api="no"])
588     CPPFLAGS="$saved_CPPFLAGS"
589     LIBS="$saved_LIBS"
590   ])
591 AS_IF([test "x$ac_cv_have_vp8_decoding_api" = "xyes"], [USE_VP8_DECODER=1])
592
593 dnl Check for va_dec_vp9.h header
594 saved_CPPFLAGS="$CPPFLAGS"
595 CPPFLAGS="$CPPFLAGS $LIBVA_CFLAGS"
596 AC_CHECK_HEADERS([va/va_dec_vp9.h], [], [],
597   [
598 #include <va/va.h>
599   ])
600 CPPFLAGS="$saved_CPPFLAGS"
601
602 dnl Check for VP9 decoding API (0.37+)
603 USE_VP9_DECODER=0
604 AC_CACHE_CHECK([for VP9 decoding API],
605   [ac_cv_have_vp9_decoding_api],
606   [
607     saved_CPPFLAGS="$CPPFLAGS"
608     CPPFLAGS="$CPPFLAGS $LIBVA_CFLAGS"
609     saved_LIBS="$LIBS"
610     LIBS="$LIBS $LIBVA_LIBS"
611     AC_COMPILE_IFELSE(
612       [
613         AC_LANG_PROGRAM(
614           [[
615 #include <va/va.h>
616 #ifdef HAVE_VA_VA_DEC_VP9_H
617 # include <va/va_dec_vp9.h>
618 #endif
619           ]],
620           [[
621 VADecPictureParameterBufferVP9 pic_param;
622 VASliceParameterBufferVP9 slice_param;
623 VASegmentParameterVP9 seg_param;
624 slice_param.slice_data_offset = 0;
625 slice_param.slice_data_flag = 0;
626           ]])
627       ],
628       [ac_cv_have_vp9_decoding_api="yes"],
629       [ac_cv_have_vp9_decoding_api="no"])
630     CPPFLAGS="$saved_CPPFLAGS"
631     LIBS="$saved_LIBS"
632   ])
633 AS_IF([test "x$ac_cv_have_vp9_decoding_api" = "xyes"], [USE_VP9_DECODER=1])
634
635 dnl Check for va_dec_hevc.h header
636 saved_CPPFLAGS="$CPPFLAGS"
637 CPPFLAGS="$CPPFLAGS $LIBVA_CFLAGS"
638 AC_CHECK_HEADERS([va/va_dec_hevc.h], [], [],
639   [
640 #include <va/va.h>
641   ])
642 CPPFLAGS="$saved_CPPFLAGS"
643
644 dnl Check for HEVC decoding API (0.38+)
645 USE_HEVC_DECODER=0
646 AC_CACHE_CHECK([for HEVC decoding API],
647   [ac_cv_have_hevc_decoding_api],
648   [
649     saved_CPPFLAGS="$CPPFLAGS"
650     CPPFLAGS="$CPPFLAGS $LIBVA_CFLAGS"
651     saved_LIBS="$LIBS"
652     LIBS="$LIBS $LIBVA_LIBS"
653     AC_COMPILE_IFELSE(
654       [
655         AC_LANG_PROGRAM(
656           [[
657 #include <va/va.h>
658 #ifdef HAVE_VA_VA_DEC_HEVC_H
659 # include <va/va_dec_hevc.h>
660 #endif
661           ]],
662           [[
663 VAPictureParameterBufferHEVC pic_param;
664 VASliceParameterBufferHEVC slice_param;
665 VAIQMatrixBufferHEVC iq_matrix;
666 slice_param.slice_data_offset = 0;
667 slice_param.slice_data_flag = 0;
668           ]])
669       ],
670       [ac_cv_have_hevc_decoding_api="yes"],
671       [ac_cv_have_hevc_decoding_api="no"])
672     CPPFLAGS="$saved_CPPFLAGS"
673     LIBS="$saved_LIBS"
674   ])
675 AS_IF([test "x$ac_cv_have_hevc_decoding_api" = "xyes"], [USE_HEVC_DECODER=1])
676
677 dnl Check for vpp (video post-processing) support
678 USE_VA_VPP=0
679 AC_CACHE_CHECK([for video post-postprocessing API],
680   [ac_cv_have_va_vpp_api],
681   [
682     saved_CPPFLAGS="$CPPFLAGS"
683     CPPFLAGS="$CPPFLAGS $LIBVA_CFLAGS"
684     saved_LIBS="$LIBS"
685     LIBS="$LIBS $LIBVA_LIBS"
686     AC_COMPILE_IFELSE(
687       [
688         AC_LANG_PROGRAM(
689           [[
690 #include <va/va.h>
691 #include <va/va_vpp.h>
692           ]],
693           [[
694 VADisplay va_dpy;
695 VAContextID vpp_ctx;
696 VAProcFilterType filters[VAProcFilterCount];
697 unsigned int num_filters = VAProcFilterCount;
698 vaQueryVideoProcFilters(va_dpy, vpp_ctx, filters, &num_filters);
699           ]])
700       ],
701       [ac_cv_have_va_vpp_api="yes"],
702       [ac_cv_have_va_vpp_api="no"])
703     CPPFLAGS="$saved_CPPFLAGS"
704     LIBS="$saved_LIBS"
705   ])
706 AS_IF([test "x$ac_cv_have_va_vpp_api" = "xyes"], [USE_VA_VPP=1])
707
708 dnl Check for encoding support
709 USE_ENCODERS=0
710 if test "x$enable_encoders" = "xyes"; then
711   PKG_CHECK_MODULES([LIBVA], [libva >= $VAAPI_ENC_REQ],
712     [
713       USE_ENCODERS=1
714       saved_CPPFLAGS="$CPPFLAGS"
715       CPPFLAGS="$LIBVA_CFLAGS"
716       AC_CHECK_HEADERS([va/va_enc_mpeg2.h va/va_enc_h264.h], [],
717         [USE_ENCODERS=0],
718         [
719 #include <va/va.h>
720         ])
721       CPPFLAGS="$saved_CPPFLAGS"
722     ], [])
723 fi
724
725 USE_JPEG_ENCODER=0
726 USE_VP8_ENCODER=0
727 USE_H265_ENCODER=0
728 USE_VP9_ENCODER=0
729
730 if test $USE_ENCODERS -eq 1; then
731   dnl Check for JPEG Encoding API (0.37.0+)
732   AC_CHECK_HEADERS([va/va_enc_jpeg.h], [], [],
733     [
734 #include <va/va.h>
735     ])
736   AC_CACHE_CHECK([for JPEG encoding API],
737     [ac_cv_have_jpeg_encoding_api],
738     [
739       saved_CPPFLAGS="$CPPFLAGS"
740       CPPFLAGS="$CPPFLAGS $LIBVA_CFLAGS"
741       saved_LIBS="$LIBS"
742       LIBS="$LIBS $LIBVA_LIBS"
743       AC_COMPILE_IFELSE(
744         [
745           AC_LANG_PROGRAM(
746             [[
747 #include <va/va.h>
748 #ifdef HAVE_VA_VA_ENC_JPEG_H
749 # include <va/va_enc_jpeg.h>
750 #endif
751             ]],
752             [[
753 VAEncPictureParameterBufferJPEG pic_param;
754 VAEncSliceParameterBufferJPEG slice_param;
755 VAQMatrixBufferJPEG q_matrix;
756             ]])
757         ],
758         [ac_cv_have_jpeg_encoding_api="yes"],
759         [ac_cv_have_jpeg_encoding_api="no"])
760       CPPFLAGS="$saved_CPPFLAGS"
761       LIBS="$saved_LIBS"
762     ])
763   AS_IF([test "x$ac_cv_have_jpeg_encoding_api" = "xyes"], [USE_JPEG_ENCODER=1])
764
765   dnl Check for VP8 Encoding API
766   AC_CHECK_HEADERS([va/va_enc_vp8.h], [], [],
767     [
768 #include <va/va.h>
769     ])
770   AC_CACHE_CHECK([for VP8 encoding API],
771     [ac_cv_have_vp8_encoding_api],
772     [
773       saved_CPPFLAGS="$CPPFLAGS"
774       CPPFLAGS="$CPPFLAGS $LIBVA_CFLAGS"
775       saved_LIBS="$LIBS"
776       LIBS="$LIBS $LIBVA_LIBS"
777       AC_COMPILE_IFELSE(
778         [
779           AC_LANG_PROGRAM(
780             [[
781 #include <va/va.h>
782 #ifdef HAVE_VA_VA_ENC_VP8_H
783 # include <va/va_enc_vp8.h>
784 #endif
785             ]],
786             [[
787 VAEncSequenceParameterBufferVP8 seq_param;
788 VAEncPictureParameterBufferVP8 pic_param;
789 VAQMatrixBufferVP8 q_matrix;
790             ]])
791         ],
792         [ac_cv_have_vp8_encoding_api="yes"],
793         [ac_cv_have_vp8_encoding_api="no"])
794       CPPFLAGS="$saved_CPPFLAGS"
795       LIBS="$saved_LIBS"
796     ])
797   AS_IF([test "x$ac_cv_have_vp8_encoding_api" = "xyes"], [USE_VP8_ENCODER=1])
798
799   dnl Check for H265/HEVC Encoding API
800   AC_CHECK_HEADERS([va/va_enc_hevc.h], [], [],
801     [
802 #include <va/va.h>
803     ])
804   AC_CACHE_CHECK([for HEVC encoding API],
805     [ac_cv_have_hevc_encoding_api],
806     [
807       saved_CPPFLAGS="$CPPFLAGS"
808       CPPFLAGS="$CPPFLAGS $LIBVA_CFLAGS"
809       saved_LIBS="$LIBS"
810       LIBS="$LIBS $LIBVA_LIBS"
811       AC_COMPILE_IFELSE(
812         [
813           AC_LANG_PROGRAM(
814             [[
815 #include <va/va.h>
816 #ifdef HAVE_VA_VA_ENC_HEVC_H
817 # include <va/va_enc_hevc.h>
818 #endif
819             ]],
820             [[
821 VAEncSequenceParameterBufferHEVC seq_param;
822 VAEncPictureParameterBufferHEVC pic_param;
823 VAEncSliceParameterBufferHEVC buf_param;
824 VAQMatrixBufferHEVC q_matrix;
825             ]])
826         ],
827         [ac_cv_have_hevc_encoding_api="yes"],
828         [ac_cv_have_hevc_encoding_api="no"])
829       CPPFLAGS="$saved_CPPFLAGS"
830       LIBS="$saved_LIBS"
831     ])
832   AS_IF([test "x$ac_cv_have_hevc_encoding_api" = "xyes"], [USE_H265_ENCODER=1])
833
834   dnl Check for VP9 Encoding API
835   AC_CHECK_HEADERS([va/va_enc_vp9.h], [], [],
836     [
837 #include <va/va.h>
838     ])
839   AC_CACHE_CHECK([for VP9 encoding API],
840     [ac_cv_have_vp9_encoding_api],
841     [
842       saved_CPPFLAGS="$CPPFLAGS"
843       CPPFLAGS="$CPPFLAGS $LIBVA_CFLAGS"
844       saved_LIBS="$LIBS"
845       LIBS="$LIBS $LIBVA_LIBS"
846       AC_COMPILE_IFELSE(
847         [
848           AC_LANG_PROGRAM(
849             [[
850 #include <va/va.h>
851 #ifdef HAVE_VA_VA_ENC_VP9_H
852 # include <va/va_enc_vp9.h>
853 #endif
854             ]],
855             [[
856 VAEncSequenceParameterBufferVP9 seq_param;
857 VAEncPictureParameterBufferVP9 pic_param;
858 VAEncSegParamVP9 seg_param;
859 VAEncMiscParameterTypeVP9PerSegmantParam misc_param;
860             ]])
861         ],
862         [ac_cv_have_vp9_encoding_api="yes"],
863         [ac_cv_have_vp9_encoding_api="no"])
864       CPPFLAGS="$saved_CPPFLAGS"
865       LIBS="$saved_LIBS"
866     ])
867   AS_IF([test "x$ac_cv_have_vp9_encoding_api" = "xyes"], [USE_VP9_ENCODER=1])
868 fi
869
870 dnl VA/Wayland API
871 if test $USE_WAYLAND -eq 1; then
872   PKG_CHECK_MODULES([LIBVA_WAYLAND], [libva-wayland >= $VAAPI_WLD_REQ],
873     [], [USE_WAYLAND=0])
874 fi
875
876 dnl *** finalize CFLAGS, LDFLAGS, LIBS
877
878 # set by AG_GST_PARSE_SUBSYSTEM_DISABLES above
879 dnl make sure it doesn't complain about unused variables if debugging is disabled
880 AG_GST_CHECK_GST_DEBUG_DISABLED([NO_WARNINGS="-Wno-unused"], [NO_WARNINGS=""])
881
882 dnl define an ERROR_CFLAGS Makefile variable
883 dnl FIXME Add -Wredundant-decls again if considered useful and warnings are fixed
884 AG_GST_SET_ERROR_CFLAGS([$FATAL_WARNINGS], [-Wmissing-declarations -Wmissing-prototypes -Wwrite-strings -Wformat-security -Wold-style-definition -Winit-self -Wmissing-include-dirs -Waddress -Wno-multichar -Wnested-externs $NO_WARNINGS])
885
886 dnl define correct level for debugging messages
887 AG_GST_SET_LEVEL_DEFAULT([$GST_GIT])
888
889 dnl Overview:
890 dnl GST_OPTION_CFLAGS:  common flags for profiling, debugging, errors, ...
891 dnl GST_*:              flags shared by built objects to link against GStreamer
892 dnl GST_ALL_LDFLAGS:    linker flags shared by all
893 dnl GST_LIB_LDFLAGS:    additional linker flags for all libaries
894 dnl GST_LT_LDFLAGS:     library versioning of our libraries
895 dnl GST_PLUGIN_LDFLAGS: flags to be used for all plugins
896
897 dnl GST_OPTION_CFLAGS
898 if test "x$USE_DEBUG" = xyes; then
899    PROFILE_CFLAGS="-g"
900 fi
901 AC_SUBST([PROFILE_CFLAGS])
902
903 if test "x$GST_GIT" = "xyes"; then
904   DEPRECATED_CFLAGS="-DGST_DISABLE_DEPRECATED"
905 else
906   DEPRECATED_CFLAGS=""
907 fi
908 AC_SUBST([DEPRECATED_CFLAGS])
909
910 dnl every flag in GST_OPTION_CFLAGS and GST_OPTION_CXXFLAGS can be overridden
911 dnl at make time with e.g. make ERROR_CFLAGS=""
912 GST_OPTION_CFLAGS="\$(WARNING_CFLAGS) \$(ERROR_CFLAGS) \$(DEBUG_CFLAGS) \$(PROFILE_CFLAGS) \$(DEPRECATED_CFLAGS)"
913 AC_SUBST([GST_OPTION_CFLAGS])
914
915 dnl FIXME: do we want to rename to GST_ALL_* ?
916 dnl prefer internal headers to already installed ones
917 dnl also add builddir include for enumtypes and marshal
918 dnl add GST_OPTION_CFLAGS, but overridable
919 GST_CFLAGS="$GST_CFLAGS -DGST_USE_UNSTABLE_API"
920 GST_CFLAGS="$GST_CFLAGS $GLIB_EXTRA_CFLAGS \$(GST_OPTION_CFLAGS)"
921 AC_SUBST([GST_CFLAGS])
922
923 dnl LDFLAGS really should only contain flags, not libs - they get added before
924 dnl whatevertarget_LIBS and -L flags here affect the rest of the linking
925 GST_ALL_LDFLAGS="-no-undefined"
926 if test "x${enable_Bsymbolic}" = "xyes"; then
927   GST_ALL_LDFLAGS="$GST_ALL_LDFLAGS -Wl,-Bsymbolic-functions"
928 fi
929 AC_SUBST([GST_ALL_LDFLAGS])
930
931 dnl GST_LIB_LDFLAGS
932 dnl linker flags shared by all libraries
933 dnl LDFLAGS modifier defining exported symbols from built libraries
934 dnl (export _gst_foo but not __gst_foo)
935 GST_LIB_LDFLAGS="-export-symbols-regex ^_?\(gst_\|Gst\|GST_\).*"
936 AC_SUBST([GST_LIB_LDFLAGS])
937
938 dnl this really should only contain flags, not libs - they get added before
939 dnl whatevertarget_LIBS and -L flags here affect the rest of the linking
940 GST_PLUGIN_LDFLAGS="-module -avoid-version -export-symbols-regex '^[_]*gst_plugin_.*' $GST_ALL_LDFLAGS"
941 AC_SUBST([GST_PLUGIN_LDFLAGS])
942
943 dnl ---------------------------------------------------------------------------
944 dnl -- Generate files and summary                                            --
945 dnl ---------------------------------------------------------------------------
946
947 case ":$USE_X11:$USE_GLX:$USE_EGL:$USE_WAYLAND:$USE_DRM:" in
948 *:1:*) ;;
949 *) AC_MSG_ERROR([No renderer is enabled]) ;;
950 esac
951
952 AC_DEFINE_UNQUOTED([USE_ENCODERS], [$USE_ENCODERS],
953   [Defined to 1 if video encoders are used])
954 AM_CONDITIONAL([USE_ENCODERS], [test $USE_ENCODERS -eq 1])
955
956 AC_DEFINE_UNQUOTED([USE_JPEG_ENCODER], [$USE_JPEG_ENCODER],
957   [Defined to 1 if JPEG encoder is used])
958 AM_CONDITIONAL([USE_JPEG_ENCODER], [test $USE_JPEG_ENCODER -eq 1])
959
960 AC_DEFINE_UNQUOTED([USE_VP8_ENCODER], [$USE_VP8_ENCODER],
961   [Defined to 1 if VP8 encoder is used])
962 AM_CONDITIONAL([USE_VP8_ENCODER], [test $USE_VP8_ENCODER -eq 1])
963
964 AC_DEFINE_UNQUOTED([USE_H265_ENCODER], [$USE_H265_ENCODER],
965   [Defined to 1 if H265 encoder is used])
966 AM_CONDITIONAL([USE_H265_ENCODER], [test $USE_H265_ENCODER -eq 1])
967
968 AC_DEFINE_UNQUOTED([USE_VP9_ENCODER], [$USE_VP9_ENCODER],
969   [Defined to 1 if VP9 encoder is used])
970 AM_CONDITIONAL([USE_VP9_ENCODER], [test $USE_VP9_ENCODER -eq 1])
971
972 AC_DEFINE_UNQUOTED([USE_VA_VPP], [$USE_VA_VPP],
973   [Defined to 1 if video post-processing is used])
974 AM_CONDITIONAL([USE_VA_VPP], [test $USE_VA_VPP -eq 1])
975
976 AC_DEFINE_UNQUOTED([USE_JPEG_DECODER], [$USE_JPEG_DECODER],
977   [Defined to 1 if JPEG decoder is used])
978 AM_CONDITIONAL([USE_JPEG_DECODER], [test $USE_JPEG_DECODER -eq 1])
979
980 AC_DEFINE_UNQUOTED([USE_VP8_DECODER], [$USE_VP8_DECODER],
981   [Defined to 1 if VP8 decoder is used])
982 AM_CONDITIONAL([USE_VP8_DECODER], [test $USE_VP8_DECODER -eq 1])
983
984 AC_DEFINE_UNQUOTED([USE_VP9_DECODER], [$USE_VP9_DECODER],
985   [Defined to 1 if VP9 decoder is used])
986 AM_CONDITIONAL([USE_VP9_DECODER], [test $USE_VP9_DECODER -eq 1])
987
988 AC_DEFINE_UNQUOTED([USE_HEVC_DECODER], [$USE_HEVC_DECODER],
989   [Defined to 1 if HEVC decoder is used])
990 AM_CONDITIONAL([USE_HEVC_DECODER], [test $USE_HEVC_DECODER -eq 1])
991
992 AC_DEFINE_UNQUOTED([USE_DRM], [$USE_DRM],
993   [Defined to 1 if DRM is enabled])
994 AM_CONDITIONAL([USE_DRM], [test $USE_DRM -eq 1])
995
996 AC_DEFINE_UNQUOTED([USE_X11], [$USE_X11],
997   [Defined to 1 if X11 is enabled])
998 AM_CONDITIONAL([USE_X11], [test $USE_X11 -eq 1])
999
1000 AC_DEFINE_UNQUOTED([USE_GLX], [$USE_GLX],
1001   [Defined to 1 if GLX is enabled])
1002 AM_CONDITIONAL([USE_GLX], [test $USE_GLX -eq 1])
1003
1004 AC_DEFINE_UNQUOTED([USE_EGL], [$USE_EGL],
1005   [Defined to 1 if EGL is enabled])
1006 AM_CONDITIONAL([USE_EGL], [test $USE_EGL -eq 1])
1007
1008 AC_DEFINE_UNQUOTED([USE_GLES_VERSION_MASK], [$GLES_VERSION_MASK],
1009   [Defined to the set of enabled OpenGL ES APIs])
1010
1011 AC_DEFINE_UNQUOTED([USE_WAYLAND], [$USE_WAYLAND],
1012   [Defined to 1 if WAYLAND is enabled])
1013 AM_CONDITIONAL([USE_WAYLAND], [test $USE_WAYLAND -eq 1])
1014
1015 dnl @TODO hack for egl's dynamic module loading. remove it!
1016 AC_DEFINE_UNQUOTED([GST_VAAPI_MAJOR_VERSION_S], ["0"],
1017   [Defined to the string representation of gstreamer-vaapi major version])
1018
1019 AC_CONFIG_FILES([
1020     Makefile
1021     common/Makefile
1022     common/m4/Makefile
1023     m4/Makefile
1024     docs/Makefile
1025     docs/version.entities
1026     docs/plugins/Makefile
1027     docs/plugins/gstreamer-vaapi-plugins-docs.xml
1028     gst-libs/Makefile
1029     gst-libs/gst/Makefile
1030     gst-libs/gst/base/Makefile
1031     gst-libs/gst/vaapi/Makefile
1032     gst/Makefile
1033     gst/vaapi/Makefile
1034     tests/Makefile
1035     tests/elements/Makefile
1036 ])
1037 AC_OUTPUT
1038
1039 dnl Print summary
1040 yesno() {
1041   test $1 -eq 1 && echo yes || echo no
1042 }
1043
1044 VIDEO_OUTPUTS=""
1045 AS_IF([test $USE_DRM -eq 1], [VIDEO_OUTPUTS="$VIDEO_OUTPUTS drm"])
1046 AS_IF([test $USE_X11 -eq 1], [VIDEO_OUTPUTS="$VIDEO_OUTPUTS x11"])
1047 AS_IF([test $USE_GLX -eq 1], [VIDEO_OUTPUTS="$VIDEO_OUTPUTS glx"])
1048 AS_IF([test $USE_EGL -eq 1], [VIDEO_OUTPUTS="$VIDEO_OUTPUTS egl"])
1049 AS_IF([test $USE_WAYLAND -eq 1], [VIDEO_OUTPUTS="$VIDEO_OUTPUTS wayland"])
1050
1051 echo
1052 echo $PACKAGE configuration summary:
1053 echo
1054 echo Installation Prefix .............. : ${prefix}
1055 echo GStreamer API version ............ : $GST_VERSION
1056 echo VA-API version ................... : $VA_VERSION_STR
1057 echo Video encoding ................... : $(yesno $USE_ENCODERS)
1058 echo Video outputs .................... : $VIDEO_OUTPUTS
1059 echo