gstreamer/gst-libs/gst/vaapi/Makefile.am
Sreerenj Balachandran 7e0d5b934b FEI: libs: Add FEI encoder
Adding FEI encoder to core lib.

The code is splitted into three session:

1: gstvaapiencoder_h264_fei.{h,c}
This is the replica of gstvaapiencoder_h264.{c,h} but with FEI.
All the modes ENC, PAK and ENC_PAK are running based
the code in these files.

2: gstvaapifeienc_h264.{h,c}
Abstract implementation intended for ENC (only VME) operation.

3: gstvaapifeipak_h264.{h,c}
Abstrct implementation intended for PAK (only the PAK module)

Right now ENC_PAK, ENC and PAK are running based on code
in gstvaapiencoder_h264_fei.{h,c}. The abstract implementations
in gstvaapifeienc_h264.{h,c} and gstvaapifeipak_h264.{h,c} are
needed if user request for ENC+PAK mode operation.

ENC+PAK: Here we need to invoke two sequence of
vaBeginPicture/vaRenderPicutre/vaEndPicture for each frame,
first for the ENC only and the second for PAK only.
Each mode associated with separate context ,but same pool of surfaces are
shared between the modes.
This is more useful once we have custom BRC algorithms.

Other Contributors:
                   Wang, Yi <yi.a.wang@intel.com>
                   Leilei <leilei.shang@intel.com>
                   Zhong, Xiaoxia <xiaoxia.zhong@intel.com>
                   xiaominc <xiaomin.chen@intel.com>
                   Li, Jing B <jing.b.li@intel.com>

https://bugzilla.gnome.org/show_bug.cgi?id=785712
https://bugzilla.gnome.org/show_bug.cgi?id=784667
2017-09-01 11:36:13 +02:00

554 lines
13 KiB
Makefile

