]> granicus.if.org Git - libvpx/commitdiff
Minor tweak to implicit segmentation experiment.
authorPaul Wilkins <paulwilkins@google.com>
Wed, 24 Apr 2013 15:05:02 +0000 (16:05 +0100)
committerPaul Wilkins <paulwilkins@google.com>
Wed, 24 Apr 2013 15:43:01 +0000 (16:43 +0100)
This minor tweak makes segment 0 neutral and used by
key frames and also extends beyond 4 segments.

Change-Id: Ife4744602aba66ac9432746db3113cc5cd88a482

vp9/common/vp9_seg_common.c
vp9/encoder/vp9_onyx_if.c

index 4c913e28f1e6be8cbdf970fae1f3a2d27906abc9..9ed3e2d5b908657b663700feff756264ba620ef1 100644 (file)
@@ -99,7 +99,7 @@ void vp9_implicit_segment_map_update(VP9_COMMON * cm) {
     mi = mi_ptr;
     // Experimental use of tx size to define implicit segmentation
     for (col = 0; col < cm->mb_cols; ++col, ++mi) {
-      map_ptr[col] = mi->mbmi.txfm_size;
+      map_ptr[col] = 1 + mi->mbmi.txfm_size;
     }
     mi_ptr += cm->mode_info_stride;
     map_ptr += cm->mb_cols;
index c2c587e106479fc3e452709b14089a355eb96d21..053a21b5be59d8f955e22704cf4e68077fb3f00e 100644 (file)
@@ -534,8 +534,8 @@ static void configure_implicit_segmentation(VP9_COMP *cpi) {
 
     xd->update_mb_segmentation_data = 1;
 
-    // Enable use of q deltas on segments
-    for (i = 0; i < MAX_MB_SEGMENTS; ++i) {
+    // Enable use of q deltas on segments 1 and up
+    for (i = 1; i < MAX_MB_SEGMENTS; ++i) {
       qi_delta = compute_qdelta(cpi, cpi->active_worst_quality, q_target);
       vp9_set_segdata(xd, i, SEG_LVL_ALT_Q, qi_delta);
       q_target *= 0.95;