Closed ruslo closed 6 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.
https://github.com/elucideye/drishti/pull/537 merged.
To test:
identifier "khronos_int64_t" is undefined
no service found for - "org.qt-project.qt.camera"
Linux (gcc-pic)
Currently build failed in ogles_gpgpu. Seems it doesn't work with OGLES_GPGPU_OPENGL_ES3=ON
.
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.
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.
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:
qt-camera
with GStreamer 1.0 lauches with error GLib-GObject-WARNING **: invalid (NULL) pointer instance
grammar.tab.c:67:25: error: too few arguments to function ‘priv_gst_parse_yylex’
it's Bison 3 incompatibility issue.Closing in favor of native iOS/Android apps, with glfw/aglet/sfml for all else.
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. Shouldfacefilter
use some other fucntion or keep using same fork/patch/release approach?