<html><head></head><body><div style="font-family: Verdana;font-size: 12.0px;"><div>
<div> I should find it there yes. But the irony is that I can't find it anywhere. Meanwhile the Samsung has it where you would expect. I'm looking for an OpenGL for it, but the Adreno SDK doesn't have it. Any idea where I mght find it?</div>

<div> </div>

<div>Many thanks.</div>

<div> </div>

<div>taimen:/ $ find . -name *CL*  2> /dev/null<br/>
./system/usr/srec/en-US/CLG.prewalk.fst</div>

<div><br/>
1|taimen:/ $ find . -name *GL*  2> /dev/null<br/>
./sys/bus/platform/drivers/GLINK_CTRL<br/>
./system/lib/libGLESv1_CM.so<br/>
./system/lib/libGLESv3.so<br/>
./system/lib/libGLESv2.so<br/>
./system/lib/libEGL.so<br/>
./system/lib64/libGLESv1_CM.so<br/>
./system/lib64/libGLESv3.so<br/>
./system/lib64/libGLESv2.so<br/>
./system/lib64/libEGL.so<br/>
./vendor/lib/egl/libGLESv2_adreno.so<br/>
./vendor/lib/egl/libEGL_adreno.so<br/>
./vendor/lib/egl/libGLESv1_CM_adreno.so<br/>
./vendor/lib64/egl/libGLESv2_adreno.so<br/>
./vendor/lib64/egl/libEGL_adreno.so<br/>
./vendor/lib64/egl/libGLESv1_CM_adreno.so</div>

<div> </div>

<div>Vs. Samsung:</div>

<div> </div>

<div>1|dream2lte:/ $ find . -name *GL*  2> /dev/null<br/>
./system/lib/egl/libGLES_android.so<br/>
./system/lib/libEGL.so<br/>
./system/lib/libGLESv1_CM.so<br/>
./system/lib/libGLESv2.so<br/>
./system/lib/libGLESv3.so<br/>
./system/lib/libSEC_EGL.so<br/>
./system/lib64/egl/libGLES_android.so<br/>
./system/lib64/libEGL.so<br/>
./system/lib64/libGLESv1_CM.so<br/>
./system/lib64/libGLESv2.so<br/>
./system/lib64/libGLESv3.so<br/>
./system/lib64/libSEC_EGL.so<br/>
./system/vendor/lib/egl/libGLES_mali.so</div>

<div><br/>
./system/vendor/lib64/egl/libGLES_mali.so</div>

<div>1|dream2lte:/ $ find . -name *enCL*  2> /dev/null<br/>
./system/vendor/lib/libOpenCL.so.1.1<br/>
./system/vendor/lib/libOpenCL.so<br/>
./system/vendor/lib/libOpenCL.so.1<br/>
./system/vendor/lib64/libOpenCL.so.1.1<br/>
./system/vendor/lib64/libOpenCL.so<br/>
./system/vendor/lib64/libOpenCL.so.1</div>

<div> </div>

<div>
<div name="quote" style="margin:10px 5px 5px 10px; padding: 10px 0 10px 10px; border-left:2px solid #C3D9E5; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;">
<div style="margin:0 0 10px 0;"><b>Sent:</b> Wednesday, April 04, 2018 at 12:07 PM<br/>
<b>From:</b> "René Hansen" <renehh@gmail.com><br/>
<b>To:</b> "Jason H" <jhihn@gmx.com><br/>
<b>Cc:</b> "interestqt-project.org" <interest@qt-project.org><br/>
<b>Subject:</b> Re: [Interest] Video Filters on Android</div>

<div name="quoted-content">
<div>You'll probably find it at <b>/vendor/lib/libOpenCL.so.</b><br/>
<br/>
I'm not sure which version of OpenGL ES you need, but you have both versions available to link against using the NDK at least.<br/>
<br/>
I've been wanting to do a writeup on the whole QML videofilter -> OpenCL pipeline through shared GL context, but haven't really found the time. There's not that many great examples to go by out there for Android and it seems to me at least, that it's a bit of a greenfield effort, even though the Qt guys have put in some great initial building blocks.<br/>
<br/>
<br/>
/René<br/>
<br/>
 </div>
 

<div class="gmail_quote">
<div>On Wed, 4 Apr 2018 at 17:30 Jason H <<a href="mailto:jhihn@gmx.com" onclick="parent.window.location.href='jhihn@gmx.com'; return false;" target="_blank">jhihn@gmx.com</a>> wrote:</div>

