- 15 Apr, 2021 4 commits
-
-
Alexandre Janniaux authored
The inhibiter code is taken from VLCKit inhibiter's handling, and is meant to replace this handling.
-
Alexandre Janniaux authored
-
Alexandre Janniaux authored
-
Alexandre Janniaux authored
The pinch recognizer cannot work on tvOS, since tvOS doesn't have a touchscreen.
-
- 14 Apr, 2021 3 commits
-
-
Thomas Guillem authored
-
Thomas Guillem authored
-
Thomas Guillem authored
-
- 13 Apr, 2021 2 commits
-
-
Pierre Ynard authored
-
Pierre Ynard authored
-
- 12 Apr, 2021 31 commits
-
-
Alexandre Janniaux authored
The comment /* Get the subpicture to be displayed */ was written twice in places where no subpictures were involved. In addition, do_snapshot was computed where the rendering date was computed although it was not used there. Move the do_snapshot computation just before it's used, replace the misplaced comments by comment actually describing what's follow, and rewrite the removed comment where spu_Render actually returns the subpicture.
-
Romain Vimont authored
This helps for testing plane filtering. Signed-off-by:
Alexandre Janniaux <ajanni@videolabs.io>
-
Romain Vimont authored
If config.filter_planes is set on a filter, generate one output texture for each input texture, and call draw() for each plane separately. Signed-off-by:
Alexandre Janniaux <ajanni@videolabs.io>
-
Romain Vimont authored
A "direct" sampler (i.e. a sampler without interop) only supported one texture, because the output of the previous filter was assumed to be RGBA in a single plane. A deinterlace filter will output several planes, so the sampler of the next filter must be able to receive all of them. Signed-off-by:
Alexandre Janniaux <ajanni@videolabs.io>
-
Romain Vimont authored
A sampler gives access to the input picture, in RGBA. Add support for giving access to individual input planes, selected by vlc_gl_sampler_SelectPlane(), in their native format. Signed-off-by:
Alexandre Janniaux <ajanni@videolabs.io>
-
Romain Vimont authored
The number of input planes and their sizes might be useful to filters implementation. It could be retrieved by vlc_fourcc_GetChromaDescription(), but for convenience, expose them in sampler. Signed-off-by:
Alexandre Janniaux <ajanni@videolabs.io>
-
Romain Vimont authored
Compute the shader extensions in a separate function, to be able to reuse it. Signed-off-by:
Alexandre Janniaux <ajanni@videolabs.io>
-
Romain Vimont authored
The type and function to use depends on the texture target. Extract the mapping to a separate function to be able to reuse it. Signed-off-by:
Alexandre Janniaux <ajanni@videolabs.io>
-
Romain Vimont authored
Variables were generated on the fly with an index in the name. For example: uniform sampler2D Texture0; uniform mat3 TexCoordsMap0; uniform sampler2D Texture1; uniform mat3 TexCoordsMap1; uniform sampler2D Texture2; uniform mat3 TexCoordsMap2; Replace them by arrays: uniform sampler2D Textures[3]; uniform mat3 TexCoordsMaps[3]; This will enable to expose a GLSL function providing a color for a particular plane number passed as a parameter. Signed-off-by:
Alexandre Janniaux <ajanni@videolabs.io>
-
Romain Vimont authored
Now that both types of samplers (interop and direct) use the same fragment shader code generation, factorize their creation. Signed-off-by:
Alexandre Janniaux <ajanni@videolabs.io>
-
Romain Vimont authored
A sampler may receive their input picture either: - from an interop, uploading a picture_t - from a previous filter, giving an OpenGL texture directly (a "direct" sampler) The fragment shader for a "direct" sampler was straightforward: the input was always an RGBA texture. On the contrary, samplers from interop always applied chroma conversion to expose individual pixels in RGBA. However, deinterlace filters operate on individual input planes, so the chroma conversion must be applied afterwards. To prepare support for this feature, use the same fragment shader code generation for both types of samplers. Signed-off-by:
Alexandre Janniaux <ajanni@videolabs.io>
-
Romain Vimont authored
This will allow to generate chroma conversion code for "direct" samplers, in order to convert chroma between OpenGL filters. Signed-off-by:
Alexandre Janniaux <ajanni@videolabs.io>
-
Romain Vimont authored
Swizzle will be necessary even for "direct" samplers (samplers without interop). Signed-off-by:
Alexandre Janniaux <ajanni@videolabs.io>
-
Romain Vimont authored
In OpenGL, some values of picture planes scaling are hardcoded, and might differ from the values provided by in a vlc_chroma_description_t. Make the computation explicit and explain why. Signed-off-by:
Alexandre Janniaux <ajanni@videolabs.io>
-
Alexandre Janniaux authored
An 8k RGB image doesn't fit within the maximum allocation size constraint installed in block_Alloc. Indeed, 2^27 is 134217728 while the RGB 8k jpeg image sample in #19979 will allocate 201326592. In general, 8k with 4 byte per pixel can go up to 132710400, without taking into account additional padding, so doubling the allocation size is enough to handle those pictures, while keeping a limit for the maximum allocation size. Fixes #19979
-
Benjamin Arnaud authored
Signed-off-by:
Pierre Lamot <pierre@videolabs.io>
-
Benjamin Arnaud authored
Signed-off-by:
Pierre Lamot <pierre@videolabs.io>
-
Benjamin Arnaud authored
Signed-off-by:
Pierre Lamot <pierre@videolabs.io>
-
Benjamin Arnaud authored
Signed-off-by:
Pierre Lamot <pierre@videolabs.io>
-
Benjamin Arnaud authored
Signed-off-by:
Pierre Lamot <pierre@videolabs.io>
-
Benjamin Arnaud authored
Signed-off-by:
Pierre Lamot <pierre@videolabs.io>
-
Romain Vimont authored
The slider has some width, which must be taken into account to compute the volume. This avoids to control the left of the handle near 0% but the right of the handle near 125%. Instead, it always controls the center of the handle. Signed-off-by:
Pierre Lamot <pierre@videolabs.io>
-
Romain Vimont authored
When changing the volume slider with the mouse, the new value considered the width of the complete component instead of the relevant visual part. As a consequence, the slider did not follow the mouse correctly. Signed-off-by:
Pierre Lamot <pierre@videolabs.io>
-
Romain Vimont authored
Right-click allows to set the volume control to predefined steps (0%, 50%, 100% and 125%). However, the last step (125%) was only reachable from the last pixel. Instead, set to the nearest predefined value (and simplify the code for readability). 0% 50% 100% 125% | | | | ^^^^^---------^^^^^^^^^- (before) ^^^^^---------^^^^^^^--- (after) Signed-off-by:
Pierre Lamot <pierre@videolabs.io>
-
Prince Gupta authored
fixes tab button not using accentText color when active Signed-off-by:
Pierre Lamot <pierre@videolabs.io>
-
Prince Gupta authored
This makes all possible backgrounds for TopBar of Player at one place, this is also necessary since application margin is applied in content of TopBar but background don't need to follow the application margins also controls like PlaylistView needs to overlap with TopBar's background but not content. Signed-off-by:
Pierre Lamot <pierre@videolabs.io>
-
Prince Gupta authored
Amends 79b4f529Signed-off-by:
Pierre Lamot <pierre@videolabs.io>
-
Thomas Guillem authored
-
Thomas Guillem authored
The "--clock-master=auto" option will select the input as the clock source when the input can't pace (live content), and will fallback to the "audio" source otherwise (most common case).
-
Thomas Guillem authored
The "--clock-master=input" option (disabled by default) allow to setup the input_clock_t as the master clock. This will restore the VLC 3.0 behavior and use PCR update points as the clock source. Therefore, audio and video tracks will be altered to catch-up with the input.
-
Thomas Guillem authored
Since it's used as a "weak ref" and should not be accessed directly.
-