From patchwork Thu Dec 7 01:02:46 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mateusz X-Patchwork-Id: 6572 Delivered-To: ffmpegpatchwork@gmail.com Received: by 10.2.161.94 with SMTP id m30csp7666030jah; Wed, 6 Dec 2017 17:03:42 -0800 (PST) X-Google-Smtp-Source: AGs4zMYyJ1mc9V4ykCn4SXceG7/PUvzMMGWt2sBufCx3vg/pxdo7dSoxPmO5iKznJoii2IKXYoL1 X-Received: by 10.28.190.12 with SMTP id o12mr13705072wmf.148.1512608622582; Wed, 06 Dec 2017 17:03:42 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1512608622; cv=none; d=google.com; s=arc-20160816; b=01cduGWd3UjQXp+Wz7jM5LdexxWDYE/enhixarixcFZ+ktmovD6U6WXT+/5QdL2E5B u2I+DiWdNLh1jhrC2pnoUWANmz0BIvDpZxwaNemJHgg5a7+5lt5Q3LTf5BKiOYabNKn5 0y2NWG2qxkgAxmNXiGlHrvRgx6RfYXMOTXM7wgw4K6IJuq2x+Li1P740DGgXFSrVX9Lk 3Jjcyn0WRTMMcD1wFkmEIfbRSQvxjW0zBlhEbIxbJK9pnj/rPcUz9wn4eJY+N7GDU4Bm CWUGUKjw9fgL4cJqhbOjj3I3SXB+ZPRCj/65oxOYRXkoOAO95CzGMHgmFyN1SaFU6547 uDbA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:mime-version:cc:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:references:in-reply-to:message-id:date :to:from:dkim-signature:delivered-to:arc-authentication-results; bh=FGEXrsTKCiBgx2jzIKssBA0gORA6FzcsWTAyzHXSgsw=; b=TarxvHgI5yRafosDRXS2FC77KdDr0qoBBu8jpLCCsJhX+fvfbf6qunxX4NT5FtYHbz QLdPLBH+d0rgA5K0apdVJirbYE83C1l1GcSi40dDgI7PWmZQo29EHPQ5Rm68WvWDvLiE BMx0y3xBWxteRlpZ6bW3GlBy09GIYSebZ1Xy3VL7V5VQDqO5EmIJJrgC0hvv4I551NcG NHYwkw/OCbBkXgbFvM9D+8xt2Z0UOony1HBSMnhCHZ1hU6BCVDDoS/SdC9s9jdg76xSa PCilpZvRyCrjfxkvh1uP+KMD6+eUPhHhuhgcP1ADpYXDzewAPZDV8/0nfxtlI8b3pAqw kiBw== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@poczta.onet.pl header.s=2011 header.b=LSBhC+WR; 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 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id i15si2816584wre.39.2017.12.06.17.03.41; Wed, 06 Dec 2017 17:03:42 -0800 (PST) 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=@poczta.onet.pl header.s=2011 header.b=LSBhC+WR; 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 Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id CC9CF689E5D; Thu, 7 Dec 2017 03:03:34 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from smtpo52.poczta.onet.pl (smtpo59.poczta.onet.pl [213.180.142.190]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 9BB8568825F for ; Thu, 7 Dec 2017 03:03:27 +0200 (EET) Received: from localhost.localdomain (aenn62.neoplus.adsl.tpnet.pl [79.191.91.62]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: mateuszb@poczta.onet.pl) by smtp.poczta.onet.pl (Onet) with ESMTPSA id 3yscfN3h6hzlhR5Y; Thu, 7 Dec 2017 02:02:51 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=poczta.onet.pl; s=2011; t=1512608573; bh=qlEH1ezPNAhvLMhpD2M9GiGOfqQw7WMQNdO7woHsDbM=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=LSBhC+WRRaLbk1zDYxF4iRGuKHc6sSV4k12twie9beva9RKZDhFQP44NyQvKh3hZr e4LnPrTGKMeMTHm6hj0MVn4xwVmmtEziFhqSwL6JBVZRQStuzzw0sZA9QrmJGSv/Xg KVOT/A0fK2EnYBKViJGHZXRMVG5Z+8SYN5gPftys= From: Mateusz To: ffmpeg-devel@ffmpeg.org Date: Thu, 7 Dec 2017 02:02:46 +0100 Message-Id: <20171207010246.6292-1-mateuszb@poczta.onet.pl> X-Mailer: git-send-email 2.15.1.windows.2 In-Reply-To: <20171202205026.8516-1-mateuszb@poczta.onet.pl> References: <20171202205026.8516-1-mateuszb@poczta.onet.pl> Subject: [FFmpeg-devel] [PATCH] fix MSVC compilation errors 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: Mateusz Brzostek MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" After commit 3701d49 'error_resilience: remove avpriv_atomic usage' we have included windows.h in much more files and we should avoid conflicts with defines/function declarations. We should declare compatible variables for atomic compat wrappers that expect fixed size variables in atomic_compare_exchange* macro. Signed-off-by: Mateusz Brzostek --- libavcodec/jpegls.h | 2 ++ libavcodec/mjpegdec.h | 2 ++ libavcodec/mss2.c | 6 +++--- libavcodec/utils.c | 12 ++++++++++++ libavformat/mxfenc.c | 2 +- 5 files changed, 20 insertions(+), 4 deletions(-) diff --git a/libavcodec/jpegls.h b/libavcodec/jpegls.h index c8997c7861..6b89b2afa3 100644 --- a/libavcodec/jpegls.h +++ b/libavcodec/jpegls.h @@ -32,6 +32,8 @@ #include "avcodec.h" #include "internal.h" +#undef near /* This file uses struct member 'near' which in windows.h is defined as empty. */ + typedef struct JpeglsContext { AVCodecContext *avctx; } JpeglsContext; diff --git a/libavcodec/mjpegdec.h b/libavcodec/mjpegdec.h index c84a40aa6e..c36fba5f22 100644 --- a/libavcodec/mjpegdec.h +++ b/libavcodec/mjpegdec.h @@ -39,6 +39,8 @@ #include "hpeldsp.h" #include "idctdsp.h" +#undef near /* This file uses struct member 'near' which in windows.h is defined as empty. */ + #define MAX_COMPONENTS 4 typedef struct MJpegDecodeContext { diff --git a/libavcodec/mss2.c b/libavcodec/mss2.c index 9e7cc466de..3180af1d60 100644 --- a/libavcodec/mss2.c +++ b/libavcodec/mss2.c @@ -464,9 +464,9 @@ static int decode_wmv9(AVCodecContext *avctx, const uint8_t *buf, int buf_size, return 0; } -typedef struct Rectangle { +struct Rectangle { int coded, x, y, w, h; -} Rectangle; +}; #define MAX_WMV9_RECTANGLES 20 #define ARITH2_PADDING 2 @@ -485,7 +485,7 @@ static int mss2_decode_frame(AVCodecContext *avctx, void *data, int *got_frame, int keyframe, has_wmv9, has_mv, is_rle, is_555, ret; - Rectangle wmv9rects[MAX_WMV9_RECTANGLES], *r; + struct Rectangle wmv9rects[MAX_WMV9_RECTANGLES], *r; int used_rects = 0, i, implicit_rect = 0, av_uninit(wmv9_mask); if ((ret = init_get_bits8(&gb, buf, buf_size)) < 0) diff --git a/libavcodec/utils.c b/libavcodec/utils.c index baf09119fe..70a0764714 100644 --- a/libavcodec/utils.c +++ b/libavcodec/utils.c @@ -1943,7 +1943,13 @@ int av_lockmgr_register(int (*cb)(void **mutex, enum AVLockOp op)) int ff_lock_avcodec(AVCodecContext *log_ctx, const AVCodec *codec) { +#if !defined(COMPAT_ATOMICS_DUMMY_STDATOMIC_H) && !defined(COMPAT_ATOMICS_PTHREAD_STDATOMIC_H) && \ + !defined(COMPAT_ATOMICS_SUNCC_STDATOMIC_H) && !defined(COMPAT_ATOMICS_WIN32_STDATOMIC_H) _Bool exp = 0; +#else + atomic_bool exp = 0; +#endif + if (codec->caps_internal & FF_CODEC_CAP_INIT_THREADSAFE || !codec->init) return 0; @@ -1969,7 +1975,13 @@ int ff_lock_avcodec(AVCodecContext *log_ctx, const AVCodec *codec) int ff_unlock_avcodec(const AVCodec *codec) { +#if !defined(COMPAT_ATOMICS_DUMMY_STDATOMIC_H) && !defined(COMPAT_ATOMICS_PTHREAD_STDATOMIC_H) && \ + !defined(COMPAT_ATOMICS_SUNCC_STDATOMIC_H) && !defined(COMPAT_ATOMICS_WIN32_STDATOMIC_H) _Bool exp = 1; +#else + atomic_bool exp = 1; +#endif + if (codec->caps_internal & FF_CODEC_CAP_INIT_THREADSAFE || !codec->init) return 0; diff --git a/libavformat/mxfenc.c b/libavformat/mxfenc.c index ed6ecbf541..407acdcaaa 100644 --- a/libavformat/mxfenc.c +++ b/libavformat/mxfenc.c @@ -1444,7 +1444,7 @@ static int mxf_write_header_metadata_sets(AVFormatContext *s) AVStream *st = NULL; int i; - MXFPackage packages[2] = {}; + MXFPackage packages[2] = {{NULL}}; int package_count = 2; packages[0].type = MaterialPackage; packages[1].type = SourcePackage;