diff options
author | Zhao Yakui <yakui.zhao@intel.com> | 2013-10-29 16:17:08 +0800 |
---|---|---|
committer | Yakui Zhao <yakui.zhao@intel.com> | 2013-10-29 16:17:08 +0800 |
commit | 99b7f13ff4fccbfe9139bab68840ec7480888ee2 (patch) | |
tree | cd2985fd0b980513a97d4d6f9e16699b0263eee0 | |
parent | 0791cc168e696c617e35a09c3b3a4896d8daebc7 (diff) |
Execute the extensional VPP shader based on passed parameter
Signed-off-by: Zhao Yakui <yakui.zhao@intel.com>
-rwxr-xr-x | src/i965_drv_video.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/i965_drv_video.c b/src/i965_drv_video.c index 709e74f..0ebdf7a 100755 --- a/src/i965_drv_video.c +++ b/src/i965_drv_video.c @@ -2328,7 +2328,19 @@ i965_EndPicture(VADriverContextP ctx, VAContextID context) assert(obj_config); if (obj_context->codec_type == CODEC_PROC) { + if (obj_context->codec_state.proc.pipeline_param && + obj_context->codec_state.proc.vppext_param) { + WARN_ONCE("pipeline_param and vppext_param are multually exclusive\n"); + return VA_STATUS_ERROR_INVALID_PARAMETER; + } assert(VAEntrypointVideoProc == obj_config->entrypoint); +#ifdef HAVE_OCL_VPP + if (obj_context->codec_state.proc.vppext_param) { + return vpp_opencl_execute_kernel(ctx, + obj_context->codec_state.proc.current_render_target, + obj_context->codec_state.proc.vppext_param); + } +#endif } else if (obj_context->codec_type == CODEC_ENC) { assert(VAEntrypointEncSlice == obj_config->entrypoint); |