GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • bayerlink
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles

This view

  • Original page
  • New address

GeezerVison is showing github.com — bayerlink

README.md

bayerlink

Raw sensor data over an HDMI/DVI link.

FPGA boards rarely have camera connectors; nearly everything has HDMI. bayerlink treats a display link's active area as a byte container — packed raw Bayer samples, one camera line per display line, self-described by a 48-byte header — so real sensor data reaches any board with HDMI-in: no MIPI hardware, no deserialisers, no per-sensor bring-up on the receiver.

Repository What it is
bayerlink The protocol: specification, reference codec (pip install bayerlink), test patterns, and the conformance vectors implementations verify against
picam2hdmi Reference encoder: a Raspberry Pi camera as a bayerlink source — every sensor libcamera supports, with no per-sensor code
bayertap The conformance tap: point any V4L2 capture device at a source and it judges the link — byte-exact via a TC358743 bridge, or through a $10 USB dongle via the luma tunnel

The protocol is deliberately independent of any tool. Anything emitting the bytes is a source, anything parsing the header is a receiver, and the fourcc registry gives new payload formats a door. Independent implementations are unrestricted and encouraged — pass the vectors, open an issue, get listed.

Anticipated next: an FPGA-side decoder for np2hw-generated pipelines, and a microcontroller pattern dongle for receiver bring-up with no camera at all.

Fundable work

Sponsorship here buys ordering and named credit, never exclusivity: a protocol with privately-held pieces is a broken protocol, so everything a sponsor funds lands open, immediately, for every implementer. What sponsorship concretely accelerates:

  • A new device — a Jetson encoder, an RP2350 pattern/DVP dongle, the SBC you actually deploy. Done means: the conformance vectors pass on that hardware.
  • A new payload format — 10-bit packed, 14-bit, monochrome: a fourcc assignment, the reference packer, and committed vectors, which is what makes a format real for every implementation at once.
  • Receiver-side work and the remaining Raspberry Pi milestones (KMS scanout, zero-copy capture).
  • FPGA receiver capabilities in np2hw, the open compiler the bayerlink FPGA decoder is built with -- its README lists its own sponsorable targets.

Worth saying plainly: on the Raspberry Pi, sensors need no funding — libcamera already covers every camera the Pi supports, and this project never holds per-sensor code. The fundable things are devices, formats and receivers.

One-off or recurring via the sponsor button, or write first with what you need: [email protected]. Agreed scope, named credit in the release notes and the implementations table.

Popular repositories Loading

  1. bayerlink bayerlink Public

    Raw sensor data over any HDMI/DVI link: a self-describing byte container, conformance vectors, and real Bayer into any board with HDMI-in

    Python 1

  2. picam2hdmi picam2hdmi Public

    Reference bayerlink encoder: a Raspberry Pi turns any libcamera sensor into a raw video source over HDMI

    Python

  3. .github .github Public

  4. bayertap bayertap Public

    bayerlink conformance tap: any V4L2 capture stick becomes a protocol test instrument

    Python

  5. bayerlink.github.io bayerlink.github.io Public

    bayerlink.org — the protocol's front door

    HTML

  6. bayerlink-fpga bayerlink-fpga Public

    Raw sensor frames into an FPGA over HDMI: the bayerlink receive side on real boards, generated by np2hw, judged bit-exact on the board's own ARM

    Verilog

Repositories

Loading
Type
Language
Sort
Showing 6 of 6 repositories
  • bayerlink Public

    Raw sensor data over any HDMI/DVI link: a self-describing byte container, conformance vectors, and real Bayer into any board with HDMI-in

    Uh oh!

    There was an error while loading. Please reload this page.

    bayerlink/bayerlink's past year of commit activity
    Python 1 Apache-2.0 0 2 0 Updated Nov 12, 2026
  • bayerlink-fpga Public

    Raw sensor frames into an FPGA over HDMI: the bayerlink receive side on real boards, generated by np2hw, judged bit-exact on the board's own ARM

    Uh oh!

    There was an error while loading. Please reload this page.

    bayerlink/bayerlink-fpga's past year of commit activity
    Verilog 0 0 3 0 Updated Nov 12, 2026
  • picam2hdmi Public

    Reference bayerlink encoder: a Raspberry Pi turns any libcamera sensor into a raw video source over HDMI

    Uh oh!

    There was an error while loading. Please reload this page.

    bayerlink/picam2hdmi's past year of commit activity
    Python 0 MIT 0 5 0 Updated Nov 12, 2026
  • bayertap Public

    bayerlink conformance tap: any V4L2 capture stick becomes a protocol test instrument

    Uh oh!

    There was an error while loading. Please reload this page.

    bayerlink/bayertap's past year of commit activity
    Python 0 MIT 0 1 0 Updated Nov 12, 2026
  • bayerlink.github.io Public

    bayerlink.org — the protocol's front door

    Uh oh!

    There was an error while loading. Please reload this page.

    bayerlink/bayerlink.github.io's past year of commit activity
    HTML 0 0 0 0 Updated Nov 1, 2026
  • .github Public

    Uh oh!

    There was an error while loading. Please reload this page.

    bayerlink/.github's past year of commit activity
    0 0 0 0 Updated Aug 9, 2026

People

@lanserge

Top languages

Loading…

Uh oh!

There was an error while loading. Please reload this page.

Most used topics

Loading…

Uh oh!

There was an error while loading. Please reload this page.

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.