[Libva] [Libva-intel-driver][PATCH] Remove unused fields in struct encode_state

Xiang, Haihao haihao.xiang at intel.com
Tue Aug 16 04:11:06 UTC 2016


It also fixes a wrong assert() in gen8_mfc.c

Signed-off-by: Xiang, Haihao <haihao.xiang at intel.com>
---
 src/gen8_mfc.c       |  2 +-
 src/i965_drv_video.c | 29 +++--------------------------
 src/i965_drv_video.h |  6 ------
 3 files changed, 4 insertions(+), 33 deletions(-)

diff --git a/src/gen8_mfc.c b/src/gen8_mfc.c
index 2bedcad..fc11e63 100644
--- a/src/gen8_mfc.c
+++ b/src/gen8_mfc.c
@@ -3221,7 +3221,7 @@ gen8_mfc_jpeg_pipeline_picture_programing(VADriverContextP ctx,
 
     //I dont think I need this for loop. Just to be consistent with other encoding logic...
     for(i = 0; i < encode_state->num_slice_params_ext; i++) {
-        assert(encode_state->slice_params && encode_state->slice_params_ext[i]->buffer);
+        assert(encode_state->slice_params_ext && encode_state->slice_params_ext[i]->buffer);
         slice_param = (VAEncSliceParameterBufferJPEG *)encode_state->slice_params_ext[i]->buffer;
         
         for(j = 0; j < encode_state->slice_params_ext[i]->num_elements; j++) {
diff --git a/src/i965_drv_video.c b/src/i965_drv_video.c
index 1c24d00..65d5b02 100644
--- a/src/i965_drv_video.c
+++ b/src/i965_drv_video.c
@@ -2067,18 +2067,9 @@ i965_destroy_context(struct object_heap *heap, struct object_base *obj)
         i965_release_buffer_store(&obj_context->codec_state.proc.pipeline_param);
 
     } else if (obj_context->codec_type == CODEC_ENC) {
-        assert(obj_context->codec_state.encode.num_slice_params <= obj_context->codec_state.encode.max_slice_params);
-        i965_release_buffer_store(&obj_context->codec_state.encode.pic_param);
-        i965_release_buffer_store(&obj_context->codec_state.encode.seq_param);
-
         i965_release_buffer_store(&obj_context->codec_state.encode.q_matrix);
         i965_release_buffer_store(&obj_context->codec_state.encode.huffman_table);
 
-        for (i = 0; i < obj_context->codec_state.encode.num_slice_params; i++)
-            i965_release_buffer_store(&obj_context->codec_state.encode.slice_params[i]);
-
-        free(obj_context->codec_state.encode.slice_params);
-
         assert(obj_context->codec_state.encode.num_slice_params_ext <= obj_context->codec_state.encode.max_slice_params_ext);
         i965_release_buffer_store(&obj_context->codec_state.encode.pic_param_ext);
         i965_release_buffer_store(&obj_context->codec_state.encode.seq_param_ext);
@@ -2236,9 +2227,6 @@ i965_CreateContext(VADriverContextP ctx,
             obj_context->codec_type = CODEC_ENC;
             memset(&obj_context->codec_state.encode, 0, sizeof(obj_context->codec_state.encode));
             obj_context->codec_state.encode.current_render_target = VA_INVALID_ID;
-            obj_context->codec_state.encode.max_slice_params = NUM_SLICES;
-            obj_context->codec_state.encode.slice_params = calloc(obj_context->codec_state.encode.max_slice_params,
-                                                               sizeof(*obj_context->codec_state.encode.slice_params));
             obj_context->codec_state.encode.max_packed_header_params_ext = NUM_SLICES;
             obj_context->codec_state.encode.packed_header_params_ext =
                 calloc(obj_context->codec_state.encode.max_packed_header_params_ext,
@@ -2829,14 +2817,6 @@ i965_BeginPicture(VADriverContextP ctx,
     if (obj_context->codec_type == CODEC_PROC) {
         obj_context->codec_state.proc.current_render_target = render_target;
     } else if (obj_context->codec_type == CODEC_ENC) {
-        i965_release_buffer_store(&obj_context->codec_state.encode.pic_param);
-
-        for (i = 0; i < obj_context->codec_state.encode.num_slice_params; i++) {
-            i965_release_buffer_store(&obj_context->codec_state.encode.slice_params[i]);
-        }
-
-        obj_context->codec_state.encode.num_slice_params = 0;
-
         /* ext */
         i965_release_buffer_store(&obj_context->codec_state.encode.pic_param_ext);
 
@@ -3534,19 +3514,16 @@ i965_EndPicture(VADriverContextP ctx, VAContextID context)
             WARN_ONCE("the packed header/data is not paired for encoding!\n");
             return VA_STATUS_ERROR_INVALID_PARAMETER;
         }
-        if (!(obj_context->codec_state.encode.pic_param ||
-                obj_context->codec_state.encode.pic_param_ext)) {
+        if (obj_context->codec_state.encode.pic_param_ext) {
             return VA_STATUS_ERROR_INVALID_PARAMETER;
         }
-        if (!(obj_context->codec_state.encode.seq_param ||
-                obj_context->codec_state.encode.seq_param_ext) &&
+        if (!obj_context->codec_state.encode.seq_param_ext &&
                 (VAEntrypointEncPicture != obj_config->entrypoint)) {
             /* The seq_param is not mandatory for VP9 encoding */
             if (obj_config->profile != VAProfileVP9Profile0)
                 return VA_STATUS_ERROR_INVALID_PARAMETER;
         }
-        if ((obj_context->codec_state.encode.num_slice_params <=0) &&
-                (obj_context->codec_state.encode.num_slice_params_ext <=0) &&
+        if ((obj_context->codec_state.encode.num_slice_params_ext <=0) &&
                 ((obj_config->profile != VAProfileVP8Version0_3) &&
                  (obj_config->profile != VAProfileVP9Profile0))) {
             return VA_STATUS_ERROR_INVALID_PARAMETER;
diff --git a/src/i965_drv_video.h b/src/i965_drv_video.h
index f67599e..9fe042f 100644
--- a/src/i965_drv_video.h
+++ b/src/i965_drv_video.h
@@ -145,15 +145,9 @@ struct decode_state
 struct encode_state
 {
     struct codec_state_base base;
-    struct buffer_store *seq_param;
-    struct buffer_store *pic_param;
-    struct buffer_store *pic_control;
     struct buffer_store *iq_matrix;
     struct buffer_store *q_matrix;
-    struct buffer_store **slice_params;
     struct buffer_store *huffman_table;
-    int max_slice_params;
-    int num_slice_params;
 
     /* for ext */
     struct buffer_store *seq_param_ext;
-- 
1.9.1



More information about the Libva mailing list