Hi Mauro, On Thu, 23 Apr 2015 07:40:46 -0300 Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> wrote: > > What about demod-diversity: demods of some manufacturers can be > > used to combine their demodulated symbols and, due to their > > different antennas and RF-paths, improve the overall reception > > quality. > > > > If we ever have someone contributing in this area with > > hardware-drivers, it would be nice to have the user-space possible > > to select demod-combinations. It should be possible to add and > > remove a demod to a diversity-chain when and when not being tuned > > to a channel. > > It makes sense to map demod diversity via the media controller. > > Not sure what would be the best way to map it though, as I don't have > a clear understanding about how the hardware pipelines are set for > demod diversity. > > The way the media controller currently is is that it maps only the > data flow. There are discussions about how the control flow should > happen. > > The data flow for a normal demod is: > > IF (or baseband) ---> [demod] ---> MPEG-TS > > > From dib0700 demod drivers, I remember that several of the demods have > a concept of a "slave demod". Are those full demods that can get an > IF/baseband input and produce a MPEG-TS output, or are those just > IP blocks that have the IF/baseband input but doesn't produce an > MPEG-TS output, but, instead, sends some sort of data into the "master > demod"? > > In other words, would the dataflow be something like > > IF TS > [tuner] ---> [master demod] ----->[ ] > | IF TS [ combiner ] ---> [demux] > |--------> [slave demod] ----->[ ] > > or: > IF TS > [tuner] -----------> [master demod] ---> [demux] > | IF ^ > | | (what sort of data?) > |----> [slave demod] ----| > > Or is it something else? Let's define a demodulation object: +---------------------------------------------------+ |RF tuner --> IF|baseband --> demod --> FEC-decoder | +---------------------------------------------------+ RF-tuner: RF downconverter (to a low or zero-IF) IF|baseband: ADC and digital filters demod: synchonization and symbol extraction FEC-decoder: viterbi/ldpc/turbo-code forward error correction Let's call this object a frontend. Now imagine a board which has 4 frontends: high-speed-data-bus --------------------- | | | | FE3 FE2 FE1 FE0 To create a diversity-chain, for simplicity, we can say we connect at least 2 frontends in any order. Both frontends are tuned to the same physical channel and then a combiner will combine symbols decoded at demod-stage. Any FE can be connected with any FE in any order. Per board different standards can be demodulated at the same time. For example: FE3 and FE2 are doing DVB-T and FE1 and FE0 DVB-T2 . -- Patrick. -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html