1 /*
2  *  Copyright (c) 2011 The WebM project authors. All Rights Reserved.
3  *
4  *  Use of this source code is governed by a BSD-style license
5  *  that can be found in the LICENSE file in the root of the source
6  *  tree. An additional intellectual property rights grant can be found
7  *  in the file PATENTS.  All contributing project authors may
8  *  be found in the AUTHORS file in the root of the source tree.
9  */
10 
11 
12 #ifndef VP8_DECODER_ERROR_CONCEALMENT_H_
13 #define VP8_DECODER_ERROR_CONCEALMENT_H_
14 
15 #include "onyxd_int.h"
16 #include "ec_types.h"
17 
18 #ifdef __cplusplus
19 extern "C" {
20 #endif
21 
22 /* Allocate memory for the overlap lists */
23 int vp8_alloc_overlap_lists(VP8D_COMP *pbi);
24 
25 /* Deallocate the overlap lists */
26 void vp8_de_alloc_overlap_lists(VP8D_COMP *pbi);
27 
28 /* Estimate all missing motion vectors. */
29 void vp8_estimate_missing_mvs(VP8D_COMP *pbi);
30 
31 /* Functions for spatial MV interpolation */
32 
33 /* Interpolates all motion vectors for a macroblock mb at position
34  * (mb_row, mb_col). */
35 void vp8_interpolate_motion(MACROBLOCKD *mb,
36                             int mb_row, int mb_col,
37                             int mb_rows, int mb_cols,
38                             int mi_stride);
39 
40 /* Conceal a macroblock with corrupt residual.
41  * Copies the prediction signal to the reconstructed image.
42  */
43 void vp8_conceal_corrupt_mb(MACROBLOCKD *xd);
44 
45 #ifdef __cplusplus
46 }  // extern "C"
47 #endif
48 
49 #endif  // VP8_DECODER_ERROR_CONCEALMENT_H_
50