shithub: libvpx

Download patch

ref: 68027a0b8a172f8aa06bced924b684f0377333fd
parent: 09e4be88f9da73458b800be18e8501b1f15070f8
parent: 20d868f05df695e342d03a3e00566aa9c5513dd2
author: Dmitry Kovalev <dkovalev@google.com>
date: Wed Apr 2 07:00:58 EDT 2014

Merge "Grouping members in MB_MODE_INFO struct."

--- a/vp9/common/vp9_blockd.h
+++ b/vp9/common/vp9_blockd.h
@@ -120,23 +120,23 @@
 
 // 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 skip;
+  uint8_t segment_id;
+  uint8_t seg_id_predicted;  // valid only when temporal_update is enabled
 
-  uint8_t mode_context[MAX_REF_FRAMES];
+  // Only for INTRA blocks
+  MB_PREDICTION_MODE uv_mode;
 
-  unsigned char skip;    // 0=need to decode coeffs, 1=no coefficients
-  unsigned char segment_id;    // Segment id for this block.
-
-  // Flags used for prediction status of various bit-stream signals
-  unsigned char seg_id_predicted;
-
+  // 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 {