FFmpeg
1.2.12
Main Page
Related Pages
Modules
Data Structures
Files
Examples
File List
Globals
debian
tmp
usr
include
libavutil
fifo.h
Go to the documentation of this file.
1
/*
2
* This file is part of FFmpeg.
3
*
4
* FFmpeg is free software; you can redistribute it and/or
5
* modify it under the terms of the GNU Lesser General Public
6
* License as published by the Free Software Foundation; either
7
* version 2.1 of the License, or (at your option) any later version.
8
*
9
* FFmpeg is distributed in the hope that it will be useful,
10
* but WITHOUT ANY WARRANTY; without even the implied warranty of
11
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12
* Lesser General Public License for more details.
13
*
14
* You should have received a copy of the GNU Lesser General Public
15
* License along with FFmpeg; if not, write to the Free Software
16
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17
*/
18
24
#ifndef AVUTIL_FIFO_H
25
#define AVUTIL_FIFO_H
26
27
#include <stdint.h>
28
#include "
avutil.h
"
29
#include "
attributes.h
"
30
31
typedef
struct
AVFifoBuffer
{
32
uint8_t
*
buffer
;
33
uint8_t
*
rptr
, *
wptr
, *
end
;
34
uint32_t
rndx
,
wndx
;
35
}
AVFifoBuffer
;
36
42
AVFifoBuffer
*
av_fifo_alloc
(
unsigned
int
size
);
43
48
void
av_fifo_free
(
AVFifoBuffer
*f);
49
54
void
av_fifo_reset
(
AVFifoBuffer
*f);
55
62
int
av_fifo_size
(
AVFifoBuffer
*f);
63
70
int
av_fifo_space
(
AVFifoBuffer
*f);
71
79
int
av_fifo_generic_read
(
AVFifoBuffer
*f,
void
*dest,
int
buf_size,
void
(*
func
)(
void
*,
void
*,
int
));
80
94
int
av_fifo_generic_write
(
AVFifoBuffer
*f,
void
*src,
int
size
,
int
(*
func
)(
void
*,
void
*,
int
));
95
104
int
av_fifo_realloc2
(
AVFifoBuffer
*f,
unsigned
int
size);
105
115
int
av_fifo_grow
(
AVFifoBuffer
*f,
unsigned
int
additional_space);
116
122
void
av_fifo_drain
(
AVFifoBuffer
*f,
int
size);
123
134
static
inline
uint8_t
*
av_fifo_peek2
(
const
AVFifoBuffer
*f,
int
offs)
135
{
136
uint8_t
*ptr = f->
rptr
+ offs;
137
if
(ptr >= f->
end
)
138
ptr = f->
buffer
+ (ptr - f->
end
);
139
else
if
(ptr < f->
buffer
)
140
ptr = f->
end
- (f->
buffer
- ptr);
141
return
ptr;
142
}
143
144
#endif
/* AVUTIL_FIFO_H */
Generated on Thu Feb 12 2015 17:56:50 for FFmpeg by
1.8.1.2