-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
qsv: d3d11 enabling #2291
qsv: d3d11 enabling #2291
Conversation
Some initial feedback: - QSV Decode + Encode: Seems to work fine - QSV Decode + Software Encode: Is there any possibility we can avoid disabling filters when using QSV decode? At least until such time we get qsv filters operational. A few users have been caught out by this. Hows things going with the ffmpeg patch being submitted upstream? Have they accepted yet? |
"QSV Decode + Software Encode" issue has been reproduced, thanks! I will start looking into this. In regards to filters, I think yes. Is it possible to use "No Filters" configuration by default when output resolution is the same as input? The patch to ffmpeg has not been submitted yet, I am finalizing it. |
Thanks.
Don't see why not, but since most of HandBrakes presets include software filters, in practice it won't happen. In effect, we should check the filters list before setting zero-copy up. If there is nothing valid there, we use zero copy. If we eventually get QSV filters, we'll over them as options in the GUI so the end-user can choose either software or hardware filters. If they are using only hardware filters, then again, zero copy can apply. As it stands, when we turn stuff on, the code turns it off again which mis-leads the user. Even down scaling as far as I know. |
thanks, Artem for sharing your work
generally, it would be good always to use only relevant and needed filters, I will check this.
this will come for sure as next step, QSV exposes many different ones and common ones, like re-size will be the first ones.. ffmpeg will be updated with related implementation changes, step by step approach. |
Basically, we should always honour user choice. Thus, we can check and enable zero-copy only when no software filters (decomb, deinterlace, denoise etc) are being used. When we eventually get QSV alternatives, we can do something in the UI to encourage the usage of the QSV variants assuming they're a reasonable option which in turn would increase the likelyhood of using zero copy. Crop/Scale is the only special case I know where we can probably disable it if there is 0 change. |
does it always hang in your case? and to all: |
@sr55 could you please share your command line? Are you able to reproduce it with latest driver for both console binary and GUI binary? |
Driver Updated:
Source: https://download.blender.org/demo/movies/BBB/bbb_sunflower_1080p_60fps_normal.mp4 [Working] HandBrakeCLI.exe -i bbb_sunflower_1080p_60fps_normal.mp4 -o test.mp4 -e qsv_h264 --enable-qsv-decoding [Not Working] HandBrakeCLI.exe -i bbb_sunflower_1080p_60fps_normal.mp4 -o test.mp4 -e x264 --enable-qsv-decoding Just hangs at 0% [18:40:41] D3D11: QSV adapter with id 1 has been found If I terminate with ctrl-c, it does exist cleanly but notice it's showing decoder errors count for all frames. [18:41:11] mp3float-decoder done: 321 frames, 0 decoder errors |
@sr55 could you please check the binary by link below? |
As far as I can tell, no difference with the new binary. |
Hi sr55 i'm about to get new Coffee Lake CPU i5 9400, can u share what features your CPU supports Regards |
@sr55 please check the following binary https://drive.google.com/file/d/1akVlVpwfoJ53JnEz0q4mTKRnlJcR9hkS/view?usp=sharing Could you please share GPU physical locations from Task Manager? Where does the monitor plug into? |
@sr55 In case of iGPU only machine, no difference as well? |
@sr55 I have updated decoder initialization step. Could you please check binary and share log? https://drive.google.com/file/d/1Dt83kqPRJBQQz9OUOn77ehDZNF3tBK9u/view?usp=sharing |
Just re-tested:
With your new HandBrakeCLI: Both scenarios appear to work:
|
2b744e3
to
3ba73da
Compare
3ba73da
to
bcc6d39
Compare
@sr55 Thanks for the complex hw setup! I have updated pull request. The QSV filter changes will be in separate pull request iteratively. |
No build issues on other platforms. Merging Thanks! |
Replaced d3d9 to d3d11 to support multiple device configuration e.g. discrete GPU card + integrated GPU.