Thread (33 messages) 33 messages, 6 authors, 2010-07-29

Re: Can I expect in-kernel decoding to work out of box?

From: Mauro Carvalho Chehab <hidden>
Date: 2010-07-28 18:28:56
Also in: linux-media

Em 28-07-2010 14:02, Andy Walls escreveu:
On Wed, 2010-07-28 at 12:42 -0300, Mauro Carvalho Chehab wrote:
quoted
Em 28-07-2010 11:53, Jon Smirl escreveu:
quoted
On Wed, Jul 28, 2010 at 10:38 AM, Andy Walls [off-list ref] wrote:
quoted
On Wed, 2010-07-28 at 09:46 -0400, Jon Smirl wrote:
quoted
quoted
I recommend that all decoders initially follow the strict protocol
rules. That will let us find bugs like this one in the ENE driver.
Agreed.
Well... 

I'd possibly make an exception for the protocols that have long-mark
leaders.  The actual long mark measurement can be far off from the
protocol's specification and needs a larger tolerance (IMO).

Only allowing 0.5 to 1.0 of a protocol time unit tolerance, for a
protocol element that is 8 to 16 protocol time units long, doesn't make
too much sense to me.  If the remote has the basic protocol time unit
off from our expectation, the error will likely be amplified in a long
protocol elements and very much off our expectation.
We may adjust it as we note problems on it, but relaxing rules may cause
bad effects, so the better is to be more strict.
quoted
I think that the better is to add some parameters, via sysfs, to relax the
rules at the current decoders, if needed.
Is that worth the effort?  It seems like only going half-way to an
ultimate end state.
Well, let's see first if this is needed. Then, we take the decisions case by case.
<crazy idea>
If you go through the effort of implementing fine grained controls
(tweaking tolerances for this pulse type here or there), why not just
implement a configurable decoding engine that takes as input:

	symbol definitions
		(pulse and space length specifications and tolerances)
	pulse train states
	allowed state transitions
	gap length
	decoded output data length

and instantiates a decoder that follows a user-space provided
specification?

The user can write his own decoding engine specification in a text file,
feed it into the kernel, and the kernel can implement it for him.
</crazy idea>
It is not a crazy idea, and perhaps this is the only way to work with certain
protocols, like Quatro Pulse (see my previous email).

But I think that we should still have the proper decoders for common
protocols and that we won't have any legal restriction to implement
a decoder. A generic decoder will be less efficient than 
OK, maybe that is a little too much time and effort. ;)
Good point. Well, we'll need some volunteer to write such driver ;)

Cheers,
Mauro
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help