* Picture flags:
* @GST_VAAPI_PICTURE_FLAG_SKIPPED: skipped frame
* @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_LAST: first flag that can be used by subclasses
*
* Enum values used for #GstVaapiPicture flags.
enum {
GST_VAAPI_PICTURE_FLAG_SKIPPED = (GST_VAAPI_CODEC_OBJECT_FLAG_LAST << 0),
GST_VAAPI_PICTURE_FLAG_REFERENCE = (GST_VAAPI_CODEC_OBJECT_FLAG_LAST << 1),
- GST_VAAPI_PICTURE_FLAG_LAST = (GST_VAAPI_CODEC_OBJECT_FLAG_LAST << 2),
+ 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_MASK_STRUCTURE = (GST_VAAPI_PICTURE_FLAG_TOP_FIELD |
+ GST_VAAPI_PICTURE_FLAG_BOTTOM_FIELD)
};
+#define GST_VAAPI_PICTURE_FLAGS GST_MINI_OBJECT_FLAGS
#define GST_VAAPI_PICTURE_FLAG_IS_SET GST_MINI_OBJECT_FLAG_IS_SET
#define GST_VAAPI_PICTURE_FLAG_SET GST_MINI_OBJECT_FLAG_SET
#define GST_VAAPI_PICTURE_FLAG_UNSET GST_MINI_OBJECT_FLAG_UNSET
#define GST_VAAPI_PICTURE_IS_REFERENCE(picture) \
GST_VAAPI_PICTURE_FLAG_IS_SET(picture, GST_VAAPI_PICTURE_FLAG_REFERENCE)
+#define GST_VAAPI_PICTURE_IS_TOP_FIELD(picture) \
+ GST_VAAPI_PICTURE_FLAG_IS_SET(picture, GST_VAAPI_PICTURE_FLAG_TOP_FIELD)
+
+#define GST_VAAPI_PICTURE_IS_BOTTOM_FIELD(picture) \
+ GST_VAAPI_PICTURE_FLAG_IS_SET(picture, GST_VAAPI_PICTURE_FLAG_BOTTOM_FIELD)
+
+#define GST_VAAPI_PICTURE_IS_FRAME(picture) \
+ ((GST_VAAPI_PICTURE_FLAGS(picture) & GST_VAAPI_PICTURE_MASK_STRUCTURE) == 0)
+
/**
* GstVaapiPicture:
*