2021-06-22 09:31:34 +02:00
2021-06-08 16:04:43 +02:00
2020-05-02 13:32:27 +02:00
2021-03-25 15:08:03 +01:00
2021-02-25 16:37:47 +01:00
2021-04-21 08:34:57 +02:00
2021-02-11 16:18:15 +01:00
2021-04-08 13:57:45 +02:00
2021-03-25 15:08:03 +01:00
2021-06-22 09:31:34 +02:00
2021-05-26 14:23:32 +02:00
2021-03-09 08:14:37 +01:00
2021-03-09 16:05:36 +01:00
2021-06-11 14:33:16 +02:00
2021-01-06 16:00:11 +01:00
2021-03-03 15:01:47 +01:00
2021-04-08 11:16:06 +02:00
2020-01-02 08:01:35 +01:00
2018-03-07 10:35:08 +01:00
2020-10-08 08:55:42 +02:00

UltraGrid - VR branch

See also DEVELOPMENT.md.

UltraGrid as a library

Library is compiled automatically to lib/ as libug. Accompanying header is libug.h (in src/).

Samples

  • test_libug_sender.c

    Compile

     cc -Isrc -o test_sender test_libug_sender.c -Llib -lug -pthread
    

    Run

     LD_LIBRARY_PATH=lib ./test_sender [-n] [address]
    

    -n - disables stripping mode

  • test_libug_receiver.c

    Compile

     cc -Isrc -o test_receiver test_libug_receiver.c -Llib -lug
    

    Run

     LD_LIBRARY_PATH=lib ./test_sender [-n] [-d display]
    

    -n - disables stripping mode

For both -h displays other options.

Notes

  • Sender binds to 5004 by default, therefore an receiver cannot run at the same machine. -- no longer valid

VR-specific changes

  • added UltraGrid as a library
    • tests: test_libug_sender and test_libug_receiver
  • added SHM capture (currently not used)
  • added VRG display
  • added CUDA_I420 and CUDA_RGBA codecs allowing GPUJPEG decompression directly to CUDA buffers (need to be allocated by a display)
  • increased maximal MTU to 16 KiB
  • sending RenderPacket in the video buffer following actual video (data len is set to video frame length)
  • "stripped" mode - video is stripped to 8 bars sent as one video (eg. 1920x1080->240x8640) to increase number of parallel sections when encoded by libavcodec and decoded with GPUJPEG (equals video_height / 16) - for that is implemented a capture filter stripe and unstripping mode in GPUJPEG dec.
  • changed behavior of UDP ports - sender uses always dynamic RX ports, as a result mixed sender/receiver mode in one process is prohibitted

Changes

2021-05-07

  • added multisocket connection option

2021-05-05

  • ug_receiver_parameters/ug_sender_parameters - disable_strips -> enable_strips rename (+ default is now disable - not sure if yet compatible with the pitches)

2021-05-03

  • test sender now processes received RenderPacket and sends it back + option to generate YUV 4:2:0 instead of RGBA
  • option ":malloc" for VRG display using malloc allocator instead of CUDA-allocated (either managed or host)

2021-04-23

  • UltraGrid now honors RenderPacket::dx_row_pitch and RenderPacket::dx_row_pitch_uv for uncompressed stream (not for JPEG yet)
  • ug_send_frame now accepts and sends RenderPacket

2021-03-22

  • VRG now allocates buffers with cudaMallocHost, passed to library is with VrgMemory::CPU. Added option to use managed mem instead, aka -d vrg:managed or to ug_receiver_parameters::display.
  • maximal MTU size is set to 16 KiB
Description
No description provided
Readme 218 MiB
Languages
C 51.1%
C++ 42.6%
M4 1.6%
Shell 1%
Cuda 0.9%
Other 2.7%