summaryrefslogtreecommitdiffstats
path: root/src/plugins/videonode
Commit message (Collapse)AuthorAgeFilesLines
* Move qtmultimedia over to the new config systemLars Knoll2016-11-141-2/+2
| | | | | | | | | | | | Use the new configuration system to define external libraries, configure tests and features. Don't use pkg-config outside of the configuration step. And move all command line options over from qtbase, so that we can remove them from there in a second step. Change-Id: I1aa4b557a6aee17eeceb00602005a2d28b426a26 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
* Fix compilation after feature modularization in qtbaseLars Knoll2016-09-191-0/+1
| | | | | Change-Id: I7449a68cfb76798e9c4e3101da4a4e3ab713d4be Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Adjust to qtConfig() changes in qtbaseLars Knoll2016-08-191-1/+1
| | | | | | Change-Id: I26d80ece18abf882338de5ce0258469ed103a0eb Reviewed-by: Yoann Lopes <yoann.lopes@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-03-072-10/+12
|\ | | | | | | | | | | | | | | | | | | | | | | 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
| * consistently put {qt,qml}_{module,plugin} at the end of project filesOswald Buddenhagen2016-02-252-10/+12
| | | | | | | | | | | | | | | | this fixes static builds by ensuring that all dependencies are exported. Task-number: QTBUG-51071 Change-Id: I8e1554b648327ea2fb342b882ce8e439bd6f271d Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
* | Updated license headersAntti Kokko2016-01-1910-140/+200
| | | | | | | | | | | | | | | | | | | | | | 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>
* | QSGVivanteVideoMaterial: fix expensive iteration over QMap::values()Anton Kudryavtsev2016-01-151-1/+2
|/ | | | | Change-Id: I04b0fbe248e33821c93661b684b2e423f57e0f2f Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
* videonode: imx6: Ensure the video node excludes padding pixelsCarlos Rafael Giani2015-05-266-4/+90
| | | | | | | | | | Padding rows & columns are included in the video frame that is sent to the VIV direct texture. Scale the UV coordinates to ensure the padding pixels aren't shown. Change-Id: I8b870a95ff786f9f80f42f0cc33f468b0c9c3863 Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com> Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
* Update copyright headersAntti Kokko2015-02-1210-60/+60
| | | | | | | | | 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-036-50/+112
| | | | | | | | | | | | | | | | | | | | | | | | | 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 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 bogus videonode plugin handlingv5.4.0-rc1Laszlo Agocs2014-11-182-2/+2
| | | | | | | | | | | | | | | | 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>
* Update license headers and add new license filesAntti Kokko2014-08-2410-180/+100
| | | | | | | | | - 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>
* Fix build with Mesa EGLThiago Macieira2014-07-311-0/+4
| | | | | | | Mesa EGL headers include X11 headers, which may #define Bool. Change-Id: I17379c24bfb7bac809b92f4c2a41298de00a972c Reviewed-by: Andrew den Exter <andrew.den.exter@qinetic.com.au>
* Add an EGLImageKHR video node.Andrew den Exter2014-07-185-0/+367
| | | | | | | | [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>
* Remove C++11 code in iMX6 video node plugin.Yoann Lopes2014-05-301-2/+2
| | | | | | | | | Use Q_FOREACH instead of C++11 range-based For loops. Task-number: QTBUG-38900 Change-Id: I2b9f8444f2ac3ae71811112244c687cab79753c9 Reviewed-by: Thomas Senyk <thomas.senyk@pelagicore.com> Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* let videonode plugins declare that they extend QtQuickOswald Buddenhagen2014-04-071-0/+1
| | | | | Change-Id: I4facc9ca0616927f7b1101cecb989fece38c2f7a Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* videonode: imx6: clear texture cache when the format changesMichael Olbrich2014-03-042-0/+19
| | | | | | | | The old textures won't match anyways. So there is no need to keep them. Change-Id: Id3482333d10cf022d04076ec0f5c7df475c522ae Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de> Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* videonode: imx6: cleanup pixel formatsMichael Olbrich2014-03-042-7/+5
| | | | | | | | | | | All formats are now tested. Also, don't use the alpha channel. This is not quite correct for formats with alpha channel but for video probably a good idea. Change-Id: I4a2404d7c96023bb1e3fca41e1f224d23347f290 Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de> Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* enable imx6 specific QSGVideoNode based on a config testMichael Olbrich2014-03-041-1/+1
| | | | | | | | This way it also works custom mkspecs Change-Id: I7414aac775b797da3487e9625c7212486118b532 Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de> Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* adding zero-copy-QSGVideoNode for imx6Thomas Senyk2014-02-1111-0/+748
On imx6 there is a platform-specific API to implement memory-mapping from gstreamer-buffer to opengl-texture. This plugin uses this API to avoid CPU-based-memory-copy. This allows fluid video-playback up to 1080p with very little CPU load. Before even 720p used one cpu-core completely and wasn't fluid. Change-Id: I0c33eb5d475393a65459291ce9290fa0753de4a5 Reviewed-by: Andy Nichols <andy.nichols@digia.com>