<blockquote class="gmail_quote" style="margin: 0 0 0 0.8ex;border-left: 1.0px rgb(204,204,204) solid;padding-left: 1.0ex;">
<div>
<div style="font-family: Verdana;font-size: 12.0px;">
<div>Thanks! I'm trying to do this on a Pixel 2 XL, but there is no libOpenCL.so on it! (directory listing included later)</div>

<div> </div>

<div>I'm searching for it. I'm looking at the Aredno SDK, </div>

<div> </div>

<div>I'm sort of at a loss for what all I need to include for android. You mention GLESv2, but you also mention v3. </div>

<div>
<div> </div>

<div>taimen:/system/lib $ ls -1 lib*<br/>
lib-imsvideocodec.so<br/>
lib-imsvt.so<br/>
lib-imsvtextutils.so<br/>
lib-imsvtutils.so<br/>
libEGL.so<br/>
libETC1.so<br/>
libFFTEm.so<br/>
libGLESv1_CM.so<br/>
libGLESv2.so<br/>
libGLESv3.so<br/>
libOpenMAXAL.so<br/>
libOpenSLES.so<br/>
libRS.so<br/>
libRSCacheDir.so<br/>
libRSCpuRef.so<br/>
libRSDriver.so<br/>
libRS_internal.so<br/>
libRScpp.so<br/>
libaaudio.so<br/>
libaaudioservice.so<br/>
libandroid.so<br/>
libandroid_net.so<br/>
libandroid_runtime.so<br/>
libandroid_servers.so<br/>
libandroidfw.so<br/>
libappfuse.so<br/>
libart-compiler.so<br/>
libart-dexlayout.so<br/>
libart.so<br/>
libaudio-resampler.so<br/>
libaudioclient.so<br/>
libaudioeffect_jni.so<br/>
libaudioflinger.so<br/>
libaudiohal.so<br/>
libaudiomanager.so<br/>
libaudiopolicyenginedefault.so<br/>
libaudiopolicymanager.so<br/>
libaudiopolicymanagerdefault.so<br/>
libaudiopolicyservice.so<br/>
libaudioprocessing.so<br/>
libaudiospdif.so<br/>
libaudioutils.so<br/>
libbacktrace.so<br/>
libbase.so<br/>
libbcinfo.so<br/>
libbinder.so<br/>
libblas.so<br/>
libc++.so<br/>
libc.so<br/>
libc_malloc_debug.so<br/>
libcamera2ndk.so<br/>
libcamera_client.so<br/>
libcamera_metadata.so<br/>
libcameraservice.so<br/>
libchrome.so<br/>
libclcore.bc<br/>
libclcore_debug.bc<br/>
libclcore_debug_g.bc<br/>
libclcore_g.bc<br/>
libclcore_neon.bc<br/>
libcompiler_rt.so<br/>
libcrypto.so<br/>
libcutils.so<br/>
libdebuggerd_client.so<br/>
libdiag_system.so<br/>
libdl.so<br/>
libdmengine.so<br/>
libdmjavaplugin.so<br/>
libdng_sdk.so<br/>
libdrmframework.so<br/>
libdrmframework_jni.so<br/>
libdvr.so<br/>
libdvr_loader.so<br/>
libeaselcomm.so<br/>
libeffectsconfig.so<br/>
libevent.so<br/>
libexif.so<br/>
libexpat.so<br/>
libfilterfw.so<br/>
libfilterpack_facedetect.so<br/>
libfilterpack_imageproc.so<br/>
libfmq.so<br/>
libfrsdk.so<br/>
libft2.so<br/>
libgatekeeper.so<br/>
libgraphicsenv.so<br/>
libgui.so<br/>
libhardware.so<br/>
libhardware_legacy.so<br/>
libharfbuzz_ng.so<br/>
libheif.so<br/>
libhidlbase.so<br/>
libhidlmemory.so<br/>
libhidltransport.so<br/>
libhwbinder.so<br/>
libhwui.so<br/>
libicui18n.so<br/>
libicuuc.so<br/>
libimg_utils.so<br/>
libimscamera_jni.so<br/>
libimsmedia_jni.so<br/>
libinput.so<br/>
libinputflinger.so<br/>
libinputservice.so<br/>
libiprouteutil.so<br/>
libjavacore.so<br/>
libjavacrypto.so<br/>
libjnigraphics.so<br/>
libjpeg.so<br/>
libkeystore_binder.so<br/>
libldacBT_abr.so<br/>
libldacBT_enc.so<br/>
liblog.so<br/>
liblz4.so<br/>
liblzma.so<br/>
libm.so<br/>
libmdnssd.so<br/>
libmedia.so<br/>
libmedia_helper.so<br/>
libmedia_jni.so<br/>
libmedia_omx.so<br/>
libmediadrm.so<br/>
libmedialogservice.so<br/>
libmediametrics.so<br/>
libmediandk.so<br/>
libmediaplayerservice.so<br/>
libmediautils.so<br/>
libmemtrack.so<br/>
libmemunreachable.so<br/>
libmidi.so<br/>
libminikin.so<br/>
libmtp.so<br/>
libnativebridge.so<br/>
libnativehelper.so<br/>
libnativeloader.so<br/>
libnativewindow.so<br/>
libnbaio.so<br/>
libnetd_client.so<br/>
libnetlink.so<br/>
libnetutils.so<br/>
libneuralnetworks.so<br/>
libnl.so<br/>
libopenjdk.so<br/>
libopenjdkjvm.so<br/>
libopenjdkjvmti.so<br/>
libopus.so<br/>
libpac.so<br/>
libpackagelistparser.so<br/>
libpcre2.so<br/>
libpdfium.so<br/>
libpiex.so<br/>
libpixelflinger.so<br/>
libpng.so<br/>
libpower.so<br/>
libpowermanager.so<br/>
libprocessgroup.so<br/>
libprocinfo.so<br/>
libprotobuf-cpp-full.so<br/>
libprotobuf-cpp-lite.so<br/>
libradio_metadata.so<br/>
librcc.so<br/>
libresourcemanagerservice.so<br/>
librs_jni.so<br/>
librtp_jni.so<br/>
libschedulerservicehidl.so<br/>
libselinux.so<br/>
libsensor.so<br/>
libsensorservice.so<br/>
libsensorservicehidl.so<br/>
libserviceutility.so<br/>
libsigchain.so<br/>
libskia.so<br/>
libsoftkeymaster.so<br/>
libsonic.so<br/>
libsonivox.so<br/>
libsoundpool.so<br/>
libsoundtrigger.so<br/>
libsoundtriggerservice.so<br/>
libspeexresampler.so<br/>
libsqlite.so<br/>
libssl.so<br/>
libstagefright.so<br/>
libstagefright_amrnb_common.so<br/>
libstagefright_enc_common.so<br/>
libstagefright_flacdec.so<br/>
libstagefright_foundation.so<br/>
libstagefright_http_support.so<br/>
libstagefright_httplive.so<br/>
libstagefright_omx.so<br/>
libstagefright_omx_utils.so<br/>
libstagefright_soft_aacdec.so<br/>
libstagefright_soft_aacenc.so<br/>
libstagefright_soft_amrdec.so<br/>
libstagefright_soft_amrnbenc.so<br/>
libstagefright_soft_amrwbenc.so<br/>
libstagefright_soft_avcdec.so<br/>
libstagefright_soft_avcenc.so<br/>
libstagefright_soft_flacdec.so<br/>
libstagefright_soft_flacenc.so<br/>
libstagefright_soft_g711dec.so<br/>
libstagefright_soft_gsmdec.so<br/>
libstagefright_soft_hevcdec.so<br/>
libstagefright_soft_mp3dec.so<br/>
libstagefright_soft_mpeg2dec.so<br/>
libstagefright_soft_mpeg4dec.so<br/>
libstagefright_soft_mpeg4enc.so<br/>
libstagefright_soft_opusdec.so<br/>
libstagefright_soft_rawdec.so<br/>
libstagefright_soft_vorbisdec.so<br/>
libstagefright_soft_vpxdec.so<br/>
libstagefright_soft_vpxenc.so<br/>
libstagefright_wfd.so<br/>
libstagefright_xmlparser.so<br/>
libstdc++.so<br/>
libsurfaceflinger.so<br/>
libsurfaceflinger_ddmconnection.so<br/>
libsuspend.so<br/>
libsync.so<br/>
libsysutils.so<br/>
libtextclassifier.so<br/>
libtextclassifier_hash.so<br/>
libtinyxml2.so<br/>
libtombstoned_client.so<br/>
libui.so<br/>
libunwind.so<br/>
libusbhost.so<br/>
libutils.so<br/>
libvintf.so<br/>
libvixl-arm.so<br/>
libvixl-arm64.so<br/>
libvndksupport.so<br/>
libvorbisidec.so<br/>
libvulkan.so<br/>
libwebviewchromium_loader.so<br/>
libwebviewchromium_plat_support.so<br/>
libwifi-service.so<br/>
libwilhelm.so<br/>
libxml2.so<br/>
libz.so<br/>
libziparchive.so</div>

