vp8: fix segmentation race during frame-threading.
authorRonald S. Bultje <rsbultje@gmail.com>
Sun, 29 May 2011 22:53:42 +0000 (18:53 -0400)
committerRonald S. Bultje <rsbultje@gmail.com>
Tue, 31 May 2011 14:13:34 +0000 (07:13 -0700)
Fixes occasional failure of make fate-vp8-test-vector-010 with
frame-multithreading enabled.

libavcodec/vp8.c

index 550070649445a2f2135675a523f489a24fb5b227..282d2fdb4eada4652367aee394a5cfdba6888a1f 100644 (file)
@@ -1612,7 +1612,7 @@ static int vp8_decode_frame(AVCodecContext *avctx, void *data, int *data_size,
 
         s->mv_min.x = -MARGIN;
         s->mv_max.x = ((s->mb_width  - 1) << 6) + MARGIN;
-        if (prev_frame && s->segmentation.enabled && s->segmentation.update_map)
+        if (prev_frame && s->segmentation.enabled && !s->segmentation.update_map)
             ff_thread_await_progress(prev_frame, mb_y, 0);
 
         for (mb_x = 0; mb_x < s->mb_width; mb_x++, mb_xy++, mb++) {