- 10 Sep, 2020 40 commits
-
-
Pierre Lamot authored
bottom and left shadows are not part of the design top shadow is already attached to the navigation bar
-
Pierre Lamot authored
-
Pierre Lamot authored
-
Pierre Lamot authored
-
Pierre Lamot authored
-
Pierre Lamot authored
-
Pierre Lamot authored
-
Pierre Lamot authored
-
Pierre Lamot authored
-
Alexandre Janniaux authored
-
Add an overview of the implementation of OpenGL filters. Co-authored-by:
Alexandre Janniaux <ajanni@videolabs.io> Signed-off-by:
Alexandre Janniaux <ajanni@videolabs.io>
-
Enable multisampling anti-aliasing: - render to an intermediate multisample renderbuffer; - resolve it to the output framebuffer. Co-authored-by:
Alexandre Janniaux <ajanni@videolabs.io> Signed-off-by:
Alexandre Janniaux <ajanni@videolabs.io>
-
This paves the way to initialize multisample framebuffers, which depend on whether the filter is the last. Co-authored-by:
Alexandre Janniaux <ajanni@videolabs.io> Signed-off-by:
Alexandre Janniaux <ajanni@videolabs.io>
-
Co-authored-by:
Alexandre Janniaux <ajanni@videolabs.io> Signed-off-by:
Alexandre Janniaux <ajanni@videolabs.io>
-
Expose the date of the input picture_t to the OpenGL filter. As the date is directly coming from the input picture without modification, its value and semantic is defined by the previous layer forwarding the picture to the OpenGL filters. Co-authored-by:
Alexandre Janniaux <ajanni@videolabs.io> Signed-off-by:
Alexandre Janniaux <ajanni@videolabs.io>
-
The requested viewport must be applied only on filters which draw directly to the output (from the last non-blend filter to the end). Co-authored-by:
Alexandre Janniaux <ajanni@videolabs.io> Signed-off-by:
Alexandre Janniaux <ajanni@videolabs.io>
-
The sampler was created and passed to the filter in the Open() function. But only non-blend filters need a sampler to read the input picture (blend filters do not read it). To avoid creating an unnecessary sampler (including GLSL code generation), retrieve the sampler from an owner function, which creates it on-demand. Co-authored-by:
Alexandre Janniaux <ajanni@videolabs.io> Signed-off-by:
Alexandre Janniaux <ajanni@videolabs.io>
-
A blend filter draws over the result of any previous filter. Expose a flag to be set by filter modules implementation, and draw them using the same draw framebuffer as the last (non-blend) filter. If the first filter is a blend filter, then a "draw" filter (a non-blend filter which just draws the input picture) is automatically inserted. Co-authored-by:
Alexandre Janniaux <ajanni@videolabs.io> Co-authored-by:
Maxime Meissonnier <mmeisson@outlook.fr> Signed-off-by:
Alexandre Janniaux <ajanni@videolabs.io>
-
Implement a filter which just draws the input picture to the output. This will be useful for "blend" filters which needs something to blend with, even if they are used as the first filter. Co-authored-by:
Alexandre Janniaux <ajanni@videolabs.io> Signed-off-by:
Alexandre Janniaux <ajanni@videolabs.io>
-
The default draw framebuffer might be != 0 on some platforms. Read the bound draw framebuffer on initialization, and use it for drawing to the display. Co-authored-by:
Alexandre Janniaux <ajanni@videolabs.io> Signed-off-by:
Alexandre Janniaux <ajanni@videolabs.io>
-
Create one framebuffer and its associate texture for each filter, and bind them as necessary before drawing so that the output of a filter is the input of the next one. Co-authored-by:
Alexandre Janniaux <ajanni@videolabs.io> Co-authored-by:
Maxime Meissonnier <mmeisson@outlook.fr> Signed-off-by:
Alexandre Janniaux <ajanni@videolabs.io>
-
Co-authored-by:
Alexandre Janniaux <ajanni@videolabs.io> Signed-off-by:
Alexandre Janniaux <ajanni@videolabs.io>
-
A filter may need to specify a different output size. The input size is accessible via the sampler. Co-authored-by:
Alexandre Janniaux <ajanni@videolabs.io> Signed-off-by:
Alexandre Janniaux <ajanni@videolabs.io>
-
There must be one sampler per filter. The first filter in the chain will receive a sampler created from an interop; the remaining ones will receive a "direct" sampler. Co-authored-by:
Alexandre Janniaux <ajanni@videolabs.io> Signed-off-by:
Alexandre Janniaux <ajanni@videolabs.io>
-
A sampler exposes the VLC input picture via a GLSL function vlc_texture(). Until now, the input picture always came from the interop (initialized from a picture_t). With filters, the input picture may now be the output picture of the previous filter, already stored in a OpenGL texture. In that case, we need a sampler able to expose this input via vlc_texture(). Co-authored-by:
Alexandre Janniaux <ajanni@videolabs.io> Signed-off-by:
Alexandre Janniaux <ajanni@videolabs.io>
-
The sampler just referenced the interop format. In order to support samplers without interop (when the input picture comes from a previous OpenGL filter), store the input format in the sampler. Co-authored-by:
Alexandre Janniaux <ajanni@videolabs.io> Signed-off-by:
Alexandre Janniaux <ajanni@videolabs.io>
-
Load OpenGL filters from modules. Convert the existing renderer to a module. Co-authored-by:
Alexandre Janniaux <ajanni@videolabs.io> Signed-off-by:
Alexandre Janniaux <ajanni@videolabs.io>
-
Create a component to manage the chain of filters. For now, the renderer is the only filter. Co-authored-by:
Alexandre Janniaux <ajanni@videolabs.io> Signed-off-by:
Alexandre Janniaux <ajanni@videolabs.io>
-
Create a private part not exposed to filter modules. Co-authored-by:
Alexandre Janniaux <ajanni@videolabs.io> Signed-off-by:
Alexandre Janniaux <ajanni@videolabs.io>
-
Expose a filter API, and make renderer a specific filter. Co-authored-by:
Alexandre Janniaux <ajanni@videolabs.io> Co-authored-by:
Maxime Meissonnier <mmeisson@outlook.fr> Signed-off-by:
Alexandre Janniaux <ajanni@videolabs.io>
-
Alexandre Janniaux authored
-
Alexandre Janniaux authored
-
Co-Authored-By:
Thomas Guillem <thomas@gllm.fr>
-
Co-Authored-By:
Thomas Guillem <thomas@gllm.fr>
-
Thomas Guillem authored
This script can be used to package a cargo vendor archive containing all dependencies of a Rust project. If this archive is uploaded to the VideoLAN FTP, the contrib's cargo will try to use it instead of using crates.io. This will also allow us to keep all Rust dependencies.
-
Thomas Guillem authored
Co-Authored-By:
Kartik Ohri <kartikohri13@gmail.com>
-
This will install rustup, cargo, and cargo-c into contrib/bin/.cargo This installation will be used by default for all rust contrib builds. The correct cargo target will be automatically installed when needed. Co-Authored-By:
Thomas Guillem <thomas@gllm.fr>
-
Thomas Guillem authored
This adds CARGO_INSTALL and CARGOC_INSTALL, using the correct cargo path (from contribs) and using the correct install arguments. cf. https://doc.rust-lang.org/cargo/commands/cargo-vendor.html 'cargo vendor' fetch all dependencies required by a Rust project. Administrators will be able to create an archive (via the upcoming cargo-vendor-archive.sh script) containing all dependencies of a Rust project and upload it to the VideoLAN FTP. *-vendor packages will try to use such archive as the only crates source. In case of failure (checksum failed, archive not uploaded), CARGO_INSTALL will fallback to crates.io (by not using the --frozen --offline arguments). A warning is displayed when the crates.io source is used. This is like our download_pkg mechanism (try first VideoLAN FTP, or print a warning and use the original source). Co-Authored-By:
Kartik Ohri <kartikohri13@gmail.com>
-
Thomas Guillem authored
This will allow to use the checksum function for other targets.
-
Thomas Guillem authored
Co-Authored-By:
Kartik Ohri <kartikohri13@gmail.com>
-