aboutsummaryrefslogtreecommitdiff
diff options
authorOndrej Jirman2026-07-15 00:14:03 +0200
committerOndrej Jirman2026-07-15 00:14:03 +0200
commitcac6ece0e23ac1f944dd3af266680aff0c3184df (patch)
tree2e225924d3a75f16b34f55cedd337bc0e87710ae
parent318ffd1d5ee20c36e4435a6038dafc45dd9ef68e (diff)
Add information about our new read-before-write fence waitHEADmaster
-rw-r--r--README9
1 files changed, 9 insertions, 0 deletions
diff --git a/README b/README
index c8f4d8b..381c514 100644
--- a/README
+++ b/README
@@ -241,6 +241,15 @@ Design
have completed. This is the same guarantee FFmpeg's hwaccel gets
structurally from its AVBufferPool refcount.
+- Reuse also waits on any external consumer of the buffer's exported
+ dma-buf. The kernel offers no implicit synchronisation against a
+ decode overwriting a buffer a compositor or GPU is still sampling
+ (e.g. mpv --vo=gpu holding it as an EGL image), which would tear the
+ picture. POLLOUT on an exported dma-buf completes only once every
+ fence on its reservation - including a GPU read fence - has signalled,
+ so the driver polls it before handing the buffer back to the decoder.
+ Buffers never exported carry no fd and skip this.
+
- Multi-slice H.264/HEVC frames use V4L2_BUF_FLAG_M2M_HOLD_CAPTURE_BUF;
H.264 queues one request per slice, HEVC batches up to the SLICE_PARAMS
control dimension. Both honour the driver's decode mode (slice/frame

If you want to contact me, send an e-mail to x@xnux.eu.

Homepage: https://xff.cz.