OSDN Git Service

Update README.md
[android-x86/hardware-intel-common-vaapi.git] / src / gen9_mfd.h
index 6e9fa5d..b08eab8 100644 (file)
 #include <i915_drm.h>
 #include <intel_bufmgr.h>
 #include "i965_decoder.h"
+#include "vp9_probs.h"
 
 struct hw_context;
 
-struct gen9_hcpd_context
-{
+typedef struct vp9_frame_status {
+    uint16_t frame_width;
+    uint16_t frame_height;
+    uint8_t frame_type;
+    uint8_t show_frame;
+    uint8_t refresh_frame_context;
+    uint8_t frame_context_idx;
+    uint8_t intra_only;
+    uint8_t prob_buffer_saved_flag;
+    uint8_t prob_buffer_restored_flag;
+} vp9_last_frame_status;
+
+typedef struct vp9_mv_temporal_buffer {
+    dri_bo *bo;
+    uint16_t frame_width;
+    uint16_t frame_height;
+} VP9_MV_BUFFER;
+
+struct gen9_hcpd_context {
     struct hw_context base;
 
     GenFrameStoreContext fs_ctx;
@@ -65,10 +83,21 @@ struct gen9_hcpd_context
     GenBuffer sao_line_buffer;
     GenBuffer sao_tile_line_buffer;
     GenBuffer sao_tile_column_buffer;
+    GenBuffer hvd_line_rowstore_buffer;
+    GenBuffer hvd_tile_rowstore_buffer;
+    GenBuffer vp9_probability_buffer;
+    GenBuffer vp9_segment_id_buffer;
+    VP9_MV_BUFFER vp9_mv_temporal_buffer_curr;
+    VP9_MV_BUFFER vp9_mv_temporal_buffer_last;
 
     unsigned short first_inter_slice_collocated_ref_idx;
     unsigned short first_inter_slice_collocated_from_l0_flag;
     int first_inter_slice_valid;
+
+    vp9_last_frame_status last_frame;
+    FRAME_CONTEXT vp9_frame_ctx[FRAME_CONTEXTS];
+    FRAME_CONTEXT vp9_fc_inter_default;
+    FRAME_CONTEXT vp9_fc_key_default;
 };
 
 #endif /* GEN9_MFD_H */