| 1322 | */ |
| 1323 | |
| 1324 | static inline int vc1_coded_block_pred(MpegEncContext * s, int n, uint8_t **coded_block_ptr) |
| 1325 | { |
| 1326 | int xy, wrap, pred, a, b, c; |
| 1327 | |
| 1328 | xy = s->block_index[n]; |
| 1329 | wrap = s->b8_stride; |
| 1330 | |
| 1331 | /* B C |
| 1332 | * A X |
| 1333 | */ |
| 1334 | a = s->coded_block[xy - 1 ]; |
| 1335 | b = s->coded_block[xy - 1 - wrap]; |
| 1336 | c = s->coded_block[xy - wrap]; |
| 1337 | |
| 1338 | if (b == c) { |
| 1339 | pred = a; |
| 1340 | } else { |
| 1341 | pred = c; |
| 1342 | } |
| 1343 | |
| 1344 | /* store value */ |
| 1345 | *coded_block_ptr = &s->coded_block[xy]; |
| 1346 | |
| 1347 | return pred; |
| 1348 | } |
| 1349 | |
| 1350 | /** |
| 1351 | * Decode one AC coefficient |
no outgoing calls
no test coverage detected