-
Notifications
You must be signed in to change notification settings - Fork 377
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
WIP: Dev openglaccelerated playback #282
base: develop
Are you sure you want to change the base?
Conversation
view to run the cube demo instead
and display it. needs to be connected to the rest of YUView. should be come a separate new window, atm replaced/hacked the old separate window mode. qt resources system not working yet
YUV 420 8bit sequences
in the opengl view.
loaded, else would crash. cause was missinig initialization. Solution: only connect signals to the opengl view once it is visible
@ChristianFeldmann what do you think about this? Nice to have in YUView? Does it work in Windows? I think the first two/main issues above might be connected. How to best move the data around in YUView? |
Hi Johannes, |
I think the speedup is considerable, I already mentioned HD above. For higher resolutions my laptop hits its limit, but 8K plays still 4 times faster than before (without cache, as if my RAM has enough cache for 8K anyway xD). I think the bottleneck will be how fast the data can be read from disk and moved to the GPU. Still have to test it on one of the desktops with GPU in the institute, though I'm not sure they have SSD drives. |
frame. this way avoid doing the call in selectionPropertiesChanged, resolving issue that only one sequence can be opened
@nolyn Sweet! |
@aachenmax did you try it? does it work on windows? |
I just tested it and you seem to be using https://github.com/g-truc/glm which I must compile first. I will take a look how big it is what we need. Its MIT license so we could theoretically also just get the code into our codebase... |
Probably glm can be removed completely. Only using some of its data types. Not any functions (anymore). I already use a QMatrix4x4 as well, I'll check wheter I can just replace the glm types with qt types. |
the dependency should be gone now |
Nice I can confirm that it builds now on Windows. But unfortunately I don't see anything when opening a sequence. Are there any restrictions that I have to be aware of? I opened BQ-Terrace (1080p, 4:2:0). |
420, 8 and 10 bit should work. both YUV or coded files. it uses a separate window though, did you press Ctrl+G? |
Ah yes now it shows the GL View with the sequence! |
I'll see if I can borrow a windows machine to do some testing. I suspect the 30 fps will be due to the frame rate that windows uses for the monitor |
reicht zum bauen unter windows der qt installer: https://www.qt.io/offline-installers? oder was brauch ich dazu noch nen extra compiler ... |
i'm trying to build on windows with mingw64, which came along with the Qt installer. However it fails with |
i also tried msvc 2017, but without success @ChristianFeldmann, @aachenmax any ideas? |
😆 oha. |
i can build now :). at some point while setting up the laptop i borrowed (since it has windows) i deleted .qmake.conf. had to also uninstall a few old build chains before i got anywhere and then i didn't realize that file was missing anymore. however I also managed to build without that file by using relative paths in the project files, see the new branch develop_remove_top_soure_and_builddir_variables. if that also works for the other build environments it is probably a matter of taste how to do it. |
on windows i see a relation between the window size and the fps. only tested BasketballDrive. with a small window it reaches 50fps, but it goes down to about 30 when maximized. i'll also have to test it with a linux livesystem on that laptop so i have an actual comparison on the same device. |
dispalying the video. this should reduce bottleneck to due fillrate
sorry, I don't have time to work on this anymore (and also no device that could do 10 bit output). Also it is now very much out of date compared to current YUView version. I think you could still use it though to get started if you want to implement opengl windows output for 10bit. Just getting opgengl output window to work properly in qt took quite some effort and testing. It would also require quite some internal changes in YUView to get good performance. YUView does conversion for output to RGB internally on CPU. This could be done instead in the GPU shader. But it will take quite some implementation work. @ChristianFeldmann maybe just close this? and keep in mind its there, if anyone wants to implement this in the future. |
Hi. |
A while back I worked on fast playback using OpenGL, I now made some effort to merge this into YUView. This is a basic working version, but still needs a lot of refinement.
How to use:
Issues
Todo