vec3 yuv_to_rgb (vec3 val) { vec3 rgb; val += from_yuv_bt601_offset; rgb.r = dot(val, from_yuv_bt601_rcoeff); rgb.g = dot(val, from_yuv_bt601_gcoeff); rgb.b = dot(val, from_yuv_bt601_bcoeff); return rgb; } vec3 rgb_to_yuv (vec3 val) { vec3 yuv; yuv.r = dot(val.rgb, from_rgb_bt601_ycoeff); yuv.g = dot(val.rgb, from_rgb_bt601_ucoeff); yuv.b = dot(val.rgb, from_rgb_bt601_vcoeff); yuv += from_rgb_bt601_offset; return yuv; } vec4 chroma_keying_yuv (vec4 yuva) { float y, u, v; y = yuva.x; u = yuva.y-0.5; v = yuva.z-0.5; if (y < smin || y > smax) { return yuva; } vec4 new; float tmp, tmp1; float x = clamp ((u * cb + v * cr) * 2.0, -0.5, 0.5); float z = clamp ((v * cb - u * cr) * 2.0, -0.5, 0.5); if (abs(z) > min (0.5, x * accept_angle_tg * 0.0625)) { return yuva; } float x1 = min (0.5, abs(z * accept_angle_ctg * 0.0625)); float y1 = z; tmp1 = max (0.0, x-x1); float b_alpha = yuva.a * (1.0 - clamp (tmp1 * one_over_kc, 0.0, 1.0)); tmp = min (1.0, tmp1 * kfgy_scale * 0.0625); new.x = max (y-tmp, 0.0);//y < tmp ? 0.0 : y - tmp; new.y = clamp ((x1 * cb - y1 * cr) * 2.0, -0.5, 0.5)+0.5; new.z = clamp ((y1 * cb + x1 * cr) * 2.0, -0.5, 0.5)+0.5; new.a = z * z + (x - kg) * (x - kg) < noise_level2 ? 0.0 : b_alpha; return new; } void main () { vec4 yuva; vec4 rgba = texture2D (tex, v_texcoord); yuva.xyz = rgb_to_yuv (rgba.rgb); yuva.a = rgba.a; yuva = chroma_keying_yuv (yuva); rgba.rgb = yuv_to_rgb (yuva.xyz); rgba.a = yuva.a; gl_FragColor = rgba; } Failed to initialize chroma key shader%s:%d: invalid %s id %u for "%s" of type '%s' in '%s'How the alpha channels should be createdThe value for the alpha channelThe red color value for custom RGB chroma keyingThe green color value for custom RGB chroma keyingThe blue color value for custom RGB chroma keyingSize of the colorcube to changeAdds an alpha channel to video using OpenGL - uniform or chroma-keyingChroma Key on custom RGB values�p����������������������������X���@���������������������������(���p���gst_gl_alpha_before_transform_create_shadergst_gl_alpha_update_propertiesI>���>$>����?�C�>C?��>?�=�=@���CpA�A�B�B-DT�! @�f@.@p?�?�o@�?���Uploads data into OpenGLFilter/VideoOpenGL uploadergstgluploadelement.cRetry uploading with new capsFailed to upload bufferchanging state: %s => %sGstGLUploadElementglupload Elementgluploadelementvideo/x-raw(ANY)Failed to upload with curren caps -- reconfiguring.gst_gl_upload_element_prepare_output_buffergst_gl_upload_element_change_stateDMABuf exportation didn't work and system memory is not supported.video/x-raw(memory:GLMemory); video/x-rawvideo/x-raw(memory:DMABuf); video/x-raw; video/x-raw(memory:GLMemory)Downloads data from OpenGLOpenGL downloaderGstGLDownloadDmabufInfocould not copy metadatagstgldownloadelement.cwarning: %smemory:DMABufmemory:GLMemorymemory:SystemMemorytexture-targetreturning caps %pAGstGLDownloadElementdownload elementgldownloadelementgst_gl_download_element_transform_capsgst_gl_download_element_prepare_output_bufferConverts between color spaces using OpenGL shadersFailed to convert video buffervideo/x-raw(memory:GLMemory), format = (string) { RGBA, RGB, RGBx, BGR, BGRx, BGRA, xRGB, xBGR, ARGB, ABGR, Y444, I420, YV12, Y42B, Y41B, NV12, NV21, YUY2, UYVY, AYUV, VUYA, GRAY8, GRAY16_LE, GRAY16_BE, RGB16, BGR16, ARGB64 }, width = (int) [ 1, max ], height = (int) [ 1, max ], framerate = (fraction) [ 0, max ], texture-target = (string) { 2D, rectangle, external-oes } ; video/x-raw(memory:GLMemory,meta:GstVideoOverlayComposition), format = (string) { RGBA, RGB, RGBx, BGR, BGRx, BGRA, xRGB, xBGR, ARGB, ABGR, Y444, I420, YV12, Y42B, Y41B, NV12, NV21, YUY2, UYVY, AYUV, VUYA, GRAY8, GRAY16_LE, GRAY16_BE, RGB16, BGR16, ARGB64 }, width = (int) [ 1, max ], height = (int) [ 1, max ], framerate = (fraction) [ 0, max ], texture-target = (string) { 2D, rectangle, external-oes }Filter/Converter/VideoOpenGL color convertergstglcolorconvertelement.cGstGLColorConvertElementglconvertelementgst_gl_color_convert_element_prepare_output_buffergst_gl_color_convert_element_change_stategstglfilterbin.csetting target src pad %pAsetting target sink pad %pAThe GL filter chain to useGL filter elementcreate-elementGL Filter BinGST_IS_ELEMENT (filter)Failed to retrieve elementGstGLFilterBinglfilterbin elementInfrastructure to process GL texturesFailed to link filter element into the pipelinegst_gl_filter_bin_change_state_connect_filter_elementgst_gl_filter_bin_set_filtergst_gl_filter_bin_initgstglsinkbin.ccontrastbrightnesshuesaturationForce aspect ratioforce-aspect-ratioThe GL sink chain to useGL sink elementSync on the clockSyncMax Latenessmax-latenessQosqosGo asynchronously to PAUSEDAsyncasyncTS Offsetts-offsetEnable Last Bufferenable-last-sampleLast SampleBlock sizeblocksizeRender Delayrender-delayThrottle timethrottle-timeMax Bitratemax-bitrateContrastBrightnessHueSaturationSink/VideoGL Sink BinGST_IS_ELEMENT (sink)GstGLSinkBinOpenGL Video Sink BinFailed to add/connect the necessary machineryWhen enabled, scaling will respect original aspect ratioMaximum number of nanoseconds that a buffer can be late before it is dropped (-1 unlimited)Generate Quality-of-Service events upstreamTimestamp offset in nanosecondsEnable the last-sample propertyThe last sample received in the sinkSize in bytes to pull per buffer (0 = default)Additional render delay of the sink in nanosecondsThe time to keep between rendered buffers (0 = disabled)The maximum bits per second to render (0 = disabled)Failed to link sink element into the pipelineFailed to set unmatched property %sgst_gl_sink_bin_change_state_connect_sink_elementgst_gl_sink_bin_set_sinkgst_gl_sink_bin_set_propertygst_gl_sink_bin_init@�gstglsrcbin.cThe GL src chain to useGL src elementSrc/VideoGL Src BinGST_IS_ELEMENT (src)GstGLSrcBinOpenGL Video Src BinFailed to link src element into the pipelinegst_gl_src_bin_change_state_connect_src_elementgst_gl_src_bin_set_srcgst_gl_src_bin_initGstGLRotateMethodrotate methodrotate-methodHandle XEventshandle-eventsIgnore Alphaignore-alphaGet OpenGL contextPixel Aspect Ratiopixel-aspect-ratioShow preroll frameshow-preroll-frameOutput Multiview Modeoutput-multiview-modeOutput Multiview Flagsoutput-multiview-flagsoutput-multiview-downmix-modeclient-drawclient-reshapeGST_IS_GL_WINDOW (window)pointer_xpointer_ygstglimagesink.ctransform %fx%f into %fx%fFailed to link shader: %sPAR: %u/%u DAR:%u/%ukeeping video heightkeeping video widthscaling to %dx%dFailed to map video frame.A videosink based on OpenGLOpenGL video sinkgst_glimage_sink_querygst_glimage_sink_show_framerendering buffer:%pWindow redisplay failedpost redisplayQuit requestedEnsuring setupgot window %pAkey-eventmouse-eventAlready have a contextset caps with %pAevent %s at %g, %gevent %s key %s pressedOutput window was closedpreparing buffer:%pGL Window resized to %ux%u%s window resize to %ix%ireturning caps: %pAChanging method from %s to %shandling %s eventimage-orientationflip-rotate-0flip-rotate-90flip-rotate-180flip-rotate-270create new poolGstBufferPoolOptionGLSyncMetano caps specifiedinvalid caps specifiedfailed setting configGstGLImageSinkBinGstGLImageSinkOpenGL Video SinkGST_IS_GLIMAGE_SINK (overlay)set_xwindow_id %luGST_IS_GLIMAGE_SINK (gl_sink)%s element drawing texture %uredrawing texture:%uu_transformationGST_IS_GLIMAGE_SINK (object)finalizedIdentity (no rotation)noneRotate clockwise 90 degreesRotate 180 degreescounterclockwiseFlip horizontallyhorizontal-flipFlip verticallyvertical-flipupper-left-diagonalupper-right-diagonalautomaticWhen enabled, XEvents will be selected and handledWhen enabled, alpha will be ignored and converted to blackThe pixel aspect ratio of the deviceWhether to render video frames during prerollChoose output mode for multiview/3D videoOutput multiview layout modifier flagsOutput anaglyph type to generate when downmixing to monoMode for mono downmixed outputFailed to retreive fragment shader for texture targetapproximating while keeping video heightSet 3D output scale to %dx%d PAR %d/%dSending reconfigure event on sinkpad.Recreating output after mode/size changeJulien Isorce <julien.isorce@gmail.com>redisplay texture:%u of size:%ux%u, window size:%ux%uNo current context, creating one for %pAcreated context %pA from other context %pAwindow_id : %lu , new_window_id : %luSetting window handle on gl windowFailed to convert multiview video bufferGL output area now %u,%u %ux%uintersecting with filter caps %pAGstVideoOverlayCompositionMetasending alloc query with size %dx%dvideo/x-raw(memory:GLMemory), format = (string) RGBA, width = (int) [ 1, max ], height = (int) [ 1, max ], framerate = (fraction) [ 0, max ], texture-target = (string) { 2D, external-oes } ; video/x-raw(memory:GLMemory,meta:GstVideoOverlayComposition), format = (string) RGBA, width = (int) [ 1, max ], height = (int) [ 1, max ], framerate = (fraction) [ 0, max ], texture-target = (string) { 2D, external-oes } Rotate counter-clockwise 90 degreesFlip across upper left/lower right diagonalFlip across upper right/lower left diagonalSelect rotate method based on image-orientation tag0P��PP��pP���P���P���P��`O��P���f���f���e��f�� f��@f��`f��pf���f���f���e���h���h���g���g���g���h��h��$h��4h��\h��dg��gst_glimage_sink_set_propertygst_glimage_sink_get_propertygst_glimage_sink_finalizegst_glimage_sink_finalizegst_glimage_sink_change_stategst_glimage_sink_set_rotate_methodgst_glimage_sink_set_rotate_methodgst_glimage_sink_eventgst_glimage_sink_set_capsgst_glimage_sink_get_capsgst_glimage_sink_preparegst_glimage_sink_on_resizegst_glimage_sink_on_drawgst_glimage_sink_on_drawgst_glimage_sink_on_closegst_glimage_sink_key_event_cbgst_glimage_sink_mouse_event_cb_ensure_gl_setupgst_glimage_sink_propose_allocationgst_glimage_sink_show_framegst_glimage_sink_set_window_handlegst_glimage_sink_set_window_handleprepare_next_bufferconfigure_display_from_infoupdate_output_formatgst_glimage_sink_thread_init_redisplaygst_glimage_sink_redisplay_display_size_to_stream_sizegst_glimage_sink_navigation_send_event�?�?�?���?�����?�?���?�?�����?�?�?�?�?�?�?���?�?���?�?�?�?���?�?�����?�?���?�?�?�?Background red colorBackground green colorBackground blue colorFovyfovyAspectaspectZnearznearZfarzfarOpenGL cube filters_texturexrot_degreeyrot_degreezrot_degreeu_matrix%s%sgstglfiltercube.cGstGLFilterCubeglfiltercube elementField of view angle in degreesField of view in the x directionSpecifies the distance from the viewer to the near clipping planeSpecifies the distance from the viewer to the far clipping planeMap input texture on the 6 cube facesvarying vec2 v_texcoord; uniform sampler2D s_texture; void main() { gl_FragColor = texture2D( s_texture, v_texcoord ); } attribute vec4 a_position; attribute vec2 a_texcoord; uniform mat4 u_matrix; uniform float xrot_degree, yrot_degree, zrot_degree; varying vec2 v_texcoord; void main() { float PI = 3.14159265; float xrot = xrot_degree*2.0*PI/360.0; float yrot = yrot_degree*2.0*PI/360.0; float zrot = zrot_degree*2.0*PI/360.0; mat4 matX = mat4 ( 1.0, 0.0, 0.0, 0.0, 0.0, cos(xrot), sin(xrot), 0.0, 0.0, -sin(xrot), cos(xrot), 0.0, 0.0, 0.0, 0.0, 1.0 ); mat4 matY = mat4 ( cos(yrot), 0.0, -sin(yrot), 0.0, 0.0, 1.0, 0.0, 0.0, sin(yrot), 0.0, cos(yrot), 0.0, 0.0, 0.0, 0.0, 1.0 ); mat4 matZ = mat4 ( cos(zrot), sin(zrot), 0.0, 0.0, -sin(zrot), cos(zrot), 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0 ); gl_Position = u_matrix * matZ * matY * matX * a_position; v_texcoord = a_texcoord; } �`��``��p`���`���`���`���`��H`��b��Pa��pa���a���a���a���a��0a��
�?�?���?�?�����?�?�������?���?���?�?�?�?���?�?�����?�?�?���?�?�?�?�?�?�?�?���?�?�����?�?�?���?�?���?�?�?���?���?�?�������?�����?�?���?�?�����?�������?�?�����?�?�?�?�?�?�?�?���?�?���?���?���?�?�F@�������?Y@@�@���>��L>���>Filippo Argiolas <filippo.argiolas@gmail.com>Select which effect apply to GL video textureSwitch video texture left to right, useful with webcamsGL Shading Language effects - %sInvert colors to get dark edges on bright background when using sobel effectInvert the colors for sobel effectFailed to initialize %s shaderCould not match gstgleffects-%s descriptorBlur with 9x9 separable convolution EffectLaplacian Convolution Demo EffectGL Shading Language effectsGstreamer OpenGL Effectsgstgleffects.cGstGLEffectsEffectHorizontal SwaphswapGstGLEffectsgleffects elementgleffectsmirrorDo nothing EffectidentityGstGLEffectsGenericgleffects_%sCould not register %sMirror EffectSqueeze EffectsqueezeStretch EffectstretchLight Tunnel EffecttunnelFishEye EffectfisheyeTwirl EffecttwirlBulge EffectbulgeSquare EffectsquareHeat Signature EffectheatSepia Toning EffectsepiaLuma Cross Processing EffectlumaxproGlowing negative effectxrayAll Grey but Red EffectsinGlow Lighting EffectglowSobel edge detection Effectsobelblurlaplacian�`���`���`��a�� a��@a��`a���a���a���a���a��b�� b��@b��`b���b���b��``���`��gst_gl_effects_filters_descriptorsgst_gl_effects_set_effectgst_gl_effects_register_filtersgst_gl_effects_get_fragment_shader�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������پ�پ�ؼ�ؼ���ֹ�ո�շ�Զ�ӵ�Ӵ�ҳ�Ѳ�б�Я�ϯ�Ϯ�ά�ͬ�ͫ�̪�˩�˨�ʦ�ɥ�ɥ�Ȥ�ǣ�Ǣ�ơ�Š�ş�Ğ�Ý�Ü�������ƿ�ž�ž�Ľ�ü�û�»��������������������������������������������������������~��}��|��{��z��y��x��w��v��u��t��s��r��q��p��o��n��m��l��l��j��i��h��g��f��e��d��c��b��a��`��_��_��]��\��\��Z��Y��X��W��V��U��T��S��R��Q��P��O��N��M��M�K�~J�}I�|H�|G�zG�zE�xD�vC�vB�tA�s@�q@~p>}o>|o<{l<yk;xi9wh8wg8te6sd5qd4pa3n_2m]1k\0j\0hY.fW-dU,cT+aR*_P)_O(]M'YK'XI%VI$TF$RD"OB!M@ K?I=G=E9C9A5>5<2<0:.5,3*1*.&.&*"' %" "