Mercurial > libavcodec.hg
comparison vp8data.h @ 11990:3c51d7ac41c9 libavcodec
Simplify MV parsing, removes laying out 2 or 4 (16x8/8x8/8x16) MVs over all
16 subblocks (since we no longer need that), which should also lead to a
minor speedup.
author | rbultje |
---|---|
date | Mon, 28 Jun 2010 16:04:14 +0000 |
parents | 176c5deb6756 |
children | cf675a4d5195 |
comparison
equal
deleted
inserted
replaced
11989:176c5deb6756 | 11990:3c51d7ac41c9 |
---|---|
65 enum inter_splitmvmode { | 65 enum inter_splitmvmode { |
66 VP8_SPLITMVMODE_16x8 = 0, ///< 2 16x8 blocks (vertical) | 66 VP8_SPLITMVMODE_16x8 = 0, ///< 2 16x8 blocks (vertical) |
67 VP8_SPLITMVMODE_8x16, ///< 2 8x16 blocks (horizontal) | 67 VP8_SPLITMVMODE_8x16, ///< 2 8x16 blocks (horizontal) |
68 VP8_SPLITMVMODE_8x8, ///< 2x2 blocks of 8x8px each | 68 VP8_SPLITMVMODE_8x8, ///< 2x2 blocks of 8x8px each |
69 VP8_SPLITMVMODE_4x4, ///< 4x4 blocks of 4x4px each | 69 VP8_SPLITMVMODE_4x4, ///< 4x4 blocks of 4x4px each |
70 VP8_SPLITMVMODE_NONE, ///< (only used in prediction) no split MVs | |
70 }; | 71 }; |
71 | 72 |
72 static const uint8_t vp8_pred4x4_mode[] = | 73 static const uint8_t vp8_pred4x4_mode[] = |
73 { | 74 { |
74 [DC_PRED8x8] = DC_PRED, | 75 [DC_PRED8x8] = DC_PRED, |
117 { 5, 6 }, | 118 { 5, 6 }, |
118 { -4, -5 }, // '100', '101' | 119 { -4, -5 }, // '100', '101' |
119 { -6, -7 } // '110', '111' | 120 { -6, -7 } // '110', '111' |
120 }; | 121 }; |
121 | 122 |
122 static const uint8_t vp8_mbsplits[4][16] = { | 123 static const uint8_t vp8_mbsplits[5][16] = { |
123 { 0, 0, 0, 0, 0, 0, 0, 0, | 124 { 0, 0, 0, 0, 0, 0, 0, 0, |
124 1, 1, 1, 1, 1, 1, 1, 1 }, | 125 1, 1, 1, 1, 1, 1, 1, 1 }, |
125 { 0, 0, 1, 1, 0, 0, 1, 1, | 126 { 0, 0, 1, 1, 0, 0, 1, 1, |
126 0, 0, 1, 1, 0, 0, 1, 1 }, | 127 0, 0, 1, 1, 0, 0, 1, 1 }, |
127 { 0, 0, 1, 1, 0, 0, 1, 1, | 128 { 0, 0, 1, 1, 0, 0, 1, 1, |
128 2, 2, 3, 3, 2, 2, 3, 3 }, | 129 2, 2, 3, 3, 2, 2, 3, 3 }, |
129 { 0, 1, 2, 3, 4, 5, 6, 7, | 130 { 0, 1, 2, 3, 4, 5, 6, 7, |
130 8, 9, 10, 11, 12, 13, 14, 15 } | 131 8, 9, 10, 11, 12, 13, 14, 15 }, |
132 { 0, 0, 0, 0, 0, 0, 0, 0, | |
133 0, 0, 0, 0, 0, 0, 0, 0 } | |
131 }; | 134 }; |
132 | 135 |
133 static const uint8_t vp8_mbfirstidx[4][16] = { | 136 static const uint8_t vp8_mbfirstidx[4][16] = { |
134 { 0, 8 }, { 0, 2 }, { 0, 2, 8, 10 }, | 137 { 0, 8 }, { 0, 2 }, { 0, 2, 8, 10 }, |
135 { 0, 1, 2, 3, 4, 5, 6, 7, | 138 { 0, 1, 2, 3, 4, 5, 6, 7, |