summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXiang, Haihao <haihao.xiang@intel.com>2016-12-30 15:21:59 +0800
committerXiang, Haihao <haihao.xiang@intel.com>2016-12-30 16:26:49 +0800
commitfcf3d8c5263587cacaa7b87d8c2ea4d8ce30ecd6 (patch)
treef671a0ff3130c939a79fb8b827556679ad7067bf
parent150fd0af8b69b8524099620097f72ce41db9b22e (diff)
Initialize some buffers to 0 when created
Sometimes user doesn't assign a proper value to each field in a buffer when calling vaRenderPicture(), which will result in random issues if we want to use these fields in the future. E.g. recently we used window_size in VAEncMiscParameterRateControl for bitrate control. Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com> Reviewed-by: Zhao Yakui <yakui.zhao@intel.com>
-rw-r--r--src/i965_drv_video.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/i965_drv_video.c b/src/i965_drv_video.c
index 15920f5..51a708c 100644
--- a/src/i965_drv_video.c
+++ b/src/i965_drv_video.c
@@ -2519,8 +2519,12 @@ i965_create_buffer_internal(VADriverContextP ctx,
buffer_store->buffer = malloc(msize * num_elements);
assert(buffer_store->buffer);
- if (data && (!wrapper_flag))
- memcpy(buffer_store->buffer, data, size * num_elements);
+ if (!wrapper_flag) {
+ if (data)
+ memcpy(buffer_store->buffer, data, size * num_elements);
+ else
+ memset(buffer_store->buffer, 0, size * num_elements);
+ }
}
buffer_store->num_elements = obj_buffer->num_elements;