From 630d3b95e297405bb95234c7d2036ca218cdd64d Mon Sep 17 00:00:00 2001
From: John Koleszar <jkoleszar@google.com>
Date: Tue, 24 Jan 2012 15:32:08 -0800
Subject: [PATCH] Revert "Multithreaded encoder, late sync loopfilter"

This commit is incomplete, as it does not synchronize the loop filter
before returning a handle to the reconstructed frame in
vpx_codec_get_preview_frame(), which can cause (false?) failures
when running the test_reconstruct_buffer test.

This may be related to a bug that does cause visible artifacts, which
is also under investigation.

This reverts commit 380d64ecb19984a1466e727244a41445ae919060.

Change-Id: Iad710941e7731d44fc2bde63bc63d6763cc4629e
---
 vp8/encoder/onyx_if.c | 15 ++-------------
 1 file changed, 2 insertions(+), 13 deletions(-)

diff --git a/vp8/encoder/onyx_if.c b/vp8/encoder/onyx_if.c
index 8415ac6e2c..bb2a7963ae 100644
--- a/vp8/encoder/onyx_if.c
+++ b/vp8/encoder/onyx_if.c
@@ -3733,17 +3733,6 @@ static void encode_frame_to_data_rate
             vp8_setup_key_frame(cpi);
         }
 
-#if CONFIG_MULTITHREAD
-        /*  wait for loopfilter thread done (for last picture)
-         *  don't do it for first frame, re-code and when PSNR is calculated
-         */
-        if (cpi->b_multi_threaded && cm->current_video_frame && (!Loop) &&
-                (!cpi->b_calculate_psnr))
-        {
-            sem_wait(&cpi->h_event_end_lpf);
-        }
-#endif
-
         // transform / motion compensation build reconstruction frame
         vp8_encode_frame(cpi);
 
@@ -4128,8 +4117,8 @@ static void encode_frame_to_data_rate
     vp8_pack_bitstream(cpi, dest, dest_end, size);
 
 #if CONFIG_MULTITHREAD
-    /* if PSNR packets are generated we have to wait for the lpf */
-    if (cpi->b_multi_threaded && cpi->b_calculate_psnr)
+    /* wait for loopfilter thread done */
+    if (cpi->b_multi_threaded)
     {
         sem_wait(&cpi->h_event_end_lpf);
     }
-- 
GitLab