Has anyone work on decoding over-the-air TV digital signal in software? I remember way back there were some cards that can decode OTA signals to be recorded into DVR.
The RTL-SDR was originally intended as a DVB-T receiver, using an app called "BlazeVideo."
Anyway, many, many open source implementations exist for this as it's a popular first/early SDR project. All you'll you need is the right keywords - for the US, ATSC, and for Europe, DVB-T2.
GNU Radio comes with receivers for ATSC and DVB-T. You'll need an SDR that can provide 6 MHz (ATSC) or 8 MHz (DVB-T) of bandwidth (which an RTL-SDR cannot do).
DVB-T2 and ATSC 3.0 receivers are too difficult and nothing exists for them.
Here's a screenshot where I'm transmitting to myself (GNU Radio also has an ATSC transmitter).
To be clear I’m not doubting you, but how does this square with the fact that these are literal DVS-B tuners? Do they perform some decoding in hardware for this purpose?
The output of the dongle in it's normal DVB-T mode is an MPEG-2 Transport Stream. The maximum bitrate of DVB-T is 31.67 Mbps or ~4 Mbytes/s. It's thought that the USB interface was designed to support that rate and not a whole lot more (3.2 MS/s would be 6.4 Mbytes/s since it's 2 bytes per sample).
The key is that the general-purpose SDR mode is an originally-undocumented test/debug mode. Different drivers are used to access it; the standard DVB-T drivers don't provide access to it.
With something with more bandwidth than an RTL-SDR you may be able to at least capture the data but having dedicated hardware for the target signal is the easiest if you're looking to tune. I've seen POC Analog TV signal decoding but not digital signals in software beyond some exploration and general signal analysis.