summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Camera zoom control - version for the AVFoundation pluginTimur Pocheptsov2015-02-055-1/+294
| | | | | | | | AVFCameraZoomControl for AVFoundation plugin (videoZoomFactor in AVCaptureDeviceFormat). iOS only. Change-Id: I585b8df4c2a477971ada7bd81fabbd44f2371d98 Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
* AVFCameraExposureControl - exposure control for iOSTimur Pocheptsov2015-02-055-2/+756
| | | | | | | | 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>
* AVFCameraFocusControl - focus control for iOS / OS XTimur Pocheptsov2015-02-056-3/+474
| | | | | | | Camera focus control for AVFoundation plugin (iOS/OS X). Change-Id: I0a79e7057ecbb66413debb8eac0f48ff679fc7ba Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
* Camera: update viewfinder settings on Loaded status.Yoann Lopes2015-02-041-1/+3
| | | | | Change-Id: I9a341c7500b09d39554118689e6e83cd1b798e39 Reviewed-by: Andrew den Exter <andrew.den.exter@qinetic.com.au>
* iOS video frame render implementation.James Turner2015-02-048-61/+575
| | | | | | | | | | | | 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 video filtering support to VideoOutputLaszlo Agocs2015-02-0333-70/+1541
| | | | | | | | | | | | | | | | | | | | | | | | | 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>
* Merge "Merge remote-tracking branch 'origin/5.4' into dev" into refs/staging/devYoann Lopes2015-01-2316-358/+119
|\
| * Merge remote-tracking branch 'origin/5.4' into devYoann Lopes2015-01-1916-358/+119
| |\ | | | | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf src/plugins/gstreamer/camerabin/camerabinsession.cpp Change-Id: I66a6f3efc5391013934b6b321073c31f25e1de26
| | * Bump versionOswald Buddenhagen2015-01-161-1/+1
| | | | | | | | | | | | Change-Id: I29a6579deefb4ca80bb014c43ee34697fa89bd47
| | * Add resolution and fps on mfw_v4lsrcLaszlo Agocs2015-01-123-5/+63
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| | * Migrate to categorized logging in Quick 2 video outputLaszlo Agocs2015-01-092-23/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| | * Support byte ordered QImage formats in pixelFormatFromImageFormatLaszlo Agocs2015-01-091-0/+3
| | | | | | | | | | | | | | | | | | | | | For QVideoFrame purposes they are equivalent. Change-Id: I776c60aa8ca848e58499bbd0c1fc25c457d46ef6 Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
| | * Support YUV420P in the i.MX6 video nodeLaszlo Agocs2015-01-061-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| | * Fix: static linking on Linux with both PulseAudio and Alsa pluginsGabriel Hege2014-12-228-38/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| | * remove unnecessary LICENSE.GPLv2Jani Heikkinen2014-12-221-292/+0
| | | | | | | | | | | | | | | Change-Id: Ic2be97ac71f2dbf48925b2ee7fb4ab291c7573c7 Reviewed-by: Iikka Eklund <iikka.eklund@theqtcompany.com>
* | | Fix initialization orderLaszlo Agocs2015-01-191-1/+1
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | Rename camera classes to avoid name clash.James Turner2015-01-159-56/+59
| | | | | | | | | | | | | | 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>
* | New camera viewfinder settings API.Yoann Lopes2015-01-1320-43/+1171
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | AVFImageCaptureControl - invalid connectionTimur Pocheptsov2015-01-081-17/+8
| | | | | | | | | | | | | | | | | | 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>
* | Add missing includes for QDataStream/QIODevice.Friedemann Kleint2015-01-0710-0/+11
| | | | | | | | | | | | | | | | After qtbase/90e7cc172a7521396bb2d49720ee4ceb9a9390b3, QStringList no longer includes QDataStream. Change-Id: Ibe3e1e6542e1b592adaabe3f8ffd3268efaf289b Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | Merge "Merge remote-tracking branch 'origin/5.4' into dev" into refs/staging/devFrederik Gladhorn2014-12-2912-25/+223
|\ \
| * \ Merge remote-tracking branch 'origin/5.4' into devFrederik Gladhorn2014-12-1712-25/+223
| |\ \ | | |/ | | | | | | | | | | | | | | | Conflicts: .qmake.conf Change-Id: I31e377cdccf8bf5c1ea8143faf2001ac99608c27
| | * Merge remote-tracking branch 'origin/5.4.0' into 5.4Frederik Gladhorn2014-12-171-0/+111
| | |\ | | | | | | | | | | | | Change-Id: Ice62a75ba6ff094e22e8affbecf26f4d3bf2f282
| | | * Added 5.4.0 change file.v5.4.05.4.0Yoann Lopes2014-12-031-0/+111
| | | | | | | | | | | | | | | | | | | | Change-Id: I623b42d5f4f565ee7cf2d064e52609a99636bd6a Reviewed-by: Jani Heikkinen <jani.heikkinen@theqtcompany.com>
| | * | Bump versionOswald Buddenhagen2014-12-121-1/+1
| | | | | | | | | | | | | | | | Change-Id: I7e93575a6e3767485e2a5430312e87527b2c9b2d
| | * | winrt: Add missing QAbstractVideoSurface::stop() call.Andrew Knight2014-12-111-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This was preventing the surface from restarting with a different format. Change-Id: I1f86ddb1b16618f167183c7e2fcb32658df578f3 Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
| | * | winrt: Fix encoding propertiesAndrew Knight2014-12-111-4/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| | * | winrt: Fix camera auto rotationAndrew Knight2014-12-114-0/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| | * | Make it compile with no-openglLaszlo Agocs2014-12-111-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I71358bb1268e5b28b66b1817a3ec0cd98459cfd2 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
| | * | Remove private API use from video orientation handlerAndrew Knight2014-12-111-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| | * | GStreamer: better camera device name logic.Yoann Lopes2014-12-091-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| | * | OpenSL ES: volume support for QAudioInput.Yoann Lopes2014-12-032-5/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| | * | Fix VideoOutput autoOrientation when switching cameras.Yoann Lopes2014-12-032-11/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The VideoOutput's camera info was not updated when switching cameras. Change-Id: I23537ce98b08009898eaa26ef14d5b9a746ab5f7 Reviewed-by: Andrew Knight <andrew.knight@theqtcompany.com>
* | | | Fix some typos in strings.Dmitry Shachnev2014-12-253-9/+9
|/ / / | | | | | | | | | | | | | | | | | | | | | s/Endianess/Endianness/ s/changable/changeable/ Change-Id: I91a43ff6e6143f2d3fc0a93aa8bbf34a415eea90 Reviewed-by: Andrew Knight <qt@panimo.net>
* | | Disable warning about QObject::event being hiddenThiago Macieira2014-12-031-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | Add additional exposure modes to QCameraExposure.Andrew den Exter2014-11-287-9/+172
| | | | | | | | | | | | | | | | | | | | | | | | | | | [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>
* | | Add a color filter property to QCameraImageProcessing.Andrew den Exter2014-11-289-7/+212
| | | | | | | | | | | | | | | | | | | | | [ChangeLog] New color filter property for QCameraImageProcessing. Change-Id: I999e349e3e4f284b533fa62ba50903fbd21cb400 Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
* | | Add support for face detection focus point mode to camerabin backend.Andrew den Exter2014-11-282-28/+235
| | | | | | | | | | | | | | | | | | | | | | | | [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>
* | | Implement exposure and whitebalance lock for gstreamer camera.Andrew den Exter2014-11-284-18/+227
| | | | | | | | | | | | | | | Change-Id: I58277d69c18ad2e31cad719a2dd6361c0c2d7e98 Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
* | | Allow supported camera locks to change after initialization.Andrew den Exter2014-11-283-32/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | GStreamer: port to 1.0.Yoann Lopes2014-11-2771-1374/+3661
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | Merge remote-tracking branch 'origin/5.4' into devYoann Lopes2014-11-2712-22/+24
|\ \ \ | |/ / | | | | | | Change-Id: Iaa608643f6626ed074a9fd374555cc5bc84659d5
| * | Remove unused private membersThiago Macieira2014-11-255-11/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * | Fix Clang warning about comparison of different signsThiago Macieira2014-11-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * | Merge remote-tracking branch 'origin/5.4.0' into 5.4Frederik Gladhorn2014-11-216-10/+23
| |\ \ | | |/ | | | | | | Change-Id: Iec2c793710c95919975aa3c03144d915ca5fa84f
| | * Fix bogus videonode plugin handlingv5.4.0-rc1Laszlo Agocs2014-11-185-9/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| | * WinRT: Fix compilation after ANGLE updateMaurice Kalinowski2014-11-171-1/+1
| |/ | | | | | | | | | | | | Header inclusion is not needed, hence remove it for WinRT. Change-Id: I8117439849143975cad3dc14e36118b8da4621de Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
* | Merge remote-tracking branch 'origin/5.4' into devFrederik Gladhorn2014-11-2112-23/+100
|\ \ | |/ | | | | Change-Id: Id87e56ccfc9f33f98c3d06991f6fe9c14d38fbac
| * Check whether current context can be obtained when deleting textures.Friedemann Kleint2014-11-062-4/+12
| | | | | | | | | | | | | | | | Add a warning in that case. Task-number: QTBUG-41966 Change-Id: I491ee9e13c9504040ab789951656983a736d9203 Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
| * OpenSL ES: improve buffer logicChristian Strømme2014-11-042-8/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | 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>