Skip to content

v0.5.0

Compare
Choose a tag to compare
@any1 any1 released this 09 Jul 18:23
· 155 commits to master since this release

Highlights

  • H.264 Encoding
  • UNIX Sockets
  • New framebuffer submission API
  • Automatic buffer transforms
  • Client side cursor rendering
  • Now accepts DMA-BUFs
  • Presentation time stamps
  • New internal encoder abstraction layer

Shortlog

Andri Yngvason (92):
      Add libdrm include path to cflags
      Display Patreon account on GitHub page
      fb: Add hold/release logic
      Notify the user when an fb is released
      Add a buffer pool
      Remove nvnc_set_render_fn
      fb: Use special context pointer for release callback
      fb_pool: Fix reference counting error
      server: process fb update requests in fb update request message handler
      Add a cleanup callback to nvnc_set_userdata
      fb_pool: Return true from resize when dimensions change
      display & fb_pool: Clean up memory leaks
      examples: draw: Use new buffer submission API
      Remove damage checker
      .gitignore: add .vimrc and sandbox
      Add a stride parameter to nvnc_fb
      Add a API function to get the pixel size of nvnc_fb
      Add API function for creating nvnc_fb from an pre-allocated buffer
      Remove nvnc_fb_flags
      fb: Fix buffer allocation
      Add gbm_bo nvnc_fb type
      pixels: Add fourcc_to_pixman_fmt
      Add transform utility functions from wayvnc
      fb: Add transform attribute
      Re-sample transformed framebuffers
      transform-util: Add dimensions transform function
      resampler: Transform output buffer dimensions based on input transform
      resampler: Make resampler object opaque
      resampler: Track buffer damage
      Add damage refinery from wayvnc
      fb: Fix mapped gbm buffer stride
      fb: Unmap released fbs
      display: Clean up transformed damage region
      Create encoder abstraction
      Remove unused headers
      Add offset coordinates to encoders
      Move update header out of encoders
      Create h264-encoder
      rfb-proto: Add identifier for Open H.264
      Create an Open h.264 encoder
      API: Add nvnc_fb_get_type
      encoder: Add push/pull encoder interface
      Plug open h264
      encoder: Add impl flags
      open-h264: Set "ignores-damage" flag
      server: Keep a count of clients that use damage
      display: Only run damage refinery when it's needed
      h264-encoder: Automatically find a render node
      enc-util: Round up division in calc_bytes_per_cpixel
      pixels: Add 10-bits-per-colour formats
      h264-encoder: Add 30 bit color depth formats
      pixels: Add function to extract alpha mask
      Add a cursor encoder
      Implement client side cursor rendering
      examples: draw: Add a client-side cursor
      pixels: Handle different endianness for alpha mask
      cursor: Fix alpha mask stride
      Add some unit tests for pixel conversions
      test: pixels: Add a unit test for pixel32_to_cpixel
      pixels: Add function to convert drm format to string
      pixels: Add function to get rfb pixel format name
      examples: draw: Handle different endianness for cursor colour
      cursor: Map cursor buffers before access
      cursor: Use the right scan-line length when width != stride
      Add width and height arguments to nvnc_set_cursor
      Implement hiding cursors
      Add back damage argument to nvnc_set_cursor
      h264-encoder: Fix copy-pasta
      server: Decrement n_pending_requests after dispathing encoding job
      h264-encoder: Fully flush output packets
      Add presentation timestamps
      resampler: Extract function: resample_now()
      cursor: Handle rotated cursors
      Call encoder.on_done in a function
      Add simple logging system
      Use new logging system
      server: Promote some log levels
      open-h264: Convert to normal encoder
      display: Add dtrace probes
      resampler: Add dtrace probes
      open-h264: Add dtrace probes
      server: Add dtrace probes with pts
      open-h264: unref result when finished with it
      h264-encoder: Call on_packet_ready last in on_work_done
      server: Reset encoder callback on frame done
      h264-encoder: Clean up current_packet in destroy
      server: Log encoder choices
      server: Turn off Nagle's algorithm
      h264-encoder: Add dtrace probes
      meson_options: Enable h264 by default
      Integrate libav into logging framework
      h264-encoder: Set quality

Harm te Hennepe (1):
      Don't call gbm symbols when they are not available

Jan Beich (1):
      server: consistently use builtin byteswap after 53f88894d52a

Marco Felsch (1):
      meson: Fix host leakage

Ryan Farley (1):
      Support UNIX sockets