Unified · Split
| @@ -145,6 +145,20 @@ struct EncodeFrameResult { · 144 unmodified lines | |||
| 145 | int num_rows_4x4; // number of row units, in size of 4. | 145 | int num_rows_4x4; // number of row units, in size of 4. |
| 146 | int num_cols_4x4; // number of column units, in size of 4. | 146 | int num_cols_4x4; // number of column units, in size of 4. |
| 147 | // The pointer to the partition information of the frame. | 147 | // The pointer to the partition information of the frame. |
| 148 | // The frame is divided 4x4 blocks of |num_rows_4x4| rows and | ||
| 149 | // |num_cols_4x4| columns. | ||
| 150 | // Each 4x4 block contains the current pixel position (|row|, |column|), | ||
| 151 | // the start pixel position of the partition (|row_start|, |column_start|), | ||
| 152 | // and the |width|, |height| of the partition. | ||
| 153 | // Within the same partition, all 4x4 blocks have the same |row_start|, | ||
| 154 | // |column_start|, |width| and |height|. | ||
| 155 | // For example, if the frame is partitioned to a 32x32 block, | ||
| 156 | // starting at (0, 0). Then, there're 64 4x4 blocks within this partition. | ||
| 157 | // They all have the same |row_start|, |column_start|, |width|, |height|, | ||
| 158 | // which can be used to figure out the start of the current partition and | ||
| 159 | // the start of the next partition block. | ||
| 160 | // Horizontal next: |column_start| + |width|, | ||
| 161 | // Vertical next: |row_start| + |height|. | ||
| 148 | std::unique_ptr<PartitionInfo[]> partition_info; | 162 | std::unique_ptr<PartitionInfo[]> partition_info; |
| 149 | }; | 163 | }; |
| 150 | 164 | ||