Remove VAProcFilterParameterBufferType from vaRenderPicture()
authorXiang, Haihao <haihao.xiang@intel.com>
Mon, 20 Feb 2012 08:27:17 +0000 (16:27 +0800)
committerXiang, Haihao <haihao.xiang@intel.com>
Wed, 22 Feb 2012 02:37:20 +0000 (10:37 +0800)
Now VAProcPipelineParameterBuffer::filters holds all Video filter parameter

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
src/i965_drv_video.c
src/i965_drv_video.h
src/i965_post_processing.c

index 0a94418..225f01d 100644 (file)
@@ -865,8 +865,6 @@ i965_destroy_context(struct object_heap *heap, struct object_base *obj)
     if (obj_context->codec_type == CODEC_PROC) {
         i965_release_buffer_store(&obj_context->codec_state.proc.pipeline_param);
 
-        for (i = 0; i < VAProcFilterCount; i++)
-            i965_release_buffer_store(&obj_context->codec_state.proc.filter_param[i]);
     } else if (obj_context->codec_type == CODEC_ENC) {
         assert(obj_context->codec_state.encode.num_slice_params <= obj_context->codec_state.encode.max_slice_params);
         i965_release_buffer_store(&obj_context->codec_state.encode.pic_param);
@@ -1662,22 +1660,6 @@ i965_encoder_render_picture(VADriverContextP ctx,
 #define DEF_RENDER_PROC_SINGLE_BUFFER_FUNC(name, member) DEF_RENDER_SINGLE_BUFFER_FUNC(proc, name, member)
 DEF_RENDER_PROC_SINGLE_BUFFER_FUNC(pipeline_parameter, pipeline_param)    
 
-static VAStatus
-i965_render_proc_filter_parameter_buffer(VADriverContextP ctx,
-                                         struct object_context *obj_context,
-                                         struct object_buffer *obj_buffer,
-                                         VAProcFilterType type)
-{
-    struct proc_state *proc = &obj_context->codec_state.proc;
-
-    assert(obj_buffer->buffer_store->bo == NULL);
-    assert(obj_buffer->buffer_store->buffer);
-    i965_release_buffer_store(&proc->filter_param[type]);
-    i965_reference_buffer_store(&proc->filter_param[type], obj_buffer->buffer_store);
-
-    return VA_STATUS_SUCCESS;
-}
-
 static VAStatus 
 i965_proc_render_picture(VADriverContextP ctx,
                          VAContextID context,
@@ -1695,18 +1677,9 @@ i965_proc_render_picture(VADriverContextP ctx,
 
         switch (obj_buffer->type) {
         case VAProcPipelineParameterBufferType:
-            /* FIXME: */
             vaStatus = I965_RENDER_PROC_BUFFER(pipeline_parameter);
             break;
 
-        case VAProcFilterParameterBufferType:
-        {
-            /* FIXME: */
-            VAProcFilterParameterBuffer *param = (VAProcFilterParameterBuffer *)obj_buffer->buffer_store->buffer;
-            vaStatus = i965_render_proc_filter_parameter_buffer(ctx, obj_context, obj_buffer, param->type);
-            break;
-        }
-
         default:
             vaStatus = VA_STATUS_ERROR_UNSUPPORTED_BUFFERTYPE;
             break;
index 8935f72..caf8d98 100644 (file)
@@ -136,7 +136,6 @@ struct encode_state
 struct proc_state
 {
     struct buffer_store *pipeline_param;
-    struct buffer_store *filter_param[VAProcFilterCount];
 
     VASurfaceID current_render_target;
 };
index 169e81a..8db3002 100644 (file)
@@ -3988,15 +3988,11 @@ i965_proc_picture(VADriverContextP ctx,
     
     for (i = 0; i < pipeline_param->num_filters; i++) {
         struct object_buffer *obj_buffer = BUFFER(pipeline_param->filters[i]);
-        VAProcFilterParameterBufferBase *base = (VAProcFilterParameterBufferBase *)obj_buffer->buffer_store->buffer;
-        VAProcFilterType filter_type = base->type;
+        VAProcFilterParameterBufferBase *filter_param = (VAProcFilterParameterBufferBase *)obj_buffer->buffer_store->buffer;
+        VAProcFilterType filter_type = filter_param->type;
         VASurfaceID out_surface_id = VA_INVALID_ID;
-        void *filter_param = NULL;
 
         if (procfilter_to_pp_flag[filter_type] != PP_NULL) {
-            if (proc_state->filter_param[filter_type])
-                filter_param = proc_state->filter_param[filter_type]->buffer;
-
             status = i965_CreateSurfaces(ctx,
                                          in_width,
                                          in_height,