noinst_LTLIBRARIES = libgstvaapi.la
if USE_DRM
noinst_LTLIBRARIES += libgstvaapi-drm.la
endif
if USE_X11
noinst_LTLIBRARIES += libgstvaapi-x11.la
endif
if USE_GLX
noinst_LTLIBRARIES += libgstvaapi-glx.la
endif
if USE_EGL
noinst_LTLIBRARIES += libgstvaapi-egl.la
endif
if USE_WAYLAND
noinst_LTLIBRARIES += libgstvaapi-wayland.la
endif
libgstvaapi_cflags = \
-DIN_LIBGSTVAAPI_CORE \
-DGST_USE_UNSTABLE_API \
-I$(top_srcdir)/gst-libs \
-I$(top_builddir)/gst-libs \
$(GST_BASE_CFLAGS) \
$(GST_BASEVIDEO_CFLAGS) \
$(GST_VIDEO_CFLAGS) \
$(GST_CFLAGS) \
$(GST_CODEC_PARSERS_CFLAGS) \
$(LIBVA_CFLAGS) \
$(NULL)
libgstvaapi_libs = \
$(GST_BASE_LIBS) \
$(GST_BASEVIDEO_LIBS) \
$(GST_LIBS) \
$(GST_VIDEO_LIBS) \
$(GST_CODEC_PARSERS_LIBS) \
$(LIBVA_LIBS) \
$(top_builddir)/gst-libs/gst/base/libgstvaapi-baseutils.la \
$(NULL)
libgstvaapi_source_c = \
gstvaapibufferproxy.c \
gstvaapicodec_objects.c \
gstvaapicontext.c \
gstvaapicontext_overlay.c \
gstvaapidecoder.c \
gstvaapidecoder_dpb.c \
gstvaapidecoder_h264.c \
gstvaapidecoder_mpeg2.c \
gstvaapidecoder_mpeg4.c \
gstvaapidecoder_objects.c \
gstvaapidecoder_unit.c \
gstvaapidecoder_vc1.c \
gstvaapidisplay.c \
gstvaapifilter.c \
gstvaapiimage.c \
gstvaapiimagepool.c \
gstvaapiminiobject.c \
gstvaapiobject.c \
gstvaapiparser_frame.c \
gstvaapipixmap.c \
gstvaapiprofile.c \
gstvaapisubpicture.c \
gstvaapisurface.c \
gstvaapisurface_drm.c \
gstvaapisurfacepool.c \
gstvaapisurfaceproxy.c \
gstvaapitexture.c \
gstvaapitexturemap.c \
gstvaapiutils.c \
gstvaapiutils_core.c \
gstvaapiutils_h264.c \
gstvaapiutils_h265.c \
gstvaapiutils_h26x.c \
gstvaapiutils_mpeg2.c \
gstvaapivalue.c \
gstvaapivideopool.c \
gstvaapiwindow.c \
video-format.c \
$(NULL)
libgstvaapi_source_h = \
gstvaapibufferproxy.h \
gstvaapidecoder.h \
gstvaapidecoder_h264.h \
gstvaapidecoder_h265.h \
gstvaapidecoder_mpeg2.h \
gstvaapidecoder_mpeg4.h \
gstvaapidecoder_vc1.h \
gstvaapidisplay.h \
gstvaapifilter.h \
gstvaapiimage.h \
gstvaapiimagepool.h \
gstvaapiobject.h \
gstvaapipixmap.h \
gstvaapiprofile.h \
gstvaapisubpicture.h \
gstvaapisurface.h \
gstvaapisurface_drm.h \
gstvaapisurfacepool.h \
gstvaapisurfaceproxy.h \
gstvaapitexture.h \
gstvaapitexturemap.h \
gstvaapitypes.h \
gstvaapiutils_h264.h \
gstvaapiutils_h265.h \
gstvaapiutils_mpeg2.h \
gstvaapivalue.h \
gstvaapivideopool.h \
gstvaapiwindow.h \
video-format.h \
$(NULL)
libgstvaapi_source_priv_h = \
gstvaapibufferproxy_priv.h \
gstvaapicodec_objects.h \
gstvaapicompat.h \
gstvaapicontext.h \
gstvaapicontext_overlay.h \
gstvaapidebug.h \
gstvaapidecoder_dpb.h \
gstvaapidecoder_objects.h \
gstvaapidecoder_priv.h \
gstvaapidecoder_unit.h \
gstvaapidisplay_priv.h \
gstvaapiimage_priv.h \
gstvaapiminiobject.h \
gstvaapiobject_priv.h \
gstvaapiparser_frame.h \
gstvaapipixmap_priv.h \
gstvaapisurface_priv.h \
gstvaapisurfaceproxy_priv.h \
gstvaapitexture_priv.h \
gstvaapiutils.h \
gstvaapiutils_core.h \
gstvaapiutils_h264_priv.h \
gstvaapiutils_h265_priv.h \
gstvaapiutils_h26x_priv.h \
gstvaapiutils_mpeg2_priv.h \
gstvaapivideopool_priv.h \
gstvaapiwindow_priv.h \
gstvaapiworkarounds.h \
sysdeps.h \
$(NULL)
libgstvaapi_jpegdec_source_c = gstvaapidecoder_jpeg.c
libgstvaapi_jpegdec_source_h = gstvaapidecoder_jpeg.h
if USE_JPEG_DECODER
libgstvaapi_source_c += $(libgstvaapi_jpegdec_source_c)
libgstvaapi_source_h += $(libgstvaapi_jpegdec_source_h)
endif
libgstvaapi_vp8dec_source_c = gstvaapidecoder_vp8.c
libgstvaapi_vp8dec_source_h = gstvaapidecoder_vp8.h
if USE_VP8_DECODER
libgstvaapi_source_c += $(libgstvaapi_vp8dec_source_c)
libgstvaapi_source_h += $(libgstvaapi_vp8dec_source_h)
endif
libgstvaapi_hevcdec_source_c = gstvaapidecoder_h265.c
libgstvaapi_hevcdec_source_h = gstvaapidecoder_h265.h
if USE_H265_DECODER
libgstvaapi_source_c += $(libgstvaapi_hevcdec_source_c)
libgstvaapi_source_h += $(libgstvaapi_hevcdec_source_h)
endif
libgstvaapi_vp9dec_source_c = gstvaapidecoder_vp9.c
libgstvaapi_vp9dec_source_h = gstvaapidecoder_vp9.h
if USE_VP9_DECODER
libgstvaapi_source_c += $(libgstvaapi_vp9dec_source_c)
libgstvaapi_source_h += $(libgstvaapi_vp9dec_source_h)
endif
libgstvaapi_enc_source_c = \
gstvaapicodedbuffer.c \
gstvaapicodedbufferpool.c \
gstvaapicodedbufferproxy.c \
gstvaapiencoder.c \
gstvaapiencoder_h264.c \
gstvaapiencoder_mpeg2.c \
gstvaapiencoder_objects.c \
$(NULL)
libgstvaapi_enc_source_h = \
gstvaapicodedbuffer.h \
gstvaapicodedbufferpool.h \
gstvaapicodedbufferproxy.h \
gstvaapiencoder.h \
gstvaapiencoder_h264.h \
gstvaapiencoder_mpeg2.h \
$(NULL)
libgstvaapi_enc_source_priv_h = \
gstvaapicodedbuffer_priv.h \
gstvaapicodedbufferproxy_priv.h \
gstvaapiencoder_mpeg2_priv.h \
gstvaapiencoder_objects.h \
gstvaapiencoder_priv.h \
$(NULL)
if USE_ENCODERS
libgstvaapi_source_c += $(libgstvaapi_enc_source_c)
libgstvaapi_source_h += $(libgstvaapi_enc_source_h)
libgstvaapi_source_priv_h += $(libgstvaapi_enc_source_priv_h)
endif
libgstvaapi_jpegenc_source_c = gstvaapiencoder_jpeg.c
libgstvaapi_jpegenc_source_h = gstvaapiencoder_jpeg.h
if USE_JPEG_ENCODER
libgstvaapi_source_c += $(libgstvaapi_jpegenc_source_c)
libgstvaapi_source_h += $(libgstvaapi_jpegenc_source_h)
endif
libgstvaapi_vp8enc_source_c = gstvaapiencoder_vp8.c
libgstvaapi_vp8enc_source_h = gstvaapiencoder_vp8.h
if USE_VP8_ENCODER
libgstvaapi_source_c += $(libgstvaapi_vp8enc_source_c)
libgstvaapi_source_h += $(libgstvaapi_vp8enc_source_h)
endif
libgstvaapi_h265enc_source_c = gstvaapiencoder_h265.c
libgstvaapi_h265enc_source_h = gstvaapiencoder_h265.h
if USE_H265_ENCODER
libgstvaapi_source_c += $(libgstvaapi_h265enc_source_c)
libgstvaapi_source_h += $(libgstvaapi_h265enc_source_h)
endif
libgstvaapi_vp9enc_source_c = gstvaapiencoder_vp9.c
libgstvaapi_vp9enc_source_h = gstvaapiencoder_vp9.h
if USE_VP9_ENCODER
libgstvaapi_source_c += $(libgstvaapi_vp9enc_source_c)
libgstvaapi_source_h += $(libgstvaapi_vp9enc_source_h)
endif
libgstvaapi_h264feienc_source_c = \
gstvaapifeiutils_h264.c \
gstvaapifei_objects.c \
gstvaapifeienc_h264.c \
gstvaapifeipak_h264.c \
gstvaapiencoder_h264_fei.c \
$(NULL)
libgstvaapi_h264feienc_source_h = \
gstvaapifeiutils_h264.h \
gstvaapifei_objects.h \
gstvaapifeienc_h264.h \
gstvaapifeipak_h264.h \
gstvaapiencoder_h264_fei.h \
$(NULL)
libgstvaapi_h264feienc_source_priv_h = \
gstvaapifei_objects_priv.h \
$(NULL)
if USE_H264_FEI_ENCODER
libgstvaapi_source_c += $(libgstvaapi_h264feienc_source_c)
libgstvaapi_source_h += $(libgstvaapi_h264feienc_source_h)
libgstvaapi_source_priv_h += $(libgstvaapi_h264feienc_source_priv_h)
endif
libgstvaapi_drm_source_c = \
gstvaapidisplay_drm.c \
gstvaapiwindow_drm.c \
$(NULL)
libgstvaapi_drm_source_h = \
gstvaapidisplay_drm.h \
gstvaapiwindow_drm.h \
$(NULL)
libgstvaapi_drm_source_priv_h = \
gstvaapicompat.h \
gstvaapidisplay_drm_priv.h \
$(NULL)
libgstvaapi_x11_source_c = \
gstvaapidisplay_x11.c \
gstvaapipixmap_x11.c \
gstvaapiutils_x11.c \
gstvaapiwindow_x11.c \
$(NULL)
libgstvaapi_x11_source_h = \
gstvaapidisplay_x11.h \
gstvaapipixmap_x11.h \
gstvaapiwindow_x11.h \
$(NULL)
libgstvaapi_x11_source_priv_h = \
gstvaapicompat.h \
gstvaapidisplay_x11_priv.h \
gstvaapiutils_x11.h \
gstvaapiwindow_x11_priv.h \
$(NULL)
libgstvaapi_glx_source_c = \
gstvaapidisplay_glx.c \
gstvaapitexture_glx.c \
gstvaapiutils_glx.c \
gstvaapiwindow_glx.c \
$(NULL)
libgstvaapi_glx_source_h = \
gstvaapidisplay_glx.h \
gstvaapitexture.h \
gstvaapitexture_glx.h \
gstvaapiwindow_glx.h \
$(NULL)
libgstvaapi_glx_source_priv_h = \
gstvaapicompat.h \
gstvaapidisplay_glx_priv.h \
gstvaapiutils.h \
gstvaapiutils_glx.h \
$(NULL)
libgstvaapi_egl_source_c = \
gstvaapidisplay_egl.c \
gstvaapisurface_egl.c \
gstvaapitexture_egl.c \
gstvaapiutils_egl.c \
gstvaapiwindow_egl.c \
$(NULL)
libgstvaapi_egl_source_h = \
gstvaapidisplay_egl.h \
gstvaapisurface_egl.h \
gstvaapitexture_egl.h \
gstvaapiwindow_egl.h \
$(NULL)
libgstvaapi_egl_source_priv_h = \
egl_compat.h \
egl_vtable.h \
gstvaapidisplay_egl_priv.h \
gstvaapiutils_egl.h \
ogl_compat.h \
$(NULL)
libgstvaapi_wayland_source_c = \
gstvaapidisplay_wayland.c \
gstvaapiwindow_wayland.c \
$(NULL)
libgstvaapi_wayland_source_h = \
gstvaapidisplay_wayland.h \
gstvaapiwindow_wayland.h \
$(NULL)
libgstvaapi_wayland_source_priv_h = \
gstvaapicompat.h \
gstvaapidisplay_wayland_priv.h \
$(NULL)
libgstvaapi_la_SOURCES = \
$(libgstvaapi_source_c) \
$(libgstvaapi_source_priv_h) \
$(libgstvaapi_source_h) \
$(NULL)
libgstvaapi_la_CFLAGS = \
$(libgstvaapi_cflags) \
$(NULL)
libgstvaapi_la_LIBADD = \
$(libgstvaapi_libs) \
$(NULL)
libgstvaapi_la_LDFLAGS = \
$(GST_ALL_LDFLAGS) \
$(NULL)
libgstvaapi_drm_la_SOURCES = \
$(libgstvaapi_drm_source_c) \
$(libgstvaapi_drm_source_priv_h) \
$(libgstvaapi_drm_source_h) \
$(NULL)
libgstvaapi_drm_la_CFLAGS = \
-DGST_USE_UNSTABLE_API \
-I$(top_srcdir)/gst-libs \
$(GLIB_CFLAGS) \
$(GST_BASE_CFLAGS) \
$(GST_VIDEO_CFLAGS) \
$(UDEV_CFLAGS) \
$(DRM_CFLAGS) \
$(LIBVA_DRM_CFLAGS) \
$(NULL)
libgstvaapi_drm_la_LIBADD = \
$(GLIB_LIBS) \
$(GST_LIBS) \
$(UDEV_LIBS) \
$(DRM_LIBS) \
$(LIBVA_DRM_LIBS) \
$(NULL)
libgstvaapi_drm_la_LDFLAGS = \
$(GST_ALL_LDFLAGS) \
$(NULL)
libgstvaapi_x11_la_SOURCES = \
$(libgstvaapi_x11_source_c) \
$(libgstvaapi_x11_source_priv_h) \
$(libgstvaapi_x11_source_h) \
$(NULL)
libgstvaapi_x11_la_CFLAGS = \
-DGST_USE_UNSTABLE_API \
-I$(top_srcdir)/gst-libs \
$(GLIB_CFLAGS) \
$(GST_BASE_CFLAGS) \
$(GST_VIDEO_CFLAGS) \
$(X11_CFLAGS) \
$(XRANDR_CFLAGS) \
$(XRENDER_CFLAGS) \
$(LIBVA_X11_CFLAGS) \
$(NULL)
libgstvaapi_x11_la_LIBADD = \
$(GLIB_LIBS) \
$(GST_LIBS) \
$(X11_LIBS) \
$(XRANDR_LIBS) \
$(XRENDER_LIBS) \
$(LIBVA_X11_LIBS) \
$(NULL)
libgstvaapi_x11_la_LDFLAGS = \
$(GST_ALL_LDFLAGS) \
$(NULL)
libgstvaapi_glx_la_SOURCES = \
$(libgstvaapi_glx_source_c) \
$(libgstvaapi_glx_source_priv_h) \
$(libgstvaapi_glx_source_h) \
$(NULL)
libgstvaapi_glx_la_CFLAGS = \
-DGST_USE_UNSTABLE_API \
-I$(top_srcdir)/gst-libs \
$(GLIB_CFLAGS) \
$(GST_BASE_CFLAGS) \
$(GST_VIDEO_CFLAGS) \
$(GL_CFLAGS) \
$(LIBVA_X11_CFLAGS) \
$(NULL)
libgstvaapi_glx_la_LIBADD = \
$(GLIB_LIBS) \
$(GST_LIBS) \
$(GST_BASE_LIBS) \
$(GST_VIDEO_LIBS) \
$(X11_LIBS) \
$(GL_LIBS) \
$(LIBVA_X11_LIBS) \
$(DLOPEN_LIBS) \
$(NULL)
libgstvaapi_glx_la_LDFLAGS = \
$(GST_ALL_LDFLAGS) \
$(NULL)
libgstvaapi_egl_la_SOURCES = \
$(libgstvaapi_egl_source_c) \
$(libgstvaapi_egl_source_priv_h) \
$(libgstvaapi_egl_source_h) \
$(NULL)
libgstvaapi_egl_la_CFLAGS = \
-DGST_USE_UNSTABLE_API \
-I$(top_srcdir)/gst-libs \
$(GLIB_CFLAGS) \
$(GMODULE_CFLAGS) \
$(GST_BASE_CFLAGS) \
$(GST_VIDEO_CFLAGS) \
$(LIBVA_CFLAGS) \
$(LIBVA_WAYLAND_CFLAGS) \
$(EGL_CFLAGS) \
$(NULL)
libgstvaapi_egl_la_LIBADD = \
$(GLIB_LIBS) \
$(GMODULE_LIBS) \
$(GST_LIBS) \
$(GST_BASE_LIBS) \
$(GST_VIDEO_LIBS) \
$(EGL_LIBS) \
$(NULL)
libgstvaapi_egl_la_LDFLAGS = \
$(GST_ALL_LDFLAGS) \
$(NULL)
libgstvaapi_wayland_la_SOURCES = \
$(libgstvaapi_wayland_source_c) \
$(libgstvaapi_wayland_source_priv_h) \
$(libgstvaapi_wayland_source_h) \
$(NULL)
libgstvaapi_wayland_la_CFLAGS = \
-DGST_USE_UNSTABLE_API \
-I$(top_srcdir)/gst-libs \
$(GLIB_CFLAGS) \
$(GST_BASE_CFLAGS) \
$(GST_VIDEO_CFLAGS) \
$(WAYLAND_CFLAGS) \
$(LIBVA_WAYLAND_CFLAGS) \
$(NULL)
libgstvaapi_wayland_la_LIBADD = \
$(GLIB_LIBS) \
$(GST_LIBS) \
$(GST_VIDEO_LIBS) \
$(WAYLAND_LIBS) \
$(LIBVA_WAYLAND_LIBS) \
$(NULL)
libgstvaapi_wayland_la_LDFLAGS = \
$(GST_ALL_LDFLAGS) \
$(NULL)
EXTRA_DIST = \
$(libgstvaapi_enc_source_c) \
$(libgstvaapi_enc_source_h) \
$(libgstvaapi_enc_source_priv_h) \
$(libgstvaapi_jpegdec_source_c) \
$(libgstvaapi_jpegdec_source_h) \
$(libgstvaapi_vp8dec_source_c) \
$(libgstvaapi_vp8dec_source_h) \
$(libgstvaapi_hevcdec_source_c) \
$(libgstvaapi_hevcdec_source_h) \
$(libgstvaapi_hevcdec_source_priv_h) \
$(libgstvaapi_vp9dec_source_c) \
$(libgstvaapi_vp9dec_source_h) \
$(libgstvaapi_jpegenc_source_h) \
$(libgstvaapi_jpegenc_source_c) \
$(libgstvaapi_vp8enc_source_h) \
$(libgstvaapi_vp8enc_source_c) \
$(libgstvaapi_h265enc_source_h) \
$(libgstvaapi_h265enc_source_c) \
$(libgstvaapi_vp9enc_source_h) \
$(libgstvaapi_vp9enc_source_c) \
$(libgstvaapi_egl_source_c) \
$(libgstvaapi_egl_source_h) \
$(libgstvaapi_egl_source_priv_h) \
$(libgstvaapi_h264feienc_source_h) \
$(libgstvaapi_h264feienc_source_c) \
$(libgstvaapi_h264feienc_source_priv_h) \
$(NULL)
-include $(top_srcdir)/git.mk