summaryrefslogtreecommitdiff
path: root/vp8/encoder
diff options
context:
space:
mode:
authorJohn Koleszar <jkoleszar@google.com>2012-01-24 15:32:08 -0800
committerJohn Koleszar <jkoleszar@google.com>2012-01-24 15:41:59 -0800
commit630d3b95e297405bb95234c7d2036ca218cdd64d (patch)
tree912dc06fb80fcc9b56957580212052a75fc5502f /vp8/encoder
parentf357e5e2f7e20af9343528add52fda63c948367f (diff)
downloadlibvpx-630d3b95e297405bb95234c7d2036ca218cdd64d.tar
libvpx-630d3b95e297405bb95234c7d2036ca218cdd64d.tar.gz
libvpx-630d3b95e297405bb95234c7d2036ca218cdd64d.tar.bz2
libvpx-630d3b95e297405bb95234c7d2036ca218cdd64d.zip
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
Diffstat (limited to 'vp8/encoder')
-rw-r--r--vp8/encoder/onyx_if.c15
1 files changed, 2 insertions, 13 deletions
diff --git a/vp8/encoder/onyx_if.c b/vp8/encoder/onyx_if.c
index 8415ac6e2..bb2a7963a 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);
}