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
libswscale
options.c
Go to the documentation of this file.
1
/*
2
* Copyright (C) 2001-2003 Michael Niedermayer <michaelni@gmx.at>
3
*
4
* This file is part of FFmpeg.
5
*
6
* FFmpeg is free software; you can redistribute it and/or
7
* modify it under the terms of the GNU Lesser General Public
8
* License as published by the Free Software Foundation; either
9
* version 2.1 of the License, or (at your option) any later version.
10
*
11
* FFmpeg is distributed in the hope that it will be useful,
12
* but WITHOUT ANY WARRANTY; without even the implied warranty of
13
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14
* Lesser General Public License for more details.
15
*
16
* You should have received a copy of the GNU Lesser General Public
17
* License along with FFmpeg; if not, write to the Free Software
18
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
19
*/
20
21
#include "
libavutil/avutil.h
"
22
#include "
libavutil/opt.h
"
23
#include "
libavutil/pixfmt.h
"
24
#include "
swscale.h
"
25
#include "
swscale_internal.h
"
26
27
static
const
char
*
sws_context_to_name
(
void
*ptr)
28
{
29
return
"swscaler"
;
30
}
31
32
#define OFFSET(x) offsetof(SwsContext, x)
33
#define DEFAULT 0
34
#define VE AV_OPT_FLAG_VIDEO_PARAM | AV_OPT_FLAG_ENCODING_PARAM
35
36
static
const
AVOption
options
[] = {
37
{
"sws_flags"
,
"scaler flags"
,
OFFSET
(
flags
),
AV_OPT_TYPE_FLAGS
, { .i64 =
DEFAULT
}, 0, UINT_MAX,
VE
,
"sws_flags"
},
38
{
"fast_bilinear"
,
"fast bilinear"
, 0,
AV_OPT_TYPE_CONST
, { .i64 =
SWS_FAST_BILINEAR
}, INT_MIN, INT_MAX,
VE
,
"sws_flags"
},
39
{
"bilinear"
,
"bilinear"
, 0,
AV_OPT_TYPE_CONST
, { .i64 =
SWS_BILINEAR
}, INT_MIN, INT_MAX,
VE
,
"sws_flags"
},
40
{
"bicubic"
,
"bicubic"
, 0,
AV_OPT_TYPE_CONST
, { .i64 =
SWS_BICUBIC
}, INT_MIN, INT_MAX,
VE
,
"sws_flags"
},
41
{
"experimental"
,
"experimental"
, 0,
AV_OPT_TYPE_CONST
, { .i64 =
SWS_X
}, INT_MIN, INT_MAX,
VE
,
"sws_flags"
},
42
{
"neighbor"
,
"nearest neighbor"
, 0,
AV_OPT_TYPE_CONST
, { .i64 =
SWS_POINT
}, INT_MIN, INT_MAX,
VE
,
"sws_flags"
},
43
{
"area"
,
"averaging area"
, 0,
AV_OPT_TYPE_CONST
, { .i64 =
SWS_AREA
}, INT_MIN, INT_MAX,
VE
,
"sws_flags"
},
44
{
"bicublin"
,
"luma bicubic, chroma bilinear"
, 0,
AV_OPT_TYPE_CONST
, { .i64 =
SWS_BICUBLIN
}, INT_MIN, INT_MAX,
VE
,
"sws_flags"
},
45
{
"gauss"
,
"gaussian"
, 0,
AV_OPT_TYPE_CONST
, { .i64 =
SWS_GAUSS
}, INT_MIN, INT_MAX,
VE
,
"sws_flags"
},
46
{
"sinc"
,
"sinc"
, 0,
AV_OPT_TYPE_CONST
, { .i64 =
SWS_SINC
}, INT_MIN, INT_MAX,
VE
,
"sws_flags"
},
47
{
"lanczos"
,
"lanczos"
, 0,
AV_OPT_TYPE_CONST
, { .i64 =
SWS_LANCZOS
}, INT_MIN, INT_MAX,
VE
,
"sws_flags"
},
48
{
"spline"
,
"natural bicubic spline"
, 0,
AV_OPT_TYPE_CONST
, { .i64 =
SWS_SPLINE
}, INT_MIN, INT_MAX,
VE
,
"sws_flags"
},
49
{
"print_info"
,
"print info"
, 0,
AV_OPT_TYPE_CONST
, { .i64 =
SWS_PRINT_INFO
}, INT_MIN, INT_MAX,
VE
,
"sws_flags"
},
50
{
"accurate_rnd"
,
"accurate rounding"
, 0,
AV_OPT_TYPE_CONST
, { .i64 =
SWS_ACCURATE_RND
}, INT_MIN, INT_MAX,
VE
,
"sws_flags"
},
51
{
"full_chroma_int"
,
"full chroma interpolation"
, 0,
AV_OPT_TYPE_CONST
, { .i64 =
SWS_FULL_CHR_H_INT
}, INT_MIN, INT_MAX,
VE
,
"sws_flags"
},
52
{
"full_chroma_inp"
,
"full chroma input"
, 0,
AV_OPT_TYPE_CONST
, { .i64 =
SWS_FULL_CHR_H_INP
}, INT_MIN, INT_MAX,
VE
,
"sws_flags"
},
53
{
"bitexact"
,
""
, 0,
AV_OPT_TYPE_CONST
, { .i64 =
SWS_BITEXACT
}, INT_MIN, INT_MAX,
VE
,
"sws_flags"
},
54
55
{
"srcw"
,
"source width"
,
OFFSET
(srcW),
AV_OPT_TYPE_INT
, { .i64 = 16 }, 1, INT_MAX,
VE
},
56
{
"srch"
,
"source height"
,
OFFSET
(srcH),
AV_OPT_TYPE_INT
, { .i64 = 16 }, 1, INT_MAX,
VE
},
57
{
"dstw"
,
"destination width"
,
OFFSET
(dstW),
AV_OPT_TYPE_INT
, { .i64 = 16 }, 1, INT_MAX,
VE
},
58
{
"dsth"
,
"destination height"
,
OFFSET
(dstH),
AV_OPT_TYPE_INT
, { .i64 = 16 }, 1, INT_MAX,
VE
},
59
{
"src_format"
,
"source format"
,
OFFSET
(srcFormat),
AV_OPT_TYPE_INT
, { .i64 =
DEFAULT
}, 0,
AV_PIX_FMT_NB
- 1,
VE
},
60
{
"dst_format"
,
"destination format"
,
OFFSET
(dstFormat),
AV_OPT_TYPE_INT
, { .i64 =
DEFAULT
}, 0,
AV_PIX_FMT_NB
- 1,
VE
},
61
{
"src_range"
,
"source range"
,
OFFSET
(srcRange),
AV_OPT_TYPE_INT
, { .i64 =
DEFAULT
}, 0, 1,
VE
},
62
{
"dst_range"
,
"destination range"
,
OFFSET
(dstRange),
AV_OPT_TYPE_INT
, { .i64 =
DEFAULT
}, 0, 1,
VE
},
63
{
"param0"
,
"scaler param 0"
,
OFFSET
(param[0]),
AV_OPT_TYPE_DOUBLE
, { .dbl =
SWS_PARAM_DEFAULT
}, INT_MIN, INT_MAX,
VE
},
64
{
"param1"
,
"scaler param 1"
,
OFFSET
(param[1]),
AV_OPT_TYPE_DOUBLE
, { .dbl =
SWS_PARAM_DEFAULT
}, INT_MIN, INT_MAX,
VE
},
65
66
{
NULL
}
67
};
68
69
const
AVClass
sws_context_class
= {
70
.
class_name
=
"SWScaler"
,
71
.item_name =
sws_context_to_name
,
72
.option =
options
,
73
.category =
AV_CLASS_CATEGORY_SWSCALER
,
74
.version =
LIBAVUTIL_VERSION_INT
,
75
};
76
77
const
AVClass
*
sws_get_class
(
void
)
78
{
79
return
&
sws_context_class
;
80
}
Generated on Sat May 25 2013 03:58:38 for FFmpeg by
1.8.2