Update loopfilter frame/filter/sharp info for multithread
authorJohn Koleszar <jkoleszar@google.com>
Wed, 30 Jun 2010 14:22:40 +0000 (10:22 -0400)
committerJohn Koleszar <jkoleszar@google.com>
Wed, 30 Jun 2010 14:23:53 +0000 (10:23 -0400)
Change I9fd1a5a4 updated the multithreaded loopfilter to avoid
reinitializing several parameteres if they haven't changed from the
last frame, but the code to update the last frame's parameters wasn't
invoked in the multithreaded case.

Change-Id: Ia23d937af625c01dd739608e02d110f742b7e1f2

vp8/decoder/onyxd_if.c

index 3a237de..60ca74a 100644 (file)
@@ -293,17 +293,16 @@ int vp8dx_receive_compressed_data(VP8D_PTR ptr, unsigned long size, const unsign
         // Apply the loop filter if appropriate.
 
         if (cm->filter_level > 0)
-        {
             vp8_loop_filter_frame(cm, &pbi->mb, cm->filter_level);
-            cm->last_frame_type = cm->frame_type;
-            cm->last_filter_type = cm->filter_type;
-            cm->last_sharpness_level = cm->sharpness_level;
-
-        }
 
         vpx_usec_timer_mark(&lpftimer);
         pbi->time_loop_filtering += vpx_usec_timer_elapsed(&lpftimer);
     }
+    if (cm->filter_level > 0) {
+        cm->last_frame_type = cm->frame_type;
+        cm->last_filter_type = cm->filter_type;
+        cm->last_sharpness_level = cm->sharpness_level;
+    }
 
     vp8_yv12_extend_frame_borders_ptr(cm->frame_to_show);