]> granicus.if.org Git - libvpx/commitdiff
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 3a237de1fcd8be456772542a53cba7e4ec0efc7d..60ca74a7f9818e37c1e3f2eecee311d9832723e7 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);