<div dir="ltr">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><br></div><br><div class="gmail_quote"><div dir="ltr">On Wed, 4 Apr 2018 at 17:30 Jason H <<a href="mailto:jhihn@gmx.com">jhihn@gmx.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><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 name="quote" style="margin:10px 5px 5px 10px;padding:10px 0 10px 10px;border-left:2px solid #c3d9e5;word-wrap:break-word">
<div style="margin:0 0 10px 0"><b>Sent:</b> Wednesday, April 04, 2018 at 4:54 AM<br>
<b>From:</b> "René Hansen" <<a href="mailto:renehh@gmail.com" target="_blank">renehh@gmail.com</a>><br>
<b>To:</b> "Jason H" <<a href="mailto:jhihn@gmx.com" 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" 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 name="quote" style="margin:10px 5px 5px 10px;padding:10px 0 10px 10px;border-left:2px solid #c3d9e5;word-wrap:break-word">

<div name="quoted-content">
<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" 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" 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>