Remove unnecessary copying of probs.

Change-Id: Ic924f07c6ab0c929c6cdf11880d3c625806e272c
This commit is contained in:
Yaowu Xu 2013-06-18 18:18:25 -07:00
Родитель 2319b7aaf1
Коммит 12180c8329
5 изменённых файлов: 7 добавлений и 19 удалений

Просмотреть файл

@ -13,7 +13,6 @@
#include "vp9/common/vp9_findnearmv.h"
#include "vp9/common/vp9_mvref_common.h"
#include "vp9/common/vp9_sadmxn.h"
#include "vp9/common/vp9_subpelvar.h"
static void lower_mv_precision(int_mv *mv, int usehp) {
if (!usehp || !vp9_use_nmv_hp(&mv->as_mv)) {
@ -24,12 +23,6 @@ static void lower_mv_precision(int_mv *mv, int usehp) {
}
}
vp9_prob *vp9_mv_ref_probs(VP9_COMMON *pc, vp9_prob *p, int context) {
p[0] = pc->fc.inter_mode_probs[context][0];
p[1] = pc->fc.inter_mode_probs[context][1];
p[2] = pc->fc.inter_mode_probs[context][2];
return p;
}
void vp9_find_best_ref_mvs(MACROBLOCKD *xd,
int_mv *mvlist,

Просмотреть файл

@ -70,10 +70,6 @@ static int check_mv_bounds(int_mv *mv,
mv->as_mv.row > mb_to_bottom_edge;
}
vp9_prob *vp9_mv_ref_probs(VP9_COMMON *pc,
vp9_prob p[VP9_INTER_MODES - 1],
int context);
void vp9_append_sub8x8_mvs_for_idx(VP9_COMMON *pc,
MACROBLOCKD *xd,
int_mv *dst_nearest,

Просмотреть файл

@ -560,7 +560,7 @@ static void read_mb_modes_mv(VP9D_COMP *pbi, MODE_INFO *mi, MB_MODE_INFO *mbmi,
if (mbmi->ref_frame[0] != INTRA_FRAME) {
int_mv nearest, nearby, best_mv;
int_mv nearest_second, nearby_second, best_mv_second;
vp9_prob mv_ref_p[VP9_INTER_MODES - 1];
vp9_prob *mv_ref_p;
read_ref_frame(pbi, r, mbmi->segment_id, mbmi->ref_frame);
@ -574,7 +574,8 @@ static void read_mb_modes_mv(VP9D_COMP *pbi, MODE_INFO *mi, MB_MODE_INFO *mbmi,
mbmi->ref_frame[0], mbmi->ref_mvs[mbmi->ref_frame[0]],
cm->ref_frame_sign_bias);
vp9_mv_ref_probs(cm, mv_ref_p, mbmi->mb_mode_context[mbmi->ref_frame[0]]);
mv_ref_p = cm->fc.inter_mode_probs[
mbmi->mb_mode_context[mbmi->ref_frame[0]]];
// If the segment level skip mode enabled
if (vp9_segfeature_active(xd, mbmi->segment_id, SEG_LVL_SKIP)) {

Просмотреть файл

@ -708,11 +708,11 @@ static void pack_inter_mode_mvs(VP9_COMP *cpi, MODE_INFO *m,
write_intra_mode(bc, mi->uv_mode,
pc->fc.uv_mode_prob[mode]);
} else {
vp9_prob mv_ref_p[VP9_INTER_MODES - 1];
vp9_prob *mv_ref_p;
encode_ref_frame(cpi, bc);
vp9_mv_ref_probs(&cpi->common, mv_ref_p, mi->mb_mode_context[rf]);
mv_ref_p = cpi->common.fc.inter_mode_probs[mi->mb_mode_context[rf]];
#ifdef ENTROPY_STATS
active_section = 3;

Просмотреть файл

@ -992,11 +992,9 @@ int vp9_cost_mv_ref(VP9_COMP *cpi,
// Dont account for mode here if segment skip is enabled.
if (!vp9_segfeature_active(xd, segment_id, SEG_LVL_SKIP)) {
VP9_COMMON *pc = &cpi->common;
vp9_prob p[VP9_INTER_MODES - 1];
assert(NEARESTMV <= m && m <= NEWMV);
vp9_mv_ref_probs(pc, p, mode_context);
return cost_token(vp9_sb_mv_ref_tree, p,
return cost_token(vp9_sb_mv_ref_tree,
pc->fc.inter_mode_probs[mode_context],
vp9_sb_mv_ref_encoding_array - NEARESTMV + m);
} else
return 0;