| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
AVFCameraZoomControl for AVFoundation plugin (videoZoomFactor in
AVCaptureDeviceFormat). iOS only.
Change-Id: I585b8df4c2a477971ada7bd81fabbd44f2371d98
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
|
|
|
|
|
|
|
|
| |
Exposure control, version for AVFoundation plugin (this code is using
quite a new API, iOS >=8 only).
Change-Id: I6871a758e8dfb98ab46b66d91a44142163e0bb44
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
|
|
|
|
|
|
|
| |
Camera focus control for AVFoundation plugin (iOS/OS X).
Change-Id: I0a79e7057ecbb66413debb8eac0f48ff679fc7ba
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
|
|
|
|
|
| |
Change-Id: I9a341c7500b09d39554118689e6e83cd1b798e39
Reviewed-by: Andrew den Exter <andrew.den.exter@qinetic.com.au>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Uses CVTextureCache, iOS only for now, OS-X code could be ported
but will need further work to support TEXTURE_RECTANGLE in the
QVideoNode classes.
When we can’t share a context, falls back to an offscreen window,
FBO rendering and grabbing a QImage.
Change-Id: I23b831fdcc63aeb1b67b7741d8d56779470240d3
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add the QAbstractVideoFilter base class and integrate it with VideoOutput.
This can be used to perform arbitrary filtering or image processing
on the frames of a video stream of a VideoOutput element right before
the OpenGL texture is provided to the scenegraph by the video node.
This opens up the possibility to integrate computer vision
frameworks or accelerated image processing with Qt Quick applications
that display video streams using Qt Multimedia.
Conceptually it is somewhat similar to QVideoProbe, this
approach however allows modifying the frame, in real time
with tight integration to the scenegraph node, and targets
Qt Quick meaning setting up the filter and processing the results
of the computations happen completely in QML.
[ChangeLog] Added QAbstractVideoFilter that serves as a base class for QML
video filtering elements that integrate compute, vision, and image processing
frameworks with VideoOutput.
Change-Id: Ice1483f8c2daec5a43536978627a7bbb64549480
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
|
|\ |
|
| |\
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
.qmake.conf
src/plugins/gstreamer/camerabin/camerabinsession.cpp
Change-Id: I66a6f3efc5391013934b6b321073c31f25e1de26
|
| | |
| | |
| | |
| | | |
Change-Id: I29a6579deefb4ca80bb014c43ee34697fa89bd47
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Add support for changing resolution and frame rate with mfw_v4lsrc.
This is essential for embedded applications that are not happy with
the default VGA@30.
This makes constructs like the following functional on devices like
i.MX6 with MIPI cameras:
Camera { viewfinder { resolution: "320x240"; maximumFrameRate: 15 } }
Change-Id: Ia297afdb5ca51c6e55ad45dce37fdab7da3a5cfb
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Enable qt.multimedia.video to get the logs. Also enhance the printing
when creating the video node implementation. It is essential to have
an easy way to figure out what handle and formats the node in use
supports.
Change-Id: Idf3a9f076ba03b5e613c19f2347204c841850b45
Reviewed-by: Andy Nichols <andy.nichols@theqtcompany.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
For QVideoFrame purposes they are equivalent.
Change-Id: I776c60aa8ca848e58499bbd0c1fc25c457d46ef6
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Camera input is often in this format. Until now the lack of GL_VIV_I420 (which
was presumably missing in older versions of the extension?) in the format list
resulted in falling back to the built-in i420 node instead of the zero-copy imx6
one. This is now corrected by adding the correct format mapping.
Change-Id: I6e891bb3bb07d64ccd5b2d170b052f677c8bd19c
Reviewed-by: aavit <eirik.aavitsland@theqtcompany.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Fixed multiply defined symbols when linking statically with both
PulseAudio and Alsa plugins enabled:
The private classes In/OutputPrivate had identical names and have been
renamed.
Change-Id: I9415beeeed9fb0e14ead3f0ab906f343b3934341
Task-number: QTBUG-43514
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: Ic2be97ac71f2dbf48925b2ee7fb4ab291c7573c7
Reviewed-by: Iikka Eklund <iikka.eklund@theqtcompany.com>
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Avoid the following warning:
In file included from qgstreamerplayersession.cpp:34:0:
qgstreamerplayersession.h: In constructor ‘QGstreamerPlayerSession::QGstreamerPlayerSession(QObject*)’:
qgstreamerplayersession.h:203:10: warning: ‘QGstreamerPlayerSession::m_usingColorspaceElement’ will be initialized after [-Wreorder]
bool m_usingColorspaceElement;
^
qgstreamerplayersession.h:197:17: warning: ‘GstElement* QGstreamerPlayerSession::m_videoSink’ [-Wreorder]
GstElement* m_videoSink;
^
qgstreamerplayersession.cpp:107:1: warning: when initialized here [-Wreorder]
QGstreamerPlayerSession::QGstreamerPlayerSession(QObject *parent)
^
Change-Id: Ic4dfe6ead19db8d581cc7de622f478e63524715b
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
|
| |
| |
| |
| |
| |
| |
| | |
Change-Id: I08fe8f7e75bdbf2c4975863642072061741b5bc6
Reviewed-by: Filipe Azevedo <filipe.azevedo@kdab.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
There already was a control interface for the viewfinder settings
but no real public C++ API and a partial QML API.
This patch adds a new C++ API and improves the QML API.
Supported viewfinder settings are resolution, minimumFrameRate,
maximumFrameRate and pixelFormat. The camera can be queried for
the supported values for each of these settings.
A new control interface was created to match the new API.
Change-Id: I289fea038fe46277a5516c956a64280da09ed985
Reviewed-by: Andrew den Exter <andrew.den.exter@qinetic.com.au>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
AVCaptureConnection from AVCaptureStillImageOutput becomes invalid
as we remove/add AVCaptureDevice.
Change-Id: I698ffcc0b91b76cd5d7c25e4b244eaa0aa459159
Task-number: QTBUG-42035
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
After qtbase/90e7cc172a7521396bb2d49720ee4ceb9a9390b3,
QStringList no longer includes QDataStream.
Change-Id: Ibe3e1e6542e1b592adaabe3f8ffd3268efaf289b
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
|\ \ |
|
| |\ \
| | |/
| | |
| | |
| | |
| | |
| | | |
Conflicts:
.qmake.conf
Change-Id: I31e377cdccf8bf5c1ea8143faf2001ac99608c27
|
| | |\
| | | |
| | | |
| | | | |
Change-Id: Ice62a75ba6ff094e22e8affbecf26f4d3bf2f282
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Change-Id: I623b42d5f4f565ee7cf2d064e52609a99636bd6a
Reviewed-by: Jani Heikkinen <jani.heikkinen@theqtcompany.com>
|
| | | |
| | | |
| | | |
| | | | |
Change-Id: I7e93575a6e3767485e2a5430312e87527b2c9b2d
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This was preventing the surface from restarting with a different format.
Change-Id: I1f86ddb1b16618f167183c7e2fcb32658df578f3
Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
These should match the capture mode. Additionally, there was a semantic
error preventing the encoding properties from being properly selected.
This fixes a bug in which the viewfinder was receiving frames too large
for display as an OpenGL texture.
Task-number: QTBUG-41065
Change-Id: Ia82c8f44bba1692a219edc5f9d78fc76c3d8a4ba
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@theqtcompany.com>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
There is no Windows Runtime API to find the camera sensor rotation, so
assume that phones always have a camera mounting of 270 degrees. Tablet
and webcams remain mounted at the default (0 degrees). As the frame is not
flipped automatically by the system, the scan line direction is set to
BottomToTop for front-facing cameras to achieve compatibility with
other platforms.
Task-number: QTBUG-41066
Change-Id: Icf17ecd4aca9fa9d5b24d94e5b21b63ee6f21f28
Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Change-Id: I71358bb1268e5b28b66b1817a3ec0cd98459cfd2
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The QPA header isn't needed anymore, as nativeOrientation was added as
a QScreen property in 5.2.
Change-Id: I7cd00feae769175fd0c4be65b503e74ee910814a
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Use the device ID for QCameraInfo::description() when the driver
doesn't provide any display name.
Change-Id: Iff1f17187ecb52262412f85db04d7108fae71717
Reviewed-by: Andrew den Exter <andrew.den.exter@qinetic.com.au>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The OpenSL volume interface is not available for audio inputs on
Android so we apply the volume ourselves on the PCM data.
Task-number: QTBUG-42159
Change-Id: If43d8aa576bc70a925681f0db1ca8b40e71f7b29
Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The VideoOutput's camera info was not updated when switching cameras.
Change-Id: I23537ce98b08009898eaa26ef14d5b9a746ab5f7
Reviewed-by: Andrew Knight <andrew.knight@theqtcompany.com>
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
s/Endianess/Endianness/
s/changable/changeable/
Change-Id: I91a43ff6e6143f2d3fc0a93aa8bbf34a415eea90
Reviewed-by: Andrew Knight <qt@panimo.net>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Found by Clang 3.6:
qdeclarativemediametadata_p.h:292:14: warning: 'QDeclarativeMediaMetaData::event' hides overloaded virtual function [-Woverloaded-virtual]
qobject.h:116:18: note: hidden overloaded virtual function 'QObject::event' declared here: different number of parameters (1 vs 0)
Change-Id: I4324c984649738c9625cc3eb9dddea6e2abf46a9
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
[ChangeLog][GStreamer][Android] Camera exposure mode extended to support
Action, Landscape, NightPortrait, Theatre, Sunset, SteadyPhoto,
Fireworks, Party, Candlelight, and Barcode modes.
Change-Id: I13d4bb042d27c0bd2ffcd369882b56bbabc84335
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
[ChangeLog] New color filter property for QCameraImageProcessing.
Change-Id: I999e349e3e4f284b533fa62ba50903fbd21cb400
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
[ChangeLog][GStreamer] Implemented the face detection focus point mode
in the gstreamer camerabin backend.
Change-Id: Ia582d2fb5e74d5b438aa0038224c5e20e597d53e
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: I58277d69c18ad2e31cad719a2dd6361c0c2d7e98
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
A camera backend may not be able to report which locks it supports
until after it is loaded, so query support on demand instead of caching
the value available at construction time.
Change-Id: I56fb1adee980ebc2fa893da3c983a6dce26329c0
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
0.10 is still used by default.
To enable GStreamer 1.0, pass GST_VERSION=1.0 to qmake
for qtmultimedia.pro.
Contributions from:
Andrew den Exter <andrew.den.exter@qinetic.com.au>
Ilya Smelykh <ilya@videoexpertsgroup.com>
Jim Hodapp <jim.hodapp@canonical.com>
Sergio Schvezov <sergio.schvezov@canonical.com>
Change-Id: I72a46d1170a8794a149bdb5e20767afcc5b7587c
Reviewed-by: Andrew den Exter <andrew.den.exter@qinetic.com.au>
|
|\ \ \
| |/ /
| | |
| | | |
Change-Id: Iaa608643f6626ed074a9fd374555cc5bc84659d5
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
One is not used, the others are not even initialized, so don't use the
memory.
qsoundeffect_pulse_p.h:172:20: warning: private field 'm_resourceStatus' is not used [-Wunused-private-field]
qvideowidget_p.h:211:25: warning: private field 'm_aspectRatioMode' is not used [-Wunused-private-field]
qalsaaudioinput.h:156:22: warning: private field 'timestamp' is not used [-Wunused-private-field]
qalsaaudiooutput.h:135:22: warning: private field 'timestamp' is not used [-Wunused-private-field]
Change-Id: I7c9f50d57c4d29ee0dfd7dc086771d721cdb5b05
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Commit 4d35f66acf90e64e6c174bee9d809713d07fcd7e changed from -1 to ~0 because
ICC complained, but Clang still sees ~0 as int. So force to unsigned.
qgstappsrc.cpp:144:31: warning: comparison of integers of different signs: 'unsigned int' and 'int' [-Wsign-compare]
Change-Id: I6b0fdf8dc5df157d8e184f22dba44660e60ca3b2
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
|
| |\ \
| | |/
| | |
| | | |
Change-Id: Iec2c793710c95919975aa3c03144d915ca5fa84f
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Each plugin must provide its own unique key. Otherwise we will only ever
see one single plugin.
Right now running on i.MX6 is often broken because the imx6 videonode plugin is
not picked up since only the egl one is seen by the system. With the fix both plugins
provide their own unique key so both become visible.
Additionally, introduce a QT_VIDEONODE environment variable. This is useful to specify
which plugin to use. This is necessary in case multiple custom videonode plugins support
the same formats.
Change-Id: Iaa1988f8436dcb938cb9a95e2e0d68a4e92e113c
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
|
| |/
| |
| |
| |
| |
| |
| | |
Header inclusion is not needed, hence remove it for WinRT.
Change-Id: I8117439849143975cad3dc14e36118b8da4621de
Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
|
|\ \
| |/
| |
| | |
Change-Id: Id87e56ccfc9f33f98c3d06991f6fe9c14d38fbac
|
| |
| |
| |
| |
| |
| |
| |
| | |
Add a warning in that case.
Task-number: QTBUG-41966
Change-Id: I491ee9e13c9504040ab789951656983a736d9203
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Don't use relaxed load and stores, we need to be stricter to avoid
problems with high frequency re-fills of the buffer. If we don't enforce
ordering we might end-up spending more time trying to acquire an open
slot in the buffer. Updating processes bytes is also moved off the
"OpenSL" thread.
Added some comments for improved readability.
Change-Id: Ie27965fc6bf4b8394081ae6419f4933522ada98e
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
|