Skip to content
Snippets Groups Projects
  1. Feb 01, 2019
  2. Jan 31, 2019
  3. Jan 30, 2019
  4. Jan 29, 2019
  5. Jan 10, 2019
  6. Dec 19, 2018
    • 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
  7. Nov 18, 2018
  8. Nov 15, 2018
    • Thomas Guillem's avatar
      core: add player API · a80c78fc
      Thomas Guillem authored
      This API will replace the usage of input_thread_t from interface modules. The
      player implementation continue to use input_thread_t in private. The goal is to
      hide the input_thread_t API when every modules are switched to the player API.
      
      TODO (all need to be fixed, for VLC 4.0):
      
       - Gapless: API is complete but not implemented (the player can play several
         medias in a row, but without gapless).
       - Position callbacks: still using the input_thread_t position that is really
         imprecise (notified every 250ms minimum, and sometime more, depending on
         pf_demux implementation).
       - Seek/discontinuity callbacks: when seeking, the player can still send
         position of the requested position, the actual position or the next position
         to come. This leads to UI inconsistency.
       - OSD messages should be display from input callbacks but it's not possible
         now since you can't know if the event come from the user or from the core.
      a80c78fc
    • Thomas Guillem's avatar
      core: move playlist to playlist_legacy · 034a3f75
      Thomas Guillem authored
      To make room for the new playlist.
      This playlist_legacy will be removed once all modules are using the new
      playlist.
      034a3f75
  9. Nov 07, 2018
    • Niklas Haas's avatar
      vout: add new vulkan/libplacebo vout · 1386b850
      Niklas Haas authored and Thomas Guillem's avatar Thomas Guillem committed
      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
  10. Nov 05, 2018
    • Sergio Ammirata's avatar
      access_out: add RIST module · b504fabc
      Sergio Ammirata authored and Thomas Guillem's avatar Thomas Guillem committed
      
      RIST for Reliable Internet Stream Transport (RIST) Protocol.
      
      The implementation follows the Video Services Forum (VSF) Technical
      Recommendation TR-06 which defines an ARQ based UDP transmission protocol
      for real-time streaming over lossy networks (internet, wifi, etc).
      
      Signed-off-by: default avatarThomas Guillem <thomas@gllm.fr>
      b504fabc
    • Sergio Ammirata's avatar
      access: add RIST module · 2cb6e845
      Sergio Ammirata authored and Thomas Guillem's avatar Thomas Guillem committed
      
      RIST for the Reliable Internet Stream Transport Protocol
      
      The implementation follows the Video Services Forum (VSF) Technical
      Recommendation TR-06 which defines an ARQ based UDP transmission protocol
      for real-time streaming over lossy networks (internet, wifi, etc).
      
      Signed-off-by: default avatarThomas Guillem <thomas@gllm.fr>
      2cb6e845
  11. Oct 01, 2018
  12. Sep 05, 2018
  13. Jul 20, 2018
  14. Jul 19, 2018
  15. Jul 17, 2018
  16. Jul 15, 2018
    • Rémi Denis-Courmont's avatar
      lib: remove VLM API · 3de6692c
      Rémi Denis-Courmont authored
      There does not appear to be any real user. The "broadcast"
      functionality can be reproduced more simply with the LibVLC media
      player API. The "VoD" functionality does not make much sense outside of
      the VLC executable process.
      3de6692c
  17. Jul 11, 2018
  18. Jul 09, 2018
  19. Jun 22, 2018
  20. Jun 13, 2018
  21. Jun 10, 2018
  22. Jun 09, 2018
  23. May 20, 2018
  24. May 04, 2018
  25. May 03, 2018
  26. Apr 18, 2018
  27. Mar 18, 2018
  28. Mar 16, 2018
  29. Feb 20, 2018
  30. Feb 02, 2018
Loading