1.Optimize the texture data transfer mechanism based on memory alignment.
2.Adjust the creation timing of the DescriptorPool, moving it from initSwapChainResources to initResources.
3.Add Vulkan color space configuration items to the Player instance.
- add python bindings
- more apis for qml player
- auto rotate video
- apple store
- fix ios plugin not found
- support chapters
- muxer, encoder, transcoder improvements
- compatible with new ffmpeg
- videotoolbox: hevc,
- cuda: new devices
- android: no longer depends on private qt module
- fix opensl error
- mediacodec: 0-copy via a plugin from https://github.com/wang-bin/mdk-sdk
ASSERT: "bytes <= bufferSize" in file tools\qringbuffer.cpp, line 74
This was happening when seeking multiple times very quickly in Player. QFile is not thread safe so I added a QMutexLocker to the Logger function.
Changelog
- CMake support
- Fix iOS build
- Fix AVPacket memory leak
- Geometry & GeometryRenderer class is public
- PAL8, XYZ color format support
- Fix OpenGL background color
- Fix external clock error after pause
- VA-API encoder support (ffmpeg>=3)
- Other improvements, fixes, and untested features
Currently only FindQtAV.cmake works, i.e. "Module" mode. In "Config"
mode, QTAV_INCLUDE_DIRS and QTAV_LIBRARIES are empty. To use
FindQtAV.cmake, you have to append it's dir to CMAKE_MODULE_PATH
try simpleplayer example after qtav make install
TODO: module mode. auto insert dependencies
Changelog
- Dynamic load QtAVWidgets in VideoOutput.
`QtAV::Widgets::registerRenderers()` and `QT += avwidgets` is not
requred now.
- D3D11 decoder support. Not stable on Windows phone.
- DXVA refactor and bug fix.
- VA-API: fix memory leak when seeking
- OpenGL:
* Fix PBO binding
* Custom shader support (WIP)
* Edit and apply custom shader when playing. Based on Qt property
system.
* Optimize uniform update
* GLSL filter support
* Add `OpenGLVideo.beforeRendering/afterRendering`
- CUDA:
* Direct copy is default for windows. Now Rendering CUDA decoded frames
is faster than any other players
* 0-copy is default for linux.
* Use new API (4.0)
- AVPlayer:
* Add `AVPlayer.stoppedAt` signal
* add `setTimeRange()`
* setStart/StopPosition can be called at any time with any value
* Ensure all threads are running when `started` is emitted
* Support preload using `load()`. Now no reload in `play()`
- Fix build with QT_NAMESPACE
- Fix swscale color range
- Fix linux install destinations
- Add AVTranscoder.async, encoders are in individual threads
- Add FrameReader class
- Use FFmpeg 3.0 API
- QML:
* Support filters, including sw filters from libavfilter, and GLSL
filter
* Add `MediaPlayer/Video.audioBackends` property
* Support autoLoad
* Add `VideoOutput.mapTo/FromXXX` between source frame and item
* Video EQ in VideoOutput/Video
* Add `MediaPlayer.startPosition/stopPotion`
- QMLPlayer: Open video and subtitle at the same time. History view.
Zoom. Video EQ