diff options
Diffstat (limited to 'vp10/common/onyxc_int.h')
-rw-r--r-- | vp10/common/onyxc_int.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/vp10/common/onyxc_int.h b/vp10/common/onyxc_int.h index eac75a670..681413377 100644 --- a/vp10/common/onyxc_int.h +++ b/vp10/common/onyxc_int.h @@ -302,6 +302,11 @@ typedef struct VP10Common { PARTITION_CONTEXT *above_seg_context; ENTROPY_CONTEXT *above_context; int above_context_alloc_cols; + + // scratch memory for intraonly/keyframe forward updates from default tables + // - this is intentionally not placed in FRAME_CONTEXT since it's reset upon + // each keyframe and not used afterwards + vpx_prob kf_y_prob[INTRA_MODES][INTRA_MODES][INTRA_MODES - 1]; } VP10_COMMON; // TODO(hkuang): Don't need to lock the whole pool after implementing atomic @@ -443,6 +448,16 @@ static INLINE void set_mi_row_col(MACROBLOCKD *xd, const TileInfo *const tile, } } +static INLINE const vpx_prob *get_y_mode_probs(const VP10_COMMON *cm, + const MODE_INFO *mi, + const MODE_INFO *above_mi, + const MODE_INFO *left_mi, + int block) { + const PREDICTION_MODE above = vp10_above_block_mode(mi, above_mi, block); + const PREDICTION_MODE left = vp10_left_block_mode(mi, left_mi, block); + return cm->kf_y_prob[above][left]; +} + static INLINE void update_partition_context(MACROBLOCKD *xd, int mi_row, int mi_col, BLOCK_SIZE subsize, |