summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSreerenj Balachandran <sreerenj.balachandran@intel.com>2017-07-18 16:09:35 -0700
committerSreerenj Balachandran <sreerenj.balachandran@intel.com>2017-07-18 16:10:16 -0700
commitaf2e22ed93feffe0b5370933880fb3d8dc1b9259 (patch)
tree0259b2f8f8e62e41a31657630862dc161160407f
parent5ad196d2e46f4f79a5396cb2bbbfae6a0bc29272 (diff)
FEI: libs: Add FEI functional mode configuration
FEI Entrypoint can work in either one of the 3 different modes: VA_FEI_FUNCTION_ENC, VA_FEI_FUNCTION_PAK or VA_FEI_FUNCTION_ENC_PAK. Add infrastructure in gstvaapicontext for this functioal mode configuration.
-rw-r--r--gst-libs/gst/vaapi/gstvaapicontext.c11
-rw-r--r--gst-libs/gst/vaapi/gstvaapicontext.h3
2 files changed, 12 insertions, 2 deletions
diff --git a/gst-libs/gst/vaapi/gstvaapicontext.c b/gst-libs/gst/vaapi/gstvaapicontext.c
index 52d81e20..f8f6f8d5 100644
--- a/gst-libs/gst/vaapi/gstvaapicontext.c
+++ b/gst-libs/gst/vaapi/gstvaapicontext.c
@@ -229,7 +229,7 @@ config_create (GstVaapiContext * context)
{
const GstVaapiContextInfo *const cip = &context->info;
GstVaapiDisplay *const display = GST_VAAPI_OBJECT_DISPLAY (context);
- VAConfigAttrib attribs[4], *attrib = attribs;
+ VAConfigAttrib attribs[5], *attrib = attribs;
VAStatus status;
guint value, va_chroma_format;
@@ -320,6 +320,15 @@ config_create (GstVaapiContext * context)
attrib++;
}
#endif
+#if USE_H264_FEI_ENCODER
+ if (cip->entrypoint == GST_VAAPI_ENTRYPOINT_SLICE_ENCODE_FEI) {
+ attrib->type = (VAConfigAttribType) VAConfigAttribFEIFunctionType;
+ attrib->value = config->fei_function;
+ attrib++;
+ /* FeiFixme */
+ /* Query the read-only supported MV predictors */
+ }
+#endif
break;
}
#endif
diff --git a/gst-libs/gst/vaapi/gstvaapicontext.h b/gst-libs/gst/vaapi/gstvaapicontext.h
index a94259ec..1a50078d 100644
--- a/gst-libs/gst/vaapi/gstvaapicontext.h
+++ b/gst-libs/gst/vaapi/gstvaapicontext.h
@@ -62,7 +62,7 @@ typedef enum {
* @packed_headers: notify encoder that packed headers are submitted (mask).
* @roi_capability: if encoder supports regions-of-interest.
* @roi_num_supported: The number of regions-of-interest supported.
- *
+ * @fei_function: The functional mode for FEI Entrypoint(VA_FEI_FUNCTION_*)
* Extra configuration for encoding.
*/
struct _GstVaapiConfigInfoEncoder
@@ -71,6 +71,7 @@ struct _GstVaapiConfigInfoEncoder
guint packed_headers;
gboolean roi_capability;
guint roi_num_supported;
+ guint fei_function;
};
/**