summaryrefslogtreecommitdiff
path: root/vp8/encoder
diff options
context:
space:
mode:
authorRonald S. Bultje <rbultje@google.com>2012-10-29 22:15:27 -0700
committerRonald S. Bultje <rbultje@google.com>2012-10-29 22:15:27 -0700
commitb066bb4306875593893296da6abf1e7cba804070 (patch)
treef964f30509c2c3ce9174722ec033d084591cf9a4 /vp8/encoder
parentd36cc98ee3a9bf37865c8fc83774f9982bbc6dd6 (diff)
downloadlibvpx-b066bb4306875593893296da6abf1e7cba804070.tar
libvpx-b066bb4306875593893296da6abf1e7cba804070.tar.gz
libvpx-b066bb4306875593893296da6abf1e7cba804070.tar.bz2
libvpx-b066bb4306875593893296da6abf1e7cba804070.zip
seg_common: give all exported symbols a vp9_ prefix.
Change-Id: Ie8ba934a757acec1c80ac37ab9307c9a2783254e
Diffstat (limited to 'vp8/encoder')
-rw-r--r--vp8/encoder/bitstream.c79
-rw-r--r--vp8/encoder/encodeframe.c82
-rw-r--r--vp8/encoder/onyx_if.c89
-rw-r--r--vp8/encoder/picklpf.c12
-rw-r--r--vp8/encoder/quantize.c26
-rw-r--r--vp8/encoder/rdopt.c66
-rw-r--r--vp8/encoder/tokenize.c8
7 files changed, 169 insertions, 193 deletions
diff --git a/vp8/encoder/bitstream.c b/vp8/encoder/bitstream.c
index 021a9075c..b7be84622 100644
--- a/vp8/encoder/bitstream.c
+++ b/vp8/encoder/bitstream.c
@@ -795,15 +795,15 @@ static void encode_ref_frame(vp8_writer *const bc,
MV_REFERENCE_FRAME rf) {
int seg_ref_active;
int seg_ref_count = 0;
- seg_ref_active = segfeature_active(xd,
- segment_id,
- SEG_LVL_REF_FRAME);
+ seg_ref_active = vp9_segfeature_active(xd,
+ segment_id,
+ SEG_LVL_REF_FRAME);
if (seg_ref_active) {
- seg_ref_count = check_segref(xd, segment_id, INTRA_FRAME) +
- check_segref(xd, segment_id, LAST_FRAME) +
- check_segref(xd, segment_id, GOLDEN_FRAME) +
- check_segref(xd, segment_id, ALTREF_FRAME);
+ seg_ref_count = vp9_check_segref(xd, segment_id, INTRA_FRAME) +
+ vp9_check_segref(xd, segment_id, LAST_FRAME) +
+ vp9_check_segref(xd, segment_id, GOLDEN_FRAME) +
+ vp9_check_segref(xd, segment_id, ALTREF_FRAME);
}
// If segment level coding of this signal is disabled...
@@ -838,12 +838,12 @@ static void encode_ref_frame(vp8_writer *const bc,
// setting the branch probability to 0.
if (seg_ref_active) {
mod_refprobs[INTRA_FRAME] *=
- check_segref(xd, segment_id, INTRA_FRAME);
+ vp9_check_segref(xd, segment_id, INTRA_FRAME);
mod_refprobs[LAST_FRAME] *=
- check_segref(xd, segment_id, LAST_FRAME);
+ vp9_check_segref(xd, segment_id, LAST_FRAME);
mod_refprobs[GOLDEN_FRAME] *=
- (check_segref(xd, segment_id, GOLDEN_FRAME) *
- check_segref(xd, segment_id, ALTREF_FRAME));
+ (vp9_check_segref(xd, segment_id, GOLDEN_FRAME) *
+ vp9_check_segref(xd, segment_id, ALTREF_FRAME));
}
if (mod_refprobs[0]) {
@@ -986,8 +986,8 @@ static void pack_inter_mode_mvs(VP8_COMP *const cpi, vp8_writer *const bc) {
}
if (pc->mb_no_coeff_skip &&
- (!segfeature_active(xd, segment_id, SEG_LVL_EOB) ||
- (get_segdata(xd, segment_id, SEG_LVL_EOB) != 0))) {
+ (!vp9_segfeature_active(xd, segment_id, SEG_LVL_EOB) ||
+ (vp9_get_segdata(xd, segment_id, SEG_LVL_EOB) != 0))) {
int skip_coeff = mi->mb_skip_coeff;
#if CONFIG_SUPERBLOCKS
if (mi->encoded_as_sb) {
@@ -1010,7 +1010,7 @@ static void pack_inter_mode_mvs(VP8_COMP *const cpi, vp8_writer *const bc) {
// TODO(rbultje) write using SB tree structure
- if (!segfeature_active(xd, segment_id, SEG_LVL_MODE)) {
+ if (!vp9_segfeature_active(xd, segment_id, SEG_LVL_MODE)) {
write_ymode(bc, mode, pc->fc.ymode_prob);
}
@@ -1084,7 +1084,7 @@ static void pack_inter_mode_mvs(VP8_COMP *const cpi, vp8_writer *const bc) {
#endif
// Is the segment coding of mode enabled
- if (!segfeature_active(xd, segment_id, SEG_LVL_MODE)) {
+ if (!vp9_segfeature_active(xd, segment_id, SEG_LVL_MODE)) {
#if CONFIG_SUPERBLOCKS
if (mi->encoded_as_sb) {
write_sb_mv_ref(bc, mode, mv_ref_p);
@@ -1268,8 +1268,8 @@ static void pack_inter_mode_mvs(VP8_COMP *const cpi, vp8_writer *const bc) {
mi->partitioning == PARTITIONING_4X4))) &&
pc->txfm_mode == TX_MODE_SELECT &&
!((pc->mb_no_coeff_skip && mi->mb_skip_coeff) ||
- (segfeature_active(xd, segment_id, SEG_LVL_EOB) &&
- get_segdata(xd, segment_id, SEG_LVL_EOB) == 0))) {
+ (vp9_segfeature_active(xd, segment_id, SEG_LVL_EOB) &&
+ vp9_get_segdata(xd, segment_id, SEG_LVL_EOB) == 0))) {
TX_SIZE sz = mi->txfm_size;
// FIXME(rbultje) code ternary symbol once all experiments are merged
vp8_write(bc, sz != TX_4X4, pc->prob_tx[0]);
@@ -1333,8 +1333,8 @@ static void write_mb_modes_kf(const VP8_COMMON *c,
}
if (c->mb_no_coeff_skip &&
- (!segfeature_active(xd, segment_id, SEG_LVL_EOB) ||
- (get_segdata(xd, segment_id, SEG_LVL_EOB) != 0))) {
+ (!vp9_segfeature_active(xd, segment_id, SEG_LVL_EOB) ||
+ (vp9_get_segdata(xd, segment_id, SEG_LVL_EOB) != 0))) {
int skip_coeff = m->mbmi.mb_skip_coeff;
#if CONFIG_SUPERBLOCKS
if (m->mbmi.encoded_as_sb) {
@@ -1410,8 +1410,8 @@ static void write_mb_modes_kf(const VP8_COMMON *c,
#endif
ym <= I8X8_PRED && c->txfm_mode == TX_MODE_SELECT &&
!((c->mb_no_coeff_skip && m->mbmi.mb_skip_coeff) ||
- (segfeature_active(xd, segment_id, SEG_LVL_EOB) &&
- get_segdata(xd, segment_id, SEG_LVL_EOB) == 0))) {
+ (vp9_segfeature_active(xd, segment_id, SEG_LVL_EOB) &&
+ vp9_get_segdata(xd, segment_id, SEG_LVL_EOB) == 0))) {
TX_SIZE sz = m->mbmi.txfm_size;
// FIXME(rbultje) code ternary symbol once all experiments are merged
vp8_write(bc, sz != TX_4X4, c->prob_tx[0]);
@@ -1855,8 +1855,8 @@ static void segment_reference_frames(VP8_COMP *cpi) {
mb_index++;
}
for (i = 0; i < MAX_MB_SEGMENTS; i++) {
- enable_segfeature(xd, i, SEG_LVL_REF_FRAME);
- set_segdata(xd, i, SEG_LVL_REF_FRAME, ref[i]);
+ vp9_enable_segfeature(xd, i, SEG_LVL_REF_FRAME);
+ vp9_set_segdata(xd, i, SEG_LVL_REF_FRAME, ref[i]);
}
}
@@ -1972,43 +1972,42 @@ void vp8_pack_bitstream(VP8_COMP *cpi, unsigned char *dest, unsigned long *size)
for (i = 0; i < MAX_MB_SEGMENTS; i++) {
// For each segmentation codable feature...
for (j = 0; j < SEG_LVL_MAX; j++) {
- Data = get_segdata(xd, i, j);
+ Data = vp9_get_segdata(xd, i, j);
#if CONFIG_FEATUREUPDATES
// check if there's an update
- if (segfeature_changed(xd, i, j)) {
+ if (vp9_segfeature_changed(xd, i, j)) {
vp8_write_bit(&header_bc, 1);
- if (segfeature_active(xd, i, j)) {
+ if (vp9_segfeature_active(xd, i, j)) {
// this bit is to say we are still
// active/ if we were inactive
// this is unnecessary
- if (old_segfeature_active(xd, i, j)) {
+ if (vp9_old_segfeature_active(xd, i, j)) {
vp8_write_bit(&header_bc, 1);
}
// Is the segment data signed..
- if (is_segfeature_signed(j)) {
+ if (vp9_is_segfeature_signed(j)) {
// Encode the relevant feature data
if (Data < 0) {
Data = - Data;
vp8_write_literal(&header_bc, Data,
- seg_feature_data_bits(j));
+ vp9_seg_feature_data_bits(j));
vp8_write_bit(&header_bc, 1);
} else {
vp8_write_literal(&header_bc, Data,
- seg_feature_data_bits(j));
+ vp9_seg_feature_data_bits(j));
vp8_write_bit(&header_bc, 0);
}
}
// Unsigned data element so no sign bit needed
else
vp8_write_literal(&header_bc, Data,
- seg_feature_data_bits(j));
- }
- // feature is inactive now
- else if (old_segfeature_active(xd, i, j)) {
+ vp9_seg_feature_data_bits(j));
+ } else if (vp9_old_segfeature_active(xd, i, j)) {
+ // feature is inactive now
vp8_write_bit(&header_bc, 0);
}
} else {
@@ -2017,27 +2016,27 @@ void vp8_pack_bitstream(VP8_COMP *cpi, unsigned char *dest, unsigned long *size)
#else
// If the feature is enabled...
- if (segfeature_active(xd, i, j)) {
+ if (vp9_segfeature_active(xd, i, j)) {
vp8_write_bit(&header_bc, 1);
// Is the segment data signed..
- if (is_segfeature_signed(j)) {
+ if (vp9_is_segfeature_signed(j)) {
// Encode the relevant feature data
if (Data < 0) {
Data = - Data;
vp8_write_literal(&header_bc, Data,
- seg_feature_data_bits(j));
+ vp9_seg_feature_data_bits(j));
vp8_write_bit(&header_bc, 1);
} else {
vp8_write_literal(&header_bc, Data,
- seg_feature_data_bits(j));
+ vp9_seg_feature_data_bits(j));
vp8_write_bit(&header_bc, 0);
}
}
// Unsigned data element so no sign bit needed
else
vp8_write_literal(&header_bc, Data,
- seg_feature_data_bits(j));
+ vp9_seg_feature_data_bits(j));
} else
vp8_write_bit(&header_bc, 0);
#endif
@@ -2047,7 +2046,7 @@ void vp8_pack_bitstream(VP8_COMP *cpi, unsigned char *dest, unsigned long *size)
#if CONFIG_FEATUREUPDATES
// save the segment info for updates next frame
- save_segment_info(xd);
+ vp9_save_segment_info(xd);
#endif
}
diff --git a/vp8/encoder/encodeframe.c b/vp8/encoder/encodeframe.c
index 48948d18d..cae689cf5 100644
--- a/vp8/encoder/encodeframe.c
+++ b/vp8/encoder/encodeframe.c
@@ -419,8 +419,8 @@ static void update_state(VP8_COMP *cpi, MACROBLOCK *x, PICK_MODE_CONTEXT *ctx) {
{
int segment_id = mbmi->segment_id;
- if (!segfeature_active(xd, segment_id, SEG_LVL_EOB) ||
- get_segdata(xd, segment_id, SEG_LVL_EOB)) {
+ if (!vp9_segfeature_active(xd, segment_id, SEG_LVL_EOB) ||
+ vp9_get_segdata(xd, segment_id, SEG_LVL_EOB)) {
for (i = 0; i < NB_TXFM_MODES; i++) {
cpi->rd_tx_select_diff[i] += ctx->txfm_rd_diff[i];
}
@@ -639,12 +639,12 @@ static void pick_mb_modes(VP8_COMP *cpi,
int seg_id, r, d;
if (xd->segmentation_enabled && cpi->seg0_cnt > 0 &&
- !segfeature_active(xd, 0, SEG_LVL_REF_FRAME) &&
- segfeature_active(xd, 1, SEG_LVL_REF_FRAME) &&
- check_segref(xd, 1, INTRA_FRAME) +
- check_segref(xd, 1, LAST_FRAME) +
- check_segref(xd, 1, GOLDEN_FRAME) +
- check_segref(xd, 1, ALTREF_FRAME) == 1) {
+ !vp9_segfeature_active(xd, 0, SEG_LVL_REF_FRAME) &&
+ vp9_segfeature_active(xd, 1, SEG_LVL_REF_FRAME) &&
+ vp9_check_segref(xd, 1, INTRA_FRAME) +
+ vp9_check_segref(xd, 1, LAST_FRAME) +
+ vp9_check_segref(xd, 1, GOLDEN_FRAME) +
+ vp9_check_segref(xd, 1, ALTREF_FRAME) == 1) {
cpi->seg0_progress = (cpi->seg0_idx << 16) / cpi->seg0_cnt;
} else {
cpi->seg0_progress = (((mb_col & ~1) * 2 + (mb_row & ~1) * cm->mb_cols + i) << 16) / cm->MBs;
@@ -664,11 +664,11 @@ static void pick_mb_modes(VP8_COMP *cpi,
cpi->seg0_idx++;
}
if (!xd->segmentation_enabled ||
- !segfeature_active(xd, seg_id, SEG_LVL_REF_FRAME) ||
- check_segref(xd, seg_id, INTRA_FRAME) +
- check_segref(xd, seg_id, LAST_FRAME) +
- check_segref(xd, seg_id, GOLDEN_FRAME) +
- check_segref(xd, seg_id, ALTREF_FRAME) > 1) {
+ !vp9_segfeature_active(xd, seg_id, SEG_LVL_REF_FRAME) ||
+ vp9_check_segref(xd, seg_id, INTRA_FRAME) +
+ vp9_check_segref(xd, seg_id, LAST_FRAME) +
+ vp9_check_segref(xd, seg_id, GOLDEN_FRAME) +
+ vp9_check_segref(xd, seg_id, ALTREF_FRAME) > 1) {
// Get the prediction context and status
int pred_flag = vp9_get_pred_flag(xd, PRED_REF);
int pred_context = vp9_get_pred_context(cm, xd, PRED_REF);
@@ -818,21 +818,16 @@ static void pick_sb_modes (VP8_COMP *cpi,
/* Save the coding context */
vpx_memcpy(&x->sb_context[0].mic, xd->mode_info_context,
sizeof(MODE_INFO));
- }
- else
- {
+ } else {
if (xd->segmentation_enabled && cpi->seg0_cnt > 0 &&
- !segfeature_active( xd, 0, SEG_LVL_REF_FRAME ) &&
- segfeature_active( xd, 1, SEG_LVL_REF_FRAME ) &&
- check_segref(xd, 1, INTRA_FRAME) +
- check_segref(xd, 1, LAST_FRAME) +
- check_segref(xd, 1, GOLDEN_FRAME) +
- check_segref(xd, 1, ALTREF_FRAME) == 1)
- {
+ !vp9_segfeature_active(xd, 0, SEG_LVL_REF_FRAME) &&
+ vp9_segfeature_active(xd, 1, SEG_LVL_REF_FRAME) &&
+ vp9_check_segref(xd, 1, INTRA_FRAME) +
+ vp9_check_segref(xd, 1, LAST_FRAME) +
+ vp9_check_segref(xd, 1, GOLDEN_FRAME) +
+ vp9_check_segref(xd, 1, ALTREF_FRAME) == 1) {
cpi->seg0_progress = (cpi->seg0_idx << 16) / cpi->seg0_cnt;
- }
- else
- {
+ } else {
cpi->seg0_progress =
(((mb_col & ~1) * 2 + (mb_row & ~1) * cm->mb_cols) << 16) / cm->MBs;
}
@@ -1044,12 +1039,13 @@ static void encode_sb(VP8_COMP *cpi,
// for the reference frame coding for each segment but this is a
// possible future action.
segment_id = &mbmi->segment_id;
- seg_ref_active = segfeature_active(xd, *segment_id, SEG_LVL_REF_FRAME);
+ seg_ref_active = vp9_segfeature_active(xd, *segment_id,
+ SEG_LVL_REF_FRAME);
if (!seg_ref_active ||
- ((check_segref(xd, *segment_id, INTRA_FRAME) +
- check_segref(xd, *segment_id, LAST_FRAME) +
- check_segref(xd, *segment_id, GOLDEN_FRAME) +
- check_segref(xd, *segment_id, ALTREF_FRAME)) > 1)) {
+ ((vp9_check_segref(xd, *segment_id, INTRA_FRAME) +
+ vp9_check_segref(xd, *segment_id, LAST_FRAME) +
+ vp9_check_segref(xd, *segment_id, GOLDEN_FRAME) +
+ vp9_check_segref(xd, *segment_id, ALTREF_FRAME)) > 1)) {
{
cpi->count_mb_ref_frame_usage[mbmi->ref_frame]++;
}
@@ -1427,15 +1423,15 @@ static int check_dual_ref_flags(VP8_COMP *cpi) {
MACROBLOCKD *xd = &cpi->mb.e_mbd;
int ref_flags = cpi->ref_frame_flags;
- if (segfeature_active(xd, 1, SEG_LVL_REF_FRAME)) {
+ if (vp9_segfeature_active(xd, 1, SEG_LVL_REF_FRAME)) {
if ((ref_flags & (VP8_LAST_FLAG | VP8_GOLD_FLAG)) == (VP8_LAST_FLAG | VP8_GOLD_FLAG) &&
- check_segref(xd, 1, LAST_FRAME))
+ vp9_check_segref(xd, 1, LAST_FRAME))
return 1;
if ((ref_flags & (VP8_GOLD_FLAG | VP8_ALT_FLAG)) == (VP8_GOLD_FLAG | VP8_ALT_FLAG) &&
- check_segref(xd, 1, GOLDEN_FRAME))
+ vp9_check_segref(xd, 1, GOLDEN_FRAME))
return 1;
if ((ref_flags & (VP8_ALT_FLAG | VP8_LAST_FLAG)) == (VP8_ALT_FLAG | VP8_LAST_FLAG) &&
- check_segref(xd, 1, ALTREF_FRAME))
+ vp9_check_segref(xd, 1, ALTREF_FRAME))
return 1;
return 0;
} else {
@@ -1474,8 +1470,8 @@ static void reset_skip_txfm_size(VP8_COMP *cpi, TX_SIZE txfm_max) {
mbmi->txfm_size > txfm_max) {
segment_id = mbmi->segment_id;
xd->mode_info_context = mi;
- assert((segfeature_active(xd, segment_id, SEG_LVL_EOB) &&
- get_segdata(xd, segment_id, SEG_LVL_EOB) == 0) ||
+ assert((vp9_segfeature_active(xd, segment_id, SEG_LVL_EOB) &&
+ vp9_get_segdata(xd, segment_id, SEG_LVL_EOB) == 0) ||
(cm->mb_no_coeff_skip && mbmi->mb_skip_coeff));
mbmi->txfm_size = txfm_max;
}
@@ -1961,8 +1957,8 @@ void vp8cx_encode_intra_macro_block(VP8_COMP *cpi,
if (cpi->common.txfm_mode == TX_MODE_SELECT &&
!((cpi->common.mb_no_coeff_skip && mbmi->mb_skip_coeff) ||
- (segfeature_active(&x->e_mbd, segment_id, SEG_LVL_EOB) &&
- get_segdata(&x->e_mbd, segment_id, SEG_LVL_EOB) == 0))) {
+ (vp9_segfeature_active(&x->e_mbd, segment_id, SEG_LVL_EOB) &&
+ vp9_get_segdata(&x->e_mbd, segment_id, SEG_LVL_EOB) == 0))) {
if (mbmi->mode != B_PRED && mbmi->mode != I8X8_PRED) {
cpi->txfm_count[mbmi->txfm_size]++;
} else if (mbmi->mode == I8X8_PRED) {
@@ -2030,7 +2026,7 @@ void vp8cx_encode_inter_macroblock (VP8_COMP *cpi, MACROBLOCK *x,
vp8_update_zbin_extra(cpi, x);
}
- seg_ref_active = segfeature_active(xd, *segment_id, SEG_LVL_REF_FRAME);
+ seg_ref_active = vp9_segfeature_active(xd, *segment_id, SEG_LVL_REF_FRAME);
// SET VARIOUS PREDICTION FLAGS
@@ -2149,8 +2145,8 @@ void vp8cx_encode_inter_macroblock (VP8_COMP *cpi, MACROBLOCK *x,
int segment_id = mbmi->segment_id;
if (cpi->common.txfm_mode == TX_MODE_SELECT &&
!((cpi->common.mb_no_coeff_skip && mbmi->mb_skip_coeff) ||
- (segfeature_active(&x->e_mbd, segment_id, SEG_LVL_EOB) &&
- get_segdata(&x->e_mbd, segment_id, SEG_LVL_EOB) == 0))) {
+ (vp9_segfeature_active(&x->e_mbd, segment_id, SEG_LVL_EOB) &&
+ vp9_get_segdata(&x->e_mbd, segment_id, SEG_LVL_EOB) == 0))) {
if (mbmi->mode != B_PRED && mbmi->mode != I8X8_PRED &&
mbmi->mode != SPLITMV) {
cpi->txfm_count[mbmi->txfm_size]++;
@@ -2225,7 +2221,7 @@ void vp8cx_encode_inter_superblock(VP8_COMP *cpi, MACROBLOCK *x, TOKENEXTRA **t,
vp8_update_zbin_extra(cpi, x);
}
- seg_ref_active = segfeature_active(xd, segment_id, SEG_LVL_REF_FRAME);
+ seg_ref_active = vp9_segfeature_active(xd, segment_id, SEG_LVL_REF_FRAME);
// SET VARIOUS PREDICTION FLAGS
diff --git a/vp8/encoder/onyx_if.c b/vp8/encoder/onyx_if.c
index f8c47c8a1..3ff033719 100644
--- a/vp8/encoder/onyx_if.c
+++ b/vp8/encoder/onyx_if.c
@@ -337,7 +337,7 @@ static void setup_features(VP8_COMP *cpi) {
xd->update_mb_segmentation_data = 0;
vpx_memset(xd->mb_segment_tree_probs, 255, sizeof(xd->mb_segment_tree_probs));
- clearall_segfeatures(xd);
+ vp9_clearall_segfeatures(xd);
xd->mode_ref_lf_delta_enabled = 0;
xd->mode_ref_lf_delta_update = 0;
@@ -455,7 +455,7 @@ static void init_seg_features(VP8_COMP *cpi) {
vp8_disable_segmentation((VP8_PTR)cpi);
// Clear down the segment features.
- clearall_segfeatures(xd);
+ vp9_clearall_segfeatures(xd);
}
// If this is an alt ref frame
@@ -468,7 +468,7 @@ static void init_seg_features(VP8_COMP *cpi) {
// Disable segmentation and individual segment features by default
vp8_disable_segmentation((VP8_PTR)cpi);
- clearall_segfeatures(xd);
+ vp9_clearall_segfeatures(xd);
// Scan frames from current to arf frame.
// This function re-enables segmentation if appropriate.
@@ -481,11 +481,11 @@ static void init_seg_features(VP8_COMP *cpi) {
xd->update_mb_segmentation_data = 1;
qi_delta = compute_qdelta(cpi, cpi->avg_q, (cpi->avg_q * 0.875));
- set_segdata(xd, 1, SEG_LVL_ALT_Q, (qi_delta - 2));
- set_segdata(xd, 1, SEG_LVL_ALT_LF, -2);
+ vp9_set_segdata(xd, 1, SEG_LVL_ALT_Q, (qi_delta - 2));
+ vp9_set_segdata(xd, 1, SEG_LVL_ALT_LF, -2);
- enable_segfeature(xd, 1, SEG_LVL_ALT_Q);
- enable_segfeature(xd, 1, SEG_LVL_ALT_LF);
+ vp9_enable_segfeature(xd, 1, SEG_LVL_ALT_Q);
+ vp9_enable_segfeature(xd, 1, SEG_LVL_ALT_LF);
// Where relevant assume segment data is delta data
xd->mb_segment_abs_delta = SEGMENT_DELTADATA;
@@ -494,21 +494,6 @@ static void init_seg_features(VP8_COMP *cpi) {
}
// All other frames if segmentation has been enabled
else if (xd->segmentation_enabled) {
- /*
- int i;
-
- // clears prior frame seg lev refs
- for (i = 0; i < MAX_MB_SEGMENTS; i++)
- {
- // only do it if the force drop the background stuff is off
- if(!segfeature_active(xd, i, SEG_LVL_MODE))
- {
- disable_segfeature(xd,i,SEG_LVL_REF_FRAME);
- set_segdata( xd,i, SEG_LVL_REF_FRAME, 0xffffff);
- }
- }
- */
-
// First normal frame in a valid gf or alt ref group
if (cpi->common.frames_since_golden == 0) {
// Set up segment features for normal frames in an af group
@@ -519,25 +504,25 @@ static void init_seg_features(VP8_COMP *cpi) {
qi_delta = compute_qdelta(cpi, cpi->avg_q,
(cpi->avg_q * 1.125));
- set_segdata(xd, 1, SEG_LVL_ALT_Q, (qi_delta + 2));
- set_segdata(xd, 1, SEG_LVL_ALT_Q, 0);
- enable_segfeature(xd, 1, SEG_LVL_ALT_Q);
+ vp9_set_segdata(xd, 1, SEG_LVL_ALT_Q, (qi_delta + 2));
+ vp9_set_segdata(xd, 1, SEG_LVL_ALT_Q, 0);
+ vp9_enable_segfeature(xd, 1, SEG_LVL_ALT_Q);
- set_segdata(xd, 1, SEG_LVL_ALT_LF, -2);
- enable_segfeature(xd, 1, SEG_LVL_ALT_LF);
+ vp9_set_segdata(xd, 1, SEG_LVL_ALT_LF, -2);
+ vp9_enable_segfeature(xd, 1, SEG_LVL_ALT_LF);
// Segment coding disabled for compred testing
if (high_q || (cpi->static_mb_pct == 100)) {
// set_segref(xd, 1, LAST_FRAME);
- set_segref(xd, 1, ALTREF_FRAME);
- enable_segfeature(xd, 1, SEG_LVL_REF_FRAME);
+ vp9_set_segref(xd, 1, ALTREF_FRAME);
+ vp9_enable_segfeature(xd, 1, SEG_LVL_REF_FRAME);
- set_segdata(xd, 1, SEG_LVL_MODE, ZEROMV);
- enable_segfeature(xd, 1, SEG_LVL_MODE);
+ vp9_set_segdata(xd, 1, SEG_LVL_MODE, ZEROMV);
+ vp9_enable_segfeature(xd, 1, SEG_LVL_MODE);
// EOB segment coding not fixed for 8x8 yet
- set_segdata(xd, 1, SEG_LVL_EOB, 0);
- enable_segfeature(xd, 1, SEG_LVL_EOB);
+ vp9_set_segdata(xd, 1, SEG_LVL_EOB, 0);
+ vp9_enable_segfeature(xd, 1, SEG_LVL_EOB);
}
}
// Disable segmentation and clear down features if alt ref
@@ -551,7 +536,7 @@ static void init_seg_features(VP8_COMP *cpi) {
xd->update_mb_segmentation_map = 0;
xd->update_mb_segmentation_data = 0;
- clearall_segfeatures(xd);
+ vp9_clearall_segfeatures(xd);
}
}
@@ -560,25 +545,25 @@ static void init_seg_features(VP8_COMP *cpi) {
// Segment coding disabled for compred testing
else if (cpi->is_src_frame_alt_ref) {
// Enable mode and ref frame features for segment 0 as well
- enable_segfeature(xd, 0, SEG_LVL_REF_FRAME);
- enable_segfeature(xd, 0, SEG_LVL_MODE);
- enable_segfeature(xd, 1, SEG_LVL_REF_FRAME);
- enable_segfeature(xd, 1, SEG_LVL_MODE);
+ vp9_enable_segfeature(xd, 0, SEG_LVL_REF_FRAME);
+ vp9_enable_segfeature(xd, 0, SEG_LVL_MODE);
+ vp9_enable_segfeature(xd, 1, SEG_LVL_REF_FRAME);
+ vp9_enable_segfeature(xd, 1, SEG_LVL_MODE);
// All mbs should use ALTREF_FRAME, ZEROMV exclusively
- clear_segref(xd, 0);
- set_segref(xd, 0, ALTREF_FRAME);
- clear_segref(xd, 1);
- set_segref(xd, 1, ALTREF_FRAME);
- set_segdata(xd, 0, SEG_LVL_MODE, ZEROMV);
- set_segdata(xd, 1, SEG_LVL_MODE, ZEROMV);
+ vp9_clear_segref(xd, 0);
+ vp9_set_segref(xd, 0, ALTREF_FRAME);
+ vp9_clear_segref(xd, 1);
+ vp9_set_segref(xd, 1, ALTREF_FRAME);
+ vp9_set_segdata(xd, 0, SEG_LVL_MODE, ZEROMV);
+ vp9_set_segdata(xd, 1, SEG_LVL_MODE, ZEROMV);
// Skip all MBs if high Q
if (high_q) {
- enable_segfeature(xd, 0, SEG_LVL_EOB);
- set_segdata(xd, 0, SEG_LVL_EOB, 0);
- enable_segfeature(xd, 1, SEG_LVL_EOB);
- set_segdata(xd, 1, SEG_LVL_EOB, 0);
+ vp9_enable_segfeature(xd, 0, SEG_LVL_EOB);
+ vp9_set_segdata(xd, 0, SEG_LVL_EOB, 0);
+ vp9_enable_segfeature(xd, 1, SEG_LVL_EOB);
+ vp9_set_segdata(xd, 1, SEG_LVL_EOB, 0);
}
// Enable data udpate
xd->update_mb_segmentation_data = 1;
@@ -4405,14 +4390,14 @@ int vp8_set_roimap(VP8_PTR comp, unsigned char *map, unsigned int rows, unsigned
// Enable the loop and quant changes in the feature mask
for (i = 0; i < 4; i++) {
if (delta_q[i])
- enable_segfeature(xd, i, SEG_LVL_ALT_Q);
+ vp9_enable_segfeature(xd, i, SEG_LVL_ALT_Q);
else
- disable_segfeature(xd, i, SEG_LVL_ALT_Q);
+ vp9_disable_segfeature(xd, i, SEG_LVL_ALT_Q);
if (delta_lf[i])
- enable_segfeature(xd, i, SEG_LVL_ALT_LF);
+ vp9_enable_segfeature(xd, i, SEG_LVL_ALT_LF);
else
- disable_segfeature(xd, i, SEG_LVL_ALT_LF);
+ vp9_disable_segfeature(xd, i, SEG_LVL_ALT_LF);
}
// Initialise the feature data structure
diff --git a/vp8/encoder/picklpf.c b/vp8/encoder/picklpf.c
index 57bd41468..45c226621 100644
--- a/vp8/encoder/picklpf.c
+++ b/vp8/encoder/picklpf.c
@@ -437,8 +437,8 @@ void vp8cx_pick_filter_level(YV12_BUFFER_CONFIG *sd, VP8_COMP *cpi) {
// pick the loop filter for each segment after segment 0
for (i = 1; i < MAX_MB_SEGMENTS; i++) {
// if the segment loop filter is active
- if (segfeature_active(xd, i, SEG_LVL_ALT_LF)) {
- set_segdata(xd, i, SEG_LVL_ALT_LF, 0);
+ if (vp9_segfeature_active(xd, i, SEG_LVL_ALT_LF)) {
+ vp9_set_segdata(xd, i, SEG_LVL_ALT_LF, 0);
vp8cx_pick_filter_level_sg(sd, cpi, i);
filt_lev[i] = oci->filter_level;
}
@@ -450,17 +450,17 @@ void vp8cx_pick_filter_level(YV12_BUFFER_CONFIG *sd, VP8_COMP *cpi) {
// TODO : Fix the code if segment 0 is the one with seg_lvl_alt_lf on
// right now assumes segment 0 gets base loop filter and the rest are
// deltas off of segment 0.
- set_segdata(xd, 0, SEG_LVL_ALT_LF, 0);
+ vp9_set_segdata(xd, 0, SEG_LVL_ALT_LF, 0);
vp8cx_pick_filter_level_sg(sd, cpi, 0);
filt_lev[0] = oci->filter_level;
// convert the best filter level for the mbs of the segment to
// a delta from 0
for (i = 1; i < MAX_MB_SEGMENTS; i++)
- if (segfeature_active(xd, i, SEG_LVL_ALT_LF)) {
- set_segdata(xd, i, SEG_LVL_ALT_LF, filt_lev[i] - filt_lev[0]);
+ if (vp9_segfeature_active(xd, i, SEG_LVL_ALT_LF)) {
+ vp9_set_segdata(xd, i, SEG_LVL_ALT_LF, filt_lev[i] - filt_lev[0]);
xd->update_mb_segmentation_data !=
- segfeature_changed(xd, i, SEG_LVL_ALT_LF);
+ vp9_segfeature_changed(xd, i, SEG_LVL_ALT_LF);
}
}
#else
diff --git a/vp8/encoder/quantize.c b/vp8/encoder/quantize.c
index 16b4e6e1d..600a515e0 100644
--- a/vp8/encoder/quantize.c
+++ b/vp8/encoder/quantize.c
@@ -538,15 +538,15 @@ void vp8cx_mb_init_quantizer(VP8_COMP *cpi, MACROBLOCK *x) {
int segment_id = xd->mode_info_context->mbmi.segment_id;
// Select the baseline MB Q index allowing for any segment level change.
- if (segfeature_active(xd, segment_id, SEG_LVL_ALT_Q)) {
+ if (vp9_segfeature_active(xd, segment_id, SEG_LVL_ALT_Q)) {
// Abs Value
if (xd->mb_segment_abs_delta == SEGMENT_ABSDATA)
- QIndex = get_segdata(xd, segment_id, SEG_LVL_ALT_Q);
+ QIndex = vp9_get_segdata(xd, segment_id, SEG_LVL_ALT_Q);
// Delta Value
else {
QIndex = cpi->common.base_qindex +
- get_segdata(xd, segment_id, SEG_LVL_ALT_Q);
+ vp9_get_segdata(xd, segment_id, SEG_LVL_ALT_Q);
// Clamp to valid range
QIndex = (QIndex >= 0) ? ((QIndex <= MAXQ) ? QIndex : MAXQ) : 0;
@@ -574,13 +574,13 @@ void vp8cx_mb_init_quantizer(VP8_COMP *cpi, MACROBLOCK *x) {
x->block[i].zbin_extra = (short)zbin_extra;
// Segment max eob offset feature.
- if (segfeature_active(xd, segment_id, SEG_LVL_EOB)) {
+ if (vp9_segfeature_active(xd, segment_id, SEG_LVL_EOB)) {
x->block[i].eob_max_offset =
- get_segdata(xd, segment_id, SEG_LVL_EOB);
+ vp9_get_segdata(xd, segment_id, SEG_LVL_EOB);
x->block[i].eob_max_offset_8x8 =
- get_segdata(xd, segment_id, SEG_LVL_EOB);
+ vp9_get_segdata(xd, segment_id, SEG_LVL_EOB);
x->block[i].eob_max_offset_16x16 =
- get_segdata(xd, segment_id, SEG_LVL_EOB);
+ vp9_get_segdata(xd, segment_id, SEG_LVL_EOB);
} else {
x->block[i].eob_max_offset = 16;
x->block[i].eob_max_offset_8x8 = 64;
@@ -609,11 +609,11 @@ void vp8cx_mb_init_quantizer(VP8_COMP *cpi, MACROBLOCK *x) {
x->block[i].zbin_extra = (short)zbin_extra;
// Segment max eob offset feature.
- if (segfeature_active(xd, segment_id, SEG_LVL_EOB)) {
+ if (vp9_segfeature_active(xd, segment_id, SEG_LVL_EOB)) {
x->block[i].eob_max_offset =
- get_segdata(xd, segment_id, SEG_LVL_EOB);
+ vp9_get_segdata(xd, segment_id, SEG_LVL_EOB);
x->block[i].eob_max_offset_8x8 =
- get_segdata(xd, segment_id, SEG_LVL_EOB);
+ vp9_get_segdata(xd, segment_id, SEG_LVL_EOB);
} else {
x->block[i].eob_max_offset = 16;
x->block[i].eob_max_offset_8x8 = 64;
@@ -640,11 +640,11 @@ void vp8cx_mb_init_quantizer(VP8_COMP *cpi, MACROBLOCK *x) {
// TBD perhaps not use for Y2
// Segment max eob offset feature.
- if (segfeature_active(xd, segment_id, SEG_LVL_EOB)) {
+ if (vp9_segfeature_active(xd, segment_id, SEG_LVL_EOB)) {
x->block[24].eob_max_offset =
- get_segdata(xd, segment_id, SEG_LVL_EOB);
+ vp9_get_segdata(xd, segment_id, SEG_LVL_EOB);
x->block[24].eob_max_offset_8x8 =
- get_segdata(xd, segment_id, SEG_LVL_EOB);
+ vp9_get_segdata(xd, segment_id, SEG_LVL_EOB);
} else {
x->block[24].eob_max_offset = 16;
x->block[24].eob_max_offset_8x8 = 4;
diff --git a/vp8/encoder/rdopt.c b/vp8/encoder/rdopt.c
index c6fadcfb0..9ead1bd36 100644
--- a/vp8/encoder/rdopt.c
+++ b/vp8/encoder/rdopt.c
@@ -634,8 +634,8 @@ static int cost_coeffs(MACROBLOCK *mb, BLOCKD *b, PLANE_TYPE type,
default:
break;
}
- if (segfeature_active(&mb->e_mbd, segment_id, SEG_LVL_EOB))
- seg_eob = get_segdata(&mb->e_mbd, segment_id, SEG_LVL_EOB);
+ if (vp9_segfeature_active(&mb->e_mbd, segment_id, SEG_LVL_EOB))
+ seg_eob = vp9_get_segdata(&mb->e_mbd, segment_id, SEG_LVL_EOB);
else
seg_eob = default_eob;
@@ -1954,7 +1954,7 @@ int vp8_cost_mv_ref(VP8_COMP *cpi,
// Note that if the segment level coding is expanded from single mode
// to multiple mode masks as per reference frame coding we will need
// to do something different here.
- if (!segfeature_active(xd, segment_id, SEG_LVL_MODE)) {
+ if (!vp9_segfeature_active(xd, segment_id, SEG_LVL_MODE)) {
VP8_COMMON *pc = &cpi->common;
vp8_prob p [VP8_MVREFS - 1];
@@ -3108,15 +3108,15 @@ static void vp8_estimate_ref_frame_costs(VP8_COMP *cpi, int segment_id, unsigned
vp8_prob pred_prob, new_pred_prob;
int seg_ref_active;
int seg_ref_count = 0;
- seg_ref_active = segfeature_active(xd,
- segment_id,
- SEG_LVL_REF_FRAME);
+ seg_ref_active = vp9_segfeature_active(xd,
+ segment_id,
+ SEG_LVL_REF_FRAME);
if (seg_ref_active) {
- seg_ref_count = check_segref(xd, segment_id, INTRA_FRAME) +
- check_segref(xd, segment_id, LAST_FRAME) +
- check_segref(xd, segment_id, GOLDEN_FRAME) +
- check_segref(xd, segment_id, ALTREF_FRAME);
+ seg_ref_count = vp9_check_segref(xd, segment_id, INTRA_FRAME) +
+ vp9_check_segref(xd, segment_id, LAST_FRAME) +
+ vp9_check_segref(xd, segment_id, GOLDEN_FRAME) +
+ vp9_check_segref(xd, segment_id, ALTREF_FRAME);
}
// Get the predicted reference for this mb
@@ -3698,22 +3698,20 @@ void vp8_rd_pick_inter_mode(VP8_COMP *cpi, MACROBLOCK *x, int recon_yoffset, int
// If the segment reference frame feature is enabled....
// then do nothing if the current ref frame is not allowed..
- if (segfeature_active(xd, segment_id, SEG_LVL_REF_FRAME) &&
- !check_segref(xd, segment_id, mbmi->ref_frame)) {
+ if (vp9_segfeature_active(xd, segment_id, SEG_LVL_REF_FRAME) &&
+ !vp9_check_segref(xd, segment_id, mbmi->ref_frame)) {
continue;
- }
// If the segment mode feature is enabled....
// then do nothing if the current mode is not allowed..
- else if (segfeature_active(xd, segment_id, SEG_LVL_MODE) &&
- (this_mode !=
- get_segdata(xd, segment_id, SEG_LVL_MODE))) {
+ } else if (vp9_segfeature_active(xd, segment_id, SEG_LVL_MODE) &&
+ (this_mode !=
+ vp9_get_segdata(xd, segment_id, SEG_LVL_MODE))) {
continue;
- }
// Disable this drop out case if either the mode or ref frame
// segment level feature is enabled for this segment. This is to
// prevent the possibility that the we end up unable to pick any mode.
- else if (!segfeature_active(xd, segment_id, SEG_LVL_REF_FRAME) &&
- !segfeature_active(xd, segment_id, SEG_LVL_MODE)) {
+ } else if (!vp9_segfeature_active(xd, segment_id, SEG_LVL_REF_FRAME) &&
+ !vp9_segfeature_active(xd, segment_id, SEG_LVL_MODE)) {
// Only consider ZEROMV/ALTREF_FRAME for alt ref frame,
// unless ARNR filtering is enabled in which case we want
// an unfiltered alternative
@@ -4001,8 +3999,8 @@ void vp8_rd_pick_inter_mode(VP8_COMP *cpi, MACROBLOCK *x, int recon_yoffset, int
// Is Mb level skip allowed for this mb.
mb_skip_allowed =
- !segfeature_active(xd, segment_id, SEG_LVL_EOB) ||
- get_segdata(xd, segment_id, SEG_LVL_EOB);
+ !vp9_segfeature_active(xd, segment_id, SEG_LVL_EOB) ||
+ vp9_get_segdata(xd, segment_id, SEG_LVL_EOB);
if (skippable) {
mbmi->mb_skip_coeff = 1;
@@ -4205,8 +4203,8 @@ void vp8_rd_pick_inter_mode(VP8_COMP *cpi, MACROBLOCK *x, int recon_yoffset, int
// an alrtef unless Altref is filtered. However, this is unsafe if
// segment level coding of ref frame or mode is enabled for this
// segment.
- if (!segfeature_active(xd, segment_id, SEG_LVL_REF_FRAME) &&
- !segfeature_active(xd, segment_id, SEG_LVL_MODE) &&
+ if (!vp9_segfeature_active(xd, segment_id, SEG_LVL_REF_FRAME) &&
+ !vp9_segfeature_active(xd, segment_id, SEG_LVL_MODE) &&
cpi->is_src_frame_alt_ref &&
(cpi->oxcf.arnr_max_frames == 0) &&
(best_mbmode.mode != ZEROMV || best_mbmode.ref_frame != ALTREF_FRAME)) {
@@ -4578,21 +4576,19 @@ int64_t vp8_rd_pick_inter_mode_sb(VP8_COMP *cpi, MACROBLOCK *x,
// If the segment reference frame feature is enabled....
// then do nothing if the current ref frame is not allowed..
- if (segfeature_active(xd, segment_id, SEG_LVL_REF_FRAME) &&
- !check_segref(xd, segment_id, ref_frame)) {
+ if (vp9_segfeature_active(xd, segment_id, SEG_LVL_REF_FRAME) &&
+ !vp9_check_segref(xd, segment_id, ref_frame)) {
continue;
- }
// If the segment mode feature is enabled....
// then do nothing if the current mode is not allowed..
- else if (segfeature_active(xd, segment_id, SEG_LVL_MODE) &&
- (this_mode != get_segdata(xd, segment_id, SEG_LVL_MODE))) {
+ } else if (vp9_segfeature_active(xd, segment_id, SEG_LVL_MODE) &&
+ (this_mode != vp9_get_segdata(xd, segment_id, SEG_LVL_MODE))) {
continue;
- }
// Disable this drop out case if either the mode or ref frame
// segment level feature is enabled for this segment. This is to
// prevent the possibility that we end up unable to pick any mode.
- else if (!segfeature_active(xd, segment_id, SEG_LVL_REF_FRAME) &&
- !segfeature_active(xd, segment_id, SEG_LVL_MODE)) {
+ } else if (!vp9_segfeature_active(xd, segment_id, SEG_LVL_REF_FRAME) &&
+ !vp9_segfeature_active(xd, segment_id, SEG_LVL_MODE)) {
// Only consider ZEROMV/ALTREF_FRAME for alt ref frame,
// unless ARNR filtering is enabled in which case we want
// an unfiltered alternative
@@ -4631,8 +4627,8 @@ int64_t vp8_rd_pick_inter_mode_sb(VP8_COMP *cpi, MACROBLOCK *x,
// Is Mb level skip allowed for this mb.
mb_skip_allowed =
- !segfeature_active(xd, segment_id, SEG_LVL_EOB) ||
- get_segdata(xd, segment_id, SEG_LVL_EOB);
+ !vp9_segfeature_active(xd, segment_id, SEG_LVL_EOB) ||
+ vp9_get_segdata(xd, segment_id, SEG_LVL_EOB);
if (skippable) {
// Back out the coefficient coding costs
@@ -4777,8 +4773,8 @@ int64_t vp8_rd_pick_inter_mode_sb(VP8_COMP *cpi, MACROBLOCK *x,
// an alrtef unless Altref is filtered. However, this is unsafe if
// segment level coding of ref frame or mode is enabled for this
// segment.
- if (!segfeature_active(xd, segment_id, SEG_LVL_REF_FRAME) &&
- !segfeature_active(xd, segment_id, SEG_LVL_MODE) &&
+ if (!vp9_segfeature_active(xd, segment_id, SEG_LVL_REF_FRAME) &&
+ !vp9_segfeature_active(xd, segment_id, SEG_LVL_MODE) &&
cpi->is_src_frame_alt_ref &&
(cpi->oxcf.arnr_max_frames == 0) &&
(best_mbmode.mode != ZEROMV || best_mbmode.ref_frame != ALTREF_FRAME)) {
diff --git a/vp8/encoder/tokenize.c b/vp8/encoder/tokenize.c
index 63c11b307..ab2d543cb 100644
--- a/vp8/encoder/tokenize.c
+++ b/vp8/encoder/tokenize.c
@@ -183,8 +183,8 @@ static void tokenize_b(VP8_COMP *cpi,
break;
}
- if (segfeature_active(xd, segment_id, SEG_LVL_EOB))
- seg_eob = get_segdata(xd, segment_id, SEG_LVL_EOB);
+ if (vp9_segfeature_active(xd, segment_id, SEG_LVL_EOB))
+ seg_eob = vp9_get_segdata(xd, segment_id, SEG_LVL_EOB);
do {
const int band = bands[c];
@@ -305,8 +305,8 @@ void vp8_tokenize_mb(VP8_COMP *cpi,
int skip_inc;
int segment_id = xd->mode_info_context->mbmi.segment_id;
- if (!segfeature_active(xd, segment_id, SEG_LVL_EOB) ||
- (get_segdata(xd, segment_id, SEG_LVL_EOB) != 0)) {
+ if (!vp9_segfeature_active(xd, segment_id, SEG_LVL_EOB) ||
+ (vp9_get_segdata(xd, segment_id, SEG_LVL_EOB) != 0)) {
skip_inc = 1;
} else
skip_inc = 0;