obj_config->profile = profile;
obj_config->entrypoint = entrypoint;
obj_config->num_attribs = 0;
+ obj_config->wrapper_config = VA_INVALID_ID;
for (i = 0; i < num_attribs; i++) {
vaStatus = i965_ensure_config_attribute(obj_config, &attrib_list[i]);
obj_surface->free_private_data = NULL;
obj_surface->subsampling = SUBSAMPLE_YUV420;
+ obj_surface->wrapper_surface = VA_INVALID_ID;
+
switch (memory_type) {
case I965_SURFACE_MEM_NATIVE:
if (memory_attibute) {
obj_context->render_targets =
(VASurfaceID *)calloc(num_render_targets, sizeof(VASurfaceID));
obj_context->hw_context = NULL;
+ obj_context->wrapper_context = VA_INVALID_ID;
for(i = 0; i < num_render_targets; i++) {
if (NULL == SURFACE(render_targets[i])) {
obj_buffer->type = type;
obj_buffer->export_refcount = 0;
obj_buffer->buffer_store = NULL;
+ obj_buffer->wrapper_buffer = VA_INVALID_ID;
+
buffer_store = calloc(1, sizeof(struct buffer_store));
assert(buffer_store);
buffer_store->ref_count = 1;
VAEntrypoint entrypoint;
VAConfigAttrib attrib_list[I965_MAX_CONFIG_ATTRIBUTES];
int num_attribs;
+
+ VAGenericID wrapper_config;
};
#define NUM_SLICES 10
int codec_type;
union codec_state codec_state;
struct hw_context *hw_context;
+
+ VAGenericID wrapper_context;
};
#define SURFACE_REFERENCED (1 << 0)
uint32_t user_disable_tiling : 1;
uint32_t user_h_stride_set : 1;
uint32_t user_v_stride_set : 1;
+
+ VAGenericID wrapper_surface;
};
struct object_buffer
/* Export state */
unsigned int export_refcount;
VABufferInfo export_state;
+
+ VAGenericID wrapper_buffer;
};
struct object_image