-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
Ffmpeg intel quick sync #3842
Ffmpeg intel quick sync #3842
Conversation
New driver output on
|
@kc6108 here you go:
|
My readings leans towards the following:
Option 2) Option 3) |
I had pulled Also yes, it does fallback to "legacy" i965 driver when renaming
Lastly, |
Such good news! |
Let me know how thing goes with it.
I believe so.
I will need quite a few more cycles to get any of the options working for |
First test with the h265 10bit video I've been using since the beginning and without changing anything to the wrapper: It's much better, indeed there is no more pixelization in the first minutes but above all, the transcoding in medium quality (720p) and in low quality (480p) is much better. Concerning EvanSport if it's easier to compile with Quick Sync at first, I can create a specific wrapper for EvanSport. Because if indeed Quick Sync works with EvanSport, SMD is only of interest for direct compatibility with VideoStation, not for ffmpeg use outside VideoStation... |
@th0ma7 I have evansport device (DS214play) so I may compile with specific options and try on my own with video samples. Let me know |
I have finished my first QVS tests and the hevc_qsv driver seems not to work. Every time I use it in encoding, decoding or hevc/hevc transcoding I get the following error:
On the other hand, h264 transcoding works correctly. Here are my logs for h264 transcoding (which works):
Here are my logs for h265 8bits -> h264 transcoding (which doesn't work):
Here is the wrapper used (Warning, you have to choose explicitly the encoder and decoder. By default it is in h265 decode mode and h264 encoding mode): |
You might try adding
See here for more info: 15dd936825ad475ea34e35f3f54217a6 is the HEVC Software decoder 33a61c0b4c27454ca8d85dde757c6f8e is the HEVC hardware decoder |
Option 2) failed: Intel media driver doesn't support 32-bit: |
And |
There isn’t a version 2.6. The latest is 2.4. We are at 2.1 right now. Your repo is the same: https://github.com/th0ma7/spksrc/blob/ffmpeg-IntelQuickSync/cross/intel-vaapi-driver/digests Your vainfo output above shows the same: vainfo: Driver version: Intel i965 driver for Intel(R) Broxton - 2.1.0 |
I thought about creating an issue to announce this to anyone wanting to get a jump on DSM 7.0: https://event.synology.com/en-global/dsm_preview I’ll let someone else do that if appropriate. |
Yup, I saw that last week. Thnx for sharing. |
Remind me again why you want to use the i965 driver? For info, to switch from one to the other just do the following commands:
You can see the change via the verbose mode:
|
You are totally right! Again good catch... |
New |
@th0ma7, You got it! No more apparmor problems. Regarding CPU usage and quality tests, I did not notice any significant difference between VAAPI and QSV on a h265 10bit to h264 8bit transcoding. If you want to test in VideoStation, I created a special wrapper that replaces VAAPI by QSV. I tested it only with h264 and h265 but logically it should work with everything:
And to test with i965, just add the following line at the beginning of the script:
In short, for me there's nothing to stop merge anymore. Good job !!! |
Great job on the testing you too! woot! BTW, @BenjaminPoncet feel free to look & follow #3828 @ymartin59 it's now ready for review and merge! |
Maybe one more thing! @kc6108, again, has found the explanation for a problem with VideoStation extracting .srt subtitles via the ffmpeg SynoCommunity. See: https://gist.github.com/BenjaminPoncet/bbef9edc1d0800528813e75c1669e57e#gistcomment-3131604 and my answer below. Sorry ;) |
This awesome news, thnx for the feedback @kc6108 |
Well done to every contributor for this complex team effort, really impressive! |
@th0ma7 May you detail me the "x64" package split I have to apply to deliver architecture specific optimizations? What are architectures which are not specificly optimized with hardware acceleration? (I guess it is not a runtime decision but a compile-time switch, right?) |
@ymartin59 this shouldn't matter... I may be wrong but my understanding is that at the end of day a call to Thus only what's available will work (e.g. nothing = no optimization) meaning that a non-optimized package is unecessary. Acceleration simply wont show up when calling |
@th0ma7 OK I see you have enabled all optimizations for any |
* ffmpeg 4.2.1-22: add Intel Quick Sync support, VAAPI driver update, apparmor mfx driver fix * gmmlib 19.4.1: Intel Graphics Memory Management Library * libdrm 2.4.100: disable radeon, amdgpu and nouveau drivers * libva 2.6: update for Intel Media driver dependency * intel-media-driver 19.4.0r: build, install fixes, plugins.cfg * intel-mediasdk 19.4.0: initial package, path for plugins.cfg, move lib/mfx to lib * ffmpeg 4.2.1: fix #7030 from git.videolan.org for _qsv * intel-vaapi-driver: update from v2.1.0 to v2.4.0
Motivation: Migrate over to newer VAAPI driver implementation using iHD driver 19.4.0
Linked issues: #3830
Checklist
all-supported
completed successfullyNew iHD driver and dependancies significantly increases compile time for
x64
arch.