]> rtime.felk.cvut.cz Git - frescor/ffmpeg.git/commitdiff
Comments to indicate where memory barriers may be needed.
authormichael <michael@9553f0bf-9b14-0410-a0b8-cfaf0461ba5b>
Sun, 8 Mar 2009 00:45:45 +0000 (00:45 +0000)
committermichael <michael@9553f0bf-9b14-0410-a0b8-cfaf0461ba5b>
Sun, 8 Mar 2009 00:45:45 +0000 (00:45 +0000)
git-svn-id: file:///var/local/repositories/ffmpeg/trunk@17867 9553f0bf-9b14-0410-a0b8-cfaf0461ba5b

libavutil/fifo.c

index 4bc8be07ff13f5c951e509191f215e6bc2c1abdd..8436b3b6a44726eaf8f357d62e1f12ac7371cd55 100644 (file)
@@ -91,6 +91,7 @@ int av_fifo_generic_write(AVFifoBuffer *f, void *src, int size, int (*func)(void
             memcpy(f->wptr, src, len);
             src = (uint8_t*)src + len;
         }
+// Write memory barrier needed for SMP here in theory
         f->wptr += len;
         if (f->wptr >= f->end)
             f->wptr = f->buffer;
@@ -103,6 +104,7 @@ int av_fifo_generic_write(AVFifoBuffer *f, void *src, int size, int (*func)(void
 
 int av_fifo_generic_read(AVFifoBuffer *f, int buf_size, void (*func)(void*, void*, int), void* dest)
 {
+// Read memory barrier needed for SMP here in theory
     do {
         int len = FFMIN(f->end - f->rptr, buf_size);
         if(func) func(dest, f->rptr, len);
@@ -110,6 +112,7 @@ int av_fifo_generic_read(AVFifoBuffer *f, int buf_size, void (*func)(void*, void
             memcpy(dest, f->rptr, len);
             dest = (uint8_t*)dest + len;
         }
+// memory barrier needed for SMP here in theory
         av_fifo_drain(f, len);
         buf_size -= len;
     } while (buf_size > 0);