- 03 Mar, 2021 7 commits
-
-
GBM platform allows to provide an EGL context even without display server. Co-authored-by:
Romain Vimont <rom1v@videolabs.io>
-
Romain Vimont authored
A module egl_display must only provide EGL displays where eglTerminate() can be called, even if other modules are using EGL (typically because it is internally refcounted). This is always the case on Android, so egl_display was initially only enabled on Android: https://android.googlesource.com/platform/frameworks/native/+/master/opengl/libs/EGL/egl_display.cpp But this may also be the case on other platforms which support EGL_KHR_display_reference: https://www.khronos.org/registry/EGL/extensions/KHR/EGL_KHR_display_reference.txt Co-authored-by:
Alexandre Janniaux <ajanni@videolabs.io>
-
If the EGL extension EGL_KHR_surfaceless_context is available, create a surfaceless context. Co-authored-by:
Romain Vimont <rom1v@videolabs.io>
-
Romain Vimont authored
The filter egl_pbuffer was initially enabled only for Android, because the default display is always internally refcounted. Now that the display is managed separately, egl_pbuffer may be enabled as soon as OpenGL and EGL are available.
-
Romain Vimont authored
Add a default EGL display module which just calls eglGetDisplay(EGL_DEFAULT_DISPLAY).
-
Romain Vimont authored
Add a new module type "egl display" to open an EGL display.
-
Romain Vimont authored
The filter egl_pbuffer does not depend on LIBM.
-
- 02 Mar, 2021 7 commits
-
-
François Cartegnie authored
-
François Cartegnie authored
-
François Cartegnie authored
Format change needs a restart, but when demuxer has been probed, we only need to handle restart/reprobing when switching variants.
-
François Cartegnie authored
-
François Cartegnie authored
-
François Cartegnie authored
-
François Cartegnie authored
-
- 01 Mar, 2021 25 commits
-
-
This mock filter simplifies testing of the OpenGL filter engine. Co-authored-by:
Alexandre Janniaux <ajanni@videolabs.io> Signed-off-by:
Alexandre Janniaux <ajanni@videolabs.io>
-
Alexandre Janniaux authored
Add a video filter to execute OpenGL filters. It can be used as follow: ./vlc file.mkv --video-filter=opengl --opengl-filter=FILTERNAME ./vlc file.mkv --video-filter=opengl{filter=FILTERNAME} Co-authored-by:
Romain Vimont <rom1v@videolabs.io> Signed-off-by:
Alexandre Janniaux <ajanni@videolabs.io>
-
OpenGL renders upside-down. When we retrieve the pixels, we might want the picture in the normal orientation. This option will allow to vflip without using an additional filter. Signed-off-by:
Alexandre Janniaux <ajanni@videolabs.io>
-
Alexandre Janniaux authored
The video filter egl_pbuffer allows running OpenGL filters inside an EGL pixel buffer context, using multiple framebuffers. It is enabled only on Android, where the display EGL_DEFAULT_DISPLAY is refcounted. Co-authored-by:
Romain Vimont <rom1v@videolabs.io> Signed-off-by:
Alexandre Janniaux <ajanni@videolabs.io>
-
Alexandre Janniaux authored
This will allow offscreen OpenGL implementations, which will produce picture_t. Co-authored-by:
Romain Vimont <rom1v@videolabs.io> Signed-off-by:
Alexandre Janniaux <ajanni@videolabs.io>
-
If vt->GetAttribLocation() returns -1, there is an error in the shader. Signed-off-by:
Alexandre Janniaux <ajanni@videolabs.io>
-
Alexandre Janniaux authored
If a video filter has parameters, then a config_chain_t was leaked: ./vlc --video-filter='sharpen{sigma=0.05}' video.mkv Direct leak of 24 byte(s) in 1 object(s) allocated from: #0 0x7f37f3e8ee8f in __interceptor_malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:145 #1 0x7f37f370b196 in config_ChainParseOptions ../../src/config/chain.c:198 #2 0x7f37f370b5c6 in config_ChainCreate ../../src/config/chain.c:245 #3 0x7f37f3839bb1 in ThreadChangeFilters ../../src/video_output/video_output.c:867 #4 0x7f37f383db35 in ThreadDisplayPicture ../../src/video_output/video_output.c:1362 #5 0x7f37f3840bfe in Thread ../../src/video_output/video_output.c:1785 #6 0x7f37f3d69ea6 in start_thread nptl/pthread_create.c:477 Co-authored-by:
Romain Vimont <rom1v@videolabs.io> Signed-off-by:
Alexandre Janniaux <ajanni@videolabs.io>
-
As explained by 758052fa , a filter does not take ownership of the config_chain_t instance, and never needs a non-const pointer. Signed-off-by:
Alexandre Janniaux <ajanni@videolabs.io>
-
Thomas Guillem authored
-
Signed-off-by:
Pierre Lamot <pierre@videolabs.io>
-
Signed-off-by:
Pierre Lamot <pierre@videolabs.io>
-
Signed-off-by:
Pierre Lamot <pierre@videolabs.io>
-
Signed-off-by:
Pierre Lamot <pierre@videolabs.io>
-
Signed-off-by:
Pierre Lamot <pierre@videolabs.io>
-
Signed-off-by:
Pierre Lamot <pierre@videolabs.io>
-
Signed-off-by:
Pierre Lamot <pierre@videolabs.io>
-
Signed-off-by:
Pierre Lamot <pierre@videolabs.io>
-
Signed-off-by:
Pierre Lamot <pierre@videolabs.io>
-
Signed-off-by:
Pierre Lamot <pierre@videolabs.io>
-
Signed-off-by:
Pierre Lamot <pierre@videolabs.io>
-
Signed-off-by:
Pierre Lamot <pierre@videolabs.io>
-
Signed-off-by:
Pierre Lamot <pierre@videolabs.io>
-
Signed-off-by:
Pierre Lamot <pierre@videolabs.io>
-
Signed-off-by:
Pierre Lamot <pierre@videolabs.io>
-
Signed-off-by:
Pierre Lamot <pierre@videolabs.io>
-
- 26 Feb, 2021 1 commit
-
-
Steve Lhomme authored
We rarely use 4 textures on input but we have to artificially set some input texture (Share Resource View) in the shader to match the shader signature. Now we set exactly the number of textures that will be used.
-