diff options
author | Dmitry Kovalev <dkovalev@google.com> | 2013-08-15 15:14:32 -0700 |
---|---|---|
committer | Gerrit Code Review <gerrit@gerrit.golo.chromium.org> | 2013-08-15 15:14:32 -0700 |
commit | 939b1e4a8c7b1486bed570001915c34ca5605f64 (patch) | |
tree | 0154443b37b7385628cc78d308979e04a8fd2baf /vp9/encoder/vp9_segmentation.c | |
parent | a9aa7d07d067e2805146253c1997c0f9d49ae6f0 (diff) | |
parent | b7616e387e99edc52d70b5f504090ba50c7995fc (diff) | |
download | libvpx-939b1e4a8c7b1486bed570001915c34ca5605f64.tar libvpx-939b1e4a8c7b1486bed570001915c34ca5605f64.tar.gz libvpx-939b1e4a8c7b1486bed570001915c34ca5605f64.tar.bz2 libvpx-939b1e4a8c7b1486bed570001915c34ca5605f64.zip |
Merge "Moving segmentation struct from MACROBLOCKD to VP9_COMMON."
Diffstat (limited to 'vp9/encoder/vp9_segmentation.c')
-rw-r--r-- | vp9/encoder/vp9_segmentation.c | 27 |
1 files changed, 15 insertions, 12 deletions
diff --git a/vp9/encoder/vp9_segmentation.c b/vp9/encoder/vp9_segmentation.c index 3db91caca..8ff608b94 100644 --- a/vp9/encoder/vp9_segmentation.c +++ b/vp9/encoder/vp9_segmentation.c @@ -17,39 +17,42 @@ void vp9_enable_segmentation(VP9_PTR ptr) { VP9_COMP *cpi = (VP9_COMP *)ptr; + struct segmentation *const seg = &cpi->common.seg; - cpi->mb.e_mbd.seg.enabled = 1; - cpi->mb.e_mbd.seg.update_map = 1; - cpi->mb.e_mbd.seg.update_data = 1; + seg->enabled = 1; + seg->update_map = 1; + seg->update_data = 1; } void vp9_disable_segmentation(VP9_PTR ptr) { VP9_COMP *cpi = (VP9_COMP *)ptr; - cpi->mb.e_mbd.seg.enabled = 0; + struct segmentation *const seg = &cpi->common.seg; + seg->enabled = 0; } void vp9_set_segmentation_map(VP9_PTR ptr, unsigned char *segmentation_map) { - VP9_COMP *cpi = (VP9_COMP *)(ptr); + VP9_COMP *cpi = (VP9_COMP *)ptr; + struct segmentation *const seg = &cpi->common.seg; // Copy in the new segmentation map vpx_memcpy(cpi->segmentation_map, segmentation_map, (cpi->common.mi_rows * cpi->common.mi_cols)); // Signal that the map should be updated. - cpi->mb.e_mbd.seg.update_map = 1; - cpi->mb.e_mbd.seg.update_data = 1; + seg->update_map = 1; + seg->update_data = 1; } void vp9_set_segment_data(VP9_PTR ptr, signed char *feature_data, unsigned char abs_delta) { - VP9_COMP *cpi = (VP9_COMP *)(ptr); + VP9_COMP *cpi = (VP9_COMP *)ptr; + struct segmentation *const seg = &cpi->common.seg; - cpi->mb.e_mbd.seg.abs_delta = abs_delta; + seg->abs_delta = abs_delta; - vpx_memcpy(cpi->mb.e_mbd.seg.feature_data, feature_data, - sizeof(cpi->mb.e_mbd.seg.feature_data)); + vpx_memcpy(seg->feature_data, feature_data, sizeof(seg->feature_data)); // TBD ?? Set the feature mask // vpx_memcpy(cpi->mb.e_mbd.segment_feature_mask, 0, @@ -210,7 +213,7 @@ static void count_segs_sb(VP9_COMP *cpi, MODE_INFO *mi, void vp9_choose_segmap_coding_method(VP9_COMP *cpi) { VP9_COMMON *const cm = &cpi->common; - struct segmentation *seg = &cpi->mb.e_mbd.seg; + struct segmentation *seg = &cm->seg; int no_pred_cost; int t_pred_cost = INT_MAX; |