1 # gstreamer-vaapi package version number
2 m4_define([gst_vaapi_major_version], [0])
3 m4_define([gst_vaapi_minor_version], [4])
4 m4_define([gst_vaapi_micro_version], [0])
5 m4_define([gst_vaapi_pre_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_pre_version, [0], [], [
9 m4_append([gst_vaapi_version], gst_vaapi_pre_version, [.pre])
13 m4_define([glib_major_version], [2])
14 m4_define([glib_minor_version], [28])
15 m4_define([glib_micro_version], [0])
16 m4_define([glib_major_minor_version],
17 [glib_major_version.glib_minor_version])
18 m4_define([glib_version],
19 [glib_major_version.glib_minor_version.glib_micro_version])
22 m4_define([gst_major_version], [0])
23 m4_define([gst_minor_version], [10])
24 m4_define([gst_micro_version], [14])
25 m4_define([gst_major_minor_version],
26 [gst_major_version.gst_minor_version])
27 m4_define([gst_version],
28 [gst_major_version.gst_minor_version.gst_micro_version])
30 # gst plugins-base version number
31 m4_define([gst_plugins_base_major_version], [0])
32 m4_define([gst_plugins_base_minor_version], [10])
33 m4_define([gst_plugins_base_micro_version], [31])
34 m4_define([gst_plugins_base_version],
35 [gst_plugins_base_major_version.gst_plugins_base_minor_version.gst_plugins_base_micro_version])
37 # gst plugins-bad version number
38 m4_define([gst_plugins_bad_major_version], [0])
39 m4_define([gst_plugins_bad_minor_version], [10])
40 m4_define([gst_plugins_bad_micro_version], [22])
41 m4_define([gst_plugins_bad_version],
42 [gst_plugins_bad_major_version.gst_plugins_bad_minor_version.gst_plugins_bad_micro_version])
44 # VA-API minimum version number
45 m4_define([va_api_version], [0.30.4])
46 m4_define([va_api_drm_version], [0.34.0])
47 m4_define([va_api_x11_version], [0.31.0])
48 m4_define([va_api_glx_version], [0.32.0])
49 m4_define([va_api_wld_version], [0.34.0])
51 # libva package version number
52 m4_define([libva_drm_package_version], [1.2.0])
53 m4_define([libva_x11_package_version], [1.0.3])
54 m4_define([libva_glx_package_version], [1.0.9])
55 m4_define([libva_wld_package_version], [1.2.0])
57 # gtk-doc version number
58 # XXX: introspection annotations require gtk-doc >= 1.12
59 m4_define([gtkdoc_major_version], [1])
60 m4_define([gtkdoc_minor_version], [9])
61 m4_define([gtkdoc_version], [gtkdoc_major_version.gtkdoc_minor_version])
64 AC_INIT([gst_vaapi], [gst_vaapi_version],
65 [gwenole.beauchesne@intel.com],
68 AC_CONFIG_HEADERS([config.h])
69 AC_CONFIG_SRCDIR([Makefile.am])
70 AC_CONFIG_MACRO_DIR([m4])
71 AC_CONFIG_AUX_DIR([build-aux])
77 TODAY="`LC_ALL=C date +'%a, %d %b %Y %X %z'`"
80 GST_VAAPI_MAJOR_VERSION=gst_vaapi_major_version
81 AC_SUBST(GST_VAAPI_MAJOR_VERSION)
83 LIBVA_PACKAGE_VERSION=libva_x11_package_version
84 AC_SUBST(LIBVA_PACKAGE_VERSION)
86 dnl Versions for GStreamer and plugins-base
87 GST_MAJORMINOR=gst_major_minor_version
88 GST_VERSION_REQUIRED=gst_version
89 GST_PLUGINS_BASE_VERSION_REQUIRED=gst_plugins_base_version
90 GST_PLUGINS_BAD_VERSION_REQUIRED=gst_plugins_bad_version
91 AC_SUBST(GST_MAJORMINOR)
92 AC_SUBST(GST_VERSION_REQUIRED)
93 AC_SUBST(GST_PLUGINS_BASE_VERSION_REQUIRED)
94 AC_SUBST(GST_PLUGINS_BAD_VERSION_REQUIRED)
96 dnl Use pretty build output with automake >= 1.11
97 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])], [
98 AM_DEFAULT_VERBOSITY=1
99 AC_SUBST(AM_DEFAULT_VERBOSITY)
106 dnl Initialize libtool
111 AS_HELP_STRING([--enable-drm],
112 [enable DRM backend @<:@default=yes@:>@]),
113 [], [enable_drm="yes"])
116 AS_HELP_STRING([--enable-x11],
117 [enable X11 output @<:@default=yes@:>@]),
118 [], [enable_x11="yes"])
121 AS_HELP_STRING([--enable-glx],
122 [enable OpenGL/X11 output @<:@default=yes@:>@]),
123 [], [enable_glx="yes"])
125 AC_ARG_ENABLE(wayland,
126 AC_HELP_STRING([--enable-wayland],
127 [enable Wayland output @<:@default=yes@:>@]),
128 [], [enable_wayland="yes"])
130 dnl Check for basic libraries
133 dnl Check for Gtk doc
134 GTKDOC_VERSION=gtkdoc_version
135 # gtkdocize greps for '^GTK_DOC_CHECK', so it needs to be on its own line
136 m4_ifdef([GTK_DOC_CHECK], [
137 GTK_DOC_CHECK([$GTKDOC_VERSION], [--flavour no-tmpl])], [
138 AM_CONDITIONAL([ENABLE_GTK_DOC], [false])])
139 AC_SUBST(GTKDOC_VERSION)
142 GLIB_VERSION_REQUIRED=glib_version
143 PKG_CHECK_MODULES([GLIB], [glib-2.0 >= $GLIB_VERSION_REQUIRED])
144 AC_SUBST(GLIB_VERSION_REQUIRED)
146 dnl ---------------------------------------------------------------------------
148 dnl ---------------------------------------------------------------------------
151 PKG_CHECK_MODULES([GST], [gstreamer-$GST_MAJORMINOR >= gst_version])
152 PKG_CHECK_MODULES([GST_BASE], [gstreamer-base-$GST_MAJORMINOR >= gst_version])
154 AC_CACHE_CHECK([for GstBaseSink::query hook], ac_cv_have_gst_base_sink_query, [
155 saved_CFLAGS="$CFLAGS"
156 CFLAGS="$CFLAGS $GST_BASE_CFLAGS"
158 LIBS="$LIBS $GST_BASE_LIBS"
161 [[#include <gst/base/gstbasesink.h>]],
162 [[GstBaseSinkClass klass; klass.query = NULL;]])],
163 [ac_cv_have_gst_base_sink_query="yes"],
164 [ac_cv_have_gst_base_sink_query="no"]
166 CFLAGS="$saved_CFLAGS"
169 if test "$ac_cv_have_gst_base_sink_query" != "yes"; then
170 AC_MSG_ERROR([GstBaseSink does not contain the 'query' vfunc])
173 dnl GStreamer -base plugins
174 PKG_CHECK_MODULES([GST_PLUGINS_BASE],
175 [gstreamer-plugins-base-$GST_MAJORMINOR >= gst_plugins_base_version])
176 PKG_CHECK_MODULES([GST_INTERFACES],
177 [gstreamer-interfaces-$GST_MAJORMINOR >= gst_plugins_base_version])
179 dnl ... GstVideoOverlayComposition (gstreamer-video)
180 PKG_CHECK_MODULES([GST_VIDEO],
181 [gstreamer-video-$GST_MAJORMINOR >= gst_plugins_base_version])
183 AC_CACHE_CHECK([for GstVideoOverlayComposition],
184 ac_cv_have_gst_video_overlay_composition, [
185 saved_CFLAGS="$CFLAGS"
186 CFLAGS="$CFLAGS $GST_CFLAGS"
188 LIBS="$LIBS $GST_LIBS"
191 [[#include <gst/video/video-overlay-composition.h>]],
192 [[GstVideoOverlayComposition *c = gst_video_overlay_composition_new(0);]])],
193 [ac_cv_have_gst_video_overlay_composition="yes"],
194 [ac_cv_have_gst_video_overlay_composition="no"]
196 CFLAGS="$saved_CFLAGS"
199 if test "$ac_cv_have_gst_video_overlay_composition" != "yes"; then
200 AC_MSG_ERROR([GstVideoOverlayComposition is not available])
203 dnl GStreamer -bad plugins
204 PKG_CHECK_MODULES([GST_BASEVIDEO],
205 [gstreamer-basevideo-$GST_MAJORMINOR >= gst_plugins_bad_version])
207 dnl ... bitstream parsers
209 USE_LOCAL_CODEC_PARSERS=0
211 PKG_CHECK_MODULES([GST_CODEC_PARSERS],
212 [gstreamer-codecparsers-$GST_MAJORMINOR >= gst_plugins_bad_version])
214 dnl ... 0.10.23 addition, could be implemented otherwise
215 AC_CACHE_CHECK([for GstH264SliceHdr::n_emulation_prevention_bytes],
216 ac_cv_have_gst_h264_slice_hdr_epb_count, [
217 saved_CFLAGS="$CFLAGS"
218 CFLAGS="$CFLAGS $GST_CFLAGS $GST_CODEC_PARSERS_CFLAGS"
220 LIBS="$LIBS $GST_LIBS $GST_CODEC_PARSERS_LIBS"
223 [[#include <gst/codecparsers/gsth264parser.h>]],
224 [[GstH264SliceHdr slice_hdr;
225 slice_hdr.n_emulation_prevention_bytes = 0;]])],
226 [ac_cv_have_gst_h264_slice_hdr_epb_count="yes"],
227 [ac_cv_have_gst_h264_slice_hdr_epb_count="no"]
229 CFLAGS="$saved_CFLAGS"
233 if test "$ac_cv_have_gst_h264_slice_hdr_epb_count" = "yes"; then
234 AC_DEFINE_UNQUOTED(HAVE_GST_H264_SLICE_HDR_EPB_COUNT, 1,
235 [Defined to 1 if GstH264SliceHdr::n_emulation_prevention_bytes exists.])
238 dnl ... JPEG parser, not upstream yet
239 AC_CACHE_CHECK([for JPEG parser],
240 ac_cv_have_gst_jpeg_parser, [
241 saved_CFLAGS="$CFLAGS"
242 CFLAGS="$CFLAGS $GST_CFLAGS $GST_CODEC_PARSERS_CFLAGS"
244 LIBS="$LIBS $GST_LIBS $GST_CODEC_PARSERS_LIBS"
247 [[#include <gst/codecparsers/gstjpegparser.h>]],
248 [[GstJpegImage jpeg_image;]])],
249 [ac_cv_have_gst_jpeg_parser="yes"],
250 [ac_cv_have_gst_jpeg_parser="no" USE_LOCAL_CODEC_PARSERS=1]
252 CFLAGS="$saved_CFLAGS"
256 if test "$ac_cv_have_gst_jpeg_parser" = "yes"; then
257 AC_DEFINE_UNQUOTED(HAVE_GST_JPEG_PARSER, 1,
258 [Defined to 1 if JPEG parser exists.])
260 AM_CONDITIONAL(USE_LOCAL_CODEC_PARSERS, test $USE_LOCAL_CODEC_PARSERS -eq 1)
263 dnl LDFLAGS really should only contain flags, not libs - they get added before
264 dnl whatevertarget_LIBS and -L flags here affect the rest of the linking
265 GST_ALL_LDFLAGS="-no-undefined"
266 AC_SUBST(GST_ALL_LDFLAGS)
268 dnl GST_PLUGIN_LDFLAGS:
269 dnl this really should only contain flags, not libs - they get added before
270 dnl whatevertarget_LIBS and -L flags here affect the rest of the linking
271 GST_PLUGIN_LDFLAGS="-module -avoid-version -export-symbols-regex '^([_]*gst_plugin_desc|gst_.*_get_type)\$\$' $GST_ALL_LDFLAGS"
272 AC_SUBST(GST_PLUGIN_LDFLAGS)
274 dnl Check for the GStreamer plugins directory
275 AC_MSG_CHECKING([for GStreamer plugins directory])
276 GST_PLUGINS_DIR=`$PKG_CONFIG gstreamer-$GST_MAJORMINOR --variable pluginsdir`
277 if test -z "$GST_PLUGINS_DIR"; then
278 echo "FAIL FAIL FAIL"
279 GST_PLUGINS_DIR="\$(libdir)/gstreamer-$GST_MAJORMINOR"
281 AC_MSG_RESULT([$GST_PLUGINS_DIR])
282 plugindir="$GST_PLUGINS_DIR"
285 dnl ---------------------------------------------------------------------------
287 dnl ---------------------------------------------------------------------------
289 dnl Check for DRM/libudev
291 if test "$enable_drm" = "yes"; then
292 PKG_CHECK_MODULES(DRM, [libdrm], [USE_DRM=1], [USE_DRM=0])
293 PKG_CHECK_MODULES(UDEV, [libudev], [:], [USE_DRM=0])
295 if test $USE_DRM -eq 1; then
296 saved_CPPFLAGS="$CPPFLAGS"
297 CPPFLAGS="$CPPFLAGS $DRM_CFLAGS"
298 AC_CHECK_HEADERS([drm_fourcc.h], [:], [USE_DRM=0])
299 CPPFLAGS="$saved_CPPFLAGS"
305 if test "$enable_x11" = "yes"; then
306 PKG_CHECK_MODULES(X11, [x11], [USE_X11=1], [USE_X11=0])
307 if test $USE_X11 -eq 1; then
308 saved_CPPFLAGS="$CPPFLAGS"
309 CPPFLAGS="$CPPFLAGS $X11_CFLAGS"
310 AC_CHECK_HEADERS([X11/Xlib.h X11/Xutil.h X11/Xatom.h], [:], [USE_X11=0])
311 CPPFLAGS="$saved_CPPFLAGS"
317 if test $USE_X11 -eq 1; then
319 PKG_CHECK_MODULES([XRANDR], [xrandr], [:], [HAVE_XRANDR=0])
320 if test $HAVE_XRANDR -eq 1; then
321 saved_CPPFLAGS="$CPPFLAGS"
322 CPPFLAGS="$CPPFLAGS $XRANDR_CFLAGS"
323 AC_CHECK_HEADERS([X11/extensions/Xrandr.h], [:], [HAVE_XRANDR=0])
324 CPPFLAGS="$saved_CPPFLAGS"
327 if test $HAVE_XRANDR -eq 1; then
328 AC_DEFINE_UNQUOTED(HAVE_XRANDR, 1,
329 [Defined to 1 if the XRandR extension exists.])
334 if test "$enable_glx" = "yes"; then
339 if test "$enable_opengl" = "yes"; then
341 PKG_CHECK_MODULES([GL], [gl], [:], [HAVE_GL=0])
342 saved_CPPFLAGS="$CPPFLAGS"
343 CPPFLAGS="$CPPFLAGS $GL_CFLAGS"
344 AC_CHECK_HEADERS([GL/gl.h GL/glext.h], [:], [HAVE_GL=0], [
349 CPPFLAGS="$saved_CPPFLAGS"
354 if test "$enable_glx" = "yes" -a $HAVE_GL -eq 1 -a $USE_X11 -eq 1; then
356 saved_CPPFLAGS="$CPPFLAGS"
358 CPPFLAGS="$CPPFLAGS $GL_CFLAGS"
359 LIBS="$LIBS $GL_LIBS"
360 AC_CHECK_HEADERS([GL/glx.h], [:], [USE_GLX=0], [
365 AC_CHECK_LIB([GL], [glXCreateContext], [:], [USE_GLX=0])
366 CPPFLAGS="$saved_CPPFLAGS"
370 dnl Check for Wayland
372 if test "$enable_wayland" = "yes"; then
373 PKG_CHECK_MODULES(WAYLAND, [wayland-client],
374 [USE_WAYLAND=1], [USE_WAYLAND=0])
376 if test $USE_WAYLAND -eq 1; then
377 saved_CPPFLAGS="$CPPFLAGS"
378 CPPFLAGS="$CPPFLAGS $WAYLAND_CFLAGS"
379 AC_CHECK_HEADERS([wayland-client.h], [:], [USE_WAYLAND=0])
380 CPPFLAGS="$saved_CPPFLAGS"
384 dnl ---------------------------------------------------------------------------
386 dnl ---------------------------------------------------------------------------
389 LIBVA_PKGNAME="libva"
390 PKG_CHECK_MODULES(LIBVA, [$LIBVA_PKGNAME >= va_api_version])
391 AC_SUBST(LIBVA_PKGNAME)
393 VA_VERSION=`$PKG_CONFIG --modversion libva`
394 VA_MAJOR_VERSION=`echo "$VA_VERSION" | cut -d'.' -f1`
395 VA_MINOR_VERSION=`echo "$VA_VERSION" | cut -d'.' -f2`
396 VA_MICRO_VERSION=`echo "$VA_VERSION" | cut -d'.' -f3`
397 VA_VERSION_STR="$VA_VERSION"
401 if test $USE_DRM -eq 1; then
402 PKG_CHECK_MODULES([LIBVA_DRM], [libva-drm >= va_api_drm_version],
403 [HAVE_VA_DRM=1], [USE_DRM=0])
405 if test $HAVE_VA_DRM -eq 1; then
406 saved_CPPFLAGS="$CPPFLAGS"
407 CPPFLAGS="$LIBVA_DRM_CPPFLAGS"
408 AC_CHECK_HEADERS([va/va_drm.h], [:], [HAVE_VA_DRM=0 USE_DRM=0])
409 CPPFLAGS="$saved_CPPFLAGS"
415 LIBVA_X11_PKGNAME="libva-x11"
416 if test $USE_X11 -eq 1; then
417 PKG_CHECK_MODULES(LIBVA_X11, [$LIBVA_X11_PKGNAME >= va_api_x11_version],
418 [HAVE_VA_X11=1], [USE_X11=0])
420 AC_SUBST(LIBVA_X11_PKGNAME)
424 LIBVA_GLX_PKGNAME="libva-glx"
425 if test $USE_GLX -eq 1; then
426 PKG_CHECK_MODULES(LIBVA_GLX, [$LIBVA_GLX_PKGNAME >= va_api_glx_version],
427 [HAVE_VA_GLX=1], [LIBVA_GLX_PKGNAME="$LIBVA_X11_PKGNAME"])
429 if test $HAVE_VA_GLX -eq 1; then
430 saved_CPPFLAGS="$CPPFLAGS"
431 CPPFLAGS="$LIBVA_GLX_CPPFLAGS"
432 AC_CHECK_HEADERS([va/va_glx.h], [:], [HAVE_VA_GLX=0])
433 CPPFLAGS="$saved_CPPFLAGS"
436 AC_SUBST(LIBVA_GLX_PKGNAME)
438 dnl Check for JPEG decoding API (0.32.1+)
440 AC_CACHE_CHECK([for JPEG decoding API],
441 ac_cv_have_jpeg_decoding_api, [
442 saved_CFLAGS="$CFLAGS"
443 CFLAGS="$CFLAGS $LIBVA_CFLAGS"
445 LIBS="$CFLAGS $LIBVA_LIBS"
448 [[#include <va/va.h>]],
449 [[VAPictureParameterBufferJPEGBaseline pic_param;
450 VASliceParameterBufferJPEGBaseline slice_param;
451 VAHuffmanTableBufferJPEGBaseline huffman_table;
452 VAIQMatrixBufferJPEGBaseline iq_matrix;]])],
453 [ac_cv_have_jpeg_decoding_api="yes" USE_JPEG_DECODER=1],
454 [ac_cv_have_jpeg_decoding_api="no"]
456 CFLAGS="$saved_CFLAGS"
461 if test "$enable_wayland" = "yes"; then
462 PKG_CHECK_MODULES([LIBVA_WAYLAND], [libva-wayland >= va_api_wld_version],
463 [:], [USE_WAYLAND=0])
466 dnl ---------------------------------------------------------------------------
467 dnl -- Generate files and summary --
468 dnl ---------------------------------------------------------------------------
470 case ":$USE_X11:$USE_GLX:$USE_WAYLAND:$USE_DRM:" in
474 AC_MSG_ERROR([No renderer is enabled])
478 AC_DEFINE_UNQUOTED(USE_JPEG_DECODER, $USE_JPEG_DECODER,
479 [Defined to 1 if JPEG decoder is used])
480 AM_CONDITIONAL(USE_JPEG_DECODER, test $USE_JPEG_DECODER -eq 1)
482 AC_DEFINE_UNQUOTED(USE_DRM, $USE_DRM,
483 [Defined to 1 if DRM is enabled])
484 AM_CONDITIONAL(USE_DRM, test $USE_DRM -eq 1)
486 AC_DEFINE_UNQUOTED(USE_X11, $USE_X11,
487 [Defined to 1 if X11 is enabled])
488 AM_CONDITIONAL(USE_X11, test $USE_X11 -eq 1)
490 AC_DEFINE_UNQUOTED(USE_GLX, $USE_GLX,
491 [Defined to 1 if GLX is enabled])
492 AM_CONDITIONAL(USE_GLX, test $USE_GLX -eq 1)
494 AC_DEFINE_UNQUOTED(USE_WAYLAND, $USE_WAYLAND,
495 [Defined to 1 if WAYLAND is enabled])
496 AM_CONDITIONAL(USE_WAYLAND, test $USE_WAYLAND -eq 1)
498 pkgconfigdir=${libdir}/pkgconfig
499 AC_SUBST(pkgconfigdir)
503 debian.upstream/Makefile
504 debian.upstream/changelog
505 debian.upstream/control
506 debian.upstream/gstreamer$GST_MAJORMINOR-vaapi-doc.install:\
507 debian.upstream/gstreamer-vaapi-doc.install.in
508 debian.upstream/gstreamer$GST_MAJORMINOR-vaapi.install:\
509 debian.upstream/gstreamer-vaapi.install.in
510 debian.upstream/libgstvaapi$GST_VAAPI_MAJOR_VERSION.install:\
511 debian.upstream/libgstvaapi.install.in
512 debian.upstream/libgstvaapi-dev.install
513 debian.upstream/libgstvaapi-drm-$GST_VAAPI_MAJOR_VERSION.install:\
514 debian.upstream/libgstvaapi-drm.install.in
515 debian.upstream/libgstvaapi-glx-$GST_VAAPI_MAJOR_VERSION.install:\
516 debian.upstream/libgstvaapi-glx.install.in
517 debian.upstream/libgstvaapi-wayland-$GST_VAAPI_MAJOR_VERSION.install:\
518 debian.upstream/libgstvaapi-wayland.install.in
519 debian.upstream/libgstvaapi-x11-$GST_VAAPI_MAJOR_VERSION.install:\
520 debian.upstream/libgstvaapi-x11.install.in
522 docs/reference/Makefile
523 docs/reference/libs/Makefile
524 docs/reference/libs/libs-docs.xml
525 docs/reference/plugins/Makefile
526 docs/reference/plugins/plugins-docs.xml
528 gst-libs/gst/Makefile
529 gst-libs/gst/codecparsers/Makefile
530 gst-libs/gst/vaapi/Makefile
534 pkgconfig/gstreamer-vaapi-$GST_MAJORMINOR.pc:\
535 pkgconfig/gstreamer-vaapi.pc.in
536 pkgconfig/gstreamer-vaapi-drm-$GST_MAJORMINOR.pc:\
537 pkgconfig/gstreamer-vaapi-drm.pc.in
538 pkgconfig/gstreamer-vaapi-glx-$GST_MAJORMINOR.pc:\
539 pkgconfig/gstreamer-vaapi-glx.pc.in
540 pkgconfig/gstreamer-vaapi-wayland-$GST_MAJORMINOR.pc:\
541 pkgconfig/gstreamer-vaapi-wayland.pc.in
542 pkgconfig/gstreamer-vaapi-x11-$GST_MAJORMINOR.pc:\
543 pkgconfig/gstreamer-vaapi-x11.pc.in
550 test $1 -eq 1 && echo yes || echo no
554 AS_IF([test $USE_DRM -eq 1], [VIDEO_OUTPUTS="$VIDEO_OUTPUTS drm"])
555 AS_IF([test $USE_X11 -eq 1], [VIDEO_OUTPUTS="$VIDEO_OUTPUTS x11"])
556 AS_IF([test $USE_GLX -eq 1], [VIDEO_OUTPUTS="$VIDEO_OUTPUTS glx"])
557 AS_IF([test $USE_WAYLAND -eq 1], [VIDEO_OUTPUTS="$VIDEO_OUTPUTS wayland"])
560 echo $PACKAGE configuration summary:
562 echo VA-API version ................... : $VA_VERSION_STR
563 echo Video outputs .................... : $VIDEO_OUTPUTS