FEI: Add codec objects for fei usecase
authorSreerenj Balachandran <sreerenj.balachandran@intel.com>
Wed, 9 Aug 2017 22:35:10 +0000 (15:35 -0700)
committerVíctor Manuel Jáquez Leal <vjaquez@igalia.com>
Fri, 1 Sep 2017 09:32:24 +0000 (11:32 +0200)
commitd0d9f5e274950f32e494c046819a8da73d3d3fae
tree975a380603b49f7ddeefdd40795de872be8c95d2
parent0b91ebeb2c3e17f81bed8053cb6ddf84af45b6cf
FEI: Add codec objects for fei usecase

There are 6 new va buffer types, each defined as a specific codec object.
Borrowed the code from gstvaapicodecobject , but made a clear separation
to avoid any possible mess-up. Because unlike the other gstvaaicodecobjects,
feicodecobjects can be shared between elements and also can be accessed
from different thread.

Unlike the other fei codecs object, VAEncMiscParameterTypeFEIFrameControl
object is not shared between elements.So we utilize the already
existing gst_vaapi_enc_misc_param_new(), but still keeping the code
in gstvaapfei_objects_priv.h in order to have a better
code readability.

Fixme:
-- Probably we need _locked_map() and _unlocked_map()
-- Context can be associated with PreEnc(not just Enoder)
once we have the proper support inplace, but for now we don't have
PreEnc support, so should be safe enough to use GstVaapiEncoder.

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/gstvaapifei_objects.c [new file with mode: 0644]
gst-libs/gst/vaapi/gstvaapifei_objects.h [new file with mode: 0644]
gst-libs/gst/vaapi/gstvaapifei_objects_priv.h [new file with mode: 0644]