void vp9_build_interintra_16x16_predictors_mby(MACROBLOCKD *xd,
unsigned char *ypred,
int ystride) {
- static const int scale_bits = 6;
unsigned char intrapredictor[256];
- int i, j;
vp9_build_intra_predictors_internal(
xd->dst.y_buffer, xd->dst.y_stride,
intrapredictor, 16,
unsigned char *upred,
unsigned char *vpred,
int uvstride) {
- int i, j;
unsigned char uintrapredictor[64];
unsigned char vintrapredictor[64];
vp9_build_intra_predictors_internal(
#elif CONTEXT_PRED_REPLACEMENTS == 0
B_PREDICTION_MODE vp9_find_dominant_direction(
unsigned char *ptr, int stride, int n) {
- int g[8], i, imin, imin2, imax;
+ int g[8], i, imin, imax;
g[0] = find_grad_measure(ptr, stride, n, 4, 1, 0);
g[1] = find_grad_measure(ptr, stride, n, 4, 2, 1);
g[2] = find_grad_measure(ptr, stride, n, 4, 1, 1);
prototype void vp9_recon_mby "struct macroblockd *x"
specialize vp9_recon_mby
+prototype void vp9_recon_mby_s "struct macroblockd *x, unsigned char *dst"
+specialize vp9_recon_mby_s
+
+prototype void vp9_recon_mbuv_s "struct macroblockd *x, unsigned char *udst, unsigned char *vdst"
+specialize void vp9_recon_mbuv_s
+
prototype void vp9_build_intra_predictors_mby_s "struct macroblockd *x"
specialize vp9_build_intra_predictors_mby_s
#if CONFIG_SUPERBLOCKS
static void decode_16x16_sb(VP9D_COMP *pbi, MACROBLOCKD *xd,
BOOL_DECODER* const bc, int n) {
- BLOCKD *b = &xd->block[24];
int x_idx = n & 1, y_idx = n >> 1;
TX_TYPE tx_type = get_tx_type_16x16(xd, &xd->block[0]);
if (tx_type != DCT_DCT) {
int i;
for (i = 0; i < 4; i++) {
int ib = vp9_i8x8_block[i];
- const int iblock[4] = {0, 1, 4, 5};
- const int ioffset[4] = {0, 1, 0, 1};
int idx = (ib & 0x02) ? (ib + 2) : ib;
- int i8x8mode = -1;
short *q = xd->block[idx].qcoeff;
short *dq = xd->block[0].dequant;
- unsigned char *pre = xd->block[ib].predictor;
- unsigned char *dst = *(xd->block[ib].base_dst) + xd->block[ib].dst;
int stride = xd->dst.y_stride;
BLOCKD *b = &xd->block[ib];
tx_type = get_tx_type_8x8(xd, &xd->block[ib]);
#include "vp9_rtcd.h"
#include "vp9/common/vp9_blockd.h"
+#if CONFIG_LOSSLESS
+#include "vp9/decoder/vp9_dequantize.h"
+#endif
void vp9_dequant_dc_idct_add_y_block_c(short *q, const short *dq,
unsigned char *pre,
#endif
if (pc->mcomp_filter_type == SWITCHABLE)
update_switchable_interp_probs(cpi, &header_bc);
-#if CONFIG_COMP_INTERINTRA_PRED
+
+ #if CONFIG_COMP_INTERINTRA_PRED
if (pc->use_interintra) {
vp9_cond_prob_update(&header_bc,
&pc->fc.interintra_prob,
for (i = 1; i < 4; ++i) {
// If we see a 0,0 reference vector for a second time we have reached
// the end of the list of valid candidate vectors.
- if (!mv_ref_list[i].as_int)
+ if (!mv_ref_list[i].as_int) {
if (zero_seen)
break;
else
zero_seen = TRUE;
+ }
// Check for cases where the reference choice would give rise to an
// uncodable/out of range residual for row or col.
int mbsplit_count[VP9_NUMMBSPLITS];
int y_uv_mode_count[VP9_YMODES][VP9_UV_MODES];
#if CONFIG_COMP_INTERINTRA_PRED
- int interintra_count[2];
- int interintra_select_count[2];
+ unsigned int interintra_count[2];
+ unsigned int interintra_select_count[2];
#endif
nmv_context_counts NMVcount;
int distortion_uv = INT_MAX;
int64_t best_yrd = INT64_MAX;
#if CONFIG_PRED_FILTER
- int best_filter_state;
+ int best_filter_state = 0;
#endif
int switchable_filter_index = 0;
}
#if CONFIG_COMP_INTERINTRA_PRED
if ((mbmi->ref_frame == INTRA_FRAME) &&
- (this_mode >= DC_PRED && this_mode <= TM_PRED) &&
+ (this_mode <= TM_PRED) &&
(this_rd < best_intra16_rd)) {
best_intra16_rd = this_rd;
best_intra16_mode = this_mode;
int rate4x4d, dist4x4d;
#endif
int rate4x4, rate16x16 = 0, rateuv, rateuv8x8;
- int dist4x4, dist16x16, distuv, distuv8x8;
+ int dist4x4 = 0, dist16x16 = 0, distuv = 0, distuv8x8 = 0;
int rate;
int rate4x4_tokenonly = 0;
int rate16x16_tokenonly = 0;
int mode8x8[2][4];
int dist;
int modeuv, modeuv8x8, uv_intra_skippable, uv_intra_skippable_8x8;
- int y_intra16x16_skippable;
+ int y_intra16x16_skippable = 0;
int64_t txfm_cache[NB_TXFM_MODES];
TX_SIZE txfm_size_16x16;
int i;
int64_t best_pred_diff[NB_PREDICTION_TYPES];
int64_t best_pred_rd[NB_PREDICTION_TYPES];
MB_MODE_INFO best_mbmode;
- int mode_index, best_mode_index;
+ int mode_index, best_mode_index = 0;
unsigned int ref_costs[MAX_REF_FRAMES];
#if CONFIG_COMP_INTERINTRA_PRED
int is_best_interintra = 0;
int64_t best_intra16_rd = INT64_MAX;
int best_intra16_mode = DC_PRED, best_intra16_uv_mode = DC_PRED;
#endif
- int rate_uv_4x4, rate_uv_8x8, rate_uv_tokenonly_4x4, rate_uv_tokenonly_8x8;
- int dist_uv_4x4, dist_uv_8x8, uv_skip_4x4, uv_skip_8x8;
- MB_PREDICTION_MODE mode_uv_4x4, mode_uv_8x8;
+ int rate_uv_4x4 = 0, rate_uv_8x8 = 0, rate_uv_tokenonly_4x4 = 0,
+ rate_uv_tokenonly_8x8 = 0;
+ int dist_uv_4x4 = 0, dist_uv_8x8 = 0, uv_skip_4x4 = 0, uv_skip_8x8 = 0;
+ MB_PREDICTION_MODE mode_uv_4x4 = NEARESTMV, mode_uv_8x8 = NEARESTMV;
x->skip = 0;
xd->mode_info_context->mbmi.segment_id = segment_id;