Hacker News new | ask | show | jobs
by eiz 2735 days ago
> It's an HDMI cable! The video signal has CRC in it and is packetized, it's either going to make it or it isn't.

I don't disagree with your main point, but this actually isn't quite true. The HDMI signal is split into 3 distinct interleaved periods: video data, data island and control. Video data is not packetized and the only possible error detection it has is from TMDS signaling, but no such error handling is required by the TMDS spec. You can absolutely get imperfect transmission of an HDMI video signal due to cable or other electrical problems. Auxiliary packets in the data island, including audio data, do have an error correction scheme (BCH + TERC4).

Feel free to check out the spec: https://glenwing.github.io/docs/HDMI-1.4b.pdf

1 comments

Yes, but when when there's signal degradation in an HDMI cable it shows obviously, not as a subtle video quality change. If you can see an HDMI signal with white blinking dots everywhere, you can be confident that the cable is not altering the signal in any really detectable way.
"If you can see an HDMI signal with white blinking dots everywhere, you can be confident that the cable is not altering the signal in any really detectable way."

I have seen an HDMI transmission with white blinking pixels at content edges that were not from the original signal. I ran test signal through that source and verified the errors on an HDMI waveform monitor, after which I tested the cable and threw it away.

HDMI video is not magically impervious to error because it is digital. It's actually a pretty straightforward transmission scheme.

This was while working on an HDMI-output device, working with team members who had written the original HDMI specifications (so, yes, I've read them).

It is possible to have subtle degradation in HDMI-delivered content. It's rare, but possible. As one might expect, comprehensive failures (e.g. black screen, periodic HDCP key mismatch) are far more common, as are negotiation/configuration failures (e.g. wrong resolution, wrong framerate, wrong color space).