00001 package net.sf.ffmpeg_java;
00002
00003 import com.sun.jna.Library;
00004 import com.sun.jna.Native;
00005 import com.sun.jna.Pointer;
00006 import com.sun.jna.Structure;
00007
00008 public interface SWScaleLibrary extends Library {
00009
00010 public static final SWScaleLibrary INSTANCE = (SWScaleLibrary) Native.loadLibrary(
00011 System.getProperty("swscale.lib",
00012 System.getProperty("os.name").startsWith("Windows") ? "swscale-0" : "swscale"),
00013 SWScaleLibrary.class);
00014
00015
00016
00017
00018
00019
00020
00021 public int swscale_version();
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046
00047
00048
00049
00050
00051
00052
00053
00054
00055
00056
00057
00058
00059
00060
00061
00062
00063
00064
00065
00066
00067
00068
00069 public static final int SWS_FAST_BILINEAR = 1;
00070 public static final int SWS_BILINEAR = 2;
00071 public static final int SWS_BICUBIC = 4;
00072 public static final int SWS_X = 8;
00073 public static final int SWS_POINT = 0x10;
00074 public static final int SWS_AREA = 0x20;
00075 public static final int SWS_BICUBLIN = 0x40;
00076 public static final int SWS_GAUSS = 0x80;
00077 public static final int SWS_SINC = 0x100;
00078 public static final int SWS_LANCZOS = 0x200;
00079 public static final int SWS_SPLINE = 0x400;
00080
00081 public static final int SWS_SRC_V_CHR_DROP_MASK = 0x30000;
00082 public static final int SWS_SRC_V_CHR_DROP_SHIFT = 16;
00083
00084 public static final int SWS_PARAM_DEFAULT = 123456;
00085
00086 public static final int SWS_PRINT_INFO = 0x1000;
00087
00088
00089
00090 public static final int SWS_FULL_CHR_H_INT = 0x2000;
00091
00092 public static final int SWS_FULL_CHR_H_INP = 0x4000;
00093 public static final int SWS_DIRECT_BGR = 0x8000;
00094 public static final int SWS_ACCURATE_RND = 0x40000;
00095 public static final int SWS_BITEXACT = 0x80000;
00096
00097 public static final int SWS_CPU_CAPS_MMX = 0x80000000;
00098 public static final int SWS_CPU_CAPS_MMX2 = 0x20000000;
00099 public static final int SWS_CPU_CAPS_3DNOW = 0x40000000;
00100 public static final int SWS_CPU_CAPS_ALTIVEC = 0x10000000;
00101 public static final int SWS_CPU_CAPS_BFIN = 0x01000000;
00102
00103 public static final double SWS_MAX_REDUCE_CUTOFF = 0.002;
00104
00105 public static final int SWS_CS_ITU709 = 1;
00106 public static final int SWS_CS_FCC = 4;
00107 public static final int SWS_CS_ITU601 = 5;
00108 public static final int SWS_CS_ITU624 = 5;
00109 public static final int SWS_CS_SMPTE170M = 5;
00110 public static final int SWS_CS_SMPTE240M = 7;
00111 public static final int SWS_CS_DEFAULT = 5;
00112
00113
00114
00115
00116
00117
00118
00119
00120
00121 public static class SwsVector extends Structure {
00122 Pointer coeff;
00123 int length;
00124 }
00125
00126
00127
00128
00129
00130
00131
00132
00133
00134
00135 public static class SwsFilter extends Structure {
00136 Pointer lumH;
00137 Pointer lumV;
00138 Pointer chrH;
00139 Pointer chrV;
00140 }
00141
00142
00143
00144 public void sws_freeContext(Pointer swsContext);
00145
00146
00147
00148 public Pointer sws_getContext(int srcW, int srcH, int srcFormat, int dstW, int dstH, int dstFormat, int flags,
00149 SwsFilter srcFilter, SwsFilter dstFilter, Pointer param);
00150
00151
00152
00153 public int sws_scale(Pointer context, Pointer src[], int srcStride[], int srcSliceY,
00154 int srcSliceH, Pointer dst[], int dstStride[]);
00155
00156
00157
00158 public int sws_scale_ordered(Pointer context, Pointer src[], int srcStride[], int srcSliceY,
00159 int srcSliceH, Pointer dst[], int dstStride[]) ;
00160
00161
00162 public int sws_setColorspaceDetails(Pointer c, int inv_table[], int srcRange, int table[], int dstRange, int brightness, int contrast, int saturation);
00163
00164
00165
00166 public int sws_getColorspaceDetails(Pointer c, Pointer inv_table, Pointer srcRange, Pointer table, Pointer dstRange, Pointer brightness, Pointer contrast, Pointer saturation);
00167
00168
00169
00170
00171
00172
00173 public Pointer sws_getGaussianVec(double variance, double quality);
00174 public Pointer sws_getConstVec(double c, int length);
00175 public Pointer sws_getIdentityVec();
00176
00177
00178
00179
00180
00181
00182
00183
00184
00185
00186
00187
00188
00189 public void sws_scaleVec(SwsVector a, double scalar);
00190 public void sws_normalizeVec(SwsVector a, double height);
00191 public void sws_convVec(SwsVector a, SwsVector b);
00192 public void sws_addVec(SwsVector a, SwsVector b);
00193 public void sws_subVec(SwsVector a, SwsVector b);
00194 public void sws_shiftVec(SwsVector a, int shift);
00195 public Pointer sws_cloneVec(SwsVector a);
00196
00197 public void sws_printVec(SwsVector a);
00198 public void sws_freeVec(SwsVector a);
00199
00200
00201
00202
00203
00204
00205
00206
00207
00208
00209
00210
00211
00212
00213 public Pointer sws_getDefaultFilter(float lumaGBlur, float chromaGBlur,
00214 float lumaSarpen, float chromaSharpen,
00215 float chromaHShift, float chromaVShift,
00216 int verbose);
00217 public void sws_freeFilter(SwsFilter filter);
00218
00219 public Pointer sws_getCachedContext(Pointer context,
00220 int srcW, int srcH, int srcFormat,
00221 int dstW, int dstH, int dstFormat, int flags,
00222 SwsFilter srcFilter, SwsFilter dstFilter, Pointer param);
00223
00224 }