<div> </div>

<div> </div>

<div style="margin: 10.0px 5.0px 5.0px 10.0px;padding: 10.0px 0 10.0px 10.0px;border-left: 2.0px solid rgb(195,217,229);">
<div style="margin: 0 0 10.0px 0;"><b>Sent:</b> Wednesday, April 04, 2018 at 4:54 AM<br/>
<b>From:</b> "René Hansen" <<a href="mailto:renehh@gmail.com" onclick="parent.window.location.href='renehh@gmail.com'; return false;" target="_blank">renehh@gmail.com</a>><br/>
<b>To:</b> "Jason H" <<a href="mailto:jhihn@gmx.com" onclick="parent.window.location.href='jhihn@gmx.com'; return false;" target="_blank">jhihn@gmx.com</a>><br/>
<b>Cc:</b> "<a href="http://interestqt-project.org" target="_blank">interestqt-project.org</a>" <<a href="mailto:interest@qt-project.org" onclick="parent.window.location.href='interest@qt-project.org'; return false;" target="_blank">interest@qt-project.org</a>><br/>
<b>Subject:</b> Re: [Interest] Video Filters on Android</div>
</div>
</div>
</div>
</div>

<div>
<div style="font-family: Verdana;font-size: 12.0px;">
<div>
<div style="margin: 10.0px 5.0px 5.0px 10.0px;padding: 10.0px 0 10.0px 10.0px;border-left: 2.0px solid rgb(195,217,229);">
<div>
<div>I never got that specific example to work, but assuming you're building with the Android NDK, you can include:
<div> </div>

