From patchwork Thu Mar 30 11:46:14 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: 3190 Delivered-To: ffmpegpatchwork@gmail.com Received: by 10.103.44.195 with SMTP id s186csp1514923vss; Thu, 30 Mar 2017 04:46:28 -0700 (PDT) X-Received: by 10.223.152.43 with SMTP id v40mr5050430wrb.60.1490874388290; Thu, 30 Mar 2017 04:46:28 -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 y78si3164112wrc.246.2017.03.30.04.46.27; Thu, 30 Mar 2017 04:46:28 -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 59C2168991D; Thu, 30 Mar 2017 14:46:25 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-qk0-f196.google.com (mail-qk0-f196.google.com [209.85.220.196]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id F32756883E6 for ; Thu, 30 Mar 2017 14:46:18 +0300 (EEST) Received: by mail-qk0-f196.google.com with SMTP id 10so5899623qkh.1 for ; Thu, 30 Mar 2017 04:46:19 -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:in-reply-to:references; bh=G+vh3EA5MsKuCRRMCOq5atN5qytOGwkk0k9MuOfLMf8=; b=Ld2dyj4jAoO3eyom33Elzf+O0wttVbarv+0+sBlgWV6qeDl9f/ZZwzhcaMDwX0K5+G WlxZYSxRNrm0a+jNNcuN5z7o1qUEyjAdVhXbxqmZ7qB4bJIjfbkdAfzTLPujsk6lkJwv bjUjUCJlMW/nr86yAsvAeqHOqI2u0M/0WEWxSJAarn3iuvh4G9yNA/iUevlgZvUKMljl efnR3fieFfAP2CQFHzQuhgOJ5XFWawGULeXYMpzDb/bYWMCrROOskKBxcTPo3eHGJsEB mg6qMtAkTJm4LkYZwkwAPFdvdr15nzAM+11pLeLOyB3Jgtm+RuMWIJq49z9TicqHrlDU 0imw== 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:in-reply-to :references; bh=G+vh3EA5MsKuCRRMCOq5atN5qytOGwkk0k9MuOfLMf8=; b=p8lMmPoz2Tlor6yxNw1ZYrGXwHXKrHEqSCH3IWVuX8NKC0l2At4eEyzur7y8Kodem0 PiFXx379VL5UyJlVdkfF2ltAem5eCSiT5Wg9kX8tdMNb3wl/KhWdkvhog5kDVkrAzXqI V0zFqiAjbZZ1E73k6beU7jE/Zr5OG6A5IGDy3FlkpfvatxlXdF19QDumcmT9pcng1I6F rVK574jWBqzugLXD+UYnJrDACza1FIEXFM7l+zxkDJnnBpxcU34ouI1OZdfQI/rUuD2J CbGE52RJCGAKl2mOOQkReR+xKuAl9fVzpAg/araT1c7PCx/inShjS7QQfWLOsXgEmrc3 XfGg== X-Gm-Message-State: AFeK/H2HOw0b5fT1zf8DJzF+s1yexkLSsbwzgflcm0EYcaymyVft0gXFmWFOkskKWrZDSA== X-Received: by 10.55.125.132 with SMTP id y126mr5266602qkc.314.1490874377731; Thu, 30 Mar 2017 04:46:17 -0700 (PDT) Received: from localhost.localdomain ([65.206.95.146]) by smtp.gmail.com with ESMTPSA id n21sm1238700qkh.16.2017.03.30.04.46.17 (version=TLS1 cipher=AES128-SHA bits=128/128); Thu, 30 Mar 2017 04:46:17 -0700 (PDT) From: "Ronald S. Bultje" To: ffmpeg-devel@ffmpeg.org Date: Thu, 30 Mar 2017 07:46:14 -0400 Message-Id: <1490874374-99687-1-git-send-email-rsbultje@gmail.com> X-Mailer: git-send-email 2.8.1 In-Reply-To: <20170330000650.GD4714@nb4> References: <20170330000650.GD4714@nb4> Subject: [FFmpeg-devel] [PATCH] h264: only assign H264Picture::mbaff for first slice. 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" The value must be identical between slices, since mbaff depends on picture_structure and sps, both of which are checked to be identical to the first slice before this point. In practice, this silences some tsan warnings in fate-h264. --- libavcodec/h264_direct.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/libavcodec/h264_direct.c b/libavcodec/h264_direct.c index 4e7202b..a7a107c 100644 --- a/libavcodec/h264_direct.c +++ b/libavcodec/h264_direct.c @@ -138,7 +138,11 @@ void ff_h264_direct_ref_list_init(const H264Context *const h, H264SliceContext * memcpy(cur->ref_poc[1], cur->ref_poc[0], sizeof(cur->ref_poc[0])); } - cur->mbaff = FRAME_MBAFF(h); + if (h->current_slice == 0) { + cur->mbaff = FRAME_MBAFF(h); + } else { + av_assert0(cur->mbaff == FRAME_MBAFF(h)); + } sl->col_fieldoff = 0;