v0.5.0
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