From 5b447753da350c2ad71ca4334b864cda60715ccf Mon Sep 17 00:00:00 2001 From: Haihao Xiang Date: Wed, 26 Dec 2018 14:36:23 +0800 Subject: [PATCH] meson: build h264 fei encoder if possible --- gst-libs/gst/vaapi/meson.build | 17 +++++++++++++++++ gst/vaapi/meson.build | 7 +++++++ meson.build | 2 ++ tests/meson.build | 8 ++++++++ 4 files changed, 34 insertions(+) diff --git a/gst-libs/gst/vaapi/meson.build b/gst-libs/gst/vaapi/meson.build index 4515d55..6a289af 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 cbd8f88..3bed11c 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 070387c..06e93cf 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 ') +USE_H264_FEI_ENCODER = USE_ENCODERS and cc.has_header('va/va_fei_h264.h', dependencies: libva_dep, prefix: '#include ') 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 b7f7c88..2bc2410 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 -- 2.7.4