From e8756ae4270d5fdc476bdd75d505371deb995ee8 Mon Sep 17 00:00:00 2001 From: Gwenole Beauchesne Date: Wed, 28 Mar 2012 14:28:26 +0200 Subject: [PATCH] decoder: add OUTPUT flag to pictures. Allow pictures to be marked as output gst_vaapi_picture_output(). --- gst-libs/gst/vaapi/gstvaapidecoder_objects.c | 1 + gst-libs/gst/vaapi/gstvaapidecoder_objects.h | 7 ++++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/gst-libs/gst/vaapi/gstvaapidecoder_objects.c b/gst-libs/gst/vaapi/gstvaapidecoder_objects.c index adad9c6abe..79f8a1646d 100644 --- a/gst-libs/gst/vaapi/gstvaapidecoder_objects.c +++ b/gst-libs/gst/vaapi/gstvaapidecoder_objects.c @@ -255,6 +255,7 @@ gst_vaapi_picture_output(GstVaapiPicture *picture) gst_vaapi_surface_proxy_set_timestamp(proxy, picture->pts); gst_vaapi_decoder_push_surface_proxy(GET_DECODER(picture), proxy); } + GST_VAAPI_PICTURE_FLAG_SET(picture, GST_VAAPI_PICTURE_FLAG_OUTPUT); return TRUE; } diff --git a/gst-libs/gst/vaapi/gstvaapidecoder_objects.h b/gst-libs/gst/vaapi/gstvaapidecoder_objects.h index c53492dfa4..cb64611e91 100644 --- a/gst-libs/gst/vaapi/gstvaapidecoder_objects.h +++ b/gst-libs/gst/vaapi/gstvaapidecoder_objects.h @@ -81,6 +81,7 @@ enum _GstVaapiPictureType { * @GST_VAAPI_PICTURE_FLAG_REFERENCE: reference frame * @GST_VAAPI_PICTURE_FLAG_BOTTOM_FIELD: bottom field * @GST_VAAPI_PICTURE_FLAG_TOP_FIELD: top field + * @GST_VAAPI_PICTURE_FLAG_OUTPUT: frame was output * @GST_VAAPI_PICTURE_FLAG_LAST: first flag that can be used by subclasses * * Enum values used for #GstVaapiPicture flags. @@ -90,7 +91,8 @@ enum { GST_VAAPI_PICTURE_FLAG_REFERENCE = (GST_VAAPI_CODEC_OBJECT_FLAG_LAST << 1), GST_VAAPI_PICTURE_FLAG_BOTTOM_FIELD = (GST_VAAPI_CODEC_OBJECT_FLAG_LAST << 2), GST_VAAPI_PICTURE_FLAG_TOP_FIELD = (GST_VAAPI_CODEC_OBJECT_FLAG_LAST << 3), - GST_VAAPI_PICTURE_FLAG_LAST = (GST_VAAPI_CODEC_OBJECT_FLAG_LAST << 4), + GST_VAAPI_PICTURE_FLAG_OUTPUT = (GST_VAAPI_CODEC_OBJECT_FLAG_LAST << 4), + GST_VAAPI_PICTURE_FLAG_LAST = (GST_VAAPI_CODEC_OBJECT_FLAG_LAST << 5), GST_VAAPI_PICTURE_MASK_STRUCTURE = (GST_VAAPI_PICTURE_FLAG_TOP_FIELD | GST_VAAPI_PICTURE_FLAG_BOTTOM_FIELD) @@ -107,6 +109,9 @@ enum { #define GST_VAAPI_PICTURE_IS_REFERENCE(picture) \ GST_VAAPI_PICTURE_FLAG_IS_SET(picture, GST_VAAPI_PICTURE_FLAG_REFERENCE) +#define GST_VAAPI_PICTURE_IS_OUTPUT(picture) \ + GST_VAAPI_PICTURE_FLAG_IS_SET(picture, GST_VAAPI_PICTURE_FLAG_OUTPUT) + #define GST_VAAPI_PICTURE_IS_TOP_FIELD(picture) \ GST_VAAPI_PICTURE_FLAG_IS_SET(picture, GST_VAAPI_PICTURE_FLAG_TOP_FIELD)