daedalus-v4l2{,-dkms}: f0d4186 -> 79256dc — H.264 B-frame reorder fix + menu ctrls #67
Reference in New Issue
Block a user
Delete Branch "claude-noether/marfrit-packages:noether/daedalus-bump-79256dc"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Lock-step bump of both packages to pick up daedalus-v4l2 PR #7 (H.264 B-frame display-reorder fix) and PR #4 (DECODE_MODE + START_CODE menu control registration).
⚠ Lock-step install required
DAEDALUS_PROTO_VERSIONbumps0 → 1at this commit. The kernel module and the userspace daemon must be installed together —apt install daedalus-v4l2 daedalus-v4l2-dkmsin the same dpkg transaction. Independent upgrade leaves the chardev rejecting the version mismatch and/dev/daedalus-v4l2non-functional until the second half lands.What the bump does
daedalus-v4l2 (userspace daemon):
send_packet → receive_frameloop now stampspkt->pts = req->src_ptsand looks up the owning cookie for each drained frame viaframe->pts. MultipleRESP_FRAMEmessages perREQ_DECODEare possible when libavcodec's display-order DPB releases an earlier frame on receipt of a later bitstream. Fixes the "2 1 4 3 6 5" pair-swap visible on H.264 streams with B-frames (mpv + Firefox confirmed on Pi CM5).daedalus-v4l2-dkms (kernel module):
device_runmirrorssrc_buf->vb2_buf.timestampintoREQ_DECODE.src_pts; completion path splitsHAS_PIXELS/SRC_CONSUMEDso src is released as soon as the daemon consumes the slice data (m2m scheduler moves on), while dst stays parked until its actual frame is drained later.dst_buf.timestampis stamped explicitly from inflightsrc_pts(V4L2_BUF_FLAG_TIMESTAMP_COPY's auto-pairing no longer applies once src/dst lifecycles decouple).daedalus-v4l2-dkms also carries the
-2multi-kernel postinst fix from the prior PKGREL (#64):dkms autoinstallruns for every kernel with installed headers, not just$(uname -r).PKGRELresets to1on the new upstream pin per the bump-resets-pkgrel convention; the postinst logic is still inbuild-deb.shand ships in this build.Refs
Verified
6.18.29+rpt-rpi-2712(Pi CM5). Kernel module + daemon + tools all link without errors. Frame-size warning ondevice_runis pre-existing and unchanged.dpkg -iis the only reliable manual path, and it's safer to do it once via the published .deb stream.