summaryrefslogtreecommitdiffstats
path: root/src/multimedia/video
Commit message (Collapse)AuthorAgeFilesLines
* Introduce QVideoFrame::buffer()VaL Doroshchuk2019-02-042-0/+10
| | | | | | | | Returns video buffer if available. Is useful when need to get an access to impl specific data. Change-Id: I6b9855397db2396ed0a76835d083be0457721f9b Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
* multimedia: modernize by using nullptrJochen Seemann2019-01-049-23/+23
| | | | | | Change-Id: Id1084fec084b972aaa1d2389ee56ee831a821172 Reviewed-by: André Hartmann <aha_1980@gmx.de> Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io>
* Fix conversion from QVideoFrame to QImage to respect bytesPerLineVal Doroshchuk2018-11-301-1/+1
| | | | | | | | | | | | | | Since bytes per line can vary and be more than width * bytes in pixel, it should be respected in the conversion. This issue could be observed with ANGLE and IDirect3DSurface9 surfaces. Where IDirect3DSurface9::LockRect returns D3DLOCKED_RECT with Pitch (number bytes in the row) higher than width * bytes in pixel. Task-number: QTBUG-71610 Change-Id: Ic62c50382d9006b0f214626f34f2eb4fd70e8377 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io> Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* Setup QVideoFrame::Format_ABGR32Val Doroshchuk2018-11-091-0/+4
| | | | | | | Task-number: QTBUG-69968 Change-Id: I241978969b655b3e716fa9cf5a91fe17f266032f Reviewed-by: Oliver Wolff <oliver.wolff@qt.io> Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
* Android: Change video frame format from BGR32 to ABGR32Val Doroshchuk2018-10-032-0/+4
| | | | | | | | | | | | When mapping video frame, data will be downloaded to QImage from frame buffer with QImage::Format_RGBX8888 which is XBGR32 in Little Endian. Thus added new pixel format QVideoFrame::Format_ABGR32. Changed QVideoFrame::Format_BGR32 to QVideoFrame::Format_ABGR32. Task-number: QTBUG-69968 Change-Id: I0f58d1a5b5cbdb5ab48ee5ad4d75f9b62f516333 Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* Doc: Fix documentation warningsTopi Reinio2018-04-194-5/+5
| | | | | | | | | | | | Add a custom module header, used only for documentation builds, that pulls in also the QtMultimediaWidgets module. Several documentation fixes to clean up warnings from clang. Task-number: QTBUG-67790 Change-Id: I6c1013798a648250c8555eb92684ec3b33ff7531 Reviewed-by: Martin Smith <martin.smith@qt.io> Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* Merge remote-tracking branch 'origin/5.10' into 5.11Liang Qi2018-02-121-1/+1
|\ | | | | | | Change-Id: I397c78d33594f4b64d9718cd1b180fa0cee1e5bc
| * qimagevideobuffer.cpp: Fix deprecation warningFriedemann Kleint2018-01-241-1/+1
| | | | | | | | | | | | | | video/qimagevideobuffer.cpp:92:44: warning: ‘int QImage::byteCount() const’ is deprecated: Use sizeInBytes [-Wdeprecated-declarations] Change-Id: I029083760b255e0bce48ab40e059da9c0a578f91 Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* | add mirrored API to QVideoSurfaceFormatJochen Seemann2018-02-012-0/+32
| | | | | | | | | | | | | | | | | | Adds setters and getters for the already implemented property of QVideoSurfaceFormat. Task-number: QTBUG-47606 Change-Id: Icf509af80c13e80568645d90c6a621cd30cf776c Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* | Replace Q_NULLPTR with nullptrKevin Funk2017-09-274-22/+22
|/ | | | | Change-Id: I3b7601b4a97f8a2b1d2da6ef134f1577846ba713 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Add missing override and remove redundant virtualAlexander Volkov2016-12-125-10/+10
| | | | | Change-Id: Ifd439abf21877adff57080489324bea729ee5279 Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
* Add proper global headers for QtMultimediaLars Knoll2016-11-233-3/+3
| | | | | | | And deprecate the old qtmultimediadefs.h Change-Id: I2d4164f3a51d8e5d1813413b4f6691a721386fdf Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
* Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-08-271-1/+1
|\ | | | | | | Change-Id: I639d42e78a2b85e939c9f8e9dd5da70cdc058857
| * Doc: Change instances of 'OS X' to 'macOS'Topi Reinio2016-08-151-1/+1
| | | | | | | | | | | | | | | | | | | | As of version 10.12 (Sierra), the name of Apple's desktop operating system will be macOS. Change all occurrences where the platform is discussed to use the macro \macos (defined in the documentation configuration in qtbase). Change-Id: I1ba3b1e3c11870523516d3a13790d40dd0803aad Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* | Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-03-073-3/+3
|\| | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/plugins/avfoundation/mediaplayer/mediaplayer.pro tests/auto/unit/qmediaserviceprovider/mockserviceplugin1/mockserviceplugin1.pro tests/auto/unit/qmediaserviceprovider/mockserviceplugin2/mockserviceplugin2.pro tests/auto/unit/qmediaserviceprovider/mockserviceplugin3/mockserviceplugin3.pro tests/auto/unit/qmediaserviceprovider/mockserviceplugin4/mockserviceplugin4.pro tests/auto/unit/qmediaserviceprovider/mockserviceplugin5/mockserviceplugin5.pro Change-Id: I5742596230dc510ba2a09eba624429bb67179194
| * Add explicit and make public headers compile with ↵Marc Mutz2016-03-033-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | -Wzero-as-null-pointer-constant ... or equivalent. QtBase 5.6 headers already compile that way, so let the other modules follow suit. Cleaned up placement of * and & in parameters as a drive-by. Added explicit where it was missing as a drive-by. This is not a source-incompatible change, because code that breaks by this is a bug. Let's not have this sitting around in an LTS. Task-number: QTBUG-45291 Change-Id: If81ed0c71393aee21d347f5ade4bf3fcc07cd82f Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
* | Updated license headersAntti Kokko2016-01-1927-378/+540
| | | | | | | | | | | | | | | | | | | | | | From Qt 5.7 -> LGPL v2.1 isn't an option anymore, see http://blog.qt.io/blog/2016/01/13/new-agreement-with-the-kde-free-qt-foundation/ Updated license headers to use new LGPL header instead of LGPL21 one (in those files which will be under LGPL v3) Change-Id: I324f65c61171f36641472964d095d72e452afb3a Reviewed-by: Jani Heikkinen <jani.heikkinen@theqtcompany.com> Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* | Merge remote-tracking branch 'origin/5.6' into devChristian Strømme2016-01-151-0/+11
|\| | | | | | | | | | | | | | | Conflicts: src/plugins/android/src/mediacapture/qandroidcamerasession.cpp src/plugins/wmf/mftvideo.cpp Change-Id: I78868b416ea4baec89ca3e2dc9eb4712db16d5fc
| * Fix some private headers.Yoann Lopes2015-11-241-0/+11
| | | | | | | | | | | | | | | | | | - Add missing "We mean it" comment - Add missing '_p' suffix for QtMultimediaQuick_p headers Task-number: QTBUG-49480 Change-Id: I1fd4f8b2fdffecebaebaedaf1b78e1da62c08156 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
* | Video, Playback: replace foreach with range-based forAnton Kudryavtsev2016-01-151-1/+2
|/ | | | | Change-Id: I46031547447669925cdd747f5ac6259acab9a410 Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
* Add private API for conversion from QVideoFrame to QImage.Yoann Lopes2015-10-209-2/+897
| | | | | | | | | | The Android plugin had a function to convert from NV21 to RGB32. It's now moved to the Qt Multimedia library and it supports additional source formats. It could be further improved with more SIMD code, it could then become a public API. Change-Id: Ibee349027048a263a1a7ea74dc51237f7747912c Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
* Merge remote-tracking branch 'origin/5.5' into 5.6Yoann Lopes2015-10-201-2/+2
|\ | | | | | | Change-Id: Ie1e478eca1cdfd99ccd3a3c8a07aefbfa27ccbdb
| * Fix signal/slot declaration in QVideoOutputOrientationHandler.Yoann Lopes2015-10-161-2/+2
| | | | | | | | | | Change-Id: I03cdd677feaf06ac2d61682cab46232f983e6494 Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
* | Add missing "We mean it" comments to private headers.Friedemann Kleint2015-10-062-0/+22
|/ | | | | | Task-number: QTBUG-48595 Change-Id: I1370d9229b0606582cbd828de84ee2717dca3daf Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
* Fix qdoc warnings.Yoann Lopes2015-08-111-6/+6
| | | | | Change-Id: Ie351f33f88270186b7df0f9cd671fa4e31624231 Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
* Add new property to QVideoSurfaceFormat.Yoann Lopes2015-08-071-1/+12
| | | | | | | | | | | | The 'mirrored' property indicates the QVideoFrames need to be mirrored along their vertical axis. This is typically needed for video frames coming from a front camera on a mobile device. This is implemented as a string-based property. In Qt 5.6, this should be replaced by a new public function. Change-Id: Ideb7de81e83f66826f4efb5f2951c4beec13546b Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
* Doc: replace Mac OS X with OS XNico Vertriest2015-07-151-1/+1
| | | | | | | Task-number: QTBUG-40759 Change-Id: I11b3aa74d35064371cbbbeba660114e086b16aea Reviewed-by: Martin Smith <martin.smith@digia.com> Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
* QAbstractVideoFilter: make ctor explicitMarc Mutz2015-06-121-1/+1
| | | | | Change-Id: If091d751c7e164c0480b48301358833705cd4870 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Fix debug stream operators.Friedemann Kleint2015-04-074-80/+98
| | | | | | | | | | - Use QDebugStateSaver to restore space setting in stream operators instead of returning dbg.space() which breaks formatting on streams that already have nospace() set. - Fix some single character string constants, streamline code. Change-Id: I18ae7324b172ea801aa9b5fe56ddf6fe527fdde9 Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
* Merge dev into 5.5Oswald Buddenhagen2015-02-242-2/+2
|\ | | | | | | Change-Id: I715a549b4cc10220a6e3b48799fdc38865a9345e
| * Merge remote-tracking branch 'origin/5.4' into devFrederik Gladhorn2015-02-132-2/+2
| |\ | | | | | | | | | Change-Id: I5575a4ba13212c9bfe73a3de3ef17c6528beafc3
| | * Fix some typosSergio Ahumada2015-02-111-1/+1
| | | | | | | | | | | | | | | Change-Id: Iaf8f50741d3103480668b4a654a202d8a363bc45 Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
| | * Add the library prefix to QObject in public headerSergio Ahumada2015-02-041-1/+1
| | | | | | | | | | | | | | | Change-Id: I3add728003f4199fe7adec364487cc9b60a8c4cf Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* | | Fix some qdoc-warnings.Friedemann Kleint2015-02-231-1/+1
|/ / | | | | | | | | | | | | | | | | qtmultimedia/src/multimedia/qmediaserviceprovider.cpp:850: warning: Cannot find 'defaultDevice(...)' in '\fn' QMediaServiceSupportedDevicesInterface::defaultDevice(const QByteArray &service) const qtmultimedia/src/multimedia/qmediaserviceprovider.cpp:850: warning: Cannot find 'defaultDevice(...)' in '\fn' QByteArray QMediaServiceSupportedDevicesInterface::defaultDevice(const QByteArray &service) const qtmultimedia/src/multimedia/video/qabstractvideofilter.cpp:261: warning: Undocumented parameter 'parent' in QAbstractVideoFilter::QAbstractVideoFilter() Change-Id: I72bfc1dc7697cd1323cb7aad16539932ace9d8ea Reviewed-by: Leena Miettinen <riitta-leena.miettinen@theqtcompany.com>
* | Update copyright headersAntti Kokko2015-02-1221-145/+145
| | | | | | | | | | | | | | | | | | Qt copyrights are now in The Qt Company, so we could update the source code headers accordingly. In the same go we should also fix the links to point to qt.io. Change-Id: I1c6faa4f59f8eca54f01ef20941fa60161dd7872 Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
* | Add video filtering support to VideoOutputLaszlo Agocs2015-02-035-6/+427
|/ | | | | | | | | | | | | | | | | | | | | | | | | 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>
* 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>
* 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>
* Update license headers and add new license filesAntti Kokko2014-08-2419-359/+207
| | | | | | | | | - Renamed LICENSE.LGPL to LICENSE.LGPLv21 - Added LICENSE.LGPLv3 & LICENSE.GPLv2 - Removed LICENSE.GPL Change-Id: Ied06887225df341064c12bcc14c259ae74116f2e Reviewed-by: Jani Heikkinen <jani.heikkinen@digia.com>
* Add an EGLImageKHR video node.Andrew den Exter2014-07-182-0/+2
| | | | | | | | [ChangeLog] Added a VideoNode plugin which allows direct rendering of EGLImageKHR backed video frames. Change-Id: I36fb6fd27680dbe9c71a446bbd54df95488725f8 Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* Support per-plane strides and data offsets in QVideoFrame.Andrew den Exter2014-07-085-21/+328
| | | | | | | | | | | | Since just adding a new virtual isn't binary compatible add a new derivative type with a virtual member and connect it up through a virtual in the private class. [ChangeLog] Support for per-plane strides and data offsets in QVideoFrame. Task-number: QTBUG-38345 Change-Id: I1974c2b0b454d130e17971ce549031259d61f9cd Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* Merge remote-tracking branch 'origin/5.3' into devSergio Ahumada2014-06-144-41/+22
|\ | | | | | | | | | | | | Conflicts: .qmake.conf Change-Id: Iecd8d7b94e52a8981526b12cffa40e99870ba62f
| * Use Q_CONSTRUCTOR_FUNCTION macro to register multimedia meta types.Yoann Lopes2014-05-304-41/+22
| | | | | | | | | | | | Task-number: QTBUG-39131 Change-Id: I2493c9e3e6f0065d0441a74ff240d7d91fbe059c Reviewed-by: Christian Stromme <christian.stromme@digia.com>
* | Removed debug operator autotests.Yoann Lopes2014-03-261-1/+1
|/ | | | | | | | | | For QVideoFrame, QAudioFormat and QVideoSurfaceFormat. There's no point in testing the formatting of the debug operator. These tests can break every time there's a change in QDebug's output policy. Change-Id: I2349b4722a428bc4c56ca58b13889790e86df4c1 Reviewed-by: Christian Stromme <christian.stromme@digia.com>
* VideoOutput: fix autoOrientation with a camera source.Yoann Lopes2014-02-281-1/+1
| | | | | | | | | Don't assume the camera frames are always in the same orientation as the display in its primary orientation. We now take into account the camera sensor position and orientation to calculate the viewport orientation. Change-Id: Ib333c87f1804d1010ada42cb757e4fab78d75a04 Reviewed-by: Christian Stromme <christian.stromme@digia.com>
* Fix some typos in documentation.Jeff Tranter2014-01-071-1/+1
| | | | | | | | Fix some spelling and grammatical errors in comments that show up in Qt documentation. No changes to code. Change-Id: Ieb7be17bd1d50751f00620f7ac28d09355856ac0 Reviewed-by: Yoann Lopes <yoann.lopes@digia.com> Reviewed-by: Sze Howe Koh <szehowe.koh@gmail.com>
* Add autoOrientation property to QDeclarativeVideoOutputTobias Koenig2013-03-193-0/+159
| | | | | | | | | | | | The autoOrientation property is a flag to switch on/off automatic rotation of the video output, depending on the current screen orientation, to always show the output upright. This is useful when the VideoOutput is used as viewfinder for a Camera. Change-Id: I72753888592dc59c9adaa3343bfec8b168343229 Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com> Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-02-1917-17/+17
|\ | | | | | | | | | | | | | | | | | | Conflicts: src/multimedia/doc/qtmultimedia.qdocconf src/plugins/blackberry/mediaplayer/bbmetadata.cpp src/plugins/blackberry/mediaplayer/bbmetadata.h tests/auto/unit/qpaintervideosurface/tst_qpaintervideosurface.cpp Change-Id: I447c297ea15a94d1d2feb0fb5f9edac8c5d4505a
| * Update copyright year in Digia's license headersSergio Ahumada2013-01-1017-17/+17
| | | | | | | | | | | | Change-Id: Ia8c1c38aba1544603fada8c414cc856f365fd15b Reviewed-by: Akseli Salovaara <akseli.salovaara@digia.com> Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
* | Remove QT_{BEGIN,END}_HEADER macro usageSergio Ahumada2013-01-289-40/+0
|/ | | | | | | | | The macro was made empty in qtbase/ba3dc5f3b56d1fab6fe37fe7ae08096d7dc68bcb and is no longer necessary or used. Discussed-on: http://lists.qt-project.org/pipermail/development/2013-January/009284.html Change-Id: Id95d10f5d9c146d9eb496119af6a8b8501ffcb17 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>