• R/O
  • HTTP
  • SSH
  • HTTPS

Commit

Tags
No Tags

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

hardware/intel/intel-driver


Commit MetaInfo

Revisión5482dc227671f5d64aa09f0af5c6001d6cab7678 (tree)
Tiempo2014-12-14 01:42:17
AutorXiang, Haihao <haihao.xiang@inte...>
CommiterXiang, Haihao

Log Message

HEVC: update frame store index

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
(cherry picked from commit 6f3f9d024a5b000ae86b2b85d35b6e3679903f5d)

Cambiar Resumen

Diferencia incremental

--- a/src/gen9_mfd.c
+++ b/src/gen9_mfd.c
@@ -77,6 +77,7 @@ gen9_hcpd_init_hevc_surface(VADriverContextP ctx,
7777
7878 if (!gen9_hevc_surface) {
7979 gen9_hevc_surface = calloc(sizeof(GenHevcSurface), 1);
80+ gen9_hevc_surface->base.frame_store_id = -1;
8081 obj_surface->private_data = gen9_hevc_surface;
8182 }
8283
@@ -127,6 +128,11 @@ gen9_hcpd_hevc_decode_init(VADriverContextP ctx,
127128
128129 assert(decode_state->pic_param && decode_state->pic_param->buffer);
129130 pic_param = (VAPictureParameterBufferHEVC *)decode_state->pic_param->buffer;
131+ intel_update_hevc_frame_store_index(ctx,
132+ decode_state,
133+ pic_param,
134+ gen9_hcpd_context->reference_surfaces,
135+ &gen9_hcpd_context->fs_ctx);
130136
131137 gen9_hcpd_context->picture_width_in_pixels = pic_param->pic_width_in_luma_samples;
132138 gen9_hcpd_context->picture_height_in_pixels = pic_param->pic_height_in_luma_samples;
--- a/src/gen9_mfd.h
+++ b/src/gen9_mfd.h
@@ -41,6 +41,8 @@ struct gen9_hcpd_context
4141 {
4242 struct hw_context base;
4343
44+ GenFrameStoreContext fs_ctx;
45+
4446 GenFrameStore reference_surfaces[MAX_GEN_HCP_REFERENCE_FRAMES];
4547
4648 VAIQMatrixBufferHEVC iq_matrix_hevc;
--- a/src/i965_decoder_utils.c
+++ b/src/i965_decoder_utils.c
@@ -671,6 +671,23 @@ intel_update_avc_frame_store_index(
671671 }
672672
673673 void
674+intel_update_hevc_frame_store_index(
675+ VADriverContextP ctx,
676+ struct decode_state *decode_state,
677+ VAPictureParameterBufferHEVC *pic_param,
678+ GenFrameStore frame_store[MAX_GEN_HCP_REFERENCE_FRAMES],
679+ GenFrameStoreContext *fs_ctx
680+ )
681+{
682+ intel_update_codec_frame_store_index(ctx,
683+ decode_state,
684+ pic_param->CurrPic.pic_order_cnt,
685+ frame_store,
686+ MAX_GEN_HCP_REFERENCE_FRAMES,
687+ fs_ctx);
688+}
689+
690+void
674691 gen75_update_avc_frame_store_index(
675692 VADriverContextP ctx,
676693 struct decode_state *decode_state,
--- a/src/i965_decoder_utils.h
+++ b/src/i965_decoder_utils.h
@@ -111,6 +111,15 @@ intel_update_avc_frame_store_index(
111111 );
112112
113113 void
114+intel_update_hevc_frame_store_index(
115+ VADriverContextP ctx,
116+ struct decode_state *decode_state,
117+ VAPictureParameterBufferHEVC *pic_param,
118+ GenFrameStore frame_store[MAX_GEN_HCP_REFERENCE_FRAMES],
119+ GenFrameStoreContext *fs_ctx
120+);
121+
122+void
114123 gen75_update_avc_frame_store_index(
115124 VADriverContextP ctx,
116125 struct decode_state *decode_state,
--- a/src/intel_media.h
+++ b/src/intel_media.h
@@ -55,6 +55,7 @@ extern int intel_format_convert(float src, int out_int_bits, int out_frac_bits,i
5555 typedef struct gen_hevc_surface GenHevcSurface;
5656 struct gen_hevc_surface
5757 {
58+ GenCodecSurface base;
5859 dri_bo *motion_vector_temporal_bo;
5960 };
6061