mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-02-25 15:36:42 +00:00
decoder: add ref_count to GstVaapiPicture.
This commit is contained in:
parent
990fe81fe2
commit
74d3680381
2 changed files with 16 additions and 0 deletions
|
@ -671,6 +671,7 @@ create_picture(GstVaapiDecoder *decoder)
|
||||||
|
|
||||||
picture->type = GST_VAAPI_PICTURE_TYPE_NONE;
|
picture->type = GST_VAAPI_PICTURE_TYPE_NONE;
|
||||||
picture->flags = 0;
|
picture->flags = 0;
|
||||||
|
picture->ref_count = 1;
|
||||||
picture->surface_id = VA_INVALID_ID;
|
picture->surface_id = VA_INVALID_ID;
|
||||||
picture->surface = NULL;
|
picture->surface = NULL;
|
||||||
picture->param_id = VA_INVALID_ID;
|
picture->param_id = VA_INVALID_ID;
|
||||||
|
|
|
@ -149,6 +149,7 @@ struct _GstVaapiCodecInfo {
|
||||||
struct _GstVaapiPicture {
|
struct _GstVaapiPicture {
|
||||||
GstVaapiPictureType type;
|
GstVaapiPictureType type;
|
||||||
guint flags;
|
guint flags;
|
||||||
|
guint ref_count;
|
||||||
VASurfaceID surface_id;
|
VASurfaceID surface_id;
|
||||||
GstVaapiSurface *surface;
|
GstVaapiSurface *surface;
|
||||||
VABufferID param_id;
|
VABufferID param_id;
|
||||||
|
@ -254,6 +255,20 @@ void
|
||||||
gst_vaapi_decoder_free_picture(GstVaapiDecoder *decoder, GstVaapiPicture *picture)
|
gst_vaapi_decoder_free_picture(GstVaapiDecoder *decoder, GstVaapiPicture *picture)
|
||||||
attribute_hidden;
|
attribute_hidden;
|
||||||
|
|
||||||
|
static inline GstVaapiPicture *
|
||||||
|
gst_vaapi_decoder_ref_picture(GstVaapiDecoder *decoder, GstVaapiPicture *picture)
|
||||||
|
{
|
||||||
|
++picture->ref_count;
|
||||||
|
return picture;
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline void
|
||||||
|
gst_vaapi_decoder_unref_picture(GstVaapiDecoder *decoder, GstVaapiPicture *picture)
|
||||||
|
{
|
||||||
|
if (--picture->ref_count == 0)
|
||||||
|
gst_vaapi_decoder_free_picture(decoder, picture);
|
||||||
|
}
|
||||||
|
|
||||||
GstVaapiIqMatrix *
|
GstVaapiIqMatrix *
|
||||||
gst_vaapi_decoder_new_iq_matrix(GstVaapiDecoder *decoder)
|
gst_vaapi_decoder_new_iq_matrix(GstVaapiDecoder *decoder)
|
||||||
attribute_hidden;
|
attribute_hidden;
|
||||||
|
|
Loading…
Reference in a new issue