tdm_hwc_window *(*hwc_create_window)(tdm_hwc *hwc, tdm_error *error);
/**
- * @brief Get the supported format array for the hwc windows of a hwc object.
+ * @brief Get video the supported format array for the hwc windows of a hwc object.
* @param[in] hwc A hwc object
* @param[out] formats The available format array
* @param[out] count The count of formats
* @return #TDM_ERROR_NONE if success. Otherwise, error value.
*/
- tdm_error (*hwc_get_supported_formats)(tdm_hwc *hwc, const tbm_format **formats,
+ tdm_error (*hwc_get_video_supported_formats)(tdm_hwc *hwc, const tbm_format **formats,
int *count);
-
+ /**
+ * @brief Get the hwc video capability
+ * @param[in] hwc A hwc object
+ * @param[out] video_capability A hwc hwc video capability
+ * @return #TDM_ERROR_NONE if success. Otherwise, error value.
+ */
+ tdm_error (*hwc_get_video_capability)(tdm_hwc *hwc,
+ tdm_hwc_video_capability *video_capability);
/**
* @brief Get the available property array of a hwc object.
tdm_error *error);
/**
+ * @brief Free a buffer queue for the window object
+ * @details Free buffer queue when the client no longer uses buferrs of queue.
+ * @param[in] hwc_window A window object
+ * @param[in] A tbm buffer queue
+ */
+ void (*hwc_window_free_buffer_queue)(tdm_hwc_window *hwc_window,
+ tbm_surface_queue_h queue);
+
+ /**
* @brief Sets the desired composition type of the given window.
* @details During hwc_validate(), the device may request changes to
* the composition types of any of the layers as described in the definition
*/
tdm_error (*hwc_window_get_property)(tdm_hwc_window *hwc_window,
uint32_t id, tdm_value *value);
+
+ /**
+ * @brief Get the preperation type of hwc_window
+ * @param[in] hwc window A hwc window object
+ * @param[out] preperation_types The tdm_hwc_window_preparation types
+ * @return #TDM_ERROR_NONE if success. Otherwise, error value.
+ */
+ tdm_error (*hwc_window_get_preparation_types)(tdm_hwc_window *hwc_window,
+ int *preperation_types);
} tdm_func_hwc_window;
/**