gstreamer/gst-libs/gst/vaapi
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
..
egl_compat.h Add initial support for EGL. 2015-02-24 15:20:03 +01:00
egl_vtable.h Add initial support for EGL. 2015-02-24 15:20:03 +01:00
gstvaapibufferproxy.c libs: bufferproxy: gst_vaapi_buffer_proxy_{set,peek}_mem() 2017-02-02 20:33:36 +01:00
gstvaapibufferproxy.h libs: bufferproxy: gst_vaapi_buffer_proxy_{set,peek}_mem() 2017-02-02 20:33:36 +01:00
gstvaapibufferproxy_priv.h libs: bufferproxy: gst_vaapi_buffer_proxy_{set,peek}_mem() 2017-02-02 20:33:36 +01:00
gstvaapicodec_objects.c libs: small code style fixes 2016-02-03 12:45:30 +01:00
gstvaapicodec_objects.h build: consolidate the VA sub API includes 2017-08-13 18:08:19 +02:00
gstvaapicodedbuffer.c libs: fix code style for errors 2016-11-03 12:51:44 +01:00
gstvaapicodedbuffer.h encoder: rework GstVaapiCodedBuffer and related proxy. 2013-12-04 19:14:38 +01:00
gstvaapicodedbuffer_priv.h encoder: rework GstVaapiCodedBuffer and related proxy. 2013-12-04 19:14:38 +01:00
gstvaapicodedbufferpool.c libs: fix deleting a GstVaapiCodedBufferPool object 2016-04-13 15:45:26 +02:00
gstvaapicodedbufferpool.h legal: update copyright notice dates. 2014-01-22 19:02:35 +01:00
gstvaapicodedbufferproxy.c FEI: libs: Add fei codec objects in codedbufferproxy 2017-09-01 11:32:24 +02:00
gstvaapicodedbufferproxy.h FEI: libs: Add fei codec objects in codedbufferproxy 2017-09-01 11:32:24 +02:00
gstvaapicodedbufferproxy_priv.h FEI: libs: Add fei codec objects in codedbufferproxy 2017-09-01 11:32:24 +02:00
gstvaapicompat.h libs: encoder: h264: handle deprecated enum 2017-08-25 16:44:27 +02:00
gstvaapicontext.c FEI: libs: Add FEI functional mode configuration 2017-09-01 11:32:07 +02:00
gstvaapicontext.h FEI: libs: Add FEI functional mode configuration 2017-09-01 11:32:07 +02:00
gstvaapicontext_overlay.c libs: fix code style for errors 2016-11-03 12:51:44 +01:00
gstvaapicontext_overlay.h context: move overlay composition to separate files. 2014-01-23 14:29:09 +01:00
gstvaapidebug.h libs: display: GstVaapiDisplay as GstObject descendant 2016-11-03 08:24:59 +01:00
gstvaapidecoder.c Implement decoder reset on flush, rather than recreating 2017-04-12 10:43:49 +10:00
gstvaapidecoder.h Implement decoder reset on flush, rather than recreating 2017-04-12 10:43:49 +10:00
gstvaapidecoder_dpb.c libs: fix code style for errors 2016-11-03 12:51:44 +01:00
gstvaapidecoder_dpb.h legal: add per-file authorship information. 2013-11-22 06:39:15 +01:00
gstvaapidecoder_h264.c libs: decoder: h264: decode SVC base layer only 2017-08-28 17:32:57 -07:00
gstvaapidecoder_h264.h libs: decoder: h264: add setter for base-only mode 2017-08-03 17:07:09 +02:00
gstvaapidecoder_h265.c libs: decoder: h265: remove spurious code 2017-08-09 19:06:59 +02:00
gstvaapidecoder_h265.h HEVC: Add HEVC(h265) decoder to core libgstvaapi 2015-04-13 15:41:45 +03:00
gstvaapidecoder_jpeg.c build: consolidate the VA sub API includes 2017-08-13 18:08:19 +02:00
gstvaapidecoder_jpeg.h legal: update copyright notice dates. 2013-11-22 06:39:20 +01:00
gstvaapidecoder_mpeg2.c Implement decoder reset on flush, rather than recreating 2017-04-12 10:43:49 +10:00
gstvaapidecoder_mpeg2.h legal: update copyright notice dates. 2013-11-22 06:39:20 +01:00
gstvaapidecoder_mpeg4.c libs: decoder: mpeg4: fail if return value is not OK 2017-08-08 16:15:46 +02:00
gstvaapidecoder_mpeg4.h legal: update copyright notice dates. 2013-11-22 06:39:20 +01:00
gstvaapidecoder_objects.c libs: small code style fixes 2016-02-03 12:45:30 +01:00
gstvaapidecoder_objects.h decoder: add initial infrastructure for marking corrupted output. 2015-07-20 15:25:46 +02:00
gstvaapidecoder_priv.h Implement decoder reset on flush, rather than recreating 2017-04-12 10:43:49 +10:00
gstvaapidecoder_unit.c libs: humongous code style fix 2016-02-03 20:03:47 +01:00
gstvaapidecoder_unit.h libs: remove unused header 2017-08-13 18:08:19 +02:00
gstvaapidecoder_vc1.c Implement decoder reset on flush, rather than recreating 2017-04-12 10:43:49 +10:00
gstvaapidecoder_vc1.h legal: update copyright notice dates. 2013-11-22 06:39:20 +01:00
gstvaapidecoder_vp8.c build: consolidate the VA sub API includes 2017-08-13 18:08:19 +02:00
gstvaapidecoder_vp8.h Add initial VP8 decoder. 2014-04-18 20:03:44 +02:00
gstvaapidecoder_vp9.c build: consolidate the VA sub API includes 2017-08-13 18:08:19 +02:00
gstvaapidecoder_vp9.h VP9: libgstvaapi: Add VP9 decoder 2015-11-06 15:12:51 +02:00
gstvaapidisplay.c FEI: libs: Add FEI Entrypoint mapping 2017-09-01 11:27:28 +02:00
gstvaapidisplay.h libs: display: GstVaapiDisplay as GstObject descendant 2016-11-03 08:24:59 +01:00
gstvaapidisplay_drm.c libs: display: remove cache 2017-07-18 18:20:21 +02:00
gstvaapidisplay_drm.h libs: display: GstVaapiDisplay as GstObject descendant 2016-11-03 08:24:59 +01:00
gstvaapidisplay_drm_priv.h libs: display: GstVaapiDisplay as GstObject descendant 2016-11-03 08:24:59 +01:00
gstvaapidisplay_egl.c libs: display: egl: avoid recreate native display 2016-11-03 08:27:57 +01:00
gstvaapidisplay_egl.h libs: display: GstVaapiDisplay as GstObject descendant 2016-11-03 08:24:59 +01:00
gstvaapidisplay_egl_priv.h libs: display: GstVaapiDisplay as GstObject descendant 2016-11-03 08:24:59 +01:00
gstvaapidisplay_glx.c libs: display: GstVaapiDisplay as GstObject descendant 2016-11-03 08:24:59 +01:00
gstvaapidisplay_glx.h libs: display: GstVaapiDisplay as GstObject descendant 2016-11-03 08:24:59 +01:00
gstvaapidisplay_glx_priv.h libs: display: GstVaapiDisplay as GstObject descendant 2016-11-03 08:24:59 +01:00
gstvaapidisplay_priv.h libs: display: remove cache 2017-07-18 18:20:21 +02:00
gstvaapidisplay_wayland.c libs: display: remove cache 2017-07-18 18:20:21 +02:00
gstvaapidisplay_wayland.h libs: display: GstVaapiDisplay as GstObject descendant 2016-11-03 08:24:59 +01:00
gstvaapidisplay_wayland_priv.h libs: display: GstVaapiDisplay as GstObject descendant 2016-11-03 08:24:59 +01:00
gstvaapidisplay_x11.c libs: display: x11: add gst_vaapi_display_x11_new_with_va_display() 2017-07-18 18:50:39 +02:00
gstvaapidisplay_x11.h libs: display: x11: add gst_vaapi_display_x11_new_with_va_display() 2017-07-18 18:50:39 +02:00
gstvaapidisplay_x11_priv.h libs: display: GstVaapiDisplay as GstObject descendant 2016-11-03 08:24:59 +01:00
gstvaapiencoder.c FEI: libs: Add virtual method for secondary context creation. 2017-09-01 11:32:24 +02:00
gstvaapiencoder.h libs: encoder: add api gst_vaapi_encoder_add/del_roi 2017-05-12 11:12:56 +02:00
gstvaapiencoder_h264.c libs: encoder: remove unused cast macro 2017-08-28 19:20:42 +02:00
gstvaapiencoder_h264.h Revert "libs: encoders: remove unused cast macros" 2017-08-28 19:09:07 +02:00
gstvaapiencoder_h264_fei.c FEI: libs: Add FEI encoder 2017-09-01 11:36:13 +02:00
gstvaapiencoder_h264_fei.h FEI: libs: Add FEI encoder 2017-09-01 11:36:13 +02:00
gstvaapiencoder_h265.c libs: encoder: remove unused cast macro 2017-08-28 19:20:42 +02:00
gstvaapiencoder_h265.h Revert "libs: encoders: remove unused cast macros" 2017-08-28 19:09:07 +02:00
gstvaapiencoder_jpeg.c libs: encoder: remove unused cast macro 2017-08-28 19:20:42 +02:00
gstvaapiencoder_jpeg.h Revert "libs: encoders: remove unused cast macros" 2017-08-28 19:09:07 +02:00
gstvaapiencoder_mpeg2.c libs: encoder: remove va.h include 2017-08-13 18:08:19 +02:00
gstvaapiencoder_mpeg2.h Revert "libs: encoders: remove unused cast macros" 2017-08-28 19:09:07 +02:00
gstvaapiencoder_mpeg2_priv.h legal: update copyright notice dates. 2014-01-22 19:02:35 +01:00
gstvaapiencoder_objects.c FEI: libs: Add fei codec objects to GstVaapiEncPicture 2017-09-01 11:32:24 +02:00
gstvaapiencoder_objects.h FEI: libs: Add fei codec objects to GstVaapiEncPicture 2017-09-01 11:32:24 +02:00
gstvaapiencoder_priv.h FEI: libs: Add virtual method for secondary context creation. 2017-09-01 11:32:24 +02:00
gstvaapiencoder_vp8.c libs: encoder: remove unused cast macro 2017-08-28 19:20:42 +02:00
gstvaapiencoder_vp8.h Revert "libs: encoders: remove unused cast macros" 2017-08-28 19:09:07 +02:00
gstvaapiencoder_vp9.c libs: encoder: remove unused cast macro 2017-08-28 19:20:42 +02:00
gstvaapiencoder_vp9.h Revert "libs: encoders: remove unused cast macros" 2017-08-28 19:09:07 +02:00
gstvaapifei_objects.c FEI: Add codec objects for fei usecase 2017-09-01 11:32:24 +02:00
gstvaapifei_objects.h FEI: Add codec objects for fei usecase 2017-09-01 11:32:24 +02:00
gstvaapifei_objects_priv.h FEI: Add codec objects for fei usecase 2017-09-01 11:32:24 +02:00
gstvaapifeienc_h264.c FEI: libs: Add FEI encoder 2017-09-01 11:36:13 +02:00
gstvaapifeienc_h264.h FEI: libs: Add FEI encoder 2017-09-01 11:36:13 +02:00
gstvaapifeipak_h264.c FEI: libs: Add FEI encoder 2017-09-01 11:36:13 +02:00
gstvaapifeipak_h264.h FEI: libs: Add FEI encoder 2017-09-01 11:36:13 +02:00
gstvaapifeiutils_h264.c FEI: libs: add H264 fei specific utility functions 2017-09-01 11:32:24 +02:00
gstvaapifeiutils_h264.h FEI: libs: add H264 fei specific utility functions 2017-09-01 11:32:24 +02:00
gstvaapifilter.c build: consolidate the VA sub API includes 2017-08-13 18:08:19 +02:00
gstvaapifilter.h vaapipostproc: checking and updating filter parameter only when it's set 2016-07-22 12:08:20 +02:00
gstvaapiimage.c libs: fix code style for errors 2016-11-03 12:51:44 +01:00
gstvaapiimage.h legal: update copyright notice dates. 2013-11-22 06:39:20 +01:00
gstvaapiimage_priv.h legal: add per-file authorship information. 2013-11-22 06:39:15 +01:00
gstvaapiimagepool.c libs: fix code style for errors 2016-11-03 12:51:44 +01:00
gstvaapiimagepool.h videopool: re-indent all GstVaapiVideoPool related source code. 2015-01-27 18:11:45 +01:00
gstvaapiminiobject.c libs: expose GstVaapiMiniObject APIs to all backends. 2015-01-27 18:11:44 +01:00
gstvaapiminiobject.h libs: remove unused header 2017-08-13 18:08:19 +02:00
gstvaapiobject.c libs: vaapi: object: remove unrequired NULL check 2017-08-08 17:12:06 +02:00
gstvaapiobject.h libs: re-indent all GstVaapiObject related source code. 2015-01-27 18:11:44 +01:00
gstvaapiobject_priv.h display: record native display object. 2015-01-27 18:11:44 +01:00
gstvaapiparser_frame.c libs: fix code style for errors 2016-11-03 12:51:44 +01:00
gstvaapiparser_frame.h legal: add per-file authorship information. 2013-11-22 06:39:15 +01:00
gstvaapipixmap.c libs: fix code style for errors 2016-11-03 12:51:44 +01:00
gstvaapipixmap.h legal: add per-file authorship information. 2013-11-22 06:39:15 +01:00
gstvaapipixmap_priv.h libs: minor correction for logical consistency 2016-10-25 11:35:22 +02:00
gstvaapipixmap_x11.c libs: humongous code style fix 2016-02-03 20:03:47 +01:00
gstvaapipixmap_x11.h legal: add per-file authorship information. 2013-11-22 06:39:15 +01:00
gstvaapiprofile.c FEI: libs: Add FEI Entrypoint mapping 2017-09-01 11:27:28 +02:00
gstvaapiprofile.h FEI: libs: Add FEI Entrypoint mapping 2017-09-01 11:27:28 +02:00
gstvaapisubpicture.c libs: fix code style for errors 2016-11-03 12:51:44 +01:00
gstvaapisubpicture.h legal: add per-file authorship information. 2013-11-22 06:39:15 +01:00
gstvaapisurface.c libs: surface: add gst_vaapi_surface_{set,peek}_buffer_proxy() 2017-02-02 20:33:36 +01:00
gstvaapisurface.h libs: surface: add gst_vaapi_surface_{set,peek}_buffer_proxy() 2017-02-02 20:33:36 +01:00
gstvaapisurface_drm.c libs: surface: fix error handling code style 2016-12-14 17:25:44 +01:00
gstvaapisurface_drm.h libs: change gst_vaapi_surface_new_with_dma_buf_handle() 2016-06-08 10:19:01 +02:00
gstvaapisurface_egl.c egl: allow for EGLImage imports into VA Surfaces. 2015-02-24 15:20:03 +01:00
gstvaapisurface_egl.h egl: allow for EGLImage imports into VA Surfaces. 2015-02-24 15:20:03 +01:00
gstvaapisurface_priv.h surface: add initial support for foreign buffer imports. 2015-01-28 17:35:16 +01:00
gstvaapisurfacepool.c libs: fix code style for errors 2016-11-03 12:51:44 +01:00
gstvaapisurfacepool.h gstvaapisurfacepool: Add new API to create surface pool based on chroma type 2015-12-08 15:16:00 +02:00
gstvaapisurfaceproxy.c FEI: libs: Add fei codec objects to surface proxy 2017-09-01 11:32:24 +02:00
gstvaapisurfaceproxy.h FEI: libs: Add fei codec objects to surface proxy 2017-09-01 11:32:24 +02:00
gstvaapisurfaceproxy_priv.h FEI: libs: Add fei codec objects to surface proxy 2017-09-01 11:32:24 +02:00
gstvaapitexture.c libs: fix code style for errors 2016-11-03 12:51:44 +01:00
gstvaapitexture.h plugins: add support for GstVideoGLTextureOrientation. 2015-02-24 15:20:03 +01:00
gstvaapitexture_egl.c libs: display: GstVaapiDisplay as GstObject descendant 2016-11-03 08:24:59 +01:00
gstvaapitexture_egl.h egl: add texture abstraction. 2015-02-24 15:20:03 +01:00
gstvaapitexture_glx.c libs: trivial comment style fixes 2016-02-03 12:20:37 +01:00
gstvaapitexture_glx.h texture: move to core libgstvaapi base library. 2015-01-27 18:11:44 +01:00
gstvaapitexture_priv.h libs: minor correction for logical consistency 2016-10-25 11:35:22 +02:00
gstvaapitexturemap.c libs: vaapitexturemap: trivial code-style fix 2016-11-03 08:31:16 +01:00
gstvaapitexturemap.h libs: vaapitexturemap: implement GstVaapiTextureMap 2016-09-22 14:19:05 +02:00
gstvaapitypes.h vaapisink: add support for GST_TAG_IMAGE_ORIENTATION 2016-07-05 20:17:12 +02:00
gstvaapiutils.c libs: guard deprecated symbols 2017-08-25 16:07:34 +02:00
gstvaapiutils.h libs: remove unused header 2017-08-13 18:08:19 +02:00
gstvaapiutils_core.c libs: utils: return NULL if failed to get surface formats 2017-02-01 20:01:11 +01:00
gstvaapiutils_core.h libs: move get_surface_formats to utils_core 2016-11-03 13:04:09 +01:00
gstvaapiutils_egl.c libs: fix code style for errors 2016-11-03 12:51:44 +01:00
gstvaapiutils_egl.h libs: display: GstVaapiDisplay as GstObject descendant 2016-11-03 08:24:59 +01:00
gstvaapiutils_glx.c libs: utils: glx: check return value 2017-08-08 17:21:52 +02:00
gstvaapiutils_glx.h libs: remove unused header 2017-08-13 18:08:19 +02:00
gstvaapiutils_h26x.c libs: h26x: adds gst_vaapi_utils_h26x_write_nal_unit() 2017-03-20 19:02:04 +01:00
gstvaapiutils_h26x_priv.h libs: utils: mark functions as internals 2017-05-15 18:36:21 +02:00
gstvaapiutils_h264.c libs: utils: remove va.h include in header 2017-08-13 18:08:19 +02:00
gstvaapiutils_h264.h libs: utils: move gstvaapisurface.h to private headers 2017-08-13 18:08:19 +02:00
gstvaapiutils_h264_priv.h libs: remove unused header 2017-08-13 18:08:19 +02:00
gstvaapiutils_h265.c libs: utils: remove va.h include in header 2017-08-13 18:08:19 +02:00
gstvaapiutils_h265.h libs: utils: move gstvaapisurface.h to private headers 2017-08-13 18:08:19 +02:00
gstvaapiutils_h265_priv.h libs: remove unused header 2017-08-13 18:08:19 +02:00
gstvaapiutils_mpeg2.c libs: utils: remove va.h include in header 2017-08-13 18:08:19 +02:00
gstvaapiutils_mpeg2.h libs: utils: move gstvaapisurface.h to private headers 2017-08-13 18:08:19 +02:00
gstvaapiutils_mpeg2_priv.h libs: remove unused header 2017-08-13 18:08:19 +02:00
gstvaapiutils_x11.c libs: x11: allows 30-bit colour depth 2016-03-29 12:08:55 +02:00
gstvaapiutils_x11.h libs: remove unused header 2017-08-13 18:08:19 +02:00
gstvaapivalue.c vaapisink: add support for GST_TAG_IMAGE_ORIENTATION 2016-07-05 20:17:12 +02:00
gstvaapivalue.h legal: update copyright notice dates. 2014-01-22 19:02:35 +01:00
gstvaapivideopool.c videopool: Release lock while allocating new object 2015-04-16 12:11:45 +02:00
gstvaapivideopool.h videopool: re-indent all GstVaapiVideoPool related source code. 2015-01-27 18:11:45 +01:00
gstvaapivideopool_priv.h videopool: re-indent all GstVaapiVideoPool related source code. 2015-01-27 18:11:45 +01:00
gstvaapiwindow.c libs: window: don't add an unused function 2017-04-11 19:22:38 +02:00
gstvaapiwindow.h vaapisink: implement unlock/unlock_stop for wayland 2015-05-15 17:10:37 +02:00
gstvaapiwindow_drm.c libs: trivial comment style fixes 2016-02-03 12:20:37 +01:00
gstvaapiwindow_drm.h window: re-indent all GstVaapiWindow related source code. 2014-07-25 17:36:12 +02:00
gstvaapiwindow_egl.c libs: window: egl: pass native va display 2016-11-03 08:27:40 +01:00
gstvaapiwindow_egl.h egl: add windowing support. 2015-02-24 15:20:03 +01:00
gstvaapiwindow_glx.c libs: fix code style for errors 2016-11-03 12:51:44 +01:00
gstvaapiwindow_glx.h window: re-indent all GstVaapiWindow related source code. 2014-07-25 17:36:12 +02:00
gstvaapiwindow_priv.h libs: window: remove surface_format member 2017-04-11 19:22:38 +02:00
gstvaapiwindow_wayland.c libs: windows: wayland: fail if cannot remove last frame 2017-08-08 17:29:54 +02:00
gstvaapiwindow_wayland.h window: re-indent all GstVaapiWindow related source code. 2014-07-25 17:36:12 +02:00
gstvaapiwindow_x11.c libs: window: x11: fix src rect info when using vpp 2017-05-12 16:23:38 +02:00
gstvaapiwindow_x11.h window: re-indent all GstVaapiWindow related source code. 2014-07-25 17:36:12 +02:00
gstvaapiwindow_x11_priv.h libs: window: x11/wayland: use new api for conversion 2017-04-11 19:20:38 +02:00
gstvaapiworkarounds.h legal: add per-file authorship information. 2013-11-22 06:39:15 +01:00
Makefile.am FEI: libs: Add FEI encoder 2017-09-01 11:36:13 +02:00
meson.build libs: remove unused header 2017-08-13 18:08:19 +02:00
ogl_compat.h Add initial support for EGL. 2015-02-24 15:20:03 +01:00
sysdeps.h remove unused glibcompat.h 2016-06-23 12:47:52 +02:00
video-format.c video-format: Keep the HW order preference while mapping to GstVideoFormats 2016-03-29 15:34:38 +03:00
video-format.h surface pool config based on video info 2015-08-13 17:20:19 +02:00