FFmpeg
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
Examples
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
libavfilter
vf_copy.c
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
19
/**
20
* @file
21
* copy video filter
22
*/
23
24
#include "
libavutil/imgutils.h
"
25
#include "
libavutil/internal.h
"
26
#include "
avfilter.h
"
27
#include "
internal.h
"
28
#include "
video.h
"
29
30
static
int
filter_frame
(
AVFilterLink
*inlink,
AVFrame
*
in
)
31
{
32
AVFilterLink
*outlink = inlink->
dst
->
outputs
[0];
33
AVFrame
*
out
=
ff_get_video_buffer
(outlink, in->
width
, in->
height
);
34
35
if
(!out) {
36
av_frame_free
(&in);
37
return
AVERROR
(ENOMEM);
38
}
39
av_frame_copy_props
(out, in);
40
av_image_copy
(out->
data
, out->
linesize
, (
const
uint8_t
**) in->
data
, in->
linesize
,
41
in->
format
, in->
width
, in->
height
);
42
43
av_frame_free
(&in);
44
return
ff_filter_frame
(outlink, out);
45
}
46
47
static
const
AVFilterPad
avfilter_vf_copy_inputs
[] = {
48
{
49
.
name
=
"default"
,
50
.type =
AVMEDIA_TYPE_VIDEO
,
51
.get_video_buffer =
ff_null_get_video_buffer
,
52
.filter_frame =
filter_frame
,
53
},
54
{ NULL }
55
};
56
57
static
const
AVFilterPad
avfilter_vf_copy_outputs
[] = {
58
{
59
.
name
=
"default"
,
60
.type =
AVMEDIA_TYPE_VIDEO
,
61
},
62
{ NULL }
63
};
64
65
AVFilter
avfilter_vf_copy
= {
66
.
name
=
"copy"
,
67
.description =
NULL_IF_CONFIG_SMALL
(
"Copy the input video unchanged to the output."
),
68
69
.inputs =
avfilter_vf_copy_inputs
,
70
.outputs =
avfilter_vf_copy_outputs
,
71
};
Generated on Wed Jul 10 2013 23:48:10 for FFmpeg by
1.8.2