Commits on Source (8)
-
The interop determines the format (currently based on the chroma and the existence of the extension "GL_ARB_texture_rg"). Store this format in the vlc_gl_format, so that the sampler doesn't have to guess by performing the same checks.
9a22bbd9 -
This will allow to call this function from interop modules. This function is currently called from opengl_interop_init_impl() (the init function pointer), which will be removed (so this narrows the scope of helpers code exposed to modules). In the future, more work will be needed to also remove this function pointer.
a4b20be0 -
All interop modules reused the util function opengl_interop_init() (written for the software interop) to initialize the textures properties from the chroma. However, the actual texture format may not always be deduced from the chroma: only the interop implementations have the full knowledge of the texture details. Therefore, initialize texture properties directly from each interop implementation. Fixes #26735 Fixes #26769
c344522f -
Free the private instance on error.
a22a08af -
This prepares further commits.
b813327e -
The function opengl_interop_init() is now used only by interop_sw(). Move its implementation and remove the init() callback.
4bc8c7c8 -
Extract version check to a separate static inline function.
1607231e -
GL_RED and GL_RG are available since OpenGL 3.0 and OpenGL ES 3.0, or via OpenGL extensions.
d6cfada7
Showing
- include/vlc_opengl_interop.h 12 additions, 5 deletionsinclude/vlc_opengl_interop.h
- modules/hw/nvdec/nvdec_gl.c 65 additions, 4 deletionsmodules/hw/nvdec/nvdec_gl.c
- modules/video_output/opengl/gl_util.h 16 additions, 7 deletionsmodules/video_output/opengl/gl_util.h
- modules/video_output/opengl/importer.c 2 additions, 0 deletionsmodules/video_output/opengl/importer.c
- modules/video_output/opengl/interop.c 3 additions, 226 deletionsmodules/video_output/opengl/interop.c
- modules/video_output/opengl/interop.h 0 additions, 7 deletionsmodules/video_output/opengl/interop.h
- modules/video_output/opengl/interop_android.c 12 additions, 9 deletionsmodules/video_output/opengl/interop_android.c
- modules/video_output/opengl/interop_cvpx.m 96 additions, 29 deletionsmodules/video_output/opengl/interop_cvpx.m
- modules/video_output/opengl/interop_dxva2.c 12 additions, 4 deletionsmodules/video_output/opengl/interop_dxva2.c
- modules/video_output/opengl/interop_sw.c 240 additions, 10 deletionsmodules/video_output/opengl/interop_sw.c
- modules/video_output/opengl/interop_vaapi.c 41 additions, 4 deletionsmodules/video_output/opengl/interop_vaapi.c
- modules/video_output/opengl/interop_vdpau.c 12 additions, 7 deletionsmodules/video_output/opengl/interop_vdpau.c
- modules/video_output/opengl/picture.h 2 additions, 0 deletionsmodules/video_output/opengl/picture.h
- modules/video_output/opengl/sampler.c 1 addition, 9 deletionsmodules/video_output/opengl/sampler.c