]> granicus.if.org Git - libvpx/commitdiff
Grouping members in MB_MODE_INFO struct.
authorDmitry Kovalev <dkovalev@google.com>
Sat, 29 Mar 2014 00:43:50 +0000 (17:43 -0700)
committerDmitry Kovalev <dkovalev@google.com>
Sat, 29 Mar 2014 00:44:13 +0000 (17:44 -0700)
Change-Id: Ia6d7e7a08810e0c3401da4d10266828d560e6851

vp9/common/vp9_blockd.h

index 556be6abafaace1a8baf960626af4d2b03046ab3..05ff3a7861fd62a56f9e0e404972d714648c6e2a 100644 (file)
@@ -120,23 +120,23 @@ static INLINE int mi_width_log2(BLOCK_SIZE sb_type) {
 
 // This structure now relates to 8x8 block regions.
 typedef struct {
-  MB_PREDICTION_MODE mode, uv_mode;
-  MV_REFERENCE_FRAME ref_frame[2];
+  // Common for both INTER and INTRA blocks
+  BLOCK_SIZE sb_type;
+  MB_PREDICTION_MODE mode;
   TX_SIZE tx_size;
-  int_mv mv[2];                // for each reference frame used
-  int_mv ref_mvs[MAX_REF_FRAMES][MAX_MV_REF_CANDIDATES];
-
-  uint8_t mode_context[MAX_REF_FRAMES];
-
-  unsigned char skip;    // 0=need to decode coeffs, 1=no coefficients
-  unsigned char segment_id;    // Segment id for this block.
+  uint8_t skip;
+  uint8_t segment_id;
+  uint8_t seg_id_predicted;  // valid only when temporal_update is enabled
 
-  // Flags used for prediction status of various bit-stream signals
-  unsigned char seg_id_predicted;
+  // Only for INTRA blocks
+  MB_PREDICTION_MODE uv_mode;
 
+  // Only for INTER blocks
+  MV_REFERENCE_FRAME ref_frame[2];
+  int_mv mv[2];
+  int_mv ref_mvs[MAX_REF_FRAMES][MAX_MV_REF_CANDIDATES];
+  uint8_t mode_context[MAX_REF_FRAMES];
   INTERP_FILTER interp_filter;
-
-  BLOCK_SIZE sb_type;
 } MB_MODE_INFO;
 
 typedef struct {