This is a convenience to use the GenFrameStoreContext structure, when the whole frame store machinery is maintain. No functional change.
Signed-off-by: Gwenole Beauchesne <[email protected]> --- src/gen6_mfd.c | 4 ++-- src/gen75_mfd.c | 3 ++- src/gen7_mfd.c | 3 ++- src/gen8_mfd.c | 4 ++-- src/i965_avc_bsd.c | 4 ++-- src/i965_decoder_utils.c | 17 +++++++++-------- src/i965_decoder_utils.h | 10 ++++++---- 7 files changed, 25 insertions(+), 20 deletions(-) diff --git a/src/gen6_mfd.c b/src/gen6_mfd.c index 1c3b9e3..0cc82e6 100755 --- a/src/gen6_mfd.c +++ b/src/gen6_mfd.c @@ -820,8 +820,8 @@ gen6_mfd_avc_decode_init(VADriverContextP ctx, assert(decode_state->pic_param && decode_state->pic_param->buffer); pic_param = (VAPictureParameterBufferH264 *)decode_state->pic_param->buffer; - intel_update_avc_frame_store_index(ctx, decode_state, pic_param, - gen6_mfd_context->fsc.used_frames); + intel_update_avc_frame_store_index(ctx, &gen6_mfd_context->fsc, + decode_state, pic_param); width_in_mbs = ((pic_param->picture_width_in_mbs_minus1 + 1) & 0xff); /* Current decoded picture */ diff --git a/src/gen75_mfd.c b/src/gen75_mfd.c index 018740e..673ca14 100644 --- a/src/gen75_mfd.c +++ b/src/gen75_mfd.c @@ -1045,7 +1045,8 @@ gen75_mfd_avc_decode_init(VADriverContextP ctx, assert(decode_state->pic_param && decode_state->pic_param->buffer); pic_param = (VAPictureParameterBufferH264 *)decode_state->pic_param->buffer; - intel_update_avc_frame_store_index(ctx, decode_state, pic_param, gen7_mfd_context->fsc.used_frames); + intel_update_avc_frame_store_index(ctx, &gen7_mfd_context->fsc, + decode_state, pic_param); width_in_mbs = pic_param->picture_width_in_mbs_minus1 + 1; height_in_mbs = pic_param->picture_height_in_mbs_minus1 + 1; assert(width_in_mbs > 0 && width_in_mbs <= 256); /* 4K */ diff --git a/src/gen7_mfd.c b/src/gen7_mfd.c index 07cdd46..69253c1 100755 --- a/src/gen7_mfd.c +++ b/src/gen7_mfd.c @@ -735,7 +735,8 @@ gen7_mfd_avc_decode_init(VADriverContextP ctx, assert(decode_state->pic_param && decode_state->pic_param->buffer); pic_param = (VAPictureParameterBufferH264 *)decode_state->pic_param->buffer; - intel_update_avc_frame_store_index(ctx, decode_state, pic_param, gen7_mfd_context->fsc.used_frames); + intel_update_avc_frame_store_index(ctx, &gen7_mfd_context->fsc, + decode_state, pic_param); width_in_mbs = pic_param->picture_width_in_mbs_minus1 + 1; height_in_mbs = pic_param->picture_height_in_mbs_minus1 + 1; assert(width_in_mbs > 0 && width_in_mbs <= 256); /* 4K */ diff --git a/src/gen8_mfd.c b/src/gen8_mfd.c index 10c109c..13514df 100644 --- a/src/gen8_mfd.c +++ b/src/gen8_mfd.c @@ -822,8 +822,8 @@ gen8_mfd_avc_decode_init(VADriverContextP ctx, assert(decode_state->pic_param && decode_state->pic_param->buffer); pic_param = (VAPictureParameterBufferH264 *)decode_state->pic_param->buffer; - intel_update_avc_frame_store_index(ctx, decode_state, pic_param, - gen7_mfd_context->fsc.used_frames); + intel_update_avc_frame_store_index(ctx, &gen7_mfd_context->fsc, + decode_state, pic_param); width_in_mbs = pic_param->picture_width_in_mbs_minus1 + 1; height_in_mbs = pic_param->picture_height_in_mbs_minus1 + 1; assert(width_in_mbs > 0 && width_in_mbs <= 256); /* 4K */ diff --git a/src/i965_avc_bsd.c b/src/i965_avc_bsd.c index ce03439..43b8e68 100644 --- a/src/i965_avc_bsd.c +++ b/src/i965_avc_bsd.c @@ -796,8 +796,8 @@ i965_avc_bsd_pipeline(VADriverContextP ctx, struct decode_state *decode_state, v assert(decode_state->pic_param && decode_state->pic_param->buffer); pic_param = (VAPictureParameterBufferH264 *)decode_state->pic_param->buffer; - intel_update_avc_frame_store_index(ctx, decode_state, pic_param, - i965_h264_context->fs_context.used_frames); + intel_update_avc_frame_store_index(ctx, &i965_h264_context->fs_context, + decode_state, pic_param); i965_h264_context->enable_avc_ildb = 0; i965_h264_context->picture.i_flag = 1; diff --git a/src/i965_decoder_utils.c b/src/i965_decoder_utils.c index fff20c6..8f23bfb 100644 --- a/src/i965_decoder_utils.c +++ b/src/i965_decoder_utils.c @@ -452,10 +452,10 @@ gen_frame_store_context_init(GenFrameStoreContext *fsc) void intel_update_avc_frame_store_index( - VADriverContextP ctx, - struct decode_state *decode_state, - VAPictureParameterBufferH264 *pic_param, - GenFrameStore frame_store[MAX_GEN_REFERENCE_FRAMES] + VADriverContextP ctx, + GenFrameStoreContext *fs_ctx, + struct decode_state *decode_state, + VAPictureParameterBufferH264 *pic_param ) { int free_slots[MAX_GEN_REFERENCE_FRAMES]; @@ -464,7 +464,7 @@ intel_update_avc_frame_store_index( /* Remove obsolete entries from the internal DPB */ for (i = 0, n = 0; i < MAX_GEN_REFERENCE_FRAMES; i++) { - GenFrameStore * const fs = &frame_store[i]; + GenFrameStore * const fs = &fs_ctx->used_frames[i]; if (fs->surface_id == VA_INVALID_ID || !fs->obj_surface) { free_slots[n++] = i; continue; @@ -501,17 +501,18 @@ intel_update_avc_frame_store_index( // Find whether the current frame is not already in our frame store found = false; for (j = 0; j < MAX_GEN_REFERENCE_FRAMES; j++) { - if ((found = frame_store[j].obj_surface == obj_surface)) + if ((found = fs_ctx->used_frames[j].obj_surface == obj_surface)) break; } // ... or add it if (!found) { if (n < num_free_slots) { - GenFrameStore * const fs = &frame_store[free_slots[n++]]; + GenFrameStore * const fs = + &fs_ctx->used_frames[free_slots[n++]]; fs->surface_id = obj_surface->base.id; fs->obj_surface = obj_surface; - fs->frame_store_id = fs - frame_store; + fs->frame_store_id = fs - fs_ctx->used_frames; } else { WARN_ONCE("No free slot found for DPB reference list!!!\n"); diff --git a/src/i965_decoder_utils.h b/src/i965_decoder_utils.h index a4c9415..77e9d2e 100644 --- a/src/i965_decoder_utils.h +++ b/src/i965_decoder_utils.h @@ -92,10 +92,12 @@ intel_decoder_sanity_check_input(VADriverContextP ctx, struct decode_state *decode_state); void -intel_update_avc_frame_store_index(VADriverContextP ctx, - struct decode_state *decode_state, - VAPictureParameterBufferH264 *pic_param, - GenFrameStore frame_store[MAX_GEN_REFERENCE_FRAMES]); +intel_update_avc_frame_store_index( + VADriverContextP ctx, + GenFrameStoreContext *fs_ctx, + struct decode_state *decode_state, + VAPictureParameterBufferH264 *pic_param +); void intel_update_vc1_frame_store_index(VADriverContextP ctx, -- 1.7.9.5 _______________________________________________ Libva mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/libva