<div>
<div><font face="monospace">#include <GLES2/gl2.h></font></div>

<div><font face="monospace">#include <EGL/egl.h></font></div>
</div>

<div> </div>

<div>Which will give you access to <b>eglGetCurrentContext()</b>.<br/>
<br/>
I'm using the r10e ndk, since that's what works with Qt at the moment. GLES v3 is available in toolchain v21:<br/>
 
<div><font face="monospace">$ ls ~/Code/Android/android-ndk-r10e//platforms/android-21/arch-arm/usr/lib/</font></div>

<div><font face="monospace">crtbegin_dynamic.o      libGLESv2.so            libdl.so                libstdc++.a</font></div>

<div><font face="monospace">crtbegin_so.o           libGLESv3.so            libjnigraphics.so       libstdc++.so</font></div>

<div><font face="monospace">crtbegin_static.o       libOpenMAXAL.so         liblog.so               libthread_db.so</font></div>

<div><font face="monospace">crtend_android.o        libOpenSLES.so          libm.a                  libz.a</font></div>

<div><font face="monospace">crtend_so.o             libandroid.so           libm.so                 libz.so</font></div>

<div><font face="monospace">libEGL.so               libc.a                  libm_hard.a             rs</font></div>

<div><font face="monospace">libGLESv1_CM.so         libc.so                 libmediandk.so</font><br/>
<br/>
If you want to link against OpenCL, you still need to pull a <b>libOpenCL.so</b> from an actual device though.<br/>
<br/>
<br/>
/René</div>
</div>
 

<div class="gmail_quote">
<div>On Wed, 4 Apr 2018 at 01:52 Jason H <<a href="mailto:jhihn@gmx.com" onclick="parent.window.location.href='jhihn@gmx.com'; return false;" target="_blank">jhihn@gmx.com</a>> wrote:</div>

<blockquote class="gmail_quote" style="margin: 0 0 0 0.8ex;border-left: 1.0px rgb(204,204,204) solid;padding-left: 1.0ex;"><a href="http://blog.qt.io/blog/2015/03/20/introducing-video-filters-in-qt-multimedia/" target="_blank">http://blog.qt.io/blog/2015/03/20/introducing-video-filters-in-qt-multimedia/</a> announced video filter support, and hardware accelerated too!<br/>
<br/>
Code: <a href="http://code.qt.io/cgit/qt/qtmultimedia.git/tree/examples/multimedia/video/qmlvideofilter_opencl" target="_blank">http://code.qt.io/cgit/qt/qtmultimedia.git/tree/examples/multimedia/video/qmlvideofilter_opencl</a><br/>
<br/>
I'm trying to get it running on Android, but I'm going down a rabbit hole with OpenCL 2.0 and EGL 3.2. I have been hacking on it but I don't know where EGLContext is declared.<br/>
<br/>
Had anyone gotten this running in Android?<br/>
<br/>
Thanks!<br/>
_______________________________________________<br/>
Interest mailing list<br/>
<a href="mailto:Interest@qt-project.org" onclick="parent.window.location.href='Interest@qt-project.org'; return false;" target="_blank">Interest@qt-project.org</a><br/>
<a href="http://lists.qt-project.org/mailman/listinfo/interest" target="_blank">http://lists.qt-project.org/mailman/listinfo/interest</a></blockquote>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</blockquote>
</div>
</div>
</div>
</div>
</div></div></body></html>