summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGwenole Beauchesne <gwenole.beauchesne@intel.com>2013-07-25 10:52:31 +0200
committerXiang, Haihao <haihao.xiang@intel.com>2013-09-09 15:04:50 +0800
commit5b584344bd145b191968e2200404a4012a531b61 (patch)
tree2e2ac7f87bbb283eab0cfb9e39685b26702783df
parent69ccd74f754e22dafc8b090ca724878abb83a661 (diff)
vpp: fix output filter count from QueryVideoProcFilters().
When vaQueryVideoProcFilters() returns VA_STATUS_ERROR_MAX_NUM_EXCEEDED, i.e. when the caller allocated too few entries for the filters argument, then the num_filters argument shall be adjusted to correct number of entries that need to be re-allocated. https://bugs.freedesktop.org/show_bug.cgi?id=67292 Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com> Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
-rwxr-xr-xsrc/i965_drv_video.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/i965_drv_video.c b/src/i965_drv_video.c
index ea1f1d0..9a8d709 100755
--- a/src/i965_drv_video.c
+++ b/src/i965_drv_video.c
@@ -4561,8 +4561,11 @@ VAStatus i965_QueryVideoProcFilters(
for (i = 0; i < i965->codec_info->num_filters; i++) {
if (i965_os_has_ring_support(ctx, i965->codec_info->filters[i].ring)) {
- if (num == *num_filters)
+ if (num == *num_filters) {
+ *num_filters = i965->codec_info->num_filters;
+
return VA_STATUS_ERROR_MAX_NUM_EXCEEDED;
+ }
filters[num++] = i965->codec_info->filters[i].type;
}