Mercurial > mplayer.hg
annotate libswscale/swscale.h @ 29888:5c39c41f38e8
Deobfuscate the special hack to disable cache for live555.
Cache can not be used for it, since it does not provide any
data stream, the data is provided to the demuxer "behind
MPlayer's back".
author | reimar |
---|---|
date | Tue, 17 Nov 2009 19:23:55 +0000 |
parents | c2e91cf65729 |
children | e8e1f8cc7c5b |
rev | line source |
---|---|
18861 | 1 /* |
20094
aca9e9783f67
Change license headers to say 'FFmpeg' instead of 'this program'.
diego
parents:
19661
diff
changeset
|
2 * Copyright (C) 2001-2003 Michael Niedermayer <michaelni@gmx.at> |
aca9e9783f67
Change license headers to say 'FFmpeg' instead of 'this program'.
diego
parents:
19661
diff
changeset
|
3 * |
aca9e9783f67
Change license headers to say 'FFmpeg' instead of 'this program'.
diego
parents:
19661
diff
changeset
|
4 * This file is part of FFmpeg. |
aca9e9783f67
Change license headers to say 'FFmpeg' instead of 'this program'.
diego
parents:
19661
diff
changeset
|
5 * |
21029
1f2ba24b4e47
Clarify that some of the non-SIMD code is now LGPLed.
lucabe
parents:
20094
diff
changeset
|
6 * FFmpeg is free software; you can redistribute it and/or |
1f2ba24b4e47
Clarify that some of the non-SIMD code is now LGPLed.
lucabe
parents:
20094
diff
changeset
|
7 * modify it under the terms of the GNU Lesser General Public |
1f2ba24b4e47
Clarify that some of the non-SIMD code is now LGPLed.
lucabe
parents:
20094
diff
changeset
|
8 * License as published by the Free Software Foundation; either |
1f2ba24b4e47
Clarify that some of the non-SIMD code is now LGPLed.
lucabe
parents:
20094
diff
changeset
|
9 * version 2.1 of the License, or (at your option) any later version. |
20094
aca9e9783f67
Change license headers to say 'FFmpeg' instead of 'this program'.
diego
parents:
19661
diff
changeset
|
10 * |
aca9e9783f67
Change license headers to say 'FFmpeg' instead of 'this program'.
diego
parents:
19661
diff
changeset
|
11 * FFmpeg is distributed in the hope that it will be useful, |
aca9e9783f67
Change license headers to say 'FFmpeg' instead of 'this program'.
diego
parents:
19661
diff
changeset
|
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
21029
1f2ba24b4e47
Clarify that some of the non-SIMD code is now LGPLed.
lucabe
parents:
20094
diff
changeset
|
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
1f2ba24b4e47
Clarify that some of the non-SIMD code is now LGPLed.
lucabe
parents:
20094
diff
changeset
|
14 * Lesser General Public License for more details. |
20094
aca9e9783f67
Change license headers to say 'FFmpeg' instead of 'this program'.
diego
parents:
19661
diff
changeset
|
15 * |
21029
1f2ba24b4e47
Clarify that some of the non-SIMD code is now LGPLed.
lucabe
parents:
20094
diff
changeset
|
16 * You should have received a copy of the GNU Lesser General Public |
1f2ba24b4e47
Clarify that some of the non-SIMD code is now LGPLed.
lucabe
parents:
20094
diff
changeset
|
17 * License along with FFmpeg; if not, write to the Free Software |
23702 | 18 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA |
20094
aca9e9783f67
Change license headers to say 'FFmpeg' instead of 'this program'.
diego
parents:
19661
diff
changeset
|
19 */ |
18861 | 20 |
27467
239a049163eb
Change header inclusion guard names in line with FFmpeg r15120.
stefano
parents:
27460
diff
changeset
|
21 #ifndef SWSCALE_SWSCALE_H |
239a049163eb
Change header inclusion guard names in line with FFmpeg r15120.
stefano
parents:
27460
diff
changeset
|
22 #define SWSCALE_SWSCALE_H |
18861 | 23 |
24 /** | |
28379
296f37c6ff02
Use full internal pathname in doxygen @file directives.
diego
parents:
27560
diff
changeset
|
25 * @file libswscale/swscale.h |
23129 | 26 * @brief |
18861 | 27 * external api for the swscale stuff |
28 */ | |
29 | |
26065 | 30 #include "libavutil/avutil.h" |
21870
cad3e015ddde
deprecate sws_scale_ordered(), as it now is a duplicate of sws_scale()
lucabe
parents:
21029
diff
changeset
|
31 |
26073 | 32 #define LIBSWSCALE_VERSION_MAJOR 0 |
28531
a14b65e14dc9
Implement sws_printVec2() and deprecate sws_printVec().
stefano
parents:
28530
diff
changeset
|
33 #define LIBSWSCALE_VERSION_MINOR 7 |
28665 | 34 #define LIBSWSCALE_VERSION_MICRO 1 |
26002 | 35 |
26073 | 36 #define LIBSWSCALE_VERSION_INT AV_VERSION_INT(LIBSWSCALE_VERSION_MAJOR, \ |
37 LIBSWSCALE_VERSION_MINOR, \ | |
38 LIBSWSCALE_VERSION_MICRO) | |
39 #define LIBSWSCALE_VERSION AV_VERSION(LIBSWSCALE_VERSION_MAJOR, \ | |
40 LIBSWSCALE_VERSION_MINOR, \ | |
41 LIBSWSCALE_VERSION_MICRO) | |
19143
c4dac777b44c
Use libavutil in libswscale, and allow it to be built out of the mplayer tree
lucabe
parents:
18861
diff
changeset
|
42 #define LIBSWSCALE_BUILD LIBSWSCALE_VERSION_INT |
c4dac777b44c
Use libavutil in libswscale, and allow it to be built out of the mplayer tree
lucabe
parents:
18861
diff
changeset
|
43 |
c4dac777b44c
Use libavutil in libswscale, and allow it to be built out of the mplayer tree
lucabe
parents:
18861
diff
changeset
|
44 #define LIBSWSCALE_IDENT "SwS" AV_STRINGIFY(LIBSWSCALE_VERSION) |
c4dac777b44c
Use libavutil in libswscale, and allow it to be built out of the mplayer tree
lucabe
parents:
18861
diff
changeset
|
45 |
27460 | 46 /** |
47 * Returns the LIBSWSCALE_VERSION_INT constant. | |
48 */ | |
49 unsigned swscale_version(void); | |
50 | |
18861 | 51 /* values for the flags, the stuff on the command line is different */ |
23155
1befc8d767cd
cosmetics attack, part II: Remove all tabs and prettyprint/reindent the code.
diego
parents:
23129
diff
changeset
|
52 #define SWS_FAST_BILINEAR 1 |
1befc8d767cd
cosmetics attack, part II: Remove all tabs and prettyprint/reindent the code.
diego
parents:
23129
diff
changeset
|
53 #define SWS_BILINEAR 2 |
1befc8d767cd
cosmetics attack, part II: Remove all tabs and prettyprint/reindent the code.
diego
parents:
23129
diff
changeset
|
54 #define SWS_BICUBIC 4 |
1befc8d767cd
cosmetics attack, part II: Remove all tabs and prettyprint/reindent the code.
diego
parents:
23129
diff
changeset
|
55 #define SWS_X 8 |
1befc8d767cd
cosmetics attack, part II: Remove all tabs and prettyprint/reindent the code.
diego
parents:
23129
diff
changeset
|
56 #define SWS_POINT 0x10 |
1befc8d767cd
cosmetics attack, part II: Remove all tabs and prettyprint/reindent the code.
diego
parents:
23129
diff
changeset
|
57 #define SWS_AREA 0x20 |
1befc8d767cd
cosmetics attack, part II: Remove all tabs and prettyprint/reindent the code.
diego
parents:
23129
diff
changeset
|
58 #define SWS_BICUBLIN 0x40 |
1befc8d767cd
cosmetics attack, part II: Remove all tabs and prettyprint/reindent the code.
diego
parents:
23129
diff
changeset
|
59 #define SWS_GAUSS 0x80 |
1befc8d767cd
cosmetics attack, part II: Remove all tabs and prettyprint/reindent the code.
diego
parents:
23129
diff
changeset
|
60 #define SWS_SINC 0x100 |
1befc8d767cd
cosmetics attack, part II: Remove all tabs and prettyprint/reindent the code.
diego
parents:
23129
diff
changeset
|
61 #define SWS_LANCZOS 0x200 |
1befc8d767cd
cosmetics attack, part II: Remove all tabs and prettyprint/reindent the code.
diego
parents:
23129
diff
changeset
|
62 #define SWS_SPLINE 0x400 |
18861 | 63 |
23155
1befc8d767cd
cosmetics attack, part II: Remove all tabs and prettyprint/reindent the code.
diego
parents:
23129
diff
changeset
|
64 #define SWS_SRC_V_CHR_DROP_MASK 0x30000 |
1befc8d767cd
cosmetics attack, part II: Remove all tabs and prettyprint/reindent the code.
diego
parents:
23129
diff
changeset
|
65 #define SWS_SRC_V_CHR_DROP_SHIFT 16 |
18861 | 66 |
23155
1befc8d767cd
cosmetics attack, part II: Remove all tabs and prettyprint/reindent the code.
diego
parents:
23129
diff
changeset
|
67 #define SWS_PARAM_DEFAULT 123456 |
18861 | 68 |
23155
1befc8d767cd
cosmetics attack, part II: Remove all tabs and prettyprint/reindent the code.
diego
parents:
23129
diff
changeset
|
69 #define SWS_PRINT_INFO 0x1000 |
18861 | 70 |
23536 | 71 //the following 3 flags are not completely implemented |
72 //internal chrominace subsampling info | |
23155
1befc8d767cd
cosmetics attack, part II: Remove all tabs and prettyprint/reindent the code.
diego
parents:
23129
diff
changeset
|
73 #define SWS_FULL_CHR_H_INT 0x2000 |
18861 | 74 //input subsampling info |
23155
1befc8d767cd
cosmetics attack, part II: Remove all tabs and prettyprint/reindent the code.
diego
parents:
23129
diff
changeset
|
75 #define SWS_FULL_CHR_H_INP 0x4000 |
1befc8d767cd
cosmetics attack, part II: Remove all tabs and prettyprint/reindent the code.
diego
parents:
23129
diff
changeset
|
76 #define SWS_DIRECT_BGR 0x8000 |
1befc8d767cd
cosmetics attack, part II: Remove all tabs and prettyprint/reindent the code.
diego
parents:
23129
diff
changeset
|
77 #define SWS_ACCURATE_RND 0x40000 |
27560 | 78 #define SWS_BITEXACT 0x80000 |
18861 | 79 |
23155
1befc8d767cd
cosmetics attack, part II: Remove all tabs and prettyprint/reindent the code.
diego
parents:
23129
diff
changeset
|
80 #define SWS_CPU_CAPS_MMX 0x80000000 |
1befc8d767cd
cosmetics attack, part II: Remove all tabs and prettyprint/reindent the code.
diego
parents:
23129
diff
changeset
|
81 #define SWS_CPU_CAPS_MMX2 0x20000000 |
1befc8d767cd
cosmetics attack, part II: Remove all tabs and prettyprint/reindent the code.
diego
parents:
23129
diff
changeset
|
82 #define SWS_CPU_CAPS_3DNOW 0x40000000 |
1befc8d767cd
cosmetics attack, part II: Remove all tabs and prettyprint/reindent the code.
diego
parents:
23129
diff
changeset
|
83 #define SWS_CPU_CAPS_ALTIVEC 0x10000000 |
23289
786823779b67
Blackfin optimized YUV420 to RGB CSC Color Space Converters.
gpoirier
parents:
23155
diff
changeset
|
84 #define SWS_CPU_CAPS_BFIN 0x01000000 |
18861 | 85 |
86 #define SWS_MAX_REDUCE_CUTOFF 0.002 | |
87 | |
23155
1befc8d767cd
cosmetics attack, part II: Remove all tabs and prettyprint/reindent the code.
diego
parents:
23129
diff
changeset
|
88 #define SWS_CS_ITU709 1 |
1befc8d767cd
cosmetics attack, part II: Remove all tabs and prettyprint/reindent the code.
diego
parents:
23129
diff
changeset
|
89 #define SWS_CS_FCC 4 |
1befc8d767cd
cosmetics attack, part II: Remove all tabs and prettyprint/reindent the code.
diego
parents:
23129
diff
changeset
|
90 #define SWS_CS_ITU601 5 |
1befc8d767cd
cosmetics attack, part II: Remove all tabs and prettyprint/reindent the code.
diego
parents:
23129
diff
changeset
|
91 #define SWS_CS_ITU624 5 |
1befc8d767cd
cosmetics attack, part II: Remove all tabs and prettyprint/reindent the code.
diego
parents:
23129
diff
changeset
|
92 #define SWS_CS_SMPTE170M 5 |
1befc8d767cd
cosmetics attack, part II: Remove all tabs and prettyprint/reindent the code.
diego
parents:
23129
diff
changeset
|
93 #define SWS_CS_SMPTE240M 7 |
1befc8d767cd
cosmetics attack, part II: Remove all tabs and prettyprint/reindent the code.
diego
parents:
23129
diff
changeset
|
94 #define SWS_CS_DEFAULT 5 |
18861 | 95 |
96 | |
97 | |
98 // when used for filters they must have an odd number of elements | |
99 // coeffs cannot be shared between vectors | |
100 typedef struct { | |
28477 | 101 double *coeff; ///< pointer to the list of coefficients |
102 int length; ///< number of coefficients in the vector | |
18861 | 103 } SwsVector; |
104 | |
105 // vectors can be shared | |
106 typedef struct { | |
23155
1befc8d767cd
cosmetics attack, part II: Remove all tabs and prettyprint/reindent the code.
diego
parents:
23129
diff
changeset
|
107 SwsVector *lumH; |
1befc8d767cd
cosmetics attack, part II: Remove all tabs and prettyprint/reindent the code.
diego
parents:
23129
diff
changeset
|
108 SwsVector *lumV; |
1befc8d767cd
cosmetics attack, part II: Remove all tabs and prettyprint/reindent the code.
diego
parents:
23129
diff
changeset
|
109 SwsVector *chrH; |
1befc8d767cd
cosmetics attack, part II: Remove all tabs and prettyprint/reindent the code.
diego
parents:
23129
diff
changeset
|
110 SwsVector *chrV; |
18861 | 111 } SwsFilter; |
112 | |
113 struct SwsContext; | |
114 | |
29802 | 115 /** |
116 * Frees the swscaler context swsContext. | |
117 * If swsContext is NULL, then does nothing. | |
118 */ | |
18861 | 119 void sws_freeContext(struct SwsContext *swsContext); |
120 | |
28500 | 121 /** |
122 * Allocates and returns a SwsContext. You need it to perform | |
123 * scaling/conversion operations using sws_scale(). | |
124 * | |
125 * @param srcW the width of the source image | |
126 * @param srcH the height of the source image | |
127 * @param srcFormat the source image format | |
128 * @param dstW the width of the destination image | |
129 * @param dstH the height of the destination image | |
130 * @param dstFormat the destination image format | |
131 * @param flags specify which algorithm and options to use for rescaling | |
132 * @return a pointer to an allocated context, or NULL in case of error | |
133 */ | |
29140
b322381cf5e1
whitespace cosmetics: Break some overly long lines.
diego
parents:
28665
diff
changeset
|
134 struct SwsContext *sws_getContext(int srcW, int srcH, enum PixelFormat srcFormat, |
b322381cf5e1
whitespace cosmetics: Break some overly long lines.
diego
parents:
28665
diff
changeset
|
135 int dstW, int dstH, enum PixelFormat dstFormat, |
b322381cf5e1
whitespace cosmetics: Break some overly long lines.
diego
parents:
28665
diff
changeset
|
136 int flags, SwsFilter *srcFilter, |
29246
8861e08033eb
Add const qualifier to param argument of sws_getContext() and
diego
parents:
29145
diff
changeset
|
137 SwsFilter *dstFilter, const double *param); |
28619 | 138 |
139 /** | |
29309
037740689e99
Remove '\p' doxygen markup, as it should improve plain text doxy
stefano
parents:
29246
diff
changeset
|
140 * Scales the image slice in srcSlice and puts the resulting scaled |
037740689e99
Remove '\p' doxygen markup, as it should improve plain text doxy
stefano
parents:
29246
diff
changeset
|
141 * slice in the image in dst. A slice is a sequence of consecutive |
29762
bb26e1db5c90
Document slice ordering assumption done by sws_scale().
stefano
parents:
29623
diff
changeset
|
142 * rows in an image. |
bb26e1db5c90
Document slice ordering assumption done by sws_scale().
stefano
parents:
29623
diff
changeset
|
143 * |
bb26e1db5c90
Document slice ordering assumption done by sws_scale().
stefano
parents:
29623
diff
changeset
|
144 * Slices have to be provided in sequential order, either in |
bb26e1db5c90
Document slice ordering assumption done by sws_scale().
stefano
parents:
29623
diff
changeset
|
145 * top-bottom or bottom-top order. If slices are provided in |
bb26e1db5c90
Document slice ordering assumption done by sws_scale().
stefano
parents:
29623
diff
changeset
|
146 * non-sequential order the behavior of the function is undefined. |
28619 | 147 * |
148 * @param context the scaling context previously created with | |
149 * sws_getContext() | |
28620
77f2575e2a91
Rename the "src" parameter in the sws_scale() declaration to
stefano
parents:
28619
diff
changeset
|
150 * @param srcSlice the array containing the pointers to the planes of |
28619 | 151 * the source slice |
152 * @param srcStride the array containing the strides for each plane of | |
153 * the source image | |
154 * @param srcSliceY the position in the source image of the slice to | |
155 * process, that is the number (counted starting from | |
156 * zero) in the image of the first row of the slice | |
157 * @param srcSliceH the height of the source slice, that is the number | |
158 * of rows in the slice | |
159 * @param dst the array containing the pointers to the planes of | |
160 * the destination image | |
161 * @param dstStride the array containing the strides for each plane of | |
162 * the destination image | |
163 * @return the height of the output slice | |
164 */ | |
29140
b322381cf5e1
whitespace cosmetics: Break some overly long lines.
diego
parents:
28665
diff
changeset
|
165 int sws_scale(struct SwsContext *context, uint8_t* srcSlice[], int srcStride[], |
b322381cf5e1
whitespace cosmetics: Break some overly long lines.
diego
parents:
28665
diff
changeset
|
166 int srcSliceY, int srcSliceH, uint8_t* dst[], int dstStride[]); |
28457
7d49f24cc18f
Drop the deprecated sws_scale_ordered() at the next major version
stefano
parents:
28456
diff
changeset
|
167 #if LIBSWSCALE_VERSION_MAJOR < 1 |
28486
423d3751bfd2
Add a @deprecated notice to swscale_get_ordered().
stefano
parents:
28477
diff
changeset
|
168 /** |
423d3751bfd2
Add a @deprecated notice to swscale_get_ordered().
stefano
parents:
28477
diff
changeset
|
169 * @deprecated Use sws_scale() instead. |
423d3751bfd2
Add a @deprecated notice to swscale_get_ordered().
stefano
parents:
28477
diff
changeset
|
170 */ |
29140
b322381cf5e1
whitespace cosmetics: Break some overly long lines.
diego
parents:
28665
diff
changeset
|
171 int sws_scale_ordered(struct SwsContext *context, uint8_t* src[], |
b322381cf5e1
whitespace cosmetics: Break some overly long lines.
diego
parents:
28665
diff
changeset
|
172 int srcStride[], int srcSliceY, int srcSliceH, |
b322381cf5e1
whitespace cosmetics: Break some overly long lines.
diego
parents:
28665
diff
changeset
|
173 uint8_t* dst[], int dstStride[]) attribute_deprecated; |
28457
7d49f24cc18f
Drop the deprecated sws_scale_ordered() at the next major version
stefano
parents:
28456
diff
changeset
|
174 #endif |
18861 | 175 |
29145
af07ee7cae9c
Move sws_[gs]etColorspaceDetails() documentation from swscale.c to
stefano
parents:
29140
diff
changeset
|
176 /** |
af07ee7cae9c
Move sws_[gs]etColorspaceDetails() documentation from swscale.c to
stefano
parents:
29140
diff
changeset
|
177 * @param inv_table the yuv2rgb coefficients, normally ff_yuv2rgb_coeffs[x] |
af07ee7cae9c
Move sws_[gs]etColorspaceDetails() documentation from swscale.c to
stefano
parents:
29140
diff
changeset
|
178 * @param fullRange if 1 then the luma range is 0..255 if 0 it is 16..235 |
af07ee7cae9c
Move sws_[gs]etColorspaceDetails() documentation from swscale.c to
stefano
parents:
29140
diff
changeset
|
179 * @return -1 if not supported |
af07ee7cae9c
Move sws_[gs]etColorspaceDetails() documentation from swscale.c to
stefano
parents:
29140
diff
changeset
|
180 */ |
29140
b322381cf5e1
whitespace cosmetics: Break some overly long lines.
diego
parents:
28665
diff
changeset
|
181 int sws_setColorspaceDetails(struct SwsContext *c, const int inv_table[4], |
b322381cf5e1
whitespace cosmetics: Break some overly long lines.
diego
parents:
28665
diff
changeset
|
182 int srcRange, const int table[4], int dstRange, |
b322381cf5e1
whitespace cosmetics: Break some overly long lines.
diego
parents:
28665
diff
changeset
|
183 int brightness, int contrast, int saturation); |
29145
af07ee7cae9c
Move sws_[gs]etColorspaceDetails() documentation from swscale.c to
stefano
parents:
29140
diff
changeset
|
184 |
af07ee7cae9c
Move sws_[gs]etColorspaceDetails() documentation from swscale.c to
stefano
parents:
29140
diff
changeset
|
185 /** |
af07ee7cae9c
Move sws_[gs]etColorspaceDetails() documentation from swscale.c to
stefano
parents:
29140
diff
changeset
|
186 * @return -1 if not supported |
af07ee7cae9c
Move sws_[gs]etColorspaceDetails() documentation from swscale.c to
stefano
parents:
29140
diff
changeset
|
187 */ |
29140
b322381cf5e1
whitespace cosmetics: Break some overly long lines.
diego
parents:
28665
diff
changeset
|
188 int sws_getColorspaceDetails(struct SwsContext *c, int **inv_table, |
b322381cf5e1
whitespace cosmetics: Break some overly long lines.
diego
parents:
28665
diff
changeset
|
189 int *srcRange, int **table, int *dstRange, |
b322381cf5e1
whitespace cosmetics: Break some overly long lines.
diego
parents:
28665
diff
changeset
|
190 int *brightness, int *contrast, int *saturation); |
28493
95cfbbaa4f03
Move sws_getGaussianVec() documentation from swscale.c to swscale.h.
stefano
parents:
28492
diff
changeset
|
191 |
95cfbbaa4f03
Move sws_getGaussianVec() documentation from swscale.c to swscale.h.
stefano
parents:
28492
diff
changeset
|
192 /** |
29494 | 193 * Allocates and returns an uninitialized vector with length coefficients. |
194 */ | |
195 SwsVector *sws_allocVec(int length); | |
196 | |
197 /** | |
28493
95cfbbaa4f03
Move sws_getGaussianVec() documentation from swscale.c to swscale.h.
stefano
parents:
28492
diff
changeset
|
198 * Returns a normalized Gaussian curve used to filter stuff |
95cfbbaa4f03
Move sws_getGaussianVec() documentation from swscale.c to swscale.h.
stefano
parents:
28492
diff
changeset
|
199 * quality=3 is high quality, lower is lower quality. |
95cfbbaa4f03
Move sws_getGaussianVec() documentation from swscale.c to swscale.h.
stefano
parents:
28492
diff
changeset
|
200 */ |
18861 | 201 SwsVector *sws_getGaussianVec(double variance, double quality); |
28489 | 202 |
203 /** | |
29309
037740689e99
Remove '\p' doxygen markup, as it should improve plain text doxy
stefano
parents:
29246
diff
changeset
|
204 * Allocates and returns a vector with length coefficients, all |
037740689e99
Remove '\p' doxygen markup, as it should improve plain text doxy
stefano
parents:
29246
diff
changeset
|
205 * with the same value c. |
28489 | 206 */ |
18861 | 207 SwsVector *sws_getConstVec(double c, int length); |
28498 | 208 |
209 /** | |
210 * Allocates and returns a vector with just one coefficient, with | |
211 * value 1.0. | |
212 */ | |
18861 | 213 SwsVector *sws_getIdentityVec(void); |
28490 | 214 |
215 /** | |
29309
037740689e99
Remove '\p' doxygen markup, as it should improve plain text doxy
stefano
parents:
29246
diff
changeset
|
216 * Scales all the coefficients of a by the scalar value. |
28490 | 217 */ |
18861 | 218 void sws_scaleVec(SwsVector *a, double scalar); |
28530 | 219 |
220 /** | |
29309
037740689e99
Remove '\p' doxygen markup, as it should improve plain text doxy
stefano
parents:
29246
diff
changeset
|
221 * Scales all the coefficients of a so that their sum equals height. |
28530 | 222 */ |
18861 | 223 void sws_normalizeVec(SwsVector *a, double height); |
224 void sws_convVec(SwsVector *a, SwsVector *b); | |
225 void sws_addVec(SwsVector *a, SwsVector *b); | |
226 void sws_subVec(SwsVector *a, SwsVector *b); | |
227 void sws_shiftVec(SwsVector *a, int shift); | |
28492 | 228 |
229 /** | |
29309
037740689e99
Remove '\p' doxygen markup, as it should improve plain text doxy
stefano
parents:
29246
diff
changeset
|
230 * Allocates and returns a clone of the vector a, that is a vector |
037740689e99
Remove '\p' doxygen markup, as it should improve plain text doxy
stefano
parents:
29246
diff
changeset
|
231 * with the same coefficients as a. |
28492 | 232 */ |
18861 | 233 SwsVector *sws_cloneVec(SwsVector *a); |
234 | |
28531
a14b65e14dc9
Implement sws_printVec2() and deprecate sws_printVec().
stefano
parents:
28530
diff
changeset
|
235 #if LIBSWSCALE_VERSION_MAJOR < 1 |
a14b65e14dc9
Implement sws_printVec2() and deprecate sws_printVec().
stefano
parents:
28530
diff
changeset
|
236 /** |
a14b65e14dc9
Implement sws_printVec2() and deprecate sws_printVec().
stefano
parents:
28530
diff
changeset
|
237 * @deprecated Use sws_printVec2() instead. |
a14b65e14dc9
Implement sws_printVec2() and deprecate sws_printVec().
stefano
parents:
28530
diff
changeset
|
238 */ |
a14b65e14dc9
Implement sws_printVec2() and deprecate sws_printVec().
stefano
parents:
28530
diff
changeset
|
239 attribute_deprecated void sws_printVec(SwsVector *a); |
a14b65e14dc9
Implement sws_printVec2() and deprecate sws_printVec().
stefano
parents:
28530
diff
changeset
|
240 #endif |
a14b65e14dc9
Implement sws_printVec2() and deprecate sws_printVec().
stefano
parents:
28530
diff
changeset
|
241 |
a14b65e14dc9
Implement sws_printVec2() and deprecate sws_printVec().
stefano
parents:
28530
diff
changeset
|
242 /** |
29309
037740689e99
Remove '\p' doxygen markup, as it should improve plain text doxy
stefano
parents:
29246
diff
changeset
|
243 * Prints with av_log() a textual representation of the vector a |
037740689e99
Remove '\p' doxygen markup, as it should improve plain text doxy
stefano
parents:
29246
diff
changeset
|
244 * if log_level <= av_log_level. |
28531
a14b65e14dc9
Implement sws_printVec2() and deprecate sws_printVec().
stefano
parents:
28530
diff
changeset
|
245 */ |
a14b65e14dc9
Implement sws_printVec2() and deprecate sws_printVec().
stefano
parents:
28530
diff
changeset
|
246 void sws_printVec2(SwsVector *a, AVClass *log_ctx, int log_level); |
a14b65e14dc9
Implement sws_printVec2() and deprecate sws_printVec().
stefano
parents:
28530
diff
changeset
|
247 |
18861 | 248 void sws_freeVec(SwsVector *a); |
249 | |
23129 | 250 SwsFilter *sws_getDefaultFilter(float lumaGBlur, float chromaGBlur, |
28455 | 251 float lumaSharpen, float chromaSharpen, |
23155
1befc8d767cd
cosmetics attack, part II: Remove all tabs and prettyprint/reindent the code.
diego
parents:
23129
diff
changeset
|
252 float chromaHShift, float chromaVShift, |
1befc8d767cd
cosmetics attack, part II: Remove all tabs and prettyprint/reindent the code.
diego
parents:
23129
diff
changeset
|
253 int verbose); |
18861 | 254 void sws_freeFilter(SwsFilter *filter); |
255 | |
28488
01afb64ccf4a
Move documentation of sws_getCachedContext() from swscale.c to
stefano
parents:
28486
diff
changeset
|
256 /** |
29309
037740689e99
Remove '\p' doxygen markup, as it should improve plain text doxy
stefano
parents:
29246
diff
changeset
|
257 * Checks if context can be reused, otherwise reallocates a new |
28502
514300a59359
Apply misc fixes for sws_getCachedContext() documentation.
stefano
parents:
28501
diff
changeset
|
258 * one. |
28488
01afb64ccf4a
Move documentation of sws_getCachedContext() from swscale.c to
stefano
parents:
28486
diff
changeset
|
259 * |
29309
037740689e99
Remove '\p' doxygen markup, as it should improve plain text doxy
stefano
parents:
29246
diff
changeset
|
260 * If context is NULL, just calls sws_getContext() to get a new |
28502
514300a59359
Apply misc fixes for sws_getCachedContext() documentation.
stefano
parents:
28501
diff
changeset
|
261 * context. Otherwise, checks if the parameters are the ones already |
29309
037740689e99
Remove '\p' doxygen markup, as it should improve plain text doxy
stefano
parents:
29246
diff
changeset
|
262 * saved in context. If that is the case, returns the current |
037740689e99
Remove '\p' doxygen markup, as it should improve plain text doxy
stefano
parents:
29246
diff
changeset
|
263 * context. Otherwise, frees context and gets a new context with |
28502
514300a59359
Apply misc fixes for sws_getCachedContext() documentation.
stefano
parents:
28501
diff
changeset
|
264 * the new parameters. |
514300a59359
Apply misc fixes for sws_getCachedContext() documentation.
stefano
parents:
28501
diff
changeset
|
265 * |
29309
037740689e99
Remove '\p' doxygen markup, as it should improve plain text doxy
stefano
parents:
29246
diff
changeset
|
266 * Be warned that srcFilter and dstFilter are not checked, they |
28502
514300a59359
Apply misc fixes for sws_getCachedContext() documentation.
stefano
parents:
28501
diff
changeset
|
267 * are assumed to remain the same. |
28488
01afb64ccf4a
Move documentation of sws_getCachedContext() from swscale.c to
stefano
parents:
28486
diff
changeset
|
268 */ |
19661
7b24faac56fd
Add sws_getCachedContext(), which checks if context is valid or reallocs a new one instead.
gpoirier
parents:
19594
diff
changeset
|
269 struct SwsContext *sws_getCachedContext(struct SwsContext *context, |
28456
2402abd3a2d5
Replace int type with enum PixelFormat for the dstFormat/srcFormat
stefano
parents:
28455
diff
changeset
|
270 int srcW, int srcH, enum PixelFormat srcFormat, |
29140
b322381cf5e1
whitespace cosmetics: Break some overly long lines.
diego
parents:
28665
diff
changeset
|
271 int dstW, int dstH, enum PixelFormat dstFormat, |
b322381cf5e1
whitespace cosmetics: Break some overly long lines.
diego
parents:
28665
diff
changeset
|
272 int flags, SwsFilter *srcFilter, |
29246
8861e08033eb
Add const qualifier to param argument of sws_getContext() and
diego
parents:
29145
diff
changeset
|
273 SwsFilter *dstFilter, const double *param); |
19661
7b24faac56fd
Add sws_getCachedContext(), which checks if context is valid or reallocs a new one instead.
gpoirier
parents:
19594
diff
changeset
|
274 |
27467
239a049163eb
Change header inclusion guard names in line with FFmpeg r15120.
stefano
parents:
27460
diff
changeset
|
275 #endif /* SWSCALE_SWSCALE_H */ |