From patchwork Mon Apr 3 18:43:50 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: 3273 Delivered-To: ffmpegpatchwork@gmail.com Received: by 10.103.44.195 with SMTP id s186csp207413vss; Mon, 3 Apr 2017 11:44:04 -0700 (PDT) X-Received: by 10.223.133.146 with SMTP id 18mr17639171wrt.39.1491245044527; Mon, 03 Apr 2017 11:44:04 -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 p71si16317999wma.64.2017.04.03.11.44.04; Mon, 03 Apr 2017 11:44:04 -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 360EF6883B3; Mon, 3 Apr 2017 21:44:00 +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 1F92A680A18 for ; Mon, 3 Apr 2017 21:43:53 +0300 (EEST) Received: by mail-qk0-f196.google.com with SMTP id p68so171208qke.1 for ; Mon, 03 Apr 2017 11:43:54 -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=9aXOnOt0ghTRGZ9PG6diJ0D8YA6nv49hpNvivcQXZ0U=; b=Hqsf1++2a+pRDTEpJo9JmTqjl5CZFArJsx2CxWLyrGX98lcESChOJfrnuoVPHYOrql JMjee05FhQ3hNWcvT2+pFTw1WfL/+UJQ52FPj+oFsQYDHWJ0PwghQrDohzUTVZv4JrDJ x1debtDD8uYZzxwyOXcxjzqtt1cbGWkT5ULYgmT5euQX5Gb7uA1MunTNCPZx7vUKtm0D Xvkimh1YlhOMO6yW3Ab3DyeCLfj49J+KrC6DCYbgbr8qoRkNleaclD4BIJSvInH6AKtn eqIKxEMHJEw/vzzc08tdAFxGYjhzm0POidZbkmxykfmS3X9znQLr9HcJE6W5deORDgE2 hJlw== 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=9aXOnOt0ghTRGZ9PG6diJ0D8YA6nv49hpNvivcQXZ0U=; b=MErR5VjevSw6p0ujShpPIbF+T1lzZg3SWoH4YtiJk+tAH5S6ofFpSYtnXD8uyugtbS JikZHFtCDR5RGrZSBap8dAJJtfrRXF4IzK9QOmRPASEf10Ae88t/HQ23by3zECnl6jGC 4w7YKdff1CNYJQyDH4jocCyaBB21Tjjlzh1il6+Vf4rdhzui/LFKvLWPme45Fd0IpI+e PdUiajW0rQGeOp35fAK674BgkdRUgEZDBJHra7RMy948N+Bb5LJ36KhDBaTw9yf/m2YB d1g/CgjbNoCMMnMGKbHT6am3eyxDv77hdiVhkarw3dLpKjs8jm1GUYq4B1YnmcX46cQu iKcA== X-Gm-Message-State: AFeK/H0gjEpN5RIZsvkiECJJdqU0HmOFor3aA+QkVSRknrZkOxIML3FSdrj4NgYthVBdqA== X-Received: by 10.233.235.150 with SMTP id b144mr16997851qkg.262.1491245033728; Mon, 03 Apr 2017 11:43:53 -0700 (PDT) Received: from localhost.localdomain ([65.206.95.146]) by smtp.gmail.com with ESMTPSA id h43sm10156327qth.7.2017.04.03.11.43.53 (version=TLS1 cipher=AES128-SHA bits=128/128); Mon, 03 Apr 2017 11:43:53 -0700 (PDT) From: "Ronald S. Bultje" To: ffmpeg-devel@ffmpeg.org Date: Mon, 3 Apr 2017 14:43:50 -0400 Message-Id: <1491245030-59030-1-git-send-email-rsbultje@gmail.com> X-Mailer: git-send-email 2.8.1 Subject: [FFmpeg-devel] [PATCH] png: set AVFrame flags/fields before calling setup_finished(). 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" Fixes tsan warnings in fate-apng: WARNING: ThreadSanitizer: data race (pid=51230) Read of size 4 at 0x7d50000042fc by main thread (mutexes: write M1000): #0 frame_copy_props frame.c:302 (ffmpeg:x86_64+0x1019a35d6) [..] Previous write of size 4 at 0x7d50000042fc by thread T1 (mutexes: write M997): #0 decode_idat_chunk pngdec.c:708 (ffmpeg:x86_64+0x100f5562a) --- libavcodec/pngdec.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libavcodec/pngdec.c b/libavcodec/pngdec.c index d184c34..1025519 100644 --- a/libavcodec/pngdec.c +++ b/libavcodec/pngdec.c @@ -701,12 +701,12 @@ static int decode_idat_chunk(AVCodecContext *avctx, PNGDecContext *s, if ((ret = ff_thread_get_buffer(avctx, &s->previous_picture, AV_GET_BUFFER_FLAG_REF)) < 0) return ret; } - ff_thread_finish_setup(avctx); - p->pict_type = AV_PICTURE_TYPE_I; p->key_frame = 1; p->interlaced_frame = !!s->interlace_type; + ff_thread_finish_setup(avctx); + /* compute the compressed row size */ if (!s->interlace_type) { s->crow_size = s->row_size + 1;