FFmpeg
Main Page
Related Pages
Modules
Data Structures
Files
Examples
File List
Globals
All
Data Structures
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
libavfilter
buffersrc.h
Go to the documentation of this file.
1
/*
2
*
3
* This file is part of Libav.
4
*
5
* Libav is free software; you can redistribute it and/or
6
* modify it under the terms of the GNU Lesser General Public
7
* License as published by the Free Software Foundation; either
8
* version 2.1 of the License, or (at your option) any later version.
9
*
10
* Libav is distributed in the hope that it will be useful,
11
* but WITHOUT ANY WARRANTY; without even the implied warranty of
12
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13
* Lesser General Public License for more details.
14
*
15
* You should have received a copy of the GNU Lesser General Public
16
* License along with Libav; if not, write to the Free Software
17
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
18
*/
19
20
#ifndef AVFILTER_BUFFERSRC_H
21
#define AVFILTER_BUFFERSRC_H
22
23
/**
24
* @file
25
* Memory buffer source API.
26
*/
27
28
#include "
libavcodec/avcodec.h
"
29
#include "
avfilter.h
"
30
31
enum
{
32
33
/**
34
* Do not check for format changes.
35
*/
36
AV_BUFFERSRC_FLAG_NO_CHECK_FORMAT
= 1,
37
38
/**
39
* Do not copy buffer data.
40
*/
41
AV_BUFFERSRC_FLAG_NO_COPY
= 2,
42
43
/**
44
* Immediately push the frame to the output.
45
*/
46
AV_BUFFERSRC_FLAG_PUSH
= 4,
47
48
};
49
50
/**
51
* Add buffer data in picref to buffer_src.
52
*
53
* @param buffer_src pointer to a buffer source context
54
* @param picref a buffer reference, or NULL to mark EOF
55
* @param flags a combination of AV_BUFFERSRC_FLAG_*
56
* @return >= 0 in case of success, a negative AVERROR code
57
* in case of failure
58
*/
59
int
av_buffersrc_add_ref
(
AVFilterContext
*buffer_src,
60
AVFilterBufferRef
*picref,
int
flags
);
61
62
/**
63
* Get the number of failed requests.
64
*
65
* A failed request is when the request_frame method is called while no
66
* frame is present in the buffer.
67
* The number is reset when a frame is added.
68
*/
69
unsigned
av_buffersrc_get_nb_failed_requests
(
AVFilterContext
*buffer_src);
70
71
#ifdef FF_API_BUFFERSRC_BUFFER
72
/**
73
* Add a buffer to the filtergraph s.
74
*
75
* @param buf buffer containing frame data to be passed down the filtergraph.
76
* This function will take ownership of buf, the user must not free it.
77
* A NULL buf signals EOF -- i.e. no more frames will be sent to this filter.
78
* @deprecated Use av_buffersrc_add_ref(s, picref, AV_BUFFERSRC_FLAG_NO_COPY) instead.
79
*/
80
attribute_deprecated
81
int
av_buffersrc_buffer(
AVFilterContext
*s,
AVFilterBufferRef
*buf);
82
#endif
83
84
/**
85
* Add a frame to the buffer source.
86
*
87
* @param s an instance of the buffersrc filter.
88
* @param frame frame to be added.
89
*
90
* @warning frame data will be memcpy()ed, which may be a big performance
91
* hit. Use av_buffersrc_buffer() to avoid copying the data.
92
*/
93
int
av_buffersrc_write_frame
(
AVFilterContext
*s,
const
AVFrame
*
frame
);
94
95
#endif
/* AVFILTER_BUFFERSRC_H */
Generated on Sat May 25 2013 04:01:14 for FFmpeg by
1.8.2