Commit 73142e75 authored by Luca Barbato's avatar Luca Barbato
Browse files

fifo: K&R formatting cosmetics

parent 4e7f0b08
...@@ -24,11 +24,11 @@ ...@@ -24,11 +24,11 @@
AVFifoBuffer *av_fifo_alloc(unsigned int size) AVFifoBuffer *av_fifo_alloc(unsigned int size)
{ {
AVFifoBuffer *f= av_mallocz(sizeof(AVFifoBuffer)); AVFifoBuffer *f = av_mallocz(sizeof(AVFifoBuffer));
if(!f) if (!f)
return NULL; return NULL;
f->buffer = av_malloc(size); f->buffer = av_malloc(size);
f->end = f->buffer + size; f->end = f->buffer + size;
av_fifo_reset(f); av_fifo_reset(f);
if (!f->buffer) if (!f->buffer)
av_freep(&f); av_freep(&f);
...@@ -37,7 +37,7 @@ AVFifoBuffer *av_fifo_alloc(unsigned int size) ...@@ -37,7 +37,7 @@ AVFifoBuffer *av_fifo_alloc(unsigned int size)
void av_fifo_free(AVFifoBuffer *f) void av_fifo_free(AVFifoBuffer *f)
{ {
if(f){ if (f) {
av_free(f->buffer); av_free(f->buffer);
av_free(f); av_free(f);
} }
...@@ -59,12 +59,13 @@ int av_fifo_space(AVFifoBuffer *f) ...@@ -59,12 +59,13 @@ int av_fifo_space(AVFifoBuffer *f)
return f->end - f->buffer - av_fifo_size(f); return f->end - f->buffer - av_fifo_size(f);
} }
int av_fifo_realloc2(AVFifoBuffer *f, unsigned int new_size) { int av_fifo_realloc2(AVFifoBuffer *f, unsigned int new_size)
unsigned int old_size= f->end - f->buffer; {
unsigned int old_size = f->end - f->buffer;
if(old_size < new_size){ if (old_size < new_size) {
int len= av_fifo_size(f); int len = av_fifo_size(f);
AVFifoBuffer *f2= av_fifo_alloc(new_size); AVFifoBuffer *f2 = av_fifo_alloc(new_size);
if (!f2) if (!f2)
return -1; return -1;
...@@ -72,45 +73,48 @@ int av_fifo_realloc2(AVFifoBuffer *f, unsigned int new_size) { ...@@ -72,45 +73,48 @@ int av_fifo_realloc2(AVFifoBuffer *f, unsigned int new_size) {
f2->wptr += len; f2->wptr += len;
f2->wndx += len; f2->wndx += len;
av_free(f->buffer); av_free(f->buffer);
*f= *f2; *f = *f2;
av_free(f2); av_free(f2);
} }
return 0; return 0;
} }
// src must NOT be const as it can be a context for func that may need updating (like a pointer or byte counter) /* src must NOT be const as it can be a context for func that may need
int av_fifo_generic_write(AVFifoBuffer *f, void *src, int size, int (*func)(void*, void*, int)) * updating (like a pointer or byte counter) */
int av_fifo_generic_write(AVFifoBuffer *f, void *src, int size,
int (*func)(void *, void *, int))
{ {
int total = size; int total = size;
do { do {
int len = FFMIN(f->end - f->wptr, size); int len = FFMIN(f->end - f->wptr, size);
if(func) { if (func) {
if(func(src, f->wptr, len) <= 0) if (func(src, f->wptr, len) <= 0)
break; break;
} else { } else {
memcpy(f->wptr, src, len); memcpy(f->wptr, src, len);
src = (uint8_t*)src + len; src = (uint8_t *)src + len;
} }
// Write memory barrier needed for SMP here in theory // Write memory barrier needed for SMP here in theory
f->wptr += len; f->wptr += len;
if (f->wptr >= f->end) if (f->wptr >= f->end)
f->wptr = f->buffer; f->wptr = f->buffer;
f->wndx += len; f->wndx += len;
size -= len; size -= len;
} while (size > 0); } while (size > 0);
return total - size; return total - size;
} }
int av_fifo_generic_read(AVFifoBuffer *f, void *dest, int buf_size,
int av_fifo_generic_read(AVFifoBuffer *f, void *dest, int buf_size, void (*func)(void*, void*, int)) void (*func)(void *, void *, int))
{ {
// Read memory barrier needed for SMP here in theory // Read memory barrier needed for SMP here in theory
do { do {
int len = FFMIN(f->end - f->rptr, buf_size); int len = FFMIN(f->end - f->rptr, buf_size);
if(func) func(dest, f->rptr, len); if (func)
else{ func(dest, f->rptr, len);
else {
memcpy(dest, f->rptr, len); memcpy(dest, f->rptr, len);
dest = (uint8_t*)dest + len; dest = (uint8_t *)dest + len;
} }
// memory barrier needed for SMP here in theory // memory barrier needed for SMP here in theory
av_fifo_drain(f, len); av_fifo_drain(f, len);
...@@ -141,9 +145,9 @@ int main(void) ...@@ -141,9 +145,9 @@ int main(void)
av_fifo_generic_write(fifo, &i, sizeof(int), NULL); av_fifo_generic_write(fifo, &i, sizeof(int), NULL);
/* peek at FIFO */ /* peek at FIFO */
n = av_fifo_size(fifo)/sizeof(int); n = av_fifo_size(fifo) / sizeof(int);
for (i = -n+1; i < n; i++) { for (i = -n + 1; i < n; i++) {
int *v = (int *)av_fifo_peek2(fifo, i*sizeof(int)); int *v = (int *)av_fifo_peek2(fifo, i * sizeof(int));
printf("%d: %d\n", i, *v); printf("%d: %d\n", i, *v);
} }
printf("\n"); printf("\n");
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment