[FFmpeg-devel] [PATCH 1/3] avutil/get_pool: Remove redundant initial atomic operation
Michael Niedermayer
michaelni at gmx.at
Sun Mar 17 18:46:36 CET 2013
602->442 dezicycles
Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
---
libavutil/buffer.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/libavutil/buffer.c b/libavutil/buffer.c
index d268a7f..3475e57 100644
--- a/libavutil/buffer.c
+++ b/libavutil/buffer.c
@@ -239,14 +239,14 @@ void av_buffer_pool_uninit(AVBufferPool **ppool)
/* remove the whole buffer list from the pool and return it */
static BufferPoolEntry *get_pool(AVBufferPool *pool)
{
- BufferPoolEntry *cur = NULL, *last = NULL;
+ BufferPoolEntry *cur = *(void * volatile *)&pool->pool, *last = NULL;
- do {
+ while (cur != last) {
FFSWAP(BufferPoolEntry*, cur, last);
cur = avpriv_atomic_ptr_cas((void * volatile *)&pool->pool, last, NULL);
if (!cur)
return NULL;
- } while (cur != last);
+ }
return cur;
}
--
1.7.9.5
More information about the ffmpeg-devel
mailing list