diff options
author | Xiang, Haihao <haihao.xiang@intel.com> | 2016-12-30 15:21:59 +0800 |
---|---|---|
committer | Xiang, Haihao <haihao.xiang@intel.com> | 2016-12-30 16:26:49 +0800 |
commit | fcf3d8c5263587cacaa7b87d8c2ea4d8ce30ecd6 (patch) | |
tree | f671a0ff3130c939a79fb8b827556679ad7067bf | |
parent | 150fd0af8b69b8524099620097f72ce41db9b22e (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.c | 8 |
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; |