FEI: libs: Add FEI encoder
authorSreerenj Balachandran <sreerenj.balachandran@intel.com>
Thu, 10 Aug 2017 01:19:06 +0000 (18:19 -0700)
committerVíctor Manuel Jáquez Leal <vjaquez@igalia.com>
Fri, 1 Sep 2017 09:36:13 +0000 (11:36 +0200)
commit7e0d5b934bd72be87a741a5bf98bbb6dc6906a99
tree2247c9743933ca5b1123af7ab3bf939e0e01aebd
parentde2e4cd9bcec1197fc9a2341caf94db53e1546f1
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
gst-libs/gst/vaapi/Makefile.am
gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c [new file with mode: 0644]
gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.h [new file with mode: 0644]
gst-libs/gst/vaapi/gstvaapifeienc_h264.c [new file with mode: 0644]
gst-libs/gst/vaapi/gstvaapifeienc_h264.h [new file with mode: 0644]
gst-libs/gst/vaapi/gstvaapifeipak_h264.c [new file with mode: 0644]
gst-libs/gst/vaapi/gstvaapifeipak_h264.h [new file with mode: 0644]