From patchwork Thu Apr 6 15:47:13 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Ronald S. Bultje" X-Patchwork-Id: 3321 Delivered-To: ffmpegpatchwork@gmail.com Received: by 10.103.44.195 with SMTP id s186csp714247vss; Thu, 6 Apr 2017 08:47:26 -0700 (PDT) X-Received: by 10.28.184.66 with SMTP id i63mr364970wmf.39.1491493646581; Thu, 06 Apr 2017 08:47:26 -0700 (PDT) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id v94si3084853wrb.289.2017.04.06.08.47.25; Thu, 06 Apr 2017 08:47:26 -0700 (PDT) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=gmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 04D5868831F; Thu, 6 Apr 2017 18:47:20 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-qt0-f195.google.com (mail-qt0-f195.google.com [209.85.216.195]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id B60C6680949 for ; Thu, 6 Apr 2017 18:47:13 +0300 (EEST) Received: by mail-qt0-f195.google.com with SMTP id x35so6174405qtc.1 for ; Thu, 06 Apr 2017 08:47:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=3/1KhM6vMJ1QoFzrxg34fXw62//NVPzA2BPJII1k9JA=; b=e+qN1XTbeU7FawiWlyms+7o9JdyX3/rW1h2MZrYDK1HAkJUtc05UzOAOwu7qOpi4bB vwLstbqcvapL8OzmoPosM4gILHb+OhSngtIs3F5QBEQzCIb/b8jfWOEb1axElorlzReb f0ShrNLi8Adrn6ClO8ZOfE4bdCYR8nNMRrjVboCyMBU4QmFwIkKMMfMAmnBiWZU5i0gT HqXb4X/Okphuj5ZllJLDrB7LIZNu5mUwvfKpq+0AUzsmKR2o8QEWL/va/E4Fl/uuDXEc LWnH6Mv63sje8CwY9thUqnwDIHw2CRAa8zP1LMCdNWWaxIwdLoIcIEqbDcZVO54yQilp P/ZA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=3/1KhM6vMJ1QoFzrxg34fXw62//NVPzA2BPJII1k9JA=; b=mGqp0uXUIi7BTh4Z5jAv6uEOPj6eIksc0SolHY6A6nS/hFruTsfkzxf/kfqJyfuWXd KpcHHk3CGAWy141YXBb/qyCH3mJCMhIGXLsm1nXxb1gchULXnn1koCLBYR1QuzRB9HjX zxEGmKpVD+WRsK17z5UNVFuHtvx+55gohDhfePMafw3JhLP1XdBoI4R7rxkKXjhj2Lbs H8vtl910NxMY35gfkUwcgKnTE3it5Ia2eHfvWjhv0g0QcZR8eTUah4eaTOOSpUKaO9zQ M9EMBN8Sl9vW09gez4QoYecZlgGAhzaM4y6if9XUkOgR+FLCsS3kJ1NcGzcAPCmY3GDC /QIg== X-Gm-Message-State: AFeK/H0xBGuQXf+ZQD3+bAs48xM/bhv15pUYsSoeilKoPk5zrzcC7kdE4J1k08x5rBiWOQ== X-Received: by 10.200.3.74 with SMTP id w10mr38665837qtg.73.1491493635841; Thu, 06 Apr 2017 08:47:15 -0700 (PDT) Received: from localhost.localdomain ([65.206.95.146]) by smtp.gmail.com with ESMTPSA id z42sm1191158qtb.20.2017.04.06.08.47.15 (version=TLS1 cipher=AES128-SHA bits=128/128); Thu, 06 Apr 2017 08:47:15 -0700 (PDT) From: "Ronald S. Bultje" To: ffmpeg-devel@ffmpeg.org Date: Thu, 6 Apr 2017 11:47:13 -0400 Message-Id: <1491493633-14683-1-git-send-email-rsbultje@gmail.com> X-Mailer: git-send-email 2.8.1 Subject: [FFmpeg-devel] [PATCH] h264: don't re-call ff_h264_direct_ref_list_init() w/ frame-mt. X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Cc: "Ronald S. Bultje" MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" I'm hoping that this will address the remaining tsan fate-h264 issues: WARNING: ThreadSanitizer: data race (pid=24478) Read of size 8 at 0x7dbc0001c828 by main thread (mutexes: write M3243): #0 ff_h264_ref_picture src/libavcodec/h264_picture.c:107 (ffmpeg+0x0000013b78d8) [..] Previous write of size 1 at 0x7dbc0001c82e by thread T2 (mutexes: write M3245): #0 ff_h264_direct_ref_list_init src/libavcodec/h264_direct.c:137 (ffmpeg+0x000001382c93) But I'm not sure because I haven't been able to reproduce locally. --- libavcodec/h264_slice.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/libavcodec/h264_slice.c b/libavcodec/h264_slice.c index d4d31cc..8d7b6b8 100644 --- a/libavcodec/h264_slice.c +++ b/libavcodec/h264_slice.c @@ -1888,7 +1888,8 @@ static int h264_slice_init(H264Context *h, H264SliceContext *sl, if (sl->slice_type_nos == AV_PICTURE_TYPE_B && !sl->direct_spatial_mv_pred) ff_h264_direct_dist_scale_factor(h, sl); - ff_h264_direct_ref_list_init(h, sl); + if (!h->setup_finished) + ff_h264_direct_ref_list_init(h, sl); if (h->avctx->skip_loop_filter >= AVDISCARD_ALL || (h->avctx->skip_loop_filter >= AVDISCARD_NONKEY &&