- Apr 13, 2021
-
-
Pierre Ynard authored
-
- Apr 12, 2021
-
-
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.
-
This helps for testing plane filtering. Signed-off-by:
Alexandre Janniaux <ajanni@videolabs.io>
-
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>
-
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>
-
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>
-
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>
-
Compute the shader extensions in a separate function, to be able to reuse it. Signed-off-by:
Alexandre Janniaux <ajanni@videolabs.io>
-
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>
-
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>
-
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>
-
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>
-
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>
-
Swizzle will be necessary even for "direct" samplers (samplers without interop). Signed-off-by:
Alexandre Janniaux <ajanni@videolabs.io>
-
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
-
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>
-
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>
-
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>
-
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>
-
fixes tab button not using accentText color when active Signed-off-by:
Pierre Lamot <pierre@videolabs.io>
-
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>
-
Amends 79b4f529 Signed-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.
-
Thomas Guillem authored
No functional changes.
-
Thomas Guillem authored
-
Thomas Guillem authored
No functional changes.
-
Thomas Guillem authored
Keeping compatibility with the legacy type (0 and 1).
-
Chapter descriptions were not being returned for valid title indices. The conditional check would return true (and therefore abort the method) when the requested title index was less than the title count, i.e. when it was valid. Signed-off-by:
Thomas Guillem <thomas@gllm.fr>
-
- Apr 08, 2021
-
-
Tristan Matthews authored
* Avoid a crash for 1pixel videos * Make write_color_config() spec compliant * Fix an intermittent test failure * Make sure Intel AVX512 support works * Update v_frame to 0.2.1 Source: https://github.com/xiph/rav1e/releases/tag/v0.4.1
-
As shown in #25549, we need to extract the path from the url in order to check the file extension without the eventual HTTP's options noise. Fixes: #25549 Signed-off-by:
Thomas Guillem <thomas@gllm.fr>
-
- Apr 07, 2021
-
-
François Cartegnie authored
-