summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHaihao Xiang <haihao.xiang@intel.com>2018-12-26 14:36:23 +0800
committerVíctor Manuel Jáquez Leal <vjaquez@igalia.com>2019-01-07 17:46:42 +0000
commit5b447753da350c2ad71ca4334b864cda60715ccf (patch)
tree1d97c862d50bb56973e63db05566ab94f5c5922d
parent77bb3424dc82d3cdc94ce52029b7d9b0b0d1ab69 (diff)
meson: build h264 fei encoder if possible
-rw-r--r--gst-libs/gst/vaapi/meson.build17
-rw-r--r--gst/vaapi/meson.build7
-rw-r--r--meson.build2
-rw-r--r--tests/meson.build8
4 files changed, 34 insertions, 0 deletions
diff --git a/gst-libs/gst/vaapi/meson.build b/gst-libs/gst/vaapi/meson.build
index 4515d558..6a289af6 100644
--- a/gst-libs/gst/vaapi/meson.build
+++ b/gst-libs/gst/vaapi/meson.build
@@ -109,6 +109,23 @@ if USE_VP9_ENCODER
gstlibvaapi_headers += 'gstvaapiencoder_vp9.h'
endif
+if USE_H264_FEI_ENCODER
+ gstlibvaapi_sources += [
+ 'gstvaapifeiutils_h264.c',
+ 'gstvaapifei_objects.c',
+ 'gstvaapifeienc_h264.c',
+ 'gstvaapifeipak_h264.c',
+ 'gstvaapiencoder_h264_fei.c',
+ ]
+ gstlibvaapi_headers += [
+ 'gstvaapifeiutils_h264.h',
+ 'gstvaapifei_objects.h',
+ 'gstvaapifeienc_h264.h',
+ 'gstvaapifeipak_h264.h',
+ 'gstvaapiencoder_h264_fei.h',
+ ]
+endif
+
if USE_DRM
gstlibvaapi_sources += [
'gstvaapidisplay_drm.c',
diff --git a/gst/vaapi/meson.build b/gst/vaapi/meson.build
index cbd8f88c..3bed11cf 100644
--- a/gst/vaapi/meson.build
+++ b/gst/vaapi/meson.build
@@ -32,6 +32,13 @@ if USE_VP9_ENCODER
vaapi_sources += 'gstvaapiencode_vp9.c'
endif
+if USE_H264_FEI_ENCODER
+ vaapi_sources += [
+ 'gstvaapifeivideometa.c',
+ 'gstvaapiencode_h264_fei.c',
+ ]
+endif
+
gstvaapi = library('gstvaapi',
vaapi_sources,
c_args : gstreamer_vaapi_args + ['-DGST_USE_UNSTABLE_API'],
diff --git a/meson.build b/meson.build
index 070387cd..06e93cf5 100644
--- a/meson.build
+++ b/meson.build
@@ -86,6 +86,7 @@ endif
USE_ENCODERS = get_option('with_encoders') != 'no'
USE_VP9_ENCODER = USE_ENCODERS and cc.has_header('va/va_enc_vp9.h', dependencies: libva_dep, prefix: '#include <va/va.h>')
+USE_H264_FEI_ENCODER = USE_ENCODERS and cc.has_header('va/va_fei_h264.h', dependencies: libva_dep, prefix: '#include <va/va.h>')
USE_DRM = libva_drm_dep.found() and libdrm_dep.found() and libudev_dep.found() and get_option('with_drm') != 'no'
USE_EGL = gmodule_dep.found() and egl_dep.found() and GLES_VERSION_MASK != 0 and get_option('with_egl') != 'no'
@@ -112,6 +113,7 @@ cdata.set10('USE_EGL', USE_EGL)
cdata.set10('USE_ENCODERS', USE_ENCODERS)
cdata.set10('USE_GLX', USE_GLX)
cdata.set10('USE_VP9_ENCODER', USE_VP9_ENCODER)
+cdata.set10('USE_H264_FEI_ENCODER', USE_H264_FEI_ENCODER)
cdata.set10('USE_WAYLAND', USE_WAYLAND)
cdata.set10('USE_X11', USE_X11)
cdata.set10('HAVE_XKBLIB', cc.has_header('X11/XKBlib.h', dependencies: x11_dep))
diff --git a/tests/meson.build b/tests/meson.build
index b7f7c881..2bc2410e 100644
--- a/tests/meson.build
+++ b/tests/meson.build
@@ -45,6 +45,14 @@ test_examples = [
if USE_ENCODERS
test_examples += [ 'simple-encoder' ]
endif
+
+if USE_H264_FEI_ENCODER
+ test_examples += [
+ 'test-fei-enc-out',
+ 'test-fei-enc-in',
+ ]
+endif
+
if USE_GLX
test_examples += [ 'test-textures' ]
endif