Em Mon,  7 Jan 2013 22:25:47 -0200
Mauro Carvalho Chehab <mche...@redhat.com> escreveu:

> The DVBv3 quality parameters are limited on several ways:
> 
>         - Doesn't provide any way to indicate the used measure,
>         so userspace need to guess how to calculate the measure;
> 
>         - Only a limited set of stats are supported;
> 
>         - Can't be called in a way to require them to be filled
>           all at once (atomic reads from the hardware), with may
>           cause troubles on interpreting them on userspace;
> 
>         - On some OFDM delivery systems, the carriers can be
>           independently modulated, having different properties.
>           Currently, there's no way to report per-layer stats.
> 
> To address the above issues, adding a new DVBv5-based stats
> API.
> 
> Signed-off-by: Mauro Carvalho Chehab <mche...@redhat.com>
> 

...

> +struct dtv_stats {
> +     __u8 scale;     /* enum fecap_scale_params type */
> +     union {
> +             __u32 uvalue;   /* for counters and relative scales */
> +             __s32 svalue;   /* for 0.1 dB measures */

32 bits for total bit count is not enough, as it can be truncated too
early (~1 seg on ISDB-T, ~0.5 seg on DVB-C). I think we need to use
64 bits here, and put at the API that the drivers should monotonically
increment.

As struct buffer inside struct dtv_property has 48 bytes, we can do such
change here without breaking userspace, as struct dtv_stats will have
37 bytes.

-- 

Cheers,
Mauro
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to