summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXiang, Haihao <haihao.xiang@intel.com>2013-07-23 13:08:05 +0800
committerXiang, Haihao <haihao.xiang@intel.com>2013-09-06 15:27:12 +0800
commit188004b83afd2dd7f8bde16e7c724aa50d5a90c1 (patch)
tree9abb53448a10145d728548500f106fa85b4e3d02
parent5f037849ff4ece789ec4a7af20f8fa3905076fbd (diff)
VPP: check the filter when query the video filter capabilities
Return VA_STATUS_ERROR_UNSUPPORTED_FILTER if an unsupported filter was supplied Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com> (cherry picked from commit 428723853f88b4d5cac436f5fd62e6cc64a9e8e9)
-rwxr-xr-xsrc/i965_drv_video.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/i965_drv_video.c b/src/i965_drv_video.c
index 4097750..bd6aa9a 100755
--- a/src/i965_drv_video.c
+++ b/src/i965_drv_video.c
@@ -4587,6 +4587,17 @@ VAStatus i965_QueryVideoProcFilterCaps(
if (!filter_caps || !num_filter_caps)
return VA_STATUS_ERROR_INVALID_PARAMETER;
+ for (i = 0; i < i965->codec_info->num_filters; i++) {
+ if (type == i965->codec_info->filters[i].type &&
+ i965_os_has_ring_support(ctx, i965->codec_info->filters[i].ring))
+ break;
+ }
+
+ if (i == i965->codec_info->num_filters)
+ return VA_STATUS_ERROR_UNSUPPORTED_FILTER;
+
+ i = 0;
+
switch (type) {
case VAProcFilterNoiseReduction:
case VAProcFilterSharpening: