VLC difference between "OpenGL video output" and "OpenGL video output for Windows"?

6,486

The OpenGL video output for Windows is provided by https://github.com/videolan/vlc/blob/master/modules/video_output/win32/glwin32.c

While OpenGL video output is provided by https://github.com/videolan/vlc/blob/master/modules/video_output/opengl/display.c

The latter calls up a VLC OpenGL wrapper which would presumably be everything the plugin needs to do video.

The former does not use as many VLC headers and also is much smaller, it appears to only know how to create or destroy an OpenGL video output. It looks to be a minimal or streamlined module.

From a cursory look it appears that the "for Windows" version is a much more streamlined OpenGL wrapper that includes none of the cross platform abilities of the main VLC platform OpenGL driver. It simply creates a display output and that is it.

The generic driver seems to take a lot more care, probably to handle more generic or different platforms.

In theory they will achieve the same thing. I doubt that there is any real performance difference between the two, but it may be that the "for Windows" version is only for newer versions of Windows or has some compatibility problems with older versions of Windows. It might have a slightly lower overhead or setup cost.

Share:
6,486

Related videos on Youtube

hanshenrik
Author by

hanshenrik

Updated on September 18, 2022

Comments

  • hanshenrik
    hanshenrik over 1 year

    at least in Windows, VLC has 2 different OpenGL video modes: "OpenGL video output" and "OpenGL video output for Windows"

    what's the difference between the 2?

    • Tom Yan
      Tom Yan over 4 years
      I guess the answer is, they are two different drivers/implementations. The "for Windows" output seems to be a wrapper of the "pure" output that also shares code with the D3D and so Windows-specific output. To tell the exact difference you may have to read the code and/or try them yourselves. (You may not notice one and that might depends on the platform as well.)
  • hanshenrik
    hanshenrik over 4 years
    seems you're right, looking at the code, the "For Windows" version disables itself if it notice that it's running on Windows XP or older, see line 114 @ github.com/videolan/vlc/blob/…
  • hanshenrik
    hanshenrik over 4 years
    there's at least 1 difference, the "For Windows" version disables itself if it notice that it's running on Windows XP or older, the other OpenGL code does not, see line 114 @ github.com/videolan/vlc/blob/…