From patchwork Sat Nov 25 00:33:44 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rostislav Pehlivanov X-Patchwork-Id: 6344 Delivered-To: ffmpegpatchwork@gmail.com Received: by 10.2.161.94 with SMTP id m30csp2882010jah; Fri, 24 Nov 2017 16:40:27 -0800 (PST) X-Google-Smtp-Source: AGs4zMY6Ahy+7HkQ1dn9JGqzIjlfUP2xaRU08reMhkfXKgeucbpdQT7KXh5ab2qyJPtLCpyJi/aG X-Received: by 10.28.9.195 with SMTP id 186mr10925890wmj.122.1511570427012; Fri, 24 Nov 2017 16:40:27 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1511570426; cv=none; d=google.com; s=arc-20160816; b=OUZbmVDVyzruFV+42ahx1KsG/+yWYt6UtJC2eNiUaPpHKRsIcIIIlitOo9HjiAYsIY oHR6gLXFnE/t3a1H4pRIBlzdiwgNBuZKzH8yoENYNPmYhxEVdHpP5yOe+yIspi9TdMq7 r8xixiop8NSvtQfU73pVBwW0xyvp4nPrZaaVzAkwTP/JJq3clACftxDiMgTWe6FMS4YR XaUzjYfvouq+l0khwK9vaX9MtLmPinZEB1kpO6UgAQzvO2CJaDGS7hERAQqXfssZr1u5 fziSLK7rOtfKe10l6GmFMfG0vF0kFgNDxqvIPDVBEWYULL6ND6gK1NiFfSB1JNmUtpVp W+FA== 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:message-id:date:to:from:dkim-signature :delivered-to:arc-authentication-results; bh=eV67Jz2gzFQDCkhJ9cHiXHgF3DIhOn2b/0jKrS2oZ4g=; b=JdbmZ37w971txkWcPj6ubQQ4pmLyNxwei1lD5totGOaALa52PmwKCtoMTv/1oiukkB dqE4zgWenJlvlBhkjyphMFc912jgYBAnkCXxnFMdajcY61zK0JZlP+8MEub89F+59acg nB9JsIhfq33vq+qhg/m9QxLq8cZTNe9ufI/itXKGfJ5cII2x2XMPAD0ohdwvhu+orGE2 4heEF8mzCJRTXalfE7Z+S1trtjhiJMaxALs9ZJnQDwfZfe33n9NdtCmZFtyxHpEb4QL7 RfkytIk5j1HY85qU8uRI9k3Gc4kMgQa7AIClzDP+WheMt6yN5hqtt24DM8A0xQC7cZ82 iI4w== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=VoLdLy/m; 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 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id k23si8137870wmh.164.2017.11.24.16.40.26; Fri, 24 Nov 2017 16:40:26 -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=@gmail.com header.s=20161025 header.b=VoLdLy/m; 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 B2FE8680398; Sat, 25 Nov 2017 02:40:23 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-wm0-f66.google.com (mail-wm0-f66.google.com [74.125.82.66]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 861C8680287 for ; Sat, 25 Nov 2017 02:40:17 +0200 (EET) Received: by mail-wm0-f66.google.com with SMTP id 128so25239096wmo.3 for ; Fri, 24 Nov 2017 16:40:18 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=TFz6ZncI48QheR+3LHUdlRa/Brmye26IEky1EVZDftU=; b=VoLdLy/maBAvgX9tdEHSXXmF2gJ48fhr8P8bCthHG6AiNIUbkL1zqwEGf19dPiRWPM 36nm2Y9Xgkpez0FEOx+jqSKia3xDPAnIX3RwkYVhMDEsJ3Z3omxX3O0IvWVD9pirYZ5P 8Xuvh3VBsp3gtDcLbh7RSIVuAD8i8vWRFsPbMhxzw2tkFVD5PT0Odn4HJ8EMV2W576OP 7VKS5rtehfgnh/OzktYX9bOqVPDoAEjCzlADvrm7QC47t43ki9wl15SIUEe2/2xGrMfm /1rFftZLeA8uFdihmETBYo/K4ZjAou8GYgOsDhhsage7pn40sx96/6518u1Sf4FEaBNN FWcg== 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=TFz6ZncI48QheR+3LHUdlRa/Brmye26IEky1EVZDftU=; b=YamEBWCcnPnk4uw7WxDNtHULbSEqfOimzm4kUs6T1gr+4S5fV8+zGf6NlFw98EjuZV ng2Ui2FXJ9ntwcIzRuNFLPB5fNOTsxHk+OjxrUpDl9MPEiYXBMosqzWXcVcEoxa0MObf t3rCXiuhVq0qCrS9dfjB0w5/IoT3pL7sw71ehCvUSNPsB/rZ+vEc3Q3WKXzXY7rpqqeV qXmAJ3rgvAz0dZQmcnoRrcRKhAwWMo405cO8+/kXu5DeWSzW6QLKZwtQheFCe0Jv9F8d 61cdKCBGABs2VKk/k81JVoR96Fspg4cVD54LS9NemLyyp/yQPsz7ZuEiSOzHq/rt1zlE xmbQ== X-Gm-Message-State: AJaThX4Xvf3Pib368S4x+O4jZU0pd0KrndlkoHMLtwkKW16RpnIVzbv4 yYc95uuvJMgSjMHPEN9EHIeViWr8 X-Received: by 10.28.156.67 with SMTP id f64mr10884926wme.42.1511570029786; Fri, 24 Nov 2017 16:33:49 -0800 (PST) Received: from moonbase.pars.ee ([2a00:23c4:7c83:f700:8110:b6b7:54ec:1dae]) by smtp.gmail.com with ESMTPSA id r19sm7510228wrg.83.2017.11.24.16.33.47 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 24 Nov 2017 16:33:48 -0800 (PST) From: Rostislav Pehlivanov To: ffmpeg-devel@ffmpeg.org Date: Sat, 25 Nov 2017 00:33:44 +0000 Message-Id: <20171125003345.26015-1-atomnuker@gmail.com> X-Mailer: git-send-email 2.15.0.417.g466bffb3ac Subject: [FFmpeg-devel] [PATCH 1/2] error_resilience: remove avpriv_atomic usage 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: Rostislav Pehlivanov MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Signed-off-by: Rostislav Pehlivanov --- libavcodec/error_resilience.c | 12 ++++++------ libavcodec/error_resilience.h | 3 ++- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/libavcodec/error_resilience.c b/libavcodec/error_resilience.c index 0c7f29d171..6c7b4207af 100644 --- a/libavcodec/error_resilience.c +++ b/libavcodec/error_resilience.c @@ -852,20 +852,20 @@ void ff_er_add_slice(ERContext *s, int startx, int starty, mask &= ~VP_START; if (status & (ER_AC_ERROR | ER_AC_END)) { mask &= ~(ER_AC_ERROR | ER_AC_END); - avpriv_atomic_int_add_and_fetch(&s->error_count, start_i - end_i - 1); + atomic_fetch_add(&s->error_count, start_i - end_i - 1); } if (status & (ER_DC_ERROR | ER_DC_END)) { mask &= ~(ER_DC_ERROR | ER_DC_END); - avpriv_atomic_int_add_and_fetch(&s->error_count, start_i - end_i - 1); + atomic_fetch_add(&s->error_count, start_i - end_i - 1); } if (status & (ER_MV_ERROR | ER_MV_END)) { mask &= ~(ER_MV_ERROR | ER_MV_END); - avpriv_atomic_int_add_and_fetch(&s->error_count, start_i - end_i - 1); + atomic_fetch_add(&s->error_count, start_i - end_i - 1); } if (status & ER_MB_ERROR) { s->error_occurred = 1; - avpriv_atomic_int_set(&s->error_count, INT_MAX); + atomic_store(&s->error_count, INT_MAX); } if (mask == ~0x7F) { @@ -878,7 +878,7 @@ void ff_er_add_slice(ERContext *s, int startx, int starty, } if (end_i == s->mb_num) - avpriv_atomic_int_set(&s->error_count, INT_MAX); + atomic_store(&s->error_count, INT_MAX); else { s->error_status_table[end_xy] &= mask; s->error_status_table[end_xy] |= status; @@ -893,7 +893,7 @@ void ff_er_add_slice(ERContext *s, int startx, int starty, prev_status &= ~ VP_START; if (prev_status != (ER_MV_END | ER_DC_END | ER_AC_END)) { s->error_occurred = 1; - avpriv_atomic_int_set(&s->error_count, INT_MAX); + atomic_store(&s->error_count, INT_MAX); } } } diff --git a/libavcodec/error_resilience.h b/libavcodec/error_resilience.h index 27c2008694..664a765659 100644 --- a/libavcodec/error_resilience.h +++ b/libavcodec/error_resilience.h @@ -20,6 +20,7 @@ #define AVCODEC_ERROR_RESILIENCE_H #include +#include #include "avcodec.h" #include "me_cmp.h" @@ -60,7 +61,7 @@ typedef struct ERContext { ptrdiff_t mb_stride; ptrdiff_t b8_stride; - volatile int error_count; + atomic_int error_count; int error_occurred; uint8_t *error_status_table; uint8_t *er_temp_buffer;