annotate libswscale/swscale.h @ 32282:606e4157cd4c

Split alloc and init of context so that parameters can be set in the context instead of requireing being passed through function parameters. This also makes sws work with AVOptions.
author michael
date Sun, 26 Sep 2010 19:33:57 +0000
parents 2aa88c36f9fc
children d491698b1162
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
18861
8579acff875e Move postproc ---> libswscale
lucabe
parents:
diff changeset
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
5159b5f8784e license header consistency cosmetics
diego
parents: 23536
diff changeset
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
8579acff875e Move postproc ---> libswscale
lucabe
parents:
diff changeset
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
8579acff875e Move postproc ---> libswscale
lucabe
parents:
diff changeset
23
8579acff875e Move postproc ---> libswscale
lucabe
parents:
diff changeset
24 /**
31008
23af929986ec Remove explicit filename from Doxygen @file commands.
diego
parents: 30477
diff changeset
25 * @file
23129
9528d1ebe68f cosmetics: Remove trailing whitespace.
diego
parents: 21870
diff changeset
26 * @brief
18861
8579acff875e Move postproc ---> libswscale
lucabe
parents:
diff changeset
27 * external api for the swscale stuff
8579acff875e Move postproc ---> libswscale
lucabe
parents:
diff changeset
28 */
8579acff875e Move postproc ---> libswscale
lucabe
parents:
diff changeset
29
26065
68b558c4c833 #include "libavutil/avutil.h" in swscale.h
mru
parents: 26002
diff changeset
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
123219eaeeca less preprocessor magic in version number macros
mru
parents: 26065
diff changeset
32 #define LIBSWSCALE_VERSION_MAJOR 0
31235
661755507236 deprecate palette8topacked32 in favor of public API functions sws_convertPalette8ToPacked32 and -24
siretart
parents: 31135
diff changeset
33 #define LIBSWSCALE_VERSION_MINOR 11
30194
bd9db1814611 Implement sws_isSupportedInput() and sws_isSupportedOutput().
stefano
parents: 30138
diff changeset
34 #define LIBSWSCALE_VERSION_MICRO 0
26002
b225be4ade8a Clean up lib* version definitions
mru
parents: 25981
diff changeset
35
26073
123219eaeeca less preprocessor magic in version number macros
mru
parents: 26065
diff changeset
36 #define LIBSWSCALE_VERSION_INT AV_VERSION_INT(LIBSWSCALE_VERSION_MAJOR, \
123219eaeeca less preprocessor magic in version number macros
mru
parents: 26065
diff changeset
37 LIBSWSCALE_VERSION_MINOR, \
123219eaeeca less preprocessor magic in version number macros
mru
parents: 26065
diff changeset
38 LIBSWSCALE_VERSION_MICRO)
123219eaeeca less preprocessor magic in version number macros
mru
parents: 26065
diff changeset
39 #define LIBSWSCALE_VERSION AV_VERSION(LIBSWSCALE_VERSION_MAJOR, \
123219eaeeca less preprocessor magic in version number macros
mru
parents: 26065
diff changeset
40 LIBSWSCALE_VERSION_MINOR, \
123219eaeeca less preprocessor magic in version number macros
mru
parents: 26065
diff changeset
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
1b5516898adb Implement swscale_version().
stefano
parents: 26151
diff changeset
46 /**
31781
036d59b53de2 Revert commit:
stefano
parents: 31706
diff changeset
47 * Returns the LIBSWSCALE_VERSION_INT constant.
27460
1b5516898adb Implement swscale_version().
stefano
parents: 26151
diff changeset
48 */
1b5516898adb Implement swscale_version().
stefano
parents: 26151
diff changeset
49 unsigned swscale_version(void);
1b5516898adb Implement swscale_version().
stefano
parents: 26151
diff changeset
50
29890
e8e1f8cc7c5b Add functions to return library license and library configuration.
diego
parents: 29802
diff changeset
51 /**
31781
036d59b53de2 Revert commit:
stefano
parents: 31706
diff changeset
52 * Returns the libswscale build-time configuration.
29890
e8e1f8cc7c5b Add functions to return library license and library configuration.
diego
parents: 29802
diff changeset
53 */
30138
acc6ed68a385 Prefer "*FUNC_NAME(" over "* FUNC_NAME(" for the
stefano
parents: 29926
diff changeset
54 const char *swscale_configuration(void);
29890
e8e1f8cc7c5b Add functions to return library license and library configuration.
diego
parents: 29802
diff changeset
55
e8e1f8cc7c5b Add functions to return library license and library configuration.
diego
parents: 29802
diff changeset
56 /**
31781
036d59b53de2 Revert commit:
stefano
parents: 31706
diff changeset
57 * Returns the libswscale license.
29890
e8e1f8cc7c5b Add functions to return library license and library configuration.
diego
parents: 29802
diff changeset
58 */
30138
acc6ed68a385 Prefer "*FUNC_NAME(" over "* FUNC_NAME(" for the
stefano
parents: 29926
diff changeset
59 const char *swscale_license(void);
29890
e8e1f8cc7c5b Add functions to return library license and library configuration.
diego
parents: 29802
diff changeset
60
18861
8579acff875e Move postproc ---> libswscale
lucabe
parents:
diff changeset
61 /* 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
62 #define SWS_FAST_BILINEAR 1
1befc8d767cd cosmetics attack, part II: Remove all tabs and prettyprint/reindent the code.
diego
parents: 23129
diff changeset
63 #define SWS_BILINEAR 2
1befc8d767cd cosmetics attack, part II: Remove all tabs and prettyprint/reindent the code.
diego
parents: 23129
diff changeset
64 #define SWS_BICUBIC 4
1befc8d767cd cosmetics attack, part II: Remove all tabs and prettyprint/reindent the code.
diego
parents: 23129
diff changeset
65 #define SWS_X 8
1befc8d767cd cosmetics attack, part II: Remove all tabs and prettyprint/reindent the code.
diego
parents: 23129
diff changeset
66 #define SWS_POINT 0x10
1befc8d767cd cosmetics attack, part II: Remove all tabs and prettyprint/reindent the code.
diego
parents: 23129
diff changeset
67 #define SWS_AREA 0x20
1befc8d767cd cosmetics attack, part II: Remove all tabs and prettyprint/reindent the code.
diego
parents: 23129
diff changeset
68 #define SWS_BICUBLIN 0x40
1befc8d767cd cosmetics attack, part II: Remove all tabs and prettyprint/reindent the code.
diego
parents: 23129
diff changeset
69 #define SWS_GAUSS 0x80
1befc8d767cd cosmetics attack, part II: Remove all tabs and prettyprint/reindent the code.
diego
parents: 23129
diff changeset
70 #define SWS_SINC 0x100
1befc8d767cd cosmetics attack, part II: Remove all tabs and prettyprint/reindent the code.
diego
parents: 23129
diff changeset
71 #define SWS_LANCZOS 0x200
1befc8d767cd cosmetics attack, part II: Remove all tabs and prettyprint/reindent the code.
diego
parents: 23129
diff changeset
72 #define SWS_SPLINE 0x400
18861
8579acff875e Move postproc ---> libswscale
lucabe
parents:
diff changeset
73
23155
1befc8d767cd cosmetics attack, part II: Remove all tabs and prettyprint/reindent the code.
diego
parents: 23129
diff changeset
74 #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
75 #define SWS_SRC_V_CHR_DROP_SHIFT 16
18861
8579acff875e Move postproc ---> libswscale
lucabe
parents:
diff changeset
76
23155
1befc8d767cd cosmetics attack, part II: Remove all tabs and prettyprint/reindent the code.
diego
parents: 23129
diff changeset
77 #define SWS_PARAM_DEFAULT 123456
18861
8579acff875e Move postproc ---> libswscale
lucabe
parents:
diff changeset
78
23155
1befc8d767cd cosmetics attack, part II: Remove all tabs and prettyprint/reindent the code.
diego
parents: 23129
diff changeset
79 #define SWS_PRINT_INFO 0x1000
18861
8579acff875e Move postproc ---> libswscale
lucabe
parents:
diff changeset
80
23536
ab4c0bba8f22 misc spelling fixes
diego
parents: 23304
diff changeset
81 //the following 3 flags are not completely implemented
ab4c0bba8f22 misc spelling fixes
diego
parents: 23304
diff changeset
82 //internal chrominace subsampling info
23155
1befc8d767cd cosmetics attack, part II: Remove all tabs and prettyprint/reindent the code.
diego
parents: 23129
diff changeset
83 #define SWS_FULL_CHR_H_INT 0x2000
18861
8579acff875e Move postproc ---> libswscale
lucabe
parents:
diff changeset
84 //input subsampling info
23155
1befc8d767cd cosmetics attack, part II: Remove all tabs and prettyprint/reindent the code.
diego
parents: 23129
diff changeset
85 #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
86 #define SWS_DIRECT_BGR 0x8000
1befc8d767cd cosmetics attack, part II: Remove all tabs and prettyprint/reindent the code.
diego
parents: 23129
diff changeset
87 #define SWS_ACCURATE_RND 0x40000
27560
f5565112d12f Add bitexact flag.
michael
parents: 27467
diff changeset
88 #define SWS_BITEXACT 0x80000
18861
8579acff875e Move postproc ---> libswscale
lucabe
parents:
diff changeset
89
23155
1befc8d767cd cosmetics attack, part II: Remove all tabs and prettyprint/reindent the code.
diego
parents: 23129
diff changeset
90 #define SWS_CPU_CAPS_MMX 0x80000000
1befc8d767cd cosmetics attack, part II: Remove all tabs and prettyprint/reindent the code.
diego
parents: 23129
diff changeset
91 #define SWS_CPU_CAPS_MMX2 0x20000000
1befc8d767cd cosmetics attack, part II: Remove all tabs and prettyprint/reindent the code.
diego
parents: 23129
diff changeset
92 #define SWS_CPU_CAPS_3DNOW 0x40000000
1befc8d767cd cosmetics attack, part II: Remove all tabs and prettyprint/reindent the code.
diego
parents: 23129
diff changeset
93 #define SWS_CPU_CAPS_ALTIVEC 0x10000000
23289
786823779b67 Blackfin optimized YUV420 to RGB CSC Color Space Converters.
gpoirier
parents: 23155
diff changeset
94 #define SWS_CPU_CAPS_BFIN 0x01000000
31984
2aa88c36f9fc rgb2rgb: build SSE2 codepath
ramiro
parents: 31781
diff changeset
95 #define SWS_CPU_CAPS_SSE2 0x02000000
18861
8579acff875e Move postproc ---> libswscale
lucabe
parents:
diff changeset
96
8579acff875e Move postproc ---> libswscale
lucabe
parents:
diff changeset
97 #define SWS_MAX_REDUCE_CUTOFF 0.002
8579acff875e Move postproc ---> libswscale
lucabe
parents:
diff changeset
98
23155
1befc8d767cd cosmetics attack, part II: Remove all tabs and prettyprint/reindent the code.
diego
parents: 23129
diff changeset
99 #define SWS_CS_ITU709 1
1befc8d767cd cosmetics attack, part II: Remove all tabs and prettyprint/reindent the code.
diego
parents: 23129
diff changeset
100 #define SWS_CS_FCC 4
1befc8d767cd cosmetics attack, part II: Remove all tabs and prettyprint/reindent the code.
diego
parents: 23129
diff changeset
101 #define SWS_CS_ITU601 5
1befc8d767cd cosmetics attack, part II: Remove all tabs and prettyprint/reindent the code.
diego
parents: 23129
diff changeset
102 #define SWS_CS_ITU624 5
1befc8d767cd cosmetics attack, part II: Remove all tabs and prettyprint/reindent the code.
diego
parents: 23129
diff changeset
103 #define SWS_CS_SMPTE170M 5
1befc8d767cd cosmetics attack, part II: Remove all tabs and prettyprint/reindent the code.
diego
parents: 23129
diff changeset
104 #define SWS_CS_SMPTE240M 7
1befc8d767cd cosmetics attack, part II: Remove all tabs and prettyprint/reindent the code.
diego
parents: 23129
diff changeset
105 #define SWS_CS_DEFAULT 5
18861
8579acff875e Move postproc ---> libswscale
lucabe
parents:
diff changeset
106
30471
ef00ce26e9b5 Add function to translate SWS_CS_* to coefficient array
conrad
parents: 30339
diff changeset
107 /**
31781
036d59b53de2 Revert commit:
stefano
parents: 31706
diff changeset
108 * Returns a pointer to yuv<->rgb coefficients for the given colorspace
30477
4aea7f4c856e Apply misc fixes to sws_getCoefficients() doxy.
stefano
parents: 30476
diff changeset
109 * suitable for sws_setColorspaceDetails().
4aea7f4c856e Apply misc fixes to sws_getCoefficients() doxy.
stefano
parents: 30476
diff changeset
110 *
4aea7f4c856e Apply misc fixes to sws_getCoefficients() doxy.
stefano
parents: 30476
diff changeset
111 * @param colorspace One of the SWS_CS_* macros. If invalid,
4aea7f4c856e Apply misc fixes to sws_getCoefficients() doxy.
stefano
parents: 30476
diff changeset
112 * SWS_CS_DEFAULT is used.
30471
ef00ce26e9b5 Add function to translate SWS_CS_* to coefficient array
conrad
parents: 30339
diff changeset
113 */
30476
e6af8f398880 Satisfy consistency need:
stefano
parents: 30471
diff changeset
114 const int *sws_getCoefficients(int colorspace);
18861
8579acff875e Move postproc ---> libswscale
lucabe
parents:
diff changeset
115
8579acff875e Move postproc ---> libswscale
lucabe
parents:
diff changeset
116
8579acff875e Move postproc ---> libswscale
lucabe
parents:
diff changeset
117 // when used for filters they must have an odd number of elements
8579acff875e Move postproc ---> libswscale
lucabe
parents:
diff changeset
118 // coeffs cannot be shared between vectors
8579acff875e Move postproc ---> libswscale
lucabe
parents:
diff changeset
119 typedef struct {
28477
c01c5cffba71 Document coeff and length fields in SwsVector.
stefano
parents: 28457
diff changeset
120 double *coeff; ///< pointer to the list of coefficients
c01c5cffba71 Document coeff and length fields in SwsVector.
stefano
parents: 28457
diff changeset
121 int length; ///< number of coefficients in the vector
18861
8579acff875e Move postproc ---> libswscale
lucabe
parents:
diff changeset
122 } SwsVector;
8579acff875e Move postproc ---> libswscale
lucabe
parents:
diff changeset
123
8579acff875e Move postproc ---> libswscale
lucabe
parents:
diff changeset
124 // vectors can be shared
8579acff875e Move postproc ---> libswscale
lucabe
parents:
diff changeset
125 typedef struct {
23155
1befc8d767cd cosmetics attack, part II: Remove all tabs and prettyprint/reindent the code.
diego
parents: 23129
diff changeset
126 SwsVector *lumH;
1befc8d767cd cosmetics attack, part II: Remove all tabs and prettyprint/reindent the code.
diego
parents: 23129
diff changeset
127 SwsVector *lumV;
1befc8d767cd cosmetics attack, part II: Remove all tabs and prettyprint/reindent the code.
diego
parents: 23129
diff changeset
128 SwsVector *chrH;
1befc8d767cd cosmetics attack, part II: Remove all tabs and prettyprint/reindent the code.
diego
parents: 23129
diff changeset
129 SwsVector *chrV;
18861
8579acff875e Move postproc ---> libswscale
lucabe
parents:
diff changeset
130 } SwsFilter;
8579acff875e Move postproc ---> libswscale
lucabe
parents:
diff changeset
131
8579acff875e Move postproc ---> libswscale
lucabe
parents:
diff changeset
132 struct SwsContext;
8579acff875e Move postproc ---> libswscale
lucabe
parents:
diff changeset
133
29802
c2e91cf65729 Document sws_freeContext().
stefano
parents: 29762
diff changeset
134 /**
31781
036d59b53de2 Revert commit:
stefano
parents: 31706
diff changeset
135 * Returns a positive value if pix_fmt is a supported input format, 0
30194
bd9db1814611 Implement sws_isSupportedInput() and sws_isSupportedOutput().
stefano
parents: 30138
diff changeset
136 * otherwise.
bd9db1814611 Implement sws_isSupportedInput() and sws_isSupportedOutput().
stefano
parents: 30138
diff changeset
137 */
bd9db1814611 Implement sws_isSupportedInput() and sws_isSupportedOutput().
stefano
parents: 30138
diff changeset
138 int sws_isSupportedInput(enum PixelFormat pix_fmt);
bd9db1814611 Implement sws_isSupportedInput() and sws_isSupportedOutput().
stefano
parents: 30138
diff changeset
139
bd9db1814611 Implement sws_isSupportedInput() and sws_isSupportedOutput().
stefano
parents: 30138
diff changeset
140 /**
31781
036d59b53de2 Revert commit:
stefano
parents: 31706
diff changeset
141 * Returns a positive value if pix_fmt is a supported output format, 0
30194
bd9db1814611 Implement sws_isSupportedInput() and sws_isSupportedOutput().
stefano
parents: 30138
diff changeset
142 * otherwise.
bd9db1814611 Implement sws_isSupportedInput() and sws_isSupportedOutput().
stefano
parents: 30138
diff changeset
143 */
bd9db1814611 Implement sws_isSupportedInput() and sws_isSupportedOutput().
stefano
parents: 30138
diff changeset
144 int sws_isSupportedOutput(enum PixelFormat pix_fmt);
bd9db1814611 Implement sws_isSupportedInput() and sws_isSupportedOutput().
stefano
parents: 30138
diff changeset
145
bd9db1814611 Implement sws_isSupportedInput() and sws_isSupportedOutput().
stefano
parents: 30138
diff changeset
146 /**
32282
606e4157cd4c Split alloc and init of context so that parameters can be set in the context
michael
parents: 31984
diff changeset
147 * Alloctaes an empty SwsContext, this must be filled and passed to sws_init_context().
606e4157cd4c Split alloc and init of context so that parameters can be set in the context
michael
parents: 31984
diff changeset
148 * For filling see AVOptions, options.c and sws_setColorspaceDetails().
606e4157cd4c Split alloc and init of context so that parameters can be set in the context
michael
parents: 31984
diff changeset
149 */
606e4157cd4c Split alloc and init of context so that parameters can be set in the context
michael
parents: 31984
diff changeset
150 struct SwsContext *sws_alloc_context(void);
606e4157cd4c Split alloc and init of context so that parameters can be set in the context
michael
parents: 31984
diff changeset
151
606e4157cd4c Split alloc and init of context so that parameters can be set in the context
michael
parents: 31984
diff changeset
152 /**
606e4157cd4c Split alloc and init of context so that parameters can be set in the context
michael
parents: 31984
diff changeset
153 * Initializs the swscaler context sws_context.
606e4157cd4c Split alloc and init of context so that parameters can be set in the context
michael
parents: 31984
diff changeset
154 */
606e4157cd4c Split alloc and init of context so that parameters can be set in the context
michael
parents: 31984
diff changeset
155 int sws_init_context(struct SwsContext *sws_context, SwsFilter *srcFilter, SwsFilter *dstFilter);
606e4157cd4c Split alloc and init of context so that parameters can be set in the context
michael
parents: 31984
diff changeset
156
606e4157cd4c Split alloc and init of context so that parameters can be set in the context
michael
parents: 31984
diff changeset
157 /**
31781
036d59b53de2 Revert commit:
stefano
parents: 31706
diff changeset
158 * Frees the swscaler context swsContext.
036d59b53de2 Revert commit:
stefano
parents: 31706
diff changeset
159 * If swsContext is NULL, then does nothing.
29802
c2e91cf65729 Document sws_freeContext().
stefano
parents: 29762
diff changeset
160 */
18861
8579acff875e Move postproc ---> libswscale
lucabe
parents:
diff changeset
161 void sws_freeContext(struct SwsContext *swsContext);
8579acff875e Move postproc ---> libswscale
lucabe
parents:
diff changeset
162
28500
0fdb808fda41 Document sws_getContext().
stefano
parents: 28498
diff changeset
163 /**
31781
036d59b53de2 Revert commit:
stefano
parents: 31706
diff changeset
164 * Allocates and returns a SwsContext. You need it to perform
28500
0fdb808fda41 Document sws_getContext().
stefano
parents: 28498
diff changeset
165 * scaling/conversion operations using sws_scale().
0fdb808fda41 Document sws_getContext().
stefano
parents: 28498
diff changeset
166 *
0fdb808fda41 Document sws_getContext().
stefano
parents: 28498
diff changeset
167 * @param srcW the width of the source image
0fdb808fda41 Document sws_getContext().
stefano
parents: 28498
diff changeset
168 * @param srcH the height of the source image
0fdb808fda41 Document sws_getContext().
stefano
parents: 28498
diff changeset
169 * @param srcFormat the source image format
0fdb808fda41 Document sws_getContext().
stefano
parents: 28498
diff changeset
170 * @param dstW the width of the destination image
0fdb808fda41 Document sws_getContext().
stefano
parents: 28498
diff changeset
171 * @param dstH the height of the destination image
0fdb808fda41 Document sws_getContext().
stefano
parents: 28498
diff changeset
172 * @param dstFormat the destination image format
0fdb808fda41 Document sws_getContext().
stefano
parents: 28498
diff changeset
173 * @param flags specify which algorithm and options to use for rescaling
0fdb808fda41 Document sws_getContext().
stefano
parents: 28498
diff changeset
174 * @return a pointer to an allocated context, or NULL in case of error
32282
606e4157cd4c Split alloc and init of context so that parameters can be set in the context
michael
parents: 31984
diff changeset
175 * @deprecated use sws_alloc_context() and sws_init_context()
28500
0fdb808fda41 Document sws_getContext().
stefano
parents: 28498
diff changeset
176 */
29140
b322381cf5e1 whitespace cosmetics: Break some overly long lines.
diego
parents: 28665
diff changeset
177 struct SwsContext *sws_getContext(int srcW, int srcH, enum PixelFormat srcFormat,
b322381cf5e1 whitespace cosmetics: Break some overly long lines.
diego
parents: 28665
diff changeset
178 int dstW, int dstH, enum PixelFormat dstFormat,
b322381cf5e1 whitespace cosmetics: Break some overly long lines.
diego
parents: 28665
diff changeset
179 int flags, SwsFilter *srcFilter,
29246
8861e08033eb Add const qualifier to param argument of sws_getContext() and
diego
parents: 29145
diff changeset
180 SwsFilter *dstFilter, const double *param);
28619
d4d2d83ba82c Document sws_scale().
stefano
parents: 28531
diff changeset
181
d4d2d83ba82c Document sws_scale().
stefano
parents: 28531
diff changeset
182 /**
31781
036d59b53de2 Revert commit:
stefano
parents: 31706
diff changeset
183 * Scales the image slice in srcSlice and puts the resulting scaled
29309
037740689e99 Remove '\p' doxygen markup, as it should improve plain text doxy
stefano
parents: 29246
diff changeset
184 * 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
185 * rows in an image.
bb26e1db5c90 Document slice ordering assumption done by sws_scale().
stefano
parents: 29623
diff changeset
186 *
bb26e1db5c90 Document slice ordering assumption done by sws_scale().
stefano
parents: 29623
diff changeset
187 * Slices have to be provided in sequential order, either in
bb26e1db5c90 Document slice ordering assumption done by sws_scale().
stefano
parents: 29623
diff changeset
188 * 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
189 * non-sequential order the behavior of the function is undefined.
28619
d4d2d83ba82c Document sws_scale().
stefano
parents: 28531
diff changeset
190 *
d4d2d83ba82c Document sws_scale().
stefano
parents: 28531
diff changeset
191 * @param context the scaling context previously created with
d4d2d83ba82c Document sws_scale().
stefano
parents: 28531
diff changeset
192 * sws_getContext()
28620
77f2575e2a91 Rename the "src" parameter in the sws_scale() declaration to
stefano
parents: 28619
diff changeset
193 * @param srcSlice the array containing the pointers to the planes of
28619
d4d2d83ba82c Document sws_scale().
stefano
parents: 28531
diff changeset
194 * the source slice
d4d2d83ba82c Document sws_scale().
stefano
parents: 28531
diff changeset
195 * @param srcStride the array containing the strides for each plane of
d4d2d83ba82c Document sws_scale().
stefano
parents: 28531
diff changeset
196 * the source image
d4d2d83ba82c Document sws_scale().
stefano
parents: 28531
diff changeset
197 * @param srcSliceY the position in the source image of the slice to
d4d2d83ba82c Document sws_scale().
stefano
parents: 28531
diff changeset
198 * process, that is the number (counted starting from
d4d2d83ba82c Document sws_scale().
stefano
parents: 28531
diff changeset
199 * zero) in the image of the first row of the slice
d4d2d83ba82c Document sws_scale().
stefano
parents: 28531
diff changeset
200 * @param srcSliceH the height of the source slice, that is the number
d4d2d83ba82c Document sws_scale().
stefano
parents: 28531
diff changeset
201 * of rows in the slice
d4d2d83ba82c Document sws_scale().
stefano
parents: 28531
diff changeset
202 * @param dst the array containing the pointers to the planes of
d4d2d83ba82c Document sws_scale().
stefano
parents: 28531
diff changeset
203 * the destination image
d4d2d83ba82c Document sws_scale().
stefano
parents: 28531
diff changeset
204 * @param dstStride the array containing the strides for each plane of
d4d2d83ba82c Document sws_scale().
stefano
parents: 28531
diff changeset
205 * the destination image
d4d2d83ba82c Document sws_scale().
stefano
parents: 28531
diff changeset
206 * @return the height of the output slice
d4d2d83ba82c Document sws_scale().
stefano
parents: 28531
diff changeset
207 */
30339
39bf760bf7ce More const-correctness for sws_scale
conrad
parents: 30332
diff changeset
208 int sws_scale(struct SwsContext *context, const uint8_t* const srcSlice[], const int srcStride[],
39bf760bf7ce More const-correctness for sws_scale
conrad
parents: 30332
diff changeset
209 int srcSliceY, int srcSliceH, uint8_t* const dst[], const int dstStride[]);
31135
5a55c39743d1 Add empty newline to separate function declarations, for better
stefano
parents: 31008
diff changeset
210
28457
7d49f24cc18f Drop the deprecated sws_scale_ordered() at the next major version
stefano
parents: 28456
diff changeset
211 #if LIBSWSCALE_VERSION_MAJOR < 1
28486
423d3751bfd2 Add a @deprecated notice to swscale_get_ordered().
stefano
parents: 28477
diff changeset
212 /**
423d3751bfd2 Add a @deprecated notice to swscale_get_ordered().
stefano
parents: 28477
diff changeset
213 * @deprecated Use sws_scale() instead.
423d3751bfd2 Add a @deprecated notice to swscale_get_ordered().
stefano
parents: 28477
diff changeset
214 */
30332
b4c3e12c9a08 Make const prototypes for input sources of sws_scale_* stricter.
benoit
parents: 30264
diff changeset
215 int sws_scale_ordered(struct SwsContext *context, const uint8_t* const src[],
29140
b322381cf5e1 whitespace cosmetics: Break some overly long lines.
diego
parents: 28665
diff changeset
216 int srcStride[], int srcSliceY, int srcSliceH,
b322381cf5e1 whitespace cosmetics: Break some overly long lines.
diego
parents: 28665
diff changeset
217 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
218 #endif
18861
8579acff875e Move postproc ---> libswscale
lucabe
parents:
diff changeset
219
29145
af07ee7cae9c Move sws_[gs]etColorspaceDetails() documentation from swscale.c to
stefano
parents: 29140
diff changeset
220 /**
af07ee7cae9c Move sws_[gs]etColorspaceDetails() documentation from swscale.c to
stefano
parents: 29140
diff changeset
221 * @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
222 * @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
223 * @return -1 if not supported
af07ee7cae9c Move sws_[gs]etColorspaceDetails() documentation from swscale.c to
stefano
parents: 29140
diff changeset
224 */
29140
b322381cf5e1 whitespace cosmetics: Break some overly long lines.
diego
parents: 28665
diff changeset
225 int sws_setColorspaceDetails(struct SwsContext *c, const int inv_table[4],
b322381cf5e1 whitespace cosmetics: Break some overly long lines.
diego
parents: 28665
diff changeset
226 int srcRange, const int table[4], int dstRange,
b322381cf5e1 whitespace cosmetics: Break some overly long lines.
diego
parents: 28665
diff changeset
227 int brightness, int contrast, int saturation);
29145
af07ee7cae9c Move sws_[gs]etColorspaceDetails() documentation from swscale.c to
stefano
parents: 29140
diff changeset
228
af07ee7cae9c Move sws_[gs]etColorspaceDetails() documentation from swscale.c to
stefano
parents: 29140
diff changeset
229 /**
af07ee7cae9c Move sws_[gs]etColorspaceDetails() documentation from swscale.c to
stefano
parents: 29140
diff changeset
230 * @return -1 if not supported
af07ee7cae9c Move sws_[gs]etColorspaceDetails() documentation from swscale.c to
stefano
parents: 29140
diff changeset
231 */
29140
b322381cf5e1 whitespace cosmetics: Break some overly long lines.
diego
parents: 28665
diff changeset
232 int sws_getColorspaceDetails(struct SwsContext *c, int **inv_table,
b322381cf5e1 whitespace cosmetics: Break some overly long lines.
diego
parents: 28665
diff changeset
233 int *srcRange, int **table, int *dstRange,
b322381cf5e1 whitespace cosmetics: Break some overly long lines.
diego
parents: 28665
diff changeset
234 int *brightness, int *contrast, int *saturation);
28493
95cfbbaa4f03 Move sws_getGaussianVec() documentation from swscale.c to swscale.h.
stefano
parents: 28492
diff changeset
235
95cfbbaa4f03 Move sws_getGaussianVec() documentation from swscale.c to swscale.h.
stefano
parents: 28492
diff changeset
236 /**
29494
86786d090e11 Introduce and use sws_allocVec().
ramiro
parents: 29309
diff changeset
237 * Allocates and returns an uninitialized vector with length coefficients.
86786d090e11 Introduce and use sws_allocVec().
ramiro
parents: 29309
diff changeset
238 */
86786d090e11 Introduce and use sws_allocVec().
ramiro
parents: 29309
diff changeset
239 SwsVector *sws_allocVec(int length);
86786d090e11 Introduce and use sws_allocVec().
ramiro
parents: 29309
diff changeset
240
86786d090e11 Introduce and use sws_allocVec().
ramiro
parents: 29309
diff changeset
241 /**
31781
036d59b53de2 Revert commit:
stefano
parents: 31706
diff changeset
242 * Returns a normalized Gaussian curve used to filter stuff
28493
95cfbbaa4f03 Move sws_getGaussianVec() documentation from swscale.c to swscale.h.
stefano
parents: 28492
diff changeset
243 * 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
244 */
18861
8579acff875e Move postproc ---> libswscale
lucabe
parents:
diff changeset
245 SwsVector *sws_getGaussianVec(double variance, double quality);
28489
02f445ffbccd Document sws_getConstVec().
stefano
parents: 28488
diff changeset
246
02f445ffbccd Document sws_getConstVec().
stefano
parents: 28488
diff changeset
247 /**
31781
036d59b53de2 Revert commit:
stefano
parents: 31706
diff changeset
248 * Allocates and returns a vector with length coefficients, all
29309
037740689e99 Remove '\p' doxygen markup, as it should improve plain text doxy
stefano
parents: 29246
diff changeset
249 * with the same value c.
28489
02f445ffbccd Document sws_getConstVec().
stefano
parents: 28488
diff changeset
250 */
18861
8579acff875e Move postproc ---> libswscale
lucabe
parents:
diff changeset
251 SwsVector *sws_getConstVec(double c, int length);
28498
d492a439d7d0 Document sws_getIdentityVec().
stefano
parents: 28493
diff changeset
252
d492a439d7d0 Document sws_getIdentityVec().
stefano
parents: 28493
diff changeset
253 /**
31781
036d59b53de2 Revert commit:
stefano
parents: 31706
diff changeset
254 * Allocates and returns a vector with just one coefficient, with
28498
d492a439d7d0 Document sws_getIdentityVec().
stefano
parents: 28493
diff changeset
255 * value 1.0.
d492a439d7d0 Document sws_getIdentityVec().
stefano
parents: 28493
diff changeset
256 */
18861
8579acff875e Move postproc ---> libswscale
lucabe
parents:
diff changeset
257 SwsVector *sws_getIdentityVec(void);
28490
333cb4dd0ceb Document sws_scaleVec().
stefano
parents: 28489
diff changeset
258
333cb4dd0ceb Document sws_scaleVec().
stefano
parents: 28489
diff changeset
259 /**
31781
036d59b53de2 Revert commit:
stefano
parents: 31706
diff changeset
260 * Scales all the coefficients of a by the scalar value.
28490
333cb4dd0ceb Document sws_scaleVec().
stefano
parents: 28489
diff changeset
261 */
18861
8579acff875e Move postproc ---> libswscale
lucabe
parents:
diff changeset
262 void sws_scaleVec(SwsVector *a, double scalar);
28530
c86a4810a0f3 Document sws_normalizeVec().
stefano
parents: 28502
diff changeset
263
c86a4810a0f3 Document sws_normalizeVec().
stefano
parents: 28502
diff changeset
264 /**
31781
036d59b53de2 Revert commit:
stefano
parents: 31706
diff changeset
265 * Scales all the coefficients of a so that their sum equals height.
28530
c86a4810a0f3 Document sws_normalizeVec().
stefano
parents: 28502
diff changeset
266 */
18861
8579acff875e Move postproc ---> libswscale
lucabe
parents:
diff changeset
267 void sws_normalizeVec(SwsVector *a, double height);
8579acff875e Move postproc ---> libswscale
lucabe
parents:
diff changeset
268 void sws_convVec(SwsVector *a, SwsVector *b);
8579acff875e Move postproc ---> libswscale
lucabe
parents:
diff changeset
269 void sws_addVec(SwsVector *a, SwsVector *b);
8579acff875e Move postproc ---> libswscale
lucabe
parents:
diff changeset
270 void sws_subVec(SwsVector *a, SwsVector *b);
8579acff875e Move postproc ---> libswscale
lucabe
parents:
diff changeset
271 void sws_shiftVec(SwsVector *a, int shift);
28492
d31543ec920a Document sws_cloneVec().
stefano
parents: 28491
diff changeset
272
d31543ec920a Document sws_cloneVec().
stefano
parents: 28491
diff changeset
273 /**
31781
036d59b53de2 Revert commit:
stefano
parents: 31706
diff changeset
274 * Allocates and returns a clone of the vector a, that is a vector
29309
037740689e99 Remove '\p' doxygen markup, as it should improve plain text doxy
stefano
parents: 29246
diff changeset
275 * with the same coefficients as a.
28492
d31543ec920a Document sws_cloneVec().
stefano
parents: 28491
diff changeset
276 */
18861
8579acff875e Move postproc ---> libswscale
lucabe
parents:
diff changeset
277 SwsVector *sws_cloneVec(SwsVector *a);
8579acff875e Move postproc ---> libswscale
lucabe
parents:
diff changeset
278
28531
a14b65e14dc9 Implement sws_printVec2() and deprecate sws_printVec().
stefano
parents: 28530
diff changeset
279 #if LIBSWSCALE_VERSION_MAJOR < 1
a14b65e14dc9 Implement sws_printVec2() and deprecate sws_printVec().
stefano
parents: 28530
diff changeset
280 /**
a14b65e14dc9 Implement sws_printVec2() and deprecate sws_printVec().
stefano
parents: 28530
diff changeset
281 * @deprecated Use sws_printVec2() instead.
a14b65e14dc9 Implement sws_printVec2() and deprecate sws_printVec().
stefano
parents: 28530
diff changeset
282 */
a14b65e14dc9 Implement sws_printVec2() and deprecate sws_printVec().
stefano
parents: 28530
diff changeset
283 attribute_deprecated void sws_printVec(SwsVector *a);
a14b65e14dc9 Implement sws_printVec2() and deprecate sws_printVec().
stefano
parents: 28530
diff changeset
284 #endif
a14b65e14dc9 Implement sws_printVec2() and deprecate sws_printVec().
stefano
parents: 28530
diff changeset
285
a14b65e14dc9 Implement sws_printVec2() and deprecate sws_printVec().
stefano
parents: 28530
diff changeset
286 /**
31781
036d59b53de2 Revert commit:
stefano
parents: 31706
diff changeset
287 * Prints with av_log() a textual representation of the vector a
29309
037740689e99 Remove '\p' doxygen markup, as it should improve plain text doxy
stefano
parents: 29246
diff changeset
288 * if log_level <= av_log_level.
28531
a14b65e14dc9 Implement sws_printVec2() and deprecate sws_printVec().
stefano
parents: 28530
diff changeset
289 */
a14b65e14dc9 Implement sws_printVec2() and deprecate sws_printVec().
stefano
parents: 28530
diff changeset
290 void sws_printVec2(SwsVector *a, AVClass *log_ctx, int log_level);
a14b65e14dc9 Implement sws_printVec2() and deprecate sws_printVec().
stefano
parents: 28530
diff changeset
291
18861
8579acff875e Move postproc ---> libswscale
lucabe
parents:
diff changeset
292 void sws_freeVec(SwsVector *a);
8579acff875e Move postproc ---> libswscale
lucabe
parents:
diff changeset
293
23129
9528d1ebe68f cosmetics: Remove trailing whitespace.
diego
parents: 21870
diff changeset
294 SwsFilter *sws_getDefaultFilter(float lumaGBlur, float chromaGBlur,
28455
7d187ae46977 Fix a typo: lumaSarpen -> lumaSharpen.
stefano
parents: 28379
diff changeset
295 float lumaSharpen, float chromaSharpen,
23155
1befc8d767cd cosmetics attack, part II: Remove all tabs and prettyprint/reindent the code.
diego
parents: 23129
diff changeset
296 float chromaHShift, float chromaVShift,
1befc8d767cd cosmetics attack, part II: Remove all tabs and prettyprint/reindent the code.
diego
parents: 23129
diff changeset
297 int verbose);
18861
8579acff875e Move postproc ---> libswscale
lucabe
parents:
diff changeset
298 void sws_freeFilter(SwsFilter *filter);
8579acff875e Move postproc ---> libswscale
lucabe
parents:
diff changeset
299
28488
01afb64ccf4a Move documentation of sws_getCachedContext() from swscale.c to
stefano
parents: 28486
diff changeset
300 /**
31781
036d59b53de2 Revert commit:
stefano
parents: 31706
diff changeset
301 * Checks if context can be reused, otherwise reallocates a new
28502
514300a59359 Apply misc fixes for sws_getCachedContext() documentation.
stefano
parents: 28501
diff changeset
302 * one.
28488
01afb64ccf4a Move documentation of sws_getCachedContext() from swscale.c to
stefano
parents: 28486
diff changeset
303 *
31781
036d59b53de2 Revert commit:
stefano
parents: 31706
diff changeset
304 * If context is NULL, just calls sws_getContext() to get a new
036d59b53de2 Revert commit:
stefano
parents: 31706
diff changeset
305 * context. Otherwise, checks if the parameters are the ones already
036d59b53de2 Revert commit:
stefano
parents: 31706
diff changeset
306 * saved in context. If that is the case, returns the current
036d59b53de2 Revert commit:
stefano
parents: 31706
diff changeset
307 * context. Otherwise, frees context and gets a new context with
28502
514300a59359 Apply misc fixes for sws_getCachedContext() documentation.
stefano
parents: 28501
diff changeset
308 * the new parameters.
514300a59359 Apply misc fixes for sws_getCachedContext() documentation.
stefano
parents: 28501
diff changeset
309 *
29309
037740689e99 Remove '\p' doxygen markup, as it should improve plain text doxy
stefano
parents: 29246
diff changeset
310 * Be warned that srcFilter and dstFilter are not checked, they
28502
514300a59359 Apply misc fixes for sws_getCachedContext() documentation.
stefano
parents: 28501
diff changeset
311 * are assumed to remain the same.
28488
01afb64ccf4a Move documentation of sws_getCachedContext() from swscale.c to
stefano
parents: 28486
diff changeset
312 */
19661
7b24faac56fd Add sws_getCachedContext(), which checks if context is valid or reallocs a new one instead.
gpoirier
parents: 19594
diff changeset
313 struct SwsContext *sws_getCachedContext(struct SwsContext *context,
28456
2402abd3a2d5 Replace int type with enum PixelFormat for the dstFormat/srcFormat
stefano
parents: 28455
diff changeset
314 int srcW, int srcH, enum PixelFormat srcFormat,
29140
b322381cf5e1 whitespace cosmetics: Break some overly long lines.
diego
parents: 28665
diff changeset
315 int dstW, int dstH, enum PixelFormat dstFormat,
b322381cf5e1 whitespace cosmetics: Break some overly long lines.
diego
parents: 28665
diff changeset
316 int flags, SwsFilter *srcFilter,
29246
8861e08033eb Add const qualifier to param argument of sws_getContext() and
diego
parents: 29145
diff changeset
317 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
318
31235
661755507236 deprecate palette8topacked32 in favor of public API functions sws_convertPalette8ToPacked32 and -24
siretart
parents: 31135
diff changeset
319 /**
31781
036d59b53de2 Revert commit:
stefano
parents: 31706
diff changeset
320 * Converts an 8bit paletted frame into a frame with a color depth of 32-bits.
31235
661755507236 deprecate palette8topacked32 in favor of public API functions sws_convertPalette8ToPacked32 and -24
siretart
parents: 31135
diff changeset
321 *
661755507236 deprecate palette8topacked32 in favor of public API functions sws_convertPalette8ToPacked32 and -24
siretart
parents: 31135
diff changeset
322 * The output frame will have the same packed format as the palette.
661755507236 deprecate palette8topacked32 in favor of public API functions sws_convertPalette8ToPacked32 and -24
siretart
parents: 31135
diff changeset
323 *
661755507236 deprecate palette8topacked32 in favor of public API functions sws_convertPalette8ToPacked32 and -24
siretart
parents: 31135
diff changeset
324 * @param src source frame buffer
661755507236 deprecate palette8topacked32 in favor of public API functions sws_convertPalette8ToPacked32 and -24
siretart
parents: 31135
diff changeset
325 * @param dst destination frame buffer
661755507236 deprecate palette8topacked32 in favor of public API functions sws_convertPalette8ToPacked32 and -24
siretart
parents: 31135
diff changeset
326 * @param num_pixels number of pixels to convert
661755507236 deprecate palette8topacked32 in favor of public API functions sws_convertPalette8ToPacked32 and -24
siretart
parents: 31135
diff changeset
327 * @param palette array with [256] entries, which must match color arrangement (RGB or BGR) of src
661755507236 deprecate palette8topacked32 in favor of public API functions sws_convertPalette8ToPacked32 and -24
siretart
parents: 31135
diff changeset
328 */
661755507236 deprecate palette8topacked32 in favor of public API functions sws_convertPalette8ToPacked32 and -24
siretart
parents: 31135
diff changeset
329 void sws_convertPalette8ToPacked32(const uint8_t *src, uint8_t *dst, long num_pixels, const uint8_t *palette);
661755507236 deprecate palette8topacked32 in favor of public API functions sws_convertPalette8ToPacked32 and -24
siretart
parents: 31135
diff changeset
330
661755507236 deprecate palette8topacked32 in favor of public API functions sws_convertPalette8ToPacked32 and -24
siretart
parents: 31135
diff changeset
331 /**
31781
036d59b53de2 Revert commit:
stefano
parents: 31706
diff changeset
332 * Converts an 8bit paletted frame into a frame with a color depth of 24 bits.
31235
661755507236 deprecate palette8topacked32 in favor of public API functions sws_convertPalette8ToPacked32 and -24
siretart
parents: 31135
diff changeset
333 *
661755507236 deprecate palette8topacked32 in favor of public API functions sws_convertPalette8ToPacked32 and -24
siretart
parents: 31135
diff changeset
334 * With the palette format "ABCD", the destination frame ends up with the format "ABC".
661755507236 deprecate palette8topacked32 in favor of public API functions sws_convertPalette8ToPacked32 and -24
siretart
parents: 31135
diff changeset
335 *
661755507236 deprecate palette8topacked32 in favor of public API functions sws_convertPalette8ToPacked32 and -24
siretart
parents: 31135
diff changeset
336 * @param src source frame buffer
661755507236 deprecate palette8topacked32 in favor of public API functions sws_convertPalette8ToPacked32 and -24
siretart
parents: 31135
diff changeset
337 * @param dst destination frame buffer
661755507236 deprecate palette8topacked32 in favor of public API functions sws_convertPalette8ToPacked32 and -24
siretart
parents: 31135
diff changeset
338 * @param num_pixels number of pixels to convert
661755507236 deprecate palette8topacked32 in favor of public API functions sws_convertPalette8ToPacked32 and -24
siretart
parents: 31135
diff changeset
339 * @param palette array with [256] entries, which must match color arrangement (RGB or BGR) of src
661755507236 deprecate palette8topacked32 in favor of public API functions sws_convertPalette8ToPacked32 and -24
siretart
parents: 31135
diff changeset
340 */
661755507236 deprecate palette8topacked32 in favor of public API functions sws_convertPalette8ToPacked32 and -24
siretart
parents: 31135
diff changeset
341 void sws_convertPalette8ToPacked24(const uint8_t *src, uint8_t *dst, long num_pixels, const uint8_t *palette);
661755507236 deprecate palette8topacked32 in favor of public API functions sws_convertPalette8ToPacked32 and -24
siretart
parents: 31135
diff changeset
342
661755507236 deprecate palette8topacked32 in favor of public API functions sws_convertPalette8ToPacked32 and -24
siretart
parents: 31135
diff changeset
343
27467
239a049163eb Change header inclusion guard names in line with FFmpeg r15120.
stefano
parents: 27460
diff changeset
344 #endif /* SWSCALE_SWSCALE_H */