elucideye / drishti

Real time eye tracking for embedded and mobile devices.
BSD 3-Clause "New" or "Revised" License
390 stars 82 forks source link

Update to Qt 5.9 #511

Closed ruslo closed 6 years ago

ruslo commented 7 years ago

Here we are using pixelBufferRef which is not a part of standard API. Added to fork in this commit. I don't remember what was the plans about it. Should facefilter use some other fucntion or keep using same fork/patch/release approach?

headupinclouds commented 7 years ago

If it is easy to add at this point, it is probably worth patching. We had added the directCVPixelBufferRef pointer in order to make use of the iOS Texture Cache optimizations in ogles_gpgpu for iOS platforms (i.e., grab NV21 frames from the camera and load luminance (GL_LUMINANCE) + chroma (GL_LUMINANCE_ALPHA) textures w/ platform optimization followed by the ogles_gpgpu::Yuv2RgbProc shaders for RGBA output textures). I seem to recall that in some Qt > 5.6 the iOS Texture Cache stuff was added internally (in Qt) but that Qt was forcing an RGBA frame type (rather than NV21), which is 4/1.5=2.67x the data. In practice there might not be much difference between the two. If there are no major downsides, I think it would be useful to have the option if it is needed. That is the tested pathway for iOS builds in facefilter, for example.

ruslo commented 7 years ago

https://github.com/elucideye/drishti/pull/537 merged.

To test:

ruslo commented 7 years ago

Linux (gcc-pic)

Currently build failed in ogles_gpgpu. Seems it doesn't work with OGLES_GPGPU_OPENGL_ES3=ON.

ruslo commented 7 years ago

Currently build failed in ogles_gpgpu. Seems it doesn't work with OGLES_GPGPU_OPENGL_ES3=ON

Header include issue in ogles_gpgpu. Back to "no service found for" error.

ruslo commented 7 years ago

no service found for - "org.qt-project.qt.camera"

First 3 pages of search:

Page 4 is our discussion :)

It seems that problem may be related to GStreamer. I've installed system GStreamer on my Ubuntu but Qt still reports "gstreamer not found" error. I guess it's because we are using custom PKG_CONFIG_PATH: https://github.com/ruslo/hunter/blob/237878f79b8152fce382f33f991c78d11a99f893/cmake/projects/Qt/ep-stages/qt-configure.cmake.in#L48-L52 I.e. it's expected that GStreamer installed by Hunter.

ruslo commented 7 years ago

System GStreamer 0.10 is working with ugly hack on simple qt-camera example from Hunter. I've added GStreamer 1.0 (latest stable) to Hunter and got next issues:

headupinclouds commented 6 years ago

Closing in favor of native iOS/Android apps, with glfw/aglet/sfml for all else.