Commit 1faf7dc8 authored by Dujardin Bernard's avatar Dujardin Bernard Committed by Diego Biurrun

Doxygen documentation for all functions, patch by Dujardin Bernard,

dujardin.iut numericable fr with some further changes by me.

Originally committed as revision 8151 to svn://svn.ffmpeg.org/ffmpeg/trunk
parent eebfba2e
......@@ -16,6 +16,11 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/**
* @file fifo.h
* A very simple circular buffer FIFO implementation.
*/
#ifndef FIFO_H
#define FIFO_H
......@@ -24,15 +29,74 @@ typedef struct AVFifoBuffer {
uint8_t *rptr, *wptr, *end;
} AVFifoBuffer;
/**
* Initializes a FIFO *.
* @param *f FIFO buffer
* @param size of FIFO
* @return <0 for failure >=0 otherwise
*/
int av_fifo_init(AVFifoBuffer *f, int size);
/**
* Frees a FIFO *.
* @param *f FIFO buffer
*/
void av_fifo_free(AVFifoBuffer *f);
/**
* Returns the size of a FIFO *.
* @param *f FIFO buffer
* @return size
*/
int av_fifo_size(AVFifoBuffer *f);
/**
* Reads the data from the FIFO *.
* @param *f FIFO buffer
* @param *buf data destination
* @param buf_size data size
* @return -1 if not enough data
*/
int av_fifo_read(AVFifoBuffer *f, uint8_t *buf, int buf_size);
/**
* Reads the data from the FIFO *.
* @param *f FIFO buffer
* @param buf_size data size
* @param *func generic read function
* @param *dest data destination
* @return -1 if not enough data
*/
int av_fifo_generic_read(AVFifoBuffer *f, int buf_size, void (*func)(void*, void*, int), void* dest);
/**
* Writes the data in the FIFO *.
* @param *f FIFO buffer
* @param *buf data source
* @param size data size
*/
void av_fifo_write(AVFifoBuffer *f, const uint8_t *buf, int size);
/**
* Resizes the FIFO *.
* @param *f FIFO buffer
* @param size data size
*/
void av_fifo_realloc(AVFifoBuffer *f, unsigned int size);
/**
* Discards the data from the FIFO *.
* @param *f FIFO buffer
* @param size data size
*/
void av_fifo_drain(AVFifoBuffer *f, int size);
/**
* Returns a pointer with circular offset from FIFO's read pointer.
* @param *f FIFO buffer
* @param offs offset
* @return ptr=rptr+offs if rptr+offs<end else rptr+offs -(end-begin)
*/
static inline uint8_t av_fifo_peek(AVFifoBuffer *f, int offs)
{
uint8_t *ptr = f->rptr + offs;
......
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