summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZhao Yakui <yakui.zhao@intel.com>2013-10-29 16:17:08 +0800
committerYakui Zhao <yakui.zhao@intel.com>2013-10-29 16:17:08 +0800
commit44f92f05910d59dd823cdcdac166f8ca30e02a18 (patch)
tree6ba8cc7b34aa1714df69ebea9bb3fabd24c9d82c
parent84b69eca7efbbf007da966a4fd83996bcea97be2 (diff)
Pass the extensional VPP pipeline parameter
Signed-off-by: Zhao Yakui <yakui.zhao@intel.com>
-rwxr-xr-xsrc/i965_drv_video.c8
-rw-r--r--src/i965_drv_video.h1
2 files changed, 9 insertions, 0 deletions
diff --git a/src/i965_drv_video.c b/src/i965_drv_video.c
index 36104e7..709e74f 100755
--- a/src/i965_drv_video.c
+++ b/src/i965_drv_video.c
@@ -1615,6 +1615,7 @@ i965_create_buffer_internal(VADriverContextP ctx,
case VAProcPipelineParameterBufferType:
case VAProcFilterParameterBufferType:
case VAHuffmanTableBufferType:
+ case VAProcExtensionBufferType:
/* Ok */
break;
@@ -1931,6 +1932,8 @@ i965_BeginPicture(VADriverContextP ctx,
if (obj_context->codec_type == CODEC_PROC) {
obj_context->codec_state.proc.current_render_target = render_target;
+ i965_release_buffer_store(&obj_context->codec_state.proc.pipeline_param);
+ i965_release_buffer_store(&obj_context->codec_state.proc.vppext_param);
} else if (obj_context->codec_type == CODEC_ENC) {
i965_release_buffer_store(&obj_context->codec_state.encode.pic_param);
@@ -2233,6 +2236,7 @@ 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)
+DEF_RENDER_PROC_SINGLE_BUFFER_FUNC(vppext_parameter, vppext_param)
static VAStatus
i965_proc_render_picture(VADriverContextP ctx,
@@ -2261,6 +2265,10 @@ i965_proc_render_picture(VADriverContextP ctx,
vaStatus = I965_RENDER_PROC_BUFFER(pipeline_parameter);
break;
+ case VAProcExtensionBufferType:
+ vaStatus = I965_RENDER_PROC_BUFFER(vppext_parameter);
+ break;
+
default:
vaStatus = VA_STATUS_ERROR_UNSUPPORTED_BUFFERTYPE;
break;
diff --git a/src/i965_drv_video.h b/src/i965_drv_video.h
index 58e2e8a..af3701f 100644
--- a/src/i965_drv_video.h
+++ b/src/i965_drv_video.h
@@ -146,6 +146,7 @@ struct encode_state
struct proc_state
{
struct buffer_store *pipeline_param;
+ struct buffer_store *vppext_param;
VASurfaceID current_render_target;
};