xrandr_dep = dependency('xrandr', required: false)
xrender_dep = dependency('xrender', required: false)
+# some of the examples can use GTK+-3
+gtk_dep = dependency('gtk+-3.0', version : '>= 3.10', required : get_option('examples'))
+
GLES_VERSION_MASK = gl_dep.found() ? 1 : 0
if glesv2_dep.found()
if (cc.has_header('GLES2/gl2.h', dependencies: glesv2_dep) and
subdir('gst-libs')
subdir('gst')
-#subdir('tests')
+if not get_option('examples').disabled()
+ subdir('tests')
+endif
python3 = import('python3').find_python()
run_command(python3, '-c', 'import shutil; shutil.copy("hooks/pre-commit.hook", ".git/hooks/pre-commit")')
option('with_glx', type : 'combo', choices : ['yes', 'no', 'auto'], value : 'auto')
option('with_wayland', type : 'combo', choices : ['yes', 'no', 'auto'], value : 'auto')
option('with_egl', type : 'combo', choices : ['yes', 'no', 'auto'], value : 'auto')
+
+# Common feature options
+option('examples', type : 'feature', value : 'auto', yield : true)
+option('gtk_doc', type : 'feature', value : 'auto', yield : true, description : 'Build API documentation with gtk-doc')
--- /dev/null
+examples = [
+ 'test-vaapisink',
+ 'test-vaapipostproc',
+ 'test-roi',
+]
+
+foreach example : examples
+ executable(example, '@0@.c'.format(example),
+ c_args : gstreamer_vaapi_args,
+ include_directories: [configinc, libsinc],
+ dependencies : [gst_dep, gstvideo_dep],
+ install: false)
+endforeach
+
+executable('test-vaapicontext', 'test-vaapicontext.c',
+ c_args : gstreamer_vaapi_args,
+ include_directories: [configinc, libsinc],
+ dependencies : [ gst_dep,
+ gstvideo_dep,
+ libva_dep,
+ x11_dep,
+ gtk_dep,
+ libva_x11_dep ],
+ install: false)
--- /dev/null
+libdecutils_sources = [
+ 'decoder.c',
+ 'test-h264.c',
+ 'test-jpeg.c',
+ 'test-mpeg2.c',
+ 'test-mpeg4.c',
+ 'test-vc1.c',
+]
+
+libdecutils_headers = [
+ 'decoder.h',
+ 'test-h264.h',
+ 'test-jpeg.h',
+ 'test-mpeg2.h',
+ 'test-mpeg4.h',
+ 'test-vc1.h',
+]
+
+libutils_sources = [
+ 'codec.c',
+ 'image.c',
+ 'output.c',
+ 'test-subpicture-data.c',
+ 'y4mreader.c',
+]
+
+libutils_headers = [
+ 'codec.h',
+ 'image.h',
+ 'output.h',
+ 'test-subpicture-data.h',
+ 'y4mreader.h',
+]
+
+test_examples = [
+ 'simple-decoder',
+ 'test-decode',
+ 'test-display',
+ 'test-filter',
+ 'test-surfaces',
+ 'test-windows',
+ 'test-subpicture',
+]
+
+if USE_ENCODERS
+ test_examples += [ 'simple-encoder' ]
+endif
+if USE_GLX
+ test_examples += [ 'test-textures' ]
+endif
+
+libutils = static_library('libutils',
+ libutils_sources + libutils_headers,
+ c_args : gstreamer_vaapi_args,
+ include_directories: [configinc, libsinc],
+ dependencies : gstlibvaapi_deps,
+ install: false)
+
+libdecutils = static_library('libdecutils',
+ libdecutils_sources + libdecutils_headers,
+ c_args : gstreamer_vaapi_args,
+ include_directories: [configinc, libsinc],
+ dependencies : gstlibvaapi_deps,
+ install: false)
+
+foreach example : test_examples
+ executable(example, '@0@.c'.format(example),
+ c_args : gstreamer_vaapi_args,
+ include_directories: [configinc, libsinc],
+ dependencies : [gst_dep, libva_dep, gstlibvaapi_dep],
+ link_with: [libutils, libdecutils],
+ install: false)
+endforeach
+
+subdir('elements')