[FFmpeg-cvslog] avutil/buffer: use appropriate atomic operations
Zhao Zhili
git at videolan.org
Fri Dec 6 01:54:57 EET 2019
ffmpeg | branch: master | Zhao Zhili <zhilizhao at tencent.com> | Thu Dec 5 17:02:07 2019 +0800| [71fd72070c867b4f442e5c71baab9775c51273dc] | committer: James Almer
avutil/buffer: use appropriate atomic operations
No functional changes. ref/unref vs add/sub is symmetrical.
Signed-off-by: James Almer <jamrial at gmail.com>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=71fd72070c867b4f442e5c71baab9775c51273dc
---
libavutil/buffer.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/libavutil/buffer.c b/libavutil/buffer.c
index 8d1aa5fa84..f0034b026a 100644
--- a/libavutil/buffer.c
+++ b/libavutil/buffer.c
@@ -116,7 +116,7 @@ static void buffer_replace(AVBufferRef **dst, AVBufferRef **src)
} else
av_freep(dst);
- if (atomic_fetch_add_explicit(&b->refcount, -1, memory_order_acq_rel) == 1) {
+ if (atomic_fetch_sub_explicit(&b->refcount, 1, memory_order_acq_rel) == 1) {
b->free(b->opaque, b->data);
av_freep(&b);
}
@@ -281,7 +281,7 @@ void av_buffer_pool_uninit(AVBufferPool **ppool)
pool = *ppool;
*ppool = NULL;
- if (atomic_fetch_add_explicit(&pool->refcount, -1, memory_order_acq_rel) == 1)
+ if (atomic_fetch_sub_explicit(&pool->refcount, 1, memory_order_acq_rel) == 1)
buffer_pool_free(pool);
}
@@ -298,7 +298,7 @@ static void pool_release_buffer(void *opaque, uint8_t *data)
pool->pool = buf;
ff_mutex_unlock(&pool->mutex);
- if (atomic_fetch_add_explicit(&pool->refcount, -1, memory_order_acq_rel) == 1)
+ if (atomic_fetch_sub_explicit(&pool->refcount, 1, memory_order_acq_rel) == 1)
buffer_pool_free(pool);
}
More information about the ffmpeg-cvslog
mailing list