Page 1 of 1

how to select "WinGdi" as Video output module in libvlc ?

Posted: 30 Nov 2015 07:52
by kentontsui1985
Hi all,
To VLC player we can select video output module in the option tools->Preferences->Video->Output, how can i choose "WinGdi" with VLC sdk? what is the easiest way?
Thanks in advance.

Re: how to select "WinGdi" as Video output module in libvlc ?

Posted: 30 Nov 2015 09:07
by Rémi Denis-Courmont
LibVLC selects the most appropriate video output automatically. You can't change it.

Re: how to select "WinGdi" as Video output module in libvlc ?

Posted: 30 Nov 2015 09:18
by kentontsui1985
LibVLC selects the most appropriate video output automatically. You can't change it.
If i play a video on a pc with 16 screens, it will be fluent with "win gdi",and will be lagging with "auto output", if use command line can also adds "--vout wingdi", do you have some suggestion to use with libvlc ?

Re: how to select "WinGdi" as Video output module in libvlc ?

Posted: 30 Nov 2015 09:25
by RSATom
try delete video output plugins files not suitable for you.

Re: how to select "WinGdi" as Video output module in libvlc ?

Posted: 30 Nov 2015 09:48
by Rémi Denis-Courmont
I believe that WinGDI is actually the slowest / most processor-intensive video outputs of all on Windows... It does not make much sense to expose it.

You might be better off with custom video output callbacks if you have a specialized use case. Otherwise, deleting other plugins should work as RSATom already wrote.

Re: how to select "WinGdi" as Video output module in libvlc ?

Posted: 30 Nov 2015 10:35
by kentontsui1985
According to my test on 16 screens with vlc player, the win gdi can play normally while other video output modes will pause for every several seconds. If i choose "windows GDI video output" it will work, if i only keep the wingdi mode and remove the other output module dlls, it will not work. So i want to know which part control the output mode selection in the codes? because that is the easiest way, if can not , then think custom output callbacks, thanks.

Re: how to select "WinGdi" as Video output module in libvlc ?

Posted: 30 Nov 2015 11:03
by RSATom
You could check with http://www.dependencywalker.com/ (over corresponding video output plugin), maybe you've deleted some mandatory .dll. And try run with "-vvv" (+ maybe https://technet.microsoft.com/en-us/sys ... gview.aspx), maybe you will see something in logs.

Re: how to select "WinGdi" as Video output module in libvlc ?

Posted: 30 Nov 2015 11:05
by RSATom
btw, what video dimensions do you need to output? something like 4k or full hd and below?

Re: how to select "WinGdi" as Video output module in libvlc ?

Posted: 30 Nov 2015 11:34
by kentontsui1985
Hi, thanks everybody who have helped me
I resolved it by below way.
const char *parameter[] = {"--vout", "wingdi"};
instance = libvlc_new (sizeof(parameter) / sizeof(parameter[0]), parameter);
If i remove all other dlls except wingdi, it still not work, that means, even remove all the output dlls, it still can play, so there is a default output to play the video which do not use the video output module dlls.
Thanks again!

Re: how to select "WinGdi" as Video output module in libvlc ?

Posted: 30 Nov 2015 11:37
by kentontsui1985
btw, what video dimensions do you need to output? something like 4k or full hd and below?
I use 4x4 alignment, running on a pc with 4 graphic cards. so the screen wall resolution is 7680 x 4320.

Re: how to select "WinGdi" as Video output module in libvlc ?

Posted: 30 Nov 2015 13:44
by Rémi Denis-Courmont
const char *parameter[] = {"--vout", "wingdi"};
instance = libvlc_new (sizeof(parameter) / sizeof(parameter[0]), parameter);
That won't have any effect.
If i remove all other dlls except wingdi, it still not work, that means, even remove all the output dlls, it still can play, so there is a default output to play the video which do not use the video output module dlls.
That is just plain false, and easy to disprove.

Re: how to select "WinGdi" as Video output module in libvlc ?

Posted: 30 Nov 2015 16:17
by kentontsui1985
That won't have any effect.
hi, below codes works, and then it play video with wingdi output module. I test on screen wall resolution 7680 x 4032, the Direct3D not support so big resolution and will pause every several seconds while wingdi play fluently. :)
const char *parameter[] = {"--vout", "wingdi"};
instance = libvlc_new (sizeof(parameter) / sizeof(parameter[0]), parameter);