1. 03 Jan, 2019 1 commit
    • Janne Grunau's avatar
      build: avoid annoying _FORTIFY_SOURCE warnings (fixes #17341) · 9dc7a22e
      Janne Grunau authored
      fixed patch with the duplicate "#if defined ..." removed
      
      Janne
      ---8<---
      Some toolchains predefine _FORTIFY_SOURCE resulting in countless
      _FORTIFY_SOURCE is redefined warnings. Using _FORTIFY_SOURCE without
      compiler optimizations also generates warnings.
      _FORTIFY_SOURCE is a reserved identifier in C99 ("All identifiers that
      begin with an underscore and either an uppercase letter or another
      underscore are always reserved for any use.") so the toolchain is
      perfectly free to predefine it.
      Signed-off-by: Rémi Denis-Courmont's avatarRémi Denis-Courmont <remi@remlab.net>
      9dc7a22e
  2. 02 Jan, 2019 1 commit
  3. 19 Dec, 2018 1 commit
    • Rémi Denis-Courmont's avatar
      xcb/render: X11 RENDER display plugin · 19c8c3a7
      Rémi Denis-Courmont authored
      This brings the modern (well, at least current) X11 rendering protocol
      for video output (refs #12348).
      
      Compared to plain X11, it can handle scaling and orientation.
      Compared to XVideo, it can handle orientation, and can crop correctly
      (without bleeding), but it expects packed RGB rather than YCbCr.
      
      Also RENDER would be able to handle SPU blending (and SPU scaling),
      though this is left for future work, which neither X11 nor XVideo can.
      19c8c3a7
  4. 17 Dec, 2018 1 commit
  5. 12 Dec, 2018 1 commit
  6. 11 Dec, 2018 1 commit
  7. 09 Dec, 2018 1 commit
  8. 02 Dec, 2018 1 commit
  9. 20 Nov, 2018 1 commit
    • Rémi Denis-Courmont's avatar
      compat: replace qsort_r() where missing · 5ffb9dfe
      Rémi Denis-Courmont authored
      This should sort properly on Windows and any other platform without
      qsort_r(). It does _not_ fix any potential issues on any platforms with
      an incompatible qsort_r() prototype (such as FreeBSD < 13).
      5ffb9dfe
  10. 18 Nov, 2018 1 commit
  11. 17 Nov, 2018 1 commit
  12. 09 Nov, 2018 1 commit
  13. 07 Nov, 2018 1 commit
    • Niklas Haas's avatar
      vout: add new vulkan/libplacebo vout · 1386b850
      Niklas Haas authored
      This uses libplacebo's rendering helpers for all video output, on top of
      the vulkan graphics API. Some notes:
      
      - The existing fourcc/chroma helpers don't really line up with what the
        libplacebo API expects, or in some cases return values that just don't
        seem to make sense. I was advised against touching them for fear of
        breaking the rest of VLC - so we add our own helpers that give us the
        information in the format we need for libplacebo.
      
      - Not all libplacebo options are mapped. There's no ability to create
        custom filter functions (which libplacebo/mpv support), and there's
        also no support for ICC profiles / 3DLUTs (which libplacebo supports)
        nor for the new color blindness simulation parameters in libplacebo
        v0.6. We also don't map the VLC brightness/hue/gamma/etc. options to
        the libplacebo structs - we could do it for free as part of the video
        decode matrix, rather than needing to insert a CPU filter for it.
      
      - How to create the vulkan surface will depend on the platform (much
        like in opengl), so we move context, surface and device creation into
        a single module (`vulkan/surface.c`) which will be conditionally
        compiled depending on the platform in order to provide support for
        multiple surfaces side-by-side (e.g. x11 and wayland). This does mean
        that the context/device-related options end up being separate per
        platform, but OTOH this is not that bad since different platforms
        might want different e.g. swapchain modes (an example being wayland,
        which can make better use of mailbox rather than fifo).
      
      - libplacebo doesn't have a "configure" step, instead all rendering
        parameters are fully dynamic. So we could call UpdateParams() in our
        module at any point in time when the config values change.
        Unfortunately, there's no easy way for us to find out when this is the
        case, so right now changing the vulkan module options requires a
        module reinit to take effect. In theory we could change this. (As an
        aside: calling var_Inherit* per frame does work to get us the changes
        in "realtime", as soon as the user clicks "save", but this may block
        for arbitrary amounts of time so I was advised against doing it)
      
      Due to the new functions, structs and enum members used, the minimum
      libplacebo version has been bumped up to v0.5.0. In theory we could also
      try and support v0.4.0 with some #ifdefs, but v0.5.0 has been out for
      several months now so it should be a safe requirement.
      1386b850
  14. 06 Nov, 2018 1 commit
  15. 05 Nov, 2018 2 commits
  16. 23 Oct, 2018 2 commits
  17. 20 Oct, 2018 1 commit
  18. 19 Sep, 2018 7 commits
  19. 05 Sep, 2018 1 commit
  20. 07 Aug, 2018 1 commit
  21. 06 Aug, 2018 1 commit
  22. 17 Jul, 2018 1 commit
  23. 12 Jul, 2018 1 commit
  24. 11 Jul, 2018 3 commits
  25. 10 Jul, 2018 1 commit
  26. 07 Jul, 2018 2 commits
    • Thomas Guillem's avatar
      smb2: add libdsm netbios resolver · 5775166f
      Thomas Guillem authored
      Because libsmb2 doesn't have any netbios name resolver.
      
      Maybe, every VLC services discoveries should use the IP instead of the netbios
      name for SMB shares.
      5775166f
    • Thomas Guillem's avatar
      access: add smb2 module · c6e78416
      Thomas Guillem authored
      Using libsmb2 from Ronnie Sahlberg https://github.com/sahlberg/libsmb2
      This is LGPL 2.1 fully async lib for accessing SMB2 and SMB3 shares.
      
      This module use the async feature of the libsmb2 lib with the vlc interrupt
      mechanism, therefore every network requests are cancellable almost immediately.
      
      The 2.0.0 version is required since this version drop OpenSSL dependency and
      allow to use Builtin NTLMSSP authentication instead of libkrb5.
      c6e78416
  27. 02 Jul, 2018 1 commit
    • Juha-Pekka Heikkila's avatar
      linux: kernel mode setting (KMS) vout plugin · adaec7b5
      Juha-Pekka Heikkila authored
      Add new kernel mode setting video output plugin.
      By default it tries to match vlc suggested video mode to anything
      kms api offers. There are command line parameters to control
      which video format to use for both vlc and for drm.
      
      kms-vlc-chroma parameter to force VLC to use FourCC as output.
      kms-drm-chroma parameter to overide DRM requested framebuffer type.
      Signed-off-by: Thomas Guillem's avatarThomas Guillem <thomas@gllm.fr>
      adaec7b5
  28. 18 Jun, 2018 2 commits