| Modifier and Type | Constant Field | Value |
|---|---|---|
public static final int |
DISPLAY_ROTATION_LANDSCAPE |
90 |
public static final int |
DISPLAY_ROTATION_PORTRAIT |
0 |
| Modifier and Type | Constant Field | Value |
|---|---|---|
public static final int |
DEFAULT_PREVIEW_FRAMERATE |
24 |
public static final int |
DEFAULT_PREVIEW_HEIGHT |
640 |
public static final int |
DEFAULT_PREVIEW_HIGH_FRAMERATE |
24 |
public static final int |
DEFAULT_PREVIEW_HIGH_HEIGHT |
1280 |
public static final int |
DEFAULT_PREVIEW_HIGH_WIDTH |
720 |
public static final int |
DEFAULT_PREVIEW_WIDTH |
480 |
public static final int |
PREVIEW_MODE_HIGHQULITY |
1 |
public static final int |
PREVIEW_MODE_NORMAL |
0 |
| Modifier and Type | Constant Field | Value |
|---|---|---|
public static final java.lang.String |
DEFAULT_LOG_NAME |
"yyvideosdk.txt" |
public static final java.lang.String |
DEFAULT_LOG_PATH |
"/yyvideosdk" |
public static final int |
IFRAME_INTERVAL |
3 |
public static final java.lang.String |
MEDIACODE_API |
"[Api ]" |
public static final java.lang.String |
MEDIACODE_BEAUTY |
"[Beauty ]" |
public static final java.lang.String |
MEDIACODE_CAMERACAPTURE |
"[CCapture]" |
public static final java.lang.String |
MEDIACODE_DECODER |
"[Decoder ]" |
public static final java.lang.String |
MEDIACODE_ENCODER |
"[Encoder ]" |
public static final java.lang.String |
MEDIACODE_PREPROCESS |
"[Preproce]" |
public static final java.lang.String |
MEDIACODE_PREVIEW |
"[Preview ]" |
public static final java.lang.String |
MEDIACODE_PROCEDURE |
"[Procedur]" |
public static final java.lang.String |
MEDIACODE_RENDER |
"[Render ]" |
public static final java.lang.String |
MEDIACODE_SCREENCAPTURE |
"[SCapture]" |
public static final java.lang.String |
MEDIACODE_UTIL |
"[Util ]" |
| Modifier and Type | Constant Field | Value |
|---|---|---|
public static final int |
ALIGN_16 |
15 |
public static final int |
ALIGN_2 |
1 |
public static final int |
ALIGN_32 |
31 |
public static final int |
ALIGN_4 |
3 |
public static final int |
ALIGN_8 |
7 |
| Modifier and Type | Constant Field | Value |
|---|---|---|
public static final int |
CAMERA_CAPTURE_STATUS_AUTHORIZED |
1 |
public static final int |
CAMERA_CAPTURE_STATUS_CLOSE |
5 |
public static final int |
CAMERA_CAPTURE_STATUS_DENIED |
4 |
public static final int |
CAMERA_CAPTURE_STATUS_NOT_DETERMINED |
2 |
public static final int |
CAMERA_CAPTURE_STATUS_RESTRICTED |
3 |
public static final int |
CAMERA_CAPTURE_STATUS_SUCCESS |
0 |
| Modifier and Type | Constant Field | Value |
|---|---|---|
public static final int |
CAMERA |
1 |
public static final int |
CUSTOM |
3 |
public static final int |
NONE |
0 |
public static final int |
SCREEN |
2 |
| Modifier and Type | Constant Field | Value |
|---|---|---|
public static final int |
LandscapeLeft |
4 |
public static final int |
LandscapeRight |
3 |
public static final int |
Portrait |
1 |
public static final int |
PortraitUpsideDown |
2 |
| Modifier and Type | Constant Field | Value |
|---|---|---|
public static final int |
EncoderStateError |
4 |
public static final int |
EncoderStateInit |
0 |
public static final int |
EncoderStateStarted |
2 |
public static final int |
EncoderStateStarting |
1 |
public static final int |
EncoderStateStoped |
3 |
| Modifier and Type | Constant Field | Value |
|---|---|---|
public static final int |
ENC_CODEC_H264_HARD |
3 |
public static final int |
ENC_CODEC_H264_SOFT |
1 |
public static final int |
ENC_CODEC_H265_HARD |
4 |
public static final int |
ENC_CODEC_H265_SOFT |
2 |
public static final int |
ENC_CODEC_NONE |
0 |
public static final int |
ENC_CODEC_VP8_HARD |
6 |
public static final int |
ENC_CODEC_VP8_SOFT |
5 |
public static final int |
ENC_CODEC_VP9_HARD |
8 |
public static final int |
ENC_CODEC_VP9_SOFT |
7 |
| Modifier and Type | Constant Field | Value |
|---|---|---|
public static final int |
kMediaLibraryPictureFmtI410 |
1 |
public static final int |
kMediaLibraryPictureFmtI411 |
2 |
public static final int |
kMediaLibraryPictureFmtI420 |
3 |
public static final int |
kMediaLibraryPictureFmtI422 |
4 |
public static final int |
kMediaLibraryPictureFmtI440 |
5 |
public static final int |
kMediaLibraryPictureFmtI444 |
6 |
public static final int |
kMediaLibraryPictureFmtNV12 |
7 |
public static final int |
kMediaLibraryPictureFmtNV16 |
9 |
public static final int |
kMediaLibraryPictureFmtNV21 |
8 |
public static final int |
kMediaLibraryPictureFmtNV61 |
10 |
public static final int |
kMediaLibraryPictureFmtRGB15 |
15 |
public static final int |
kMediaLibraryPictureFmtRGB16 |
16 |
public static final int |
kMediaLibraryPictureFmtRGB24 |
17 |
public static final int |
kMediaLibraryPictureFmtRGB32 |
18 |
public static final int |
kMediaLibraryPictureFmtRGBA |
19 |
public static final int |
kMediaLibraryPictureFmtUnknown |
0 |
public static final int |
kMediaLibraryPictureFmtUYVY |
13 |
public static final int |
kMediaLibraryPictureFmtVYUY |
14 |
public static final int |
kMediaLibraryPictureFmtYUYV |
11 |
public static final int |
kMediaLibraryPictureFmtYVYU |
12 |
| Modifier and Type | Constant Field | Value |
|---|---|---|
public static final int |
kMediaLibraryVideoCodecH264 |
2 |
public static final int |
kMediaLibraryVideoCodecH265 |
5 |
public static final int |
kMediaLibraryVideoCodecPicture |
1 |
public static final int |
kMediaLibraryVideoCodecUnknown |
0 |
public static final int |
kMediaLibraryVideoCodecVP8 |
4 |
| Modifier and Type | Constant Field | Value |
|---|---|---|
public static final java.lang.String |
H264 |
"video/avc" |
public static final java.lang.String |
H265 |
"video/hevc" |
| Modifier and Type | Constant Field | Value |
|---|---|---|
public static final int |
PROGRAM_TYPE_I420 |
3 |
public static final int |
PROGRAM_TYPE_NV12 |
2 |
public static final int |
PROGRAM_TYPE_NV21 |
1 |
public static final int |
PROGRAM_TYPE_OES |
4 |
public static final int |
PROGRAM_TYPE_TEX2D |
0 |
public static final int |
PROGRAM_TYPE_UDEF |
4 |
| Modifier and Type | Constant Field | Value |
|---|---|---|
public static final int |
VIDEO_STREAM_TYPE_HIGH |
0 |
public static final int |
VIDEO_STREAM_TYPE_LOW |
0 |
| Modifier and Type | Constant Field | Value |
|---|---|---|
public static final int |
RGB |
20 |
public static final int |
RGB565 |
52 |
public static final int |
RGBA |
36 |
public static final int |
UDEF |
68 |
| Modifier and Type | Constant Field | Value |
|---|---|---|
public static final int |
ROTATION_0 |
0 |
public static final int |
ROTATION_180 |
180 |
public static final int |
ROTATION_270 |
270 |
public static final int |
ROTATION_90 |
90 |
| Modifier and Type | Constant Field | Value |
|---|---|---|
public static final int |
Texture_2D |
69 |
public static final int |
Texture_OES |
70 |
| Modifier and Type | Constant Field | Value |
|---|---|---|
public static final long |
VIDEO_ENCODE_PRESET_DEFAULT |
0L |
public static final long |
VIDEO_ENCODE_PRESET_FAST |
5L |
public static final long |
VIDEO_ENCODE_PRESET_FASTER |
4L |
public static final long |
VIDEO_ENCODE_PRESET_MEDIUM |
6L |
public static final long |
VIDEO_ENCODE_PRESET_SLOW |
7L |
public static final long |
VIDEO_ENCODE_PRESET_SUPERFAST |
2L |
public static final long |
VIDEO_ENCODE_PRESET_ULTRAFAST |
1L |
public static final long |
VIDEO_ENCODE_PRESET_VERYFAST |
3L |
| Modifier and Type | Constant Field | Value |
|---|---|---|
public static final int |
kVideoBFrame |
2 |
public static final int |
kVideoEncodedDataFrame |
8 |
public static final int |
kVideoFrameNodeNV12 |
101 |
public static final int |
kVideoFrameNodeNV21 |
102 |
public static final int |
kVideoFrameNodeYV12 |
100 |
public static final int |
kVideoH265HeadFrame |
9 |
public static final int |
kVideoHeaderFrame |
7 |
public static final int |
kVideoIDRFrame |
4 |
public static final int |
kVideoIFrame |
0 |
public static final int |
kVideoPFrame |
1 |
public static final int |
kVideoPFrameSEI |
3 |
public static final int |
kVideoPPSFrame |
6 |
public static final int |
kVideoSPSFrame |
5 |
public static final int |
kVideoUnknowFrame |
255 |
| Modifier and Type | Constant Field | Value |
|---|---|---|
public static final int |
I420 |
2 |
public static final int |
NV12 |
1 |
public static final int |
NV21 |
0 |
public static final int |
UDEF |
4 |
public static final int |
YV12 |
3 |
| Modifier and Type | Constant Field | Value |
|---|---|---|
public static final int |
EVENT_SURFACE_AVAIBLE |
1 |
public static final int |
EVENT_SURFACE_DESTROYED |
3 |
public static final int |
EVENT_SURFACE_SIZE_CHANGED |
2 |
| Modifier and Type | Constant Field | Value |
|---|---|---|
public static final int |
DATA_USE_PTS_STRATEGY |
1 |
public static final int |
PASSTHROUGH_LIVESDK_TO_VIDEOLIB |
1 |
public static final int |
PASSTHROUGH_LIVESDK_TO_YYCLOUD |
4 |
public static final int |
PASSTHROUGH_VIDEOLIB_TO_LIVESDK |
2 |
public static final int |
PASSTHROUGH_VIDEOLIB_TO_YYCLOUD |
3 |
| Modifier and Type | Constant Field | Value |
|---|---|---|
public static final int |
UPLOAD_TO_HIIDO |
1 |
| Modifier and Type | Constant Field | Value |
|---|---|---|
public static final java.lang.String |
ptsStrategyKey |
"DATA_USE_NEW_PTS_STRATEGY" |
| Modifier and Type | Constant Field | Value |
|---|---|---|
public static final int |
PUBLISH_VIDEO_MODE_HIGHQULITY |
1 |
public static final int |
PUBLISH_VIDEO_MODE_NORMAL |
0 |
public static final int |
PUBLISH_VIDEO_MODE_SCREEN_RECORD_HIGHQULITY |
3 |
public static final int |
PUBLISH_VIDEO_MODE_SCREEN_RECORD_NORMAL |
2 |
public static final int |
PUBLISH_VIDEO_MODE_SCREEN_RECORD_ULTRA_HIGHQULITY |
4 |
| Modifier and Type | Constant Field | Value |
|---|---|---|
public static final int |
FILLMODE_INNERFIT |
1 |
public static final int |
FILLMODE_OUTERFIT |
2 |
| Modifier and Type | Constant Field | Value |
|---|---|---|
public static final int |
IFRAME_INTERVAL |
3 |
public static final java.lang.String |
MIME_H264 |
"video/avc" |
public static final java.lang.String |
MIME_H265 |
"video/hevc" |
public static final java.lang.String |
TAG |
"YYVideoCodec" |
| Modifier and Type | Constant Field | Value |
|---|---|---|
public static final int |
DEFAULT_ENCODE_HIGH_BITRATE |
1200000 |
public static final int |
DEFAULT_ENCODE_HIGH_FRAMERATE |
24 |
public static final int |
DEFAULT_ENCODE_HIGH_HEIGHT |
960 |
public static final int |
DEFAULT_ENCODE_HIGH_WIDTH |
544 |
public static final int |
DEFAULT_ENCODE_LOW_BITRATE |
1200000 |
public static final int |
DEFAULT_ENCODE_LOW_FRAMERATE |
24 |
public static final int |
DEFAULT_ENCODE_LOW_HEIGHT |
640 |
public static final int |
DEFAULT_ENCODE_LOW_WIDTH |
368 |
public static final boolean |
DEFAULT_ENCODE_STABILIZATION |
true |
public static final int |
SCREEN_RECORD_ENCODE_HIGH_BITRATE |
1200000 |
public static final int |
SCREEN_RECORD_ENCODE_HIGH_FRAMERATE |
30 |
public static final int |
SCREEN_RECORD_ENCODE_HIGH_HEIGHT |
864 |
public static final int |
SCREEN_RECORD_ENCODE_HIGH_WIDTH |
480 |
public static final int |
SCREEN_RECORD_ENCODE_LOW_BITRATE |
800000 |
public static final int |
SCREEN_RECORD_ENCODE_LOW_FRAMERATE |
30 |
public static final int |
SCREEN_RECORD_ENCODE_LOW_HEIGHT |
640 |
public static final int |
SCREEN_RECORD_ENCODE_LOW_WIDTH |
368 |
public static final int |
SCREEN_RECORD_ENCODE_ULTRA_HIGH_BITRATE |
2000000 |
public static final int |
SCREEN_RECORD_ENCODE_ULTRA_HIGH_FRAMERATE |
30 |
public static final int |
SCREEN_RECORD_ENCODE_ULTRA_HIGH_HEIGHT |
1280 |
public static final int |
SCREEN_RECORD_ENCODE_ULTRA_HIGH_WIDTH |
720 |
| Modifier and Type | Constant Field | Value |
|---|---|---|
public static final java.lang.String |
CODEC_H264_MIME |
"video/avc" |
public static final java.lang.String |
CODEC_H265_MIME |
"video/hevc" |
public static final int |
RANK_UNKNOWN |
400 |
| Modifier and Type | Constant Field | Value |
|---|---|---|
public static final int |
SLICE_I |
2 |
public static final int |
SLICE_IDR |
1 |
public static final int |
SLICE_UNKNOW |
255 |
| Modifier and Type | Constant Field | Value |
|---|---|---|
public static final java.lang.String |
i420_fs |
"precision highp float;varying vec2 vTextureCoord;uniform sampler2D tex_y;uniform sampler2D tex_u;uniform sampler2D tex_v;void main() { vec3 yuv; yuv.x = texture2D(tex_y, vTextureCoord).r; yuv.y = texture2D(tex_u, vTextureCoord).r - 0.5; yuv.z = texture2D(tex_v, vTextureCoord).r - 0.5; yuv.x = 1.1643 * yuv.x - 0.0728; vec3 rgb = vec3( yuv.x + 1.5958 * yuv.z, yuv.x - 0.39173 * yuv.y - 0.8129 * yuv.z, yuv.x + 2.017 * yuv.y ); gl_FragColor = vec4(rgb, 1);}" |
public static final java.lang.String |
i420_vs |
"attribute vec4 aPosition;\nattribute vec4 aTextureCoord;\nvarying vec2 vTextureCoord;\nvoid main() {\n gl_Position = aPosition;\n vTextureCoord = aTextureCoord.xy;\n}\n" |
public static final java.lang.String |
nv21_fs |
"precision mediump float; \nprecision mediump int; \nvarying vec2 vTexCoord; \nuniform sampler2D u_texY; \nuniform sampler2D u_texUV; \nconst mat3 op = mat3(1.164, 1.164, 1.164, 0.0, -0.391, 2.018, 1.596, -0.813, 0.0); \nvoid main(void) \n{ \n vec3 rgb, yuv; \n yuv.x = texture2D(u_texY, vTexCoord).r - 0.0625; \n yuv.yz = texture2D(u_texUV, vTexCoord).ar - vec2(0.5, 0.5); \n rgb = op * yuv; \n rgb.r = clamp(rgb.r, 0.0, 1.0); \n rgb.g = clamp(rgb.g, 0.0, 1.0); \n rgb.b = clamp(rgb.b, 0.0, 1.0); \n gl_FragColor = vec4(rgb, 1.0); \n} \n" |
public static final java.lang.String |
nv21_vs |
"attribute vec4 aPosition;\nattribute vec4 aTextureCoord;\nvarying vec2 vTexCoord;\n\nvoid main()\n{\n gl_Position = aPosition;\n vTexCoord = aTextureCoord.xy;\n}" |
public static final int |
ORIGIN_PIC_FORMAT_I420 |
1 |
public static final int |
ORIGIN_PIC_FORMAT_NV21 |
2 |
public static final int |
ORIGIN_PIC_FORMAT_RGBA |
0 |
public static final java.lang.String |
rgba_fs |
"precision mediump float;\nvarying vec2 vTexCoord;\nuniform sampler2D uTexture0;\n\nvoid main()\n{\n vec4 color = texture2D(uTexture0, vTexCoord);\n gl_FragColor = color; //vec4(color.y, color.y, color.y, 1.0);\n}" |
public static final java.lang.String |
rgba_vs |
"attribute vec4 aPosition;\nattribute vec4 aTextureCoord;\nvarying vec2 vTexCoord;\n\nvoid main()\n{\n gl_Position = aPosition;\n vTexCoord = aTextureCoord.xy;\n}" |
| Modifier and Type | Constant Field | Value |
|---|---|---|
public static final java.lang.String |
sVideoDir |
"YYVideo" |
| Modifier and Type | Constant Field | Value |
|---|---|---|
protected static final int |
mCodeRateNotifyInterval |
3000 |
| Modifier and Type | Constant Field | Value |
|---|---|---|
public static final int |
FLAG_RECORDABLE |
1 |
public static final int |
FLAG_TRY_GLES3 |
2 |
| Modifier and Type | Constant Field | Value |
|---|---|---|
protected static final java.lang.String |
TAG |
"GlUtil" |
| Modifier and Type | Constant Field | Value |
|---|---|---|
protected static final java.lang.String |
TAG |
"GlUtil" |
| Modifier and Type | Constant Field | Value |
|---|---|---|
public static final int |
EXTRA_TEXTURE_SLAVE_PICTURE |
3 |
public static final int |
EXTRA_TEXTURE_STICKER |
2 |
public static final int |
EXTRA_TEXTURE_WATERMARK |
1 |
public static final int |
MAIN_TEXTURE |
0 |
| Modifier and Type | Constant Field | Value |
|---|---|---|
public static final java.lang.String |
TAG |
"GlUtil" |
| Modifier and Type | Constant Field | Value |
|---|---|---|
public static final int |
KERNEL_SIZE |
9 |
| Modifier and Type | Constant Field | Value |
|---|---|---|
public static final java.lang.String |
TAG |
"YYMediaFw" |
| Modifier and Type | Constant Field | Value |
|---|---|---|
public static final java.lang.String |
FRAGMENT_SHADER |
" uniform sampler2D inputImageTexture;\n const lowp int GAUSSIN_SAMPLES = 9;\n varying highp vec2 textureCoordinate;\n varying highp vec2 blurCoordinates[GAUSSIN_SAMPLES];\n\n uniform mediump float distanceNormalizationFactor;\n uniform mediump float gamaVal;\n\nvoid main()\n{\n lowp vec4 centralColor;\n lowp float gaussianWeightTotal;\n lowp vec4 sum;\n lowp vec4 sampleColor;\n lowp float distanceFromCentralColor;\n lowp float gaussianWeight;\n\n //get right value\n\n centralColor = texture2D(inputImageTexture, blurCoordinates[4]);\n gaussianWeightTotal = 0.50;\n sum = centralColor * 0.50;\n\n //sampleColor 0\n sampleColor = texture2D(inputImageTexture, blurCoordinates[0]);\n distanceFromCentralColor = min(distance(centralColor, sampleColor) * distanceNormalizationFactor, 1.0);\n gaussianWeight = 0.08 * (1.0 - distanceFromCentralColor);\n gaussianWeightTotal += gaussianWeight;\n sum += sampleColor * gaussianWeight;\n\n\n //sampleColor 1\n sampleColor = texture2D(inputImageTexture, blurCoordinates[1]);\n distanceFromCentralColor = min(distance(centralColor, sampleColor)*distanceNormalizationFactor, 1.0);\n gaussianWeight = 0.10 * (1.0 - distanceFromCentralColor);\n gaussianWeightTotal += gaussianWeight;\n sum += sampleColor * gaussianWeight;\n\n //sampleColor 2\n sampleColor = texture2D(inputImageTexture, blurCoordinates[2]);\n distanceFromCentralColor = min(distance(centralColor, sampleColor)*distanceNormalizationFactor, 1.0);\n gaussianWeight = 0.12 * (1.0 - distanceFromCentralColor);\n gaussianWeightTotal += gaussianWeight;\n sum += sampleColor * gaussianWeight;\n\n //sampleColor 3\n sampleColor = texture2D(inputImageTexture, blurCoordinates[3]);\n distanceFromCentralColor = min(distance(centralColor, sampleColor)*distanceNormalizationFactor, 1.0);\n gaussianWeight = 0.18 * (1.0 - distanceFromCentralColor);\n gaussianWeightTotal += gaussianWeight;\n sum += sampleColor * gaussianWeight;\n\n //sampleColor 5\n sampleColor = texture2D(inputImageTexture, blurCoordinates[5]);\n distanceFromCentralColor = min(distance(centralColor, sampleColor)*distanceNormalizationFactor, 1.0);\n gaussianWeight = 0.18 * (1.0 - distanceFromCentralColor);\n gaussianWeightTotal += gaussianWeight;\n sum += sampleColor * gaussianWeight;\n //sampleColor 6\n sampleColor = texture2D(inputImageTexture, blurCoordinates[6]);\n distanceFromCentralColor = min(distance(centralColor, sampleColor)*distanceNormalizationFactor, 1.0);\n gaussianWeight = 0.12 * (1.0 - distanceFromCentralColor);\n gaussianWeightTotal += gaussianWeight;\n sum += sampleColor * gaussianWeight;\n //sampleColor 7\n sampleColor = texture2D(inputImageTexture, blurCoordinates[7]);\n distanceFromCentralColor = min(distance(centralColor, sampleColor)*distanceNormalizationFactor, 1.0);\n gaussianWeight = 0.10*(1.0 - distanceFromCentralColor);\n gaussianWeightTotal += gaussianWeight;\n sum += sampleColor * gaussianWeight;\n\n //sampleColor 8\n sampleColor = texture2D(inputImageTexture, blurCoordinates[8]);\n distanceFromCentralColor = min(distance(centralColor, sampleColor)*distanceNormalizationFactor, 1.0);\n gaussianWeight = 0.08*(1.0 - distanceFromCentralColor);\n gaussianWeightTotal += gaussianWeight;\n sum += sampleColor * gaussianWeight;\n\n ///do gama filter\n highp vec4 textureColor = texture2D(inputImageTexture, textureCoordinate);\n textureColor = sum/gaussianWeightTotal;\n\n gl_FragColor = vec4(pow( textureColor.rgb, vec3(gamaVal) ), textureColor.w);\n\n}\n" |
public static final java.lang.String |
VERTEX_SHADER |
"const int GAUSSIAN_SAMPLES = 9;\n\nattribute vec4 position;\nattribute vec4 inputTextureCoordinate;\n\nuniform float texelWidthOffset;\nuniform float texelHeightOffset;\n\nvarying vec2 textureCoordinate;\nvarying vec2 blurCoordinates[GAUSSIAN_SAMPLES];\nuniform mat4 uTexMatrix;\n\nvoid main()\n{\n\tgl_Position = position;\n\ttextureCoordinate = (uTexMatrix * inputTextureCoordinate).xy;\n\t\n\t// Calculate the positions for the blur\n\tint multiplier = 0;\n\tvec2 blurStep;\n vec2 singleStepOffset = vec2(texelHeightOffset, texelWidthOffset);\n \n\tfor (int i = 0; i < GAUSSIAN_SAMPLES; i++)\n {\n\t\tmultiplier = (i - ((GAUSSIAN_SAMPLES - 1) / 2));\n // Blur in x (horizontal)\n blurStep = float(multiplier) * singleStepOffset;\n\t\tblurCoordinates[i] = (uTexMatrix * inputTextureCoordinate).xy + blurStep;\n\t}\n}\n" |
| Modifier and Type | Constant Field | Value |
|---|---|---|
public static final java.lang.String |
FRAGMENT_SHADER |
"uniform sampler2D inputImageTexture;\nconst lowp int SAMPLES = 9;\nprecision highp float;\n\nvarying vec2 textureCoordinate;\nvarying vec2 blurCoordinates[SAMPLES];\n\nuniform mediump float bilateralFilter;\nuniform mediump float contrast;\nuniform mediump float whiten;\n\nvec4 skinProcess(vec4 color)\n{\n if(bilateralFilter == 0.0)\n {\n return color;\n }\n lowp vec4 centralColor;\n lowp float gaussianWeightTotal;\n lowp vec4 sum;\n lowp vec4 sampleColor;\n lowp float distanceFromCentralColor;\n lowp float gaussianWeight;\n\n centralColor = texture2D(inputImageTexture, blurCoordinates[2]);\n gaussianWeightTotal = 0.18;\n sum = centralColor * 0.18;\n\n sampleColor = texture2D(inputImageTexture, blurCoordinates[0]);\n distanceFromCentralColor = min(distance(centralColor, sampleColor) * (10.0 - bilateralFilter/20.0), 1.0);\n gaussianWeight = 0.05 * (1.0 - distanceFromCentralColor);\n gaussianWeightTotal += gaussianWeight;\n sum += sampleColor * gaussianWeight;\n\n sampleColor = texture2D(inputImageTexture, blurCoordinates[1]);\n distanceFromCentralColor = min(distance(centralColor, sampleColor) * (10.0 - bilateralFilter/20.0), 1.0);\n gaussianWeight = 0.10 * (1.0 - distanceFromCentralColor);\n gaussianWeightTotal += gaussianWeight;\n sum += sampleColor * gaussianWeight;\n\n sampleColor = texture2D(inputImageTexture, blurCoordinates[3]);\n distanceFromCentralColor = min(distance(centralColor, sampleColor) * (10.0 - bilateralFilter/20.0), 1.0);\n gaussianWeight = 0.10 * (1.0 - distanceFromCentralColor);\n gaussianWeightTotal += gaussianWeight;\n sum += sampleColor * gaussianWeight;\n\n sampleColor = texture2D(inputImageTexture, blurCoordinates[4]);\n distanceFromCentralColor = min(distance(centralColor, sampleColor) * (10.0 - bilateralFilter/20.0), 1.0);\n gaussianWeight = 0.05 * (1.0 - distanceFromCentralColor);\n gaussianWeightTotal += gaussianWeight;\n sum += sampleColor * gaussianWeight;\n\n vec4 skinColor = sum / gaussianWeightTotal;\n\n return skinColor;\n}\n\nvec4 whitenProcess(vec4 color)\n{\n if(whiten == 0.0)\n {\n return color;\n }\n vec4 whitenColor;\n whitenColor.r = min(color.r + whiten/255.0, 1.0);\n whitenColor.g = min(color.g + whiten/255.0, 1.0);\n whitenColor.b = min(color.b + whiten/255.0, 1.0);\n whitenColor.w = 1.0;\n return whitenColor;\n}\n\nvec4 whitenWellProcess(vec4 color)\n{\n lowp float nWhiten_;\n nWhiten_ = (whiten - 2.0)/7.0 + 2.0;\n float nR = color.r;\n float nG = color.g;\n float nB = color.b;\n\n float dstR = (log(nR*(nWhiten_ - 1.0) + 1.0) / log(nWhiten_));\n float dstG = (log(nG*(nWhiten_ - 1.0) + 1.0) / log(nWhiten_));\n float dstB = (log(nB*(nWhiten_ - 1.0) + 1.0) / log(nWhiten_));\n return vec4(dstR, dstG, dstB, 1.0);\n}\n\nvec4 contrastProcess(vec4 color)\n{\n if(contrast == 0.0)\n {\n return color;\n }\n vec4 contrastColor = vec4(((color.rgb - vec3(0.5)) * contrast / 25.0 + vec3(0.5)), color.w);\n return contrastColor;\n}\n\nvoid main() {\n vec4 base = texture2D(inputImageTexture, textureCoordinate);\n vec4 processColor = skinProcess(base);\n processColor = whitenWellProcess(processColor);\n processColor = contrastProcess(processColor);\n processColor.r = processColor.r + 3.0/255.0;\n gl_FragColor = processColor;\n}" |
public static final java.lang.String |
VERTEX_SHADER |
"const int SAMPLES = 9;\n\nattribute vec4 position;\nattribute vec4 inputTextureCoordinate;\n\nuniform float texelWidthOffset;\nuniform float texelHeightOffset;\n\nvarying vec2 textureCoordinate;\nvarying vec2 blurCoordinates[SAMPLES];\nuniform mat4 uTexMatrix;\n\nvoid main() {\n gl_Position = position;\n textureCoordinate = (uTexMatrix * inputTextureCoordinate).xy;\n\n blurCoordinates[0] = vec2(textureCoordinate.x, textureCoordinate.y - texelHeightOffset * 5.0);\n blurCoordinates[1] = vec2(textureCoordinate.x - texelWidthOffset * 5.0, textureCoordinate.y);\n blurCoordinates[2] = textureCoordinate;\n blurCoordinates[3] = vec2(textureCoordinate.x + texelWidthOffset * 5.0, textureCoordinate.y);\n blurCoordinates[4] = vec2(textureCoordinate.x, textureCoordinate.y + texelHeightOffset * 5.0);\n}" |
| Modifier and Type | Constant Field | Value |
|---|---|---|
public static final java.lang.String |
NO_FILTER_FRAGMENT_SHADER |
"varying highp vec2 textureCoordinate;\n \nuniform sampler2D inputImageTexture;\n \nvoid main()\n{\n gl_FragColor = texture2D(inputImageTexture, textureCoordinate);\n}" |
public static final java.lang.String |
NO_FILTER_VERTEX_SHADER |
"attribute vec4 position;\nattribute vec4 inputTextureCoordinate;\n \nuniform mat4 uTexMatrix;\nvarying vec2 textureCoordinate;\n \nvoid main()\n{\n gl_Position = position;\n textureCoordinate = (uTexMatrix * inputTextureCoordinate).xy;\n}" |
| Modifier and Type | Constant Field | Value |
|---|---|---|
public static final java.lang.String |
FRAGMENT_SHADER |
"precision highp float;\n\nuniform sampler2D inputImageTexture;\nuniform vec2 singleStepOffset; \nuniform highp vec4 params; \n\nvarying highp vec2 textureCoordinate;\n\nconst highp vec3 W = vec3(0.299,0.587,0.114);\nconst mat3 saturateMatrix = mat3(\n\t\t1.1102,-0.0598,-0.061,\n\t\t-0.0774,1.0826,-0.1186,\n\t\t-0.0228,-0.0228,1.1772);\n\t\t\nfloat hardlight(float color)\n{\n\tif(color <= 0.5)\n\t{\n\t\tcolor = color * color * 2.0;\n\t}\n\telse\n\t{\n\t\tcolor = 1.0 - color;\t\tcolor = 1.0 - color * color * 2.0;\n\t}\n\treturn color;\n}\n\nvoid main(){\n\tvec2 blurCoordinates[24];\n\t\n\tblurCoordinates[0] = textureCoordinate.xy + singleStepOffset * vec2(0.0, -10.0);\n\tblurCoordinates[1] = textureCoordinate.xy + singleStepOffset * vec2(0.0, 10.0);\n\tblurCoordinates[2] = textureCoordinate.xy + singleStepOffset * vec2(-10.0, 0.0);\n\tblurCoordinates[3] = textureCoordinate.xy + singleStepOffset * vec2(10.0, 0.0);\n\t\n\tblurCoordinates[4] = textureCoordinate.xy + singleStepOffset * vec2(5.0, -8.0);\n\tblurCoordinates[5] = textureCoordinate.xy + singleStepOffset * vec2(5.0, 8.0);\n\tblurCoordinates[6] = textureCoordinate.xy + singleStepOffset * vec2(-5.0, 8.0);\n\tblurCoordinates[7] = textureCoordinate.xy + singleStepOffset * vec2(-5.0, -8.0);\n\t\n\tblurCoordinates[8] = textureCoordinate.xy + singleStepOffset * vec2(8.0, -5.0);\n\tblurCoordinates[9] = textureCoordinate.xy + singleStepOffset * vec2(8.0, 5.0);\n\tblurCoordinates[10] = textureCoordinate.xy + singleStepOffset * vec2(-8.0, 5.0);\t\n\tblurCoordinates[11] = textureCoordinate.xy + singleStepOffset * vec2(-8.0, -5.0);\n\t\n\tblurCoordinates[12] = textureCoordinate.xy + singleStepOffset * vec2(0.0, -6.0);\n\tblurCoordinates[13] = textureCoordinate.xy + singleStepOffset * vec2(0.0, 6.0);\n\tblurCoordinates[14] = textureCoordinate.xy + singleStepOffset * vec2(6.0, 0.0);\n\tblurCoordinates[15] = textureCoordinate.xy + singleStepOffset * vec2(-6.0, 0.0);\t\n\t\n\tblurCoordinates[16] = textureCoordinate.xy + singleStepOffset * vec2(-4.0, -4.0);\n\tblurCoordinates[17] = textureCoordinate.xy + singleStepOffset * vec2(-4.0, 4.0);\n\tblurCoordinates[18] = textureCoordinate.xy + singleStepOffset * vec2(4.0, -4.0);\n\tblurCoordinates[19] = textureCoordinate.xy + singleStepOffset * vec2(4.0, 4.0);\n\t\n\tblurCoordinates[20] = textureCoordinate.xy + singleStepOffset * vec2(-2.0, -2.0);\n\tblurCoordinates[21] = textureCoordinate.xy + singleStepOffset * vec2(-2.0, 2.0);\n\tblurCoordinates[22] = textureCoordinate.xy + singleStepOffset * vec2(2.0, -2.0);\n\tblurCoordinates[23] = textureCoordinate.xy + singleStepOffset * vec2(2.0, 2.0);\n\t\n\t\n\tfloat sampleColor = texture2D(inputImageTexture, textureCoordinate).g * 22.0;\n\tsampleColor += texture2D(inputImageTexture, blurCoordinates[0]).g;\n\tsampleColor += texture2D(inputImageTexture, blurCoordinates[1]).g;\n\tsampleColor += texture2D(inputImageTexture, blurCoordinates[2]).g;\n\tsampleColor += texture2D(inputImageTexture, blurCoordinates[3]).g;\n\tsampleColor += texture2D(inputImageTexture, blurCoordinates[4]).g;\n\tsampleColor += texture2D(inputImageTexture, blurCoordinates[5]).g;\n\tsampleColor += texture2D(inputImageTexture, blurCoordinates[6]).g;\n\tsampleColor += texture2D(inputImageTexture, blurCoordinates[7]).g;\n\tsampleColor += texture2D(inputImageTexture, blurCoordinates[8]).g;\n\tsampleColor += texture2D(inputImageTexture, blurCoordinates[9]).g;\n\tsampleColor += texture2D(inputImageTexture, blurCoordinates[10]).g;\n\tsampleColor += texture2D(inputImageTexture, blurCoordinates[11]).g;\n\t\n\tsampleColor += texture2D(inputImageTexture, blurCoordinates[12]).g * 2.0;\n\tsampleColor += texture2D(inputImageTexture, blurCoordinates[13]).g * 2.0;\n\tsampleColor += texture2D(inputImageTexture, blurCoordinates[14]).g * 2.0;\n\tsampleColor += texture2D(inputImageTexture, blurCoordinates[15]).g * 2.0;\n\tsampleColor += texture2D(inputImageTexture, blurCoordinates[16]).g * 2.0;\n\tsampleColor += texture2D(inputImageTexture, blurCoordinates[17]).g * 2.0;\n\tsampleColor += texture2D(inputImageTexture, blurCoordinates[18]).g * 2.0;\n\tsampleColor += texture2D(inputImageTexture, blurCoordinates[19]).g * 2.0;\t\n\t\n\tsampleColor += texture2D(inputImageTexture, blurCoordinates[20]).g * 3.0;\n\tsampleColor += texture2D(inputImageTexture, blurCoordinates[21]).g * 3.0;\n\tsampleColor += texture2D(inputImageTexture, blurCoordinates[22]).g * 3.0;\n\tsampleColor += texture2D(inputImageTexture, blurCoordinates[23]).g * 3.0;\t\n\t\t\n\tsampleColor = sampleColor / 62.0;\n\t\n\tvec3 centralColor = texture2D(inputImageTexture, textureCoordinate).rgb;\n\t\n\tfloat highpass = centralColor.g - sampleColor + 0.5;\n\t\n\tfor(int i = 0; i < 5;i++)\n\t{\n\t\thighpass = hardlight(highpass);\n\t}\n\tfloat lumance = dot(centralColor, W);\n\t\n\tfloat alpha = pow(lumance, params.r);\n\n\tvec3 smoothColor = centralColor + (centralColor-vec3(highpass))*alpha*0.1;\n\t\n\tsmoothColor.r = clamp(pow(smoothColor.r, params.g),0.0,1.0);\n\tsmoothColor.g = clamp(pow(smoothColor.g, params.g),0.0,1.0);\n\tsmoothColor.b = clamp(pow(smoothColor.b, params.g),0.0,1.0);\n\t\n\tvec3 lvse = vec3(1.0)-(vec3(1.0)-smoothColor)*(vec3(1.0)-centralColor);\n\tvec3 bianliang = max(smoothColor, centralColor);\n\tvec3 rouguang = 2.0*centralColor*smoothColor + centralColor*centralColor - 2.0*centralColor*centralColor*smoothColor;\n\t\n\tgl_FragColor = vec4(mix(centralColor, lvse, alpha), 1.0);\n\tgl_FragColor.rgb = mix(gl_FragColor.rgb, bianliang, alpha);\n\tgl_FragColor.rgb = mix(gl_FragColor.rgb, rouguang, params.b);\n\t\n\tvec3 satcolor = gl_FragColor.rgb * saturateMatrix;\n\tgl_FragColor.rgb = mix(gl_FragColor.rgb, satcolor, params.a);\n}" |
public static final java.lang.String |
FRAGMENT_SHADER_LOW |
"precision highp float;\n\nuniform sampler2D inputImageTexture;\nuniform vec2 singleStepOffset; \nuniform highp vec4 params; \n\nvarying highp vec2 textureCoordinate;\n\nconst highp vec3 W = vec3(0.299,0.587,0.114);\nconst mat3 saturateMatrix = mat3(\n\t\t1.1102,-0.0598,-0.061,\n\t\t-0.0774,1.0826,-0.1186,\n\t\t-0.0228,-0.0228,1.1772);\n\t\t\nfloat hardlight(float color)\n{\n\tif(color <= 0.5)\n\t{\n\t\tcolor = color * color * 2.0;\n\t}\n\telse\n\t{\n\t\tcolor = 1.0 - color;\t\tcolor = 1.0 - color * color * 2.0;\n\t}\n\treturn color;\n}\n\nvoid main(){\n\tvec2 blurCoordinates[12];\n\t\n\tblurCoordinates[0] = textureCoordinate.xy + singleStepOffset * vec2(5.0, -8.0);\n\tblurCoordinates[1] = textureCoordinate.xy + singleStepOffset * vec2(5.0, 8.0);\n\tblurCoordinates[2] = textureCoordinate.xy + singleStepOffset * vec2(-5.0, 8.0);\n\tblurCoordinates[3] = textureCoordinate.xy + singleStepOffset * vec2(-5.0, -8.0);\n\t\n\tblurCoordinates[4] = textureCoordinate.xy + singleStepOffset * vec2(8.0, -5.0);\n\tblurCoordinates[5] = textureCoordinate.xy + singleStepOffset * vec2(8.0, 5.0);\n\tblurCoordinates[6] = textureCoordinate.xy + singleStepOffset * vec2(-8.0, 5.0);\t\n\tblurCoordinates[7] = textureCoordinate.xy + singleStepOffset * vec2(-8.0, -5.0);\n\t\n\tblurCoordinates[8] = textureCoordinate.xy + singleStepOffset * vec2(-4.0, -4.0);\n\tblurCoordinates[9] = textureCoordinate.xy + singleStepOffset * vec2(-4.0, 4.0);\n\tblurCoordinates[10] = textureCoordinate.xy + singleStepOffset * vec2(4.0, -4.0);\n\tblurCoordinates[11] = textureCoordinate.xy + singleStepOffset * vec2(4.0, 4.0);\n\t\n\tfloat sampleColor = texture2D(inputImageTexture, textureCoordinate).g * 22.0;\n\n\tsampleColor += texture2D(inputImageTexture, blurCoordinates[0]).g;\n\tsampleColor += texture2D(inputImageTexture, blurCoordinates[1]).g;\n\tsampleColor += texture2D(inputImageTexture, blurCoordinates[2]).g;\n\tsampleColor += texture2D(inputImageTexture, blurCoordinates[3]).g;\n\tsampleColor += texture2D(inputImageTexture, blurCoordinates[4]).g;\n\tsampleColor += texture2D(inputImageTexture, blurCoordinates[5]).g;\n\tsampleColor += texture2D(inputImageTexture, blurCoordinates[6]).g;\n\tsampleColor += texture2D(inputImageTexture, blurCoordinates[7]).g;\n\t\n\tsampleColor += texture2D(inputImageTexture, blurCoordinates[8]).g * 2.0;\n\tsampleColor += texture2D(inputImageTexture, blurCoordinates[9]).g * 2.0;\n\tsampleColor += texture2D(inputImageTexture, blurCoordinates[10]).g * 2.0;\n\tsampleColor += texture2D(inputImageTexture, blurCoordinates[11]).g * 2.0;\t\n\t\n\tsampleColor = sampleColor / 38.0;\n\t\n\tvec3 centralColor = texture2D(inputImageTexture, textureCoordinate).rgb;\n\t\n\tfloat highpass = centralColor.g - sampleColor + 0.5;\n\t\n\tfor(int i = 0; i < 5;i++)\n\t{\n\t\thighpass = hardlight(highpass);\n\t}\n\tfloat lumance = dot(centralColor, W);\n\t\n\tfloat alpha = pow(lumance, params.r);\n\n\tvec3 smoothColor = centralColor + (centralColor-vec3(highpass))*alpha*0.1;\n\t\n\tsmoothColor.r = clamp(pow(smoothColor.r, params.g),0.0,1.0);\n\tsmoothColor.g = clamp(pow(smoothColor.g, params.g),0.0,1.0);\n\tsmoothColor.b = clamp(pow(smoothColor.b, params.g),0.0,1.0);\n\t\n\tvec3 lvse = vec3(1.0)-(vec3(1.0)-smoothColor)*(vec3(1.0)-centralColor);\n\tvec3 bianliang = max(smoothColor, centralColor);\n\tvec3 rouguang = 2.0*centralColor*smoothColor + centralColor*centralColor - 2.0*centralColor*centralColor*smoothColor;\n\t\n\tgl_FragColor = vec4(mix(centralColor, lvse, alpha), 1.0);\n\tgl_FragColor.rgb = mix(gl_FragColor.rgb, bianliang, alpha);\n\tgl_FragColor.rgb = mix(gl_FragColor.rgb, rouguang, params.b);\n\t\n\tvec3 satcolor = gl_FragColor.rgb * saturateMatrix;\n\tgl_FragColor.rgb = mix(gl_FragColor.rgb, satcolor, params.a);\n}" |
| Modifier and Type | Constant Field | Value |
|---|---|---|
public static final java.lang.String |
FRAGMENT_SHADER |
"precision mediump float;\n\nvarying mediump vec2 textureCoordinate;\n\nuniform sampler2D inputImageTexture;\nuniform vec2 singleStepOffset;\nuniform highp vec4 params; \n\nconst highp vec3 W = vec3(0.299,0.587,0.114);\nvec2 blurCoordinates[20];\n\nfloat hardLight(float color)\n{\n\tif(color <= 0.5)\n\t\tcolor = color * color * 2.0;\n\telse\n\t\tcolor = 1.0 - ((1.0 - color)*(1.0 - color) * 2.0);\n\treturn color;\n}\n\nvoid main(){\n\n vec3 centralColor = texture2D(inputImageTexture, textureCoordinate).rgb;\n blurCoordinates[0] = textureCoordinate.xy + singleStepOffset * vec2(0.0, -10.0);\n blurCoordinates[1] = textureCoordinate.xy + singleStepOffset * vec2(0.0, 10.0);\n blurCoordinates[2] = textureCoordinate.xy + singleStepOffset * vec2(-10.0, 0.0);\n blurCoordinates[3] = textureCoordinate.xy + singleStepOffset * vec2(10.0, 0.0);\n blurCoordinates[4] = textureCoordinate.xy + singleStepOffset * vec2(5.0, -8.0);\n blurCoordinates[5] = textureCoordinate.xy + singleStepOffset * vec2(5.0, 8.0);\n blurCoordinates[6] = textureCoordinate.xy + singleStepOffset * vec2(-5.0, 8.0);\n blurCoordinates[7] = textureCoordinate.xy + singleStepOffset * vec2(-5.0, -8.0);\n blurCoordinates[8] = textureCoordinate.xy + singleStepOffset * vec2(8.0, -5.0);\n blurCoordinates[9] = textureCoordinate.xy + singleStepOffset * vec2(8.0, 5.0);\n blurCoordinates[10] = textureCoordinate.xy + singleStepOffset * vec2(-8.0, 5.0);\n blurCoordinates[11] = textureCoordinate.xy + singleStepOffset * vec2(-8.0, -5.0);\n blurCoordinates[12] = textureCoordinate.xy + singleStepOffset * vec2(0.0, -6.0);\n blurCoordinates[13] = textureCoordinate.xy + singleStepOffset * vec2(0.0, 6.0);\n blurCoordinates[14] = textureCoordinate.xy + singleStepOffset * vec2(6.0, 0.0);\n blurCoordinates[15] = textureCoordinate.xy + singleStepOffset * vec2(-6.0, 0.0);\n blurCoordinates[16] = textureCoordinate.xy + singleStepOffset * vec2(-4.0, -4.0);\n blurCoordinates[17] = textureCoordinate.xy + singleStepOffset * vec2(-4.0, 4.0);\n blurCoordinates[18] = textureCoordinate.xy + singleStepOffset * vec2(4.0, -4.0);\n blurCoordinates[19] = textureCoordinate.xy + singleStepOffset * vec2(4.0, 4.0);\n\n float sampleColor = centralColor.g * 20.0;\n sampleColor += texture2D(inputImageTexture, blurCoordinates[0]).g;\n sampleColor += texture2D(inputImageTexture, blurCoordinates[1]).g;\n sampleColor += texture2D(inputImageTexture, blurCoordinates[2]).g;\n sampleColor += texture2D(inputImageTexture, blurCoordinates[3]).g;\n sampleColor += texture2D(inputImageTexture, blurCoordinates[4]).g;\n sampleColor += texture2D(inputImageTexture, blurCoordinates[5]).g;\n sampleColor += texture2D(inputImageTexture, blurCoordinates[6]).g;\n sampleColor += texture2D(inputImageTexture, blurCoordinates[7]).g;\n sampleColor += texture2D(inputImageTexture, blurCoordinates[8]).g;\n sampleColor += texture2D(inputImageTexture, blurCoordinates[9]).g;\n sampleColor += texture2D(inputImageTexture, blurCoordinates[10]).g;\n sampleColor += texture2D(inputImageTexture, blurCoordinates[11]).g;\n sampleColor += texture2D(inputImageTexture, blurCoordinates[12]).g * 2.0;\n sampleColor += texture2D(inputImageTexture, blurCoordinates[13]).g * 2.0;\n sampleColor += texture2D(inputImageTexture, blurCoordinates[14]).g * 2.0;\n sampleColor += texture2D(inputImageTexture, blurCoordinates[15]).g * 2.0;\n sampleColor += texture2D(inputImageTexture, blurCoordinates[16]).g * 2.0;\n sampleColor += texture2D(inputImageTexture, blurCoordinates[17]).g * 2.0;\n sampleColor += texture2D(inputImageTexture, blurCoordinates[18]).g * 2.0;\n sampleColor += texture2D(inputImageTexture, blurCoordinates[19]).g * 2.0;\n\n sampleColor = sampleColor / 48.0;\n\n float highPass = centralColor.g - sampleColor + 0.5;\n\n for(int i = 0; i < 5;i++)\n {\n highPass = hardLight(highPass);\n }\n float luminance = dot(centralColor, W);\n\n float alpha = pow(luminance, params.r);\n\n vec3 smoothColor = centralColor + (centralColor-vec3(highPass))*alpha*0.15*params.g;\n\n gl_FragColor = vec4(mix(smoothColor.rgb, max(smoothColor, centralColor), alpha), 1.0);\n}" |
public static final java.lang.String |
FRAGMENT_SHADER_LOW |
"precision mediump float;\n\nvarying mediump vec2 textureCoordinate;\n\nuniform sampler2D inputImageTexture;\nuniform vec2 singleStepOffset;\nuniform highp vec4 params;\n\nconst highp vec3 W = vec3(0.299,0.587,0.114);\nconst mat3 saturateMatrix = mat3(\n\t\t1.1102,-0.0598,-0.061,\n\t\t-0.0774,1.0826,-0.1186,\n\t\t-0.0228,-0.0228,1.1772);\nvec2 blurCoordinates[20];\n\nfloat hardLight(float color)\n{\n\tif(color <= 0.5)\n\t\tcolor = color * color * 2.0;\n\telse\n\t{\n\t\tcolor = 1.0 - color;\n\t\tcolor = 1.0 - color * color * 2.0;\n\t}\n\treturn color;\n}\n\nint isSkin(vec3 color)\n{\n\tint result = 0;\n\tif(color.r > 0.373 && color.g > 0.157 && color.b > 0.078 && color.r > color.b && color.r > color.g && abs(color.r - color.b) > 0.059)\n\t{\n\t}\n\telse\n\t{\n\t\tresult = 1;\n\t}\n\treturn result;\n}\n\nfloat skinColor(float centralColor, vec4 color)\n{\n\tfloat result = 0.5;\n\tif(color.r > 0.373 && color.g > 0.157 && color.b > 0.078 && color.r > color.b && color.r > color.g && abs(color.r - color.b) > 0.059)\n\t{\n\t\tresult=color.g;\n\t}\n\telse\n\t{\n\t\tresult=centralColor;\n\t}\n\treturn result;\n}\n\nvoid main(){\n\n vec3 centralColor = texture2D(inputImageTexture, textureCoordinate).rgb;\n int result = isSkin(centralColor);\n if (result == 0)\n {\n blurCoordinates[0] = textureCoordinate.xy + singleStepOffset * vec2(5.0, -8.0);\n blurCoordinates[1] = textureCoordinate.xy + singleStepOffset * vec2(5.0, 8.0);\n blurCoordinates[2] = textureCoordinate.xy + singleStepOffset * vec2(-5.0, 8.0);\n blurCoordinates[3] = textureCoordinate.xy + singleStepOffset * vec2(-5.0, -8.0);\n blurCoordinates[4] = textureCoordinate.xy + singleStepOffset * vec2(0.0, -6.0);\n blurCoordinates[5] = textureCoordinate.xy + singleStepOffset * vec2(0.0, 6.0);\n blurCoordinates[6] = textureCoordinate.xy + singleStepOffset * vec2(6.0, 0.0);\n blurCoordinates[7] = textureCoordinate.xy + singleStepOffset * vec2(-6.0, 0.0);\n blurCoordinates[8] = textureCoordinate.xy + singleStepOffset * vec2(-4.0, -4.0);\n blurCoordinates[9] = textureCoordinate.xy + singleStepOffset * vec2(-4.0, 4.0);\n blurCoordinates[10] = textureCoordinate.xy + singleStepOffset * vec2(4.0, -4.0);\n blurCoordinates[11] = textureCoordinate.xy + singleStepOffset * vec2(4.0, 4.0);\n\n float sampleColor = centralColor.g * 5.0;\n sampleColor += skinColor(centralColor.g, texture2D(inputImageTexture, blurCoordinates[0])) * 2.0;\n sampleColor += skinColor(centralColor.g, texture2D(inputImageTexture, blurCoordinates[1])) * 2.0;\n sampleColor += skinColor(centralColor.g, texture2D(inputImageTexture, blurCoordinates[2])) * 2.0;\n sampleColor += skinColor(centralColor.g, texture2D(inputImageTexture, blurCoordinates[3])) * 2.0;\n sampleColor += skinColor(centralColor.g, texture2D(inputImageTexture, blurCoordinates[4])) * 4.0;\n sampleColor += skinColor(centralColor.g, texture2D(inputImageTexture, blurCoordinates[5])) * 4.0;\n sampleColor += skinColor(centralColor.g, texture2D(inputImageTexture, blurCoordinates[6])) * 4.0;\n sampleColor += skinColor(centralColor.g, texture2D(inputImageTexture, blurCoordinates[7])) * 4.0;\n sampleColor += skinColor(centralColor.g, texture2D(inputImageTexture, blurCoordinates[8])) * 4.0;\n sampleColor += skinColor(centralColor.g, texture2D(inputImageTexture, blurCoordinates[9])) * 4.0;\n sampleColor += skinColor(centralColor.g, texture2D(inputImageTexture, blurCoordinates[10])) * 4.0;\n sampleColor += skinColor(centralColor.g, texture2D(inputImageTexture, blurCoordinates[11])) * 4.0;\n\n sampleColor = sampleColor / 45.0;\n\n float highPass = centralColor.g - sampleColor + 0.5;\n\n for(int i = 0; i < 5;i++)\n {\n highPass = hardLight(highPass);\n }\n float luminance = dot(centralColor, W);\n\n float alpha = pow(luminance, 1.0);\n\n vec3 smoothColor = centralColor + (centralColor-vec3(highPass))*alpha*0.1*params.g;\n gl_FragColor = vec4(mix(smoothColor.rgb, max(smoothColor, centralColor), alpha), 1.0);\n vec3 lvse = vec3(1.0)-(vec3(1.0)-smoothColor)*(vec3(1.0)-centralColor);\n gl_FragColor.rgb = mix(gl_FragColor.rgb, lvse, alpha*0.1);\n vec3 satcolor = gl_FragColor.rgb * saturateMatrix;\n gl_FragColor.rgb = mix(gl_FragColor.rgb, satcolor, 0.09);\n }\n else\n {\n gl_FragColor = vec4(centralColor, 1.0); }\n}" |
| Modifier and Type | Constant Field | Value |
|---|---|---|
public static final java.lang.String |
FRAGMENT_SHADER |
"precision highp float;\n\nvarying highp vec2 textureCoordinate;\n\nuniform sampler2D inputImageTexture;\nuniform float params; \n\nconst mat3 saturateMatrix = mat3(\n\t\t1.1102,-0.0598,-0.061,\n\t\t-0.0774,1.0826,-0.1186,\n\t\t-0.0228,-0.0228,1.1772);\n\t\t\n\nvoid main(){\n\n gl_FragColor = texture2D(inputImageTexture, textureCoordinate);\n vec3 satcolor = gl_FragColor.rgb * saturateMatrix;\n gl_FragColor.rgb = mix(gl_FragColor.rgb, satcolor, params);\n}" |
| Modifier and Type | Constant Field | Value |
|---|---|---|
public static final java.lang.String |
FILTER_FRAGMENT_SHADER |
"varying highp vec2 textureCoordinate;\n \nuniform sampler2D inputImageTexture;\n \nvoid main()\n{\n gl_FragColor = texture2D(inputImageTexture, textureCoordinate);\n}" |
public static final java.lang.String |
FILTER_VERTEX_SHADER |
"attribute vec4 position;\nattribute vec4 inputTextureCoordinate;\n \nuniform mat4 uTexMatrix;\nvarying vec2 textureCoordinate;\n \nvoid main()\n{\n gl_Position = position;\n textureCoordinate = (uTexMatrix * inputTextureCoordinate).xy;\n}" |
| Modifier and Type | Constant Field | Value |
|---|---|---|
public static final java.lang.String |
FRAGMENT_SHADER |
" precision highp float;\n \n varying highp vec2 textureCoordinate;\n \n uniform sampler2D inputImageTexture;\n uniform float white;\n \n float logCurve(float color)\n {\n return log(color * (white - 1.0) + 1.0) / log(white);\n }\n \n void main()\n {\n vec4 textureColor = texture2D(inputImageTexture, textureCoordinate);\n float r = logCurve(textureColor.r);\n float g = logCurve(textureColor.g);\n float b = logCurve(textureColor.b);\n gl_FragColor = vec4(r, g, b, 1.0);\n }" |
| Modifier and Type | Constant Field | Value |
|---|---|---|
public static final java.lang.String |
noeffect_vs |
"attribute vec4 aPosition;\nattribute vec4 aTextureCoord;\nvarying vec2 vTexCoord;\n\nvoid main()\n{\n gl_Position = aPosition;\n vTexCoord = aTextureCoord.xy;\n}" |
public static final java.lang.String |
passthrouth_fs |
"precision mediump float;\nvarying vec2 vTexCoord;\nuniform sampler2D uTexture0;\n\nvoid main()\n{\n vec4 color = texture2D(uTexture0, vTexCoord);\n gl_FragColor = color; //vec4(color.y, color.y, color.y, 1.0);\n}" |
public static final java.lang.String |
passthrouth_vs |
"attribute vec4 aPosition;\nattribute vec4 aTextureCoord;\nvarying vec2 vTexCoord;\n\nvoid main()\n{\n gl_Position = aPosition;\n vTexCoord = aTextureCoord.xy;\n}" |
| Modifier and Type | Constant Field | Value |
|---|---|---|
public static final java.lang.String |
TAG |
"OrangeFilterWrapper" |
| Modifier and Type | Constant Field | Value |
|---|---|---|
public static final int |
NO_TEXTURE |
-1 |
| Modifier and Type | Constant Field | Value |
|---|---|---|
protected static final int |
FRAMERATE_FLOOR |
4 |
protected static final long |
ONE_SECOND |
1000000000L |
| Modifier and Type | Constant Field | Value |
|---|---|---|
protected static final int |
FRAMERATE_FLOOR |
10 |
protected static final long |
ONE_SECOND |
1000000000L |
| Modifier and Type | Constant Field | Value |
|---|---|---|
protected static final int |
FRAMERATE_FLOOR |
10 |
protected static final long |
ONE_SECOND |
1000000000L |
| Modifier and Type | Constant Field | Value |
|---|---|---|
protected static final long |
ONE_SECOND |
1000000000L |
| Modifier and Type | Constant Field | Value |
|---|---|---|
public static final int |
FILLMODE_INNERFIT |
1 |
public static final int |
FILLMODE_OUTERFIT |
2 |
| Modifier and Type | Constant Field | Value |
|---|---|---|
public static final java.lang.String |
vertexShader |
"uniform mat4 uMVPMatrix; \nuniform mat4 uTexMatrix; \nattribute vec4 aPosition; \nattribute vec4 aTextureCoord; \nvarying vec2 vTextureCoord; \nvoid main() \n{ \n gl_Position = uMVPMatrix * aPosition; \n vTextureCoord = (uTexMatrix * aTextureCoord).xy; \n}" |
| Modifier and Type | Constant Field | Value |
|---|---|---|
public static final int |
COORD_SIZE |
2 |
| Modifier and Type | Constant Field | Value |
|---|---|---|
public static final java.lang.String |
TAG |
"UploadStatManager " |
| Modifier and Type | Constant Field | Value |
|---|---|---|
public static final java.lang.String |
AppCpuRate |
"s7" |
public static final java.lang.String |
CaptureDesiredFps |
"sfr" |
public static final java.lang.String |
CaptureDesiredResolutionHeight |
"sh" |
public static final java.lang.String |
CaptureDesiredResolutionWidth |
"sw" |
public static final java.lang.String |
CaptureMeanLatency |
"cal" |
public static final java.lang.String |
CaptureRealFps |
"rfr" |
public static final java.lang.String |
CaptureRealResolutionHeight |
"rh" |
public static final java.lang.String |
CaptureRealResolutionWidth |
"rw" |
public static final java.lang.String |
CaptureType |
"vct" |
public static final java.lang.String |
PmDesiredEncodeBitrate |
"pmbr" |
public static final java.lang.String |
PmDesiredEncodeFps |
"pmfr" |
public static final java.lang.String |
PmDesiredEncodeHeight |
"pmh" |
public static final java.lang.String |
PmDesiredEncodeWidth |
"pmw" |
public static final java.lang.String |
VideoCapture2EncodeLatency |
"c2el" |
public static final java.lang.String |
VideoCaptureStallingIndication |
"vcsi" |
public static final java.lang.String |
VideoEncodeDesiredBitrate |
"epbr" |
public static final java.lang.String |
VideoEncodeDesiredFps |
"esfr" |
public static final java.lang.String |
VideoEncodeHeight |
"eh" |
public static final java.lang.String |
VideoEncodeId |
"eid" |
public static final java.lang.String |
VideoEncodeMaxLatency |
"eml" |
public static final java.lang.String |
VideoEncodeMeanLatency |
"eal" |
public static final java.lang.String |
VideoEncodeRealFps |
"erfr" |
public static final java.lang.String |
VideoEncodeRealMaxBitrate |
"embr" |
public static final java.lang.String |
VideoEncodeRealMeanBitrate |
"ebr" |
public static final java.lang.String |
VideoEncodeTimeDiff |
"emd" |
public static final java.lang.String |
VideoEncodeWidth |
"ew" |
public static final java.lang.String |
VideoPreProcessMaxLatency |
"fml" |
public static final java.lang.String |
VideoPreProcessMeanLatency |
"fal" |
public static final java.lang.String |
VideoPtsDtsMaxDiff |
"pdmd" |
public static final java.lang.String |
VideoPtsMaxDiff |
"epd" |
| Modifier and Type | Constant Field | Value |
|---|---|---|
public static final int |
ENCODE_STREAM_ID |
1001 |
| Modifier and Type | Constant Field | Value |
|---|---|---|
public static final java.lang.String |
ENCODE |
"0" |
public static final java.lang.String |
RENDER |
"2" |
| Modifier and Type | Constant Field | Value |
|---|---|---|
public static final java.lang.String |
ENCODE_BLOCK |
"0" |
public static final java.lang.String |
ENCODE_CHANGE_SOFT |
"5" |
public static final java.lang.String |
ENCODE_EXCEPTION |
"1" |
public static final java.lang.String |
ENCODE_INIT_EXCEPTION |
"2" |
public static final java.lang.String |
ENCODE_PARSE_ERROR |
"4" |
public static final java.lang.String |
ENCODE_RESET_EXCEPTION |
"3" |
public static final java.lang.String |
ENCODE_STOP_BLOCKED |
"6" |
| Modifier and Type | Constant Field | Value |
|---|---|---|
public static final java.lang.String |
DEINIT_ERROR |
"103" |
public static final java.lang.String |
INIT_ERROR |
"101" |
public static final java.lang.String |
RENDER_ERROR |
"102" |
| Modifier and Type | Constant Field | Value |
|---|---|---|
public static final java.lang.String |
APP_VERSION |
"dr14" |
public static final java.lang.String |
DTS |
"dr10" |
public static final java.lang.String |
ENCODER_STATE |
"dr0" |
public static final java.lang.String |
EXCEPTION_ID |
"dr5" |
public static final java.lang.String |
EXCEPTION_REASON |
"dr6" |
public static final java.lang.String |
LastInputPts |
"dr15" |
public static final java.lang.String |
MODEL |
"dr8" |
public static final java.lang.String |
MODULE_TYPE |
"dr3" |
public static final java.lang.String |
OS |
"dr13" |
public static final java.lang.String |
PTS |
"dr9" |
public static final java.lang.String |
RESOLUTION |
"dr12" |
public static final java.lang.String |
STREAM_ID |
"dr7" |
public static final java.lang.String |
SYSTEM_INFO |
"dr1" |
public static final java.lang.String |
UPLOAD_TIME |
"dr11" |
public static final java.lang.String |
VIDEO_DECODE_ID |
"dr4" |
public static final java.lang.String |
VIDEO_TYPE |
"dr2" |
| Modifier and Type | Constant Field | Value |
|---|---|---|
protected static final int |
RESET_DATA_COUNT |
10 |
protected static final int |
RESET_DATA_TIME |
5000 |
public static final java.lang.String |
TAG |
"VideoStatisticManager " |
| Modifier and Type | Constant Field | Value |
|---|---|---|
public static final java.lang.String |
JPG_EXT |
".jpg" |
public static final java.lang.String |
SPEEX_EXT |
".aud" |
public static final java.lang.String |
ZIP_EXT |
".zip" |
| Modifier and Type | Constant Field | Value |
|---|---|---|
public static final int |
MAX_FILE_SIZE |
2 |
| Modifier and Type | Constant Field | Value |
|---|---|---|
public static final java.lang.String |
vertexShader |
"attribute vec4 aPosition; \nattribute vec4 aTextureCoord; \nvarying vec2 vTexCoord; \nvoid main() \n{ \n gl_Position = aPosition; \n vTexCoord = aTextureCoord.xy; \n}" |
| Modifier and Type | Constant Field | Value |
|---|---|---|
public static final boolean |
IGNORE_CASE |
true |
public static final boolean |
IGNORE_WIDTH |
true |
| Modifier and Type | Constant Field | Value |
|---|---|---|
public static final int |
TIME |
60 |