diff --git a/vp9/encoder/vp9_onyx_if.c b/vp9/encoder/vp9_onyx_if.c index 871176b792e738fa0017e9f479923911698d78b3..9ead57e69870bfcb9bb2f94cb93137abf8f7f717 100644 --- a/vp9/encoder/vp9_onyx_if.c +++ b/vp9/encoder/vp9_onyx_if.c @@ -170,17 +170,6 @@ void vp9_initialize_enc() { } } -static void reset_segment_features(VP9_COMMON *cm) { - struct segmentation *const seg = &cm->seg; - - // Set up default state for MB feature flags - seg->enabled = 0; - seg->update_map = 0; - seg->update_data = 0; - vpx_memset(seg->tree_probs, 255, sizeof(seg->tree_probs)); - vp9_clearall_segfeatures(seg); -} - static void dealloc_compressor_data(VP9_COMP *cpi) { // Delete sementation map vpx_free(cpi->segmentation_map); @@ -1192,7 +1181,7 @@ void vp9_change_config(VP9_PTR ptr, VP9_CONFIG *oxcf) { cm->refresh_frame_context = 1; cm->reset_frame_context = 0; - reset_segment_features(cm); + vp9_reset_segment_features(&cm->seg); set_high_precision_mv(cpi, 0); { @@ -2939,7 +2928,7 @@ static void encode_frame_to_data_rate(VP9_COMP *cpi, if (frame_is_intra_only(cm)) { vp9_setup_key_frame(cpi); // Reset the loop filter deltas and segmentation map. - reset_segment_features(cm); + vp9_reset_segment_features(&cm->seg); // If segmentation is enabled force a map update for key frames. if (seg->enabled) { diff --git a/vp9/encoder/vp9_segmentation.c b/vp9/encoder/vp9_segmentation.c index 4568e7a4c0c37aa4d763ddf4ebb09d0a2e0b326d..509717e0a90618db9d2f2d94a8c8afb71a4074f1 100644 --- a/vp9/encoder/vp9_segmentation.c +++ b/vp9/encoder/vp9_segmentation.c @@ -296,3 +296,12 @@ void vp9_choose_segmap_coding_method(VP9_COMP *cpi) { vpx_memcpy(seg->tree_probs, no_pred_tree, sizeof(no_pred_tree)); } } + +void vp9_reset_segment_features(struct segmentation *seg) { + // Set up default state for MB feature flags + seg->enabled = 0; + seg->update_map = 0; + seg->update_data = 0; + vpx_memset(seg->tree_probs, 255, sizeof(seg->tree_probs)); + vp9_clearall_segfeatures(seg); +} diff --git a/vp9/encoder/vp9_segmentation.h b/vp9/encoder/vp9_segmentation.h index 03f14ea060f9e1d995dd194a6532b2acae100fe5..3c6eb7038e0e470f8b7d92243e37b79371b95224 100644 --- a/vp9/encoder/vp9_segmentation.h +++ b/vp9/encoder/vp9_segmentation.h @@ -43,4 +43,6 @@ void vp9_set_segment_data(VP9_PTR ptr, signed char *feature_data, void vp9_choose_segmap_coding_method(VP9_COMP *cpi); +void vp9_reset_segment_features(struct segmentation *seg); + #endif // VP9_ENCODER_VP9_SEGMENTATION_H_