summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDujardin Bernard <dujardin.iut@numericable.fr>2007-02-27 17:49:00 +0000
committerDiego Biurrun <diego@biurrun.de>2007-02-27 17:49:00 +0000
commit1faf7dc807811ab7479435940a488488e0f90dcd (patch)
tree02d8c3d678f1059814e4c635269a7efa63a7c31e
parenteebfba2e24bee9c0efb839b7551bf9b6b96bd717 (diff)
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
-rw-r--r--libavutil/fifo.h64
1 files changed, 64 insertions, 0 deletions
diff --git a/libavutil/fifo.h b/libavutil/fifo.h
index 52badcd237..177603434f 100644
--- a/libavutil/fifo.h
+++ b/libavutil/fifo.h
@@ -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;