]> granicus.if.org Git - libvpx/commitdiff
vpxdec : Change --pp-debug-info to be a bit field.
authorFritz Koenig <frkoenig@google.com>
Tue, 26 Oct 2010 20:26:17 +0000 (13:26 -0700)
committerFritz Koenig <frkoenig@google.com>
Wed, 27 Oct 2010 16:53:37 +0000 (09:53 -0700)
This allows multiple post processor debug levels to be overlayed.
i.e. can show colored reference blocks and visual motion vectors.

Change-Id: Ic4a1df438445b9f5780fe73adb3126e803472e53

vp8/common/postproc.c
vpxdec.c

index 9c0ab75a7bbcc669c18b7de597dd346a1dd9d2a3..21e08638d81d96cd9380dfa1f00279c64af921d6 100644 (file)
@@ -618,7 +618,8 @@ int vp8_post_proc_frame(VP8_COMMON *oci, YV12_BUFFER_CONFIG *dest, int deblock_l
                 oci->mb_cols, oci->mb_rows);
         vp8_blit_text(message, oci->post_proc_buffer.y_buffer, oci->post_proc_buffer.y_stride);
     }
-    else if (flags & VP8D_DEBUG_LEVEL2)
+
+    if (flags & VP8D_DEBUG_LEVEL2)
     {
         int i, j;
         unsigned char *y_ptr;
@@ -649,7 +650,8 @@ int vp8_post_proc_frame(VP8_COMMON *oci, YV12_BUFFER_CONFIG *dest, int deblock_l
 
         }
     }
-    else if (flags & VP8D_DEBUG_LEVEL3)
+
+    if (flags & VP8D_DEBUG_LEVEL3)
     {
         int i, j;
         unsigned char *y_ptr;
@@ -683,7 +685,8 @@ int vp8_post_proc_frame(VP8_COMMON *oci, YV12_BUFFER_CONFIG *dest, int deblock_l
 
         }
     }
-    else if (flags & VP8D_DEBUG_LEVEL4)
+
+    if (flags & VP8D_DEBUG_LEVEL4)
     {
         sprintf(message, "Bitrate: %10.2f frame_rate: %10.2f ", oci->bitrate, oci->framerate);
         vp8_blit_text(message, oci->post_proc_buffer.y_buffer, oci->post_proc_buffer.y_stride);
@@ -719,7 +722,9 @@ int vp8_post_proc_frame(VP8_COMMON *oci, YV12_BUFFER_CONFIG *dest, int deblock_l
 #endif
 
     }
-    else if (flags & VP8D_DEBUG_LEVEL5)
+
+    // Draw motion vectors
+    if (flags & VP8D_DEBUG_LEVEL5)
     {
         YV12_BUFFER_CONFIG *post = &oci->post_proc_buffer;
         int width  = post->y_width;
@@ -752,7 +757,7 @@ int vp8_post_proc_frame(VP8_COMMON *oci, YV12_BUFFER_CONFIG *dest, int deblock_l
     }
 
     // Color in block modes
-    else if (flags & VP8D_DEBUG_LEVEL6)
+    if (flags & VP8D_DEBUG_LEVEL6)
     {
         int i, j;
         YV12_BUFFER_CONFIG *post = &oci->post_proc_buffer;
@@ -787,7 +792,7 @@ int vp8_post_proc_frame(VP8_COMMON *oci, YV12_BUFFER_CONFIG *dest, int deblock_l
     }
 
     // Color in frame reference blocks
-    else if (flags & VP8D_DEBUG_LEVEL7)
+    if (flags & VP8D_DEBUG_LEVEL7)
     {
         int i, j;
         YV12_BUFFER_CONFIG *post = &oci->post_proc_buffer;
index ee84197845ca08599bef39f8bfb1ebf04c32cde7..79b8c6292dc94d9c66cca9669deca55657bdb024 100644 (file)
--- a/vpxdec.c
+++ b/vpxdec.c
@@ -783,7 +783,7 @@ int main(int argc, const char **argv_)
             vp8_pp_cfg.post_proc_flag &= ~0x7;
 
             if (level)
-                vp8_pp_cfg.post_proc_flag |= 8 << (level - 1);
+                vp8_pp_cfg.post_proc_flag |= level;
         }
 
 #endif