FEI: libs: Add fei codec objects to GstVaapiEncPicture

All the codec objects(vaapi buffers) supposed to be
submited in vaRenderPicutre are associated with a GstVaapiEncPicture
for each frame, follow the same design for FEI too.

https://bugzilla.gnome.org/show_bug.cgi?id=785712
https://bugzilla.gnome.org/show_bug.cgi?id=784667
This commit is contained in:
Sreerenj Balachandran 2017-08-09 17:54:27 -07:00 committed by Víctor Manuel Jáquez Leal
parent 132eacde79
commit de2e4cd9bc
2 changed files with 21 additions and 0 deletions

View file

@ -351,6 +351,15 @@ gst_vaapi_enc_picture_destroy (GstVaapiEncPicture * picture)
gst_vaapi_codec_object_replace (&picture->sequence, NULL);
#if USE_H264_FEI_ENCODER
gst_vaapi_codec_object_replace (&picture->mvpred, NULL);
gst_vaapi_codec_object_replace (&picture->mbcntrl, NULL);
gst_vaapi_codec_object_replace (&picture->qp, NULL);
gst_vaapi_codec_object_replace (&picture->mbcode, NULL);
gst_vaapi_codec_object_replace (&picture->mv, NULL);
gst_vaapi_codec_object_replace (&picture->dist, NULL);
#endif
gst_vaapi_surface_proxy_replace (&picture->proxy, NULL);
picture->surface_id = VA_INVALID_ID;
picture->surface = NULL;

View file

@ -27,6 +27,10 @@
#include <gst/vaapi/gstvaapidecoder_objects.h>
#include <gst/vaapi/gstvaapiencoder.h>
#if USE_H264_FEI_ENCODER
#include <gst/vaapi/gstvaapifei_objects.h>
#endif
G_BEGIN_DECLS
typedef struct _GstVaapiEncPicture GstVaapiEncPicture;
@ -261,6 +265,14 @@ struct _GstVaapiEncPicture
GstClockTime pts;
guint frame_num;
guint poc;
#if USE_H264_FEI_ENCODER
GstVaapiEncFeiMbControl *mbcntrl;
GstVaapiEncFeiMvPredictor *mvpred;
GstVaapiEncFeiQp *qp;
GstVaapiEncFeiMbCode *mbcode;
GstVaapiEncFeiMv *mv;
GstVaapiEncFeiDistortion *dist;
#endif
};
G_GNUC_INTERNAL