summaryrefslogtreecommitdiffstats
path: root/drivers/media/IR/Kconfig
diff options
context:
space:
mode:
authorMauro Carvalho Chehab2010-04-03 23:51:50 +0200
committerMauro Carvalho Chehab2010-05-19 17:56:55 +0200
commit2f16f6315f583964732bc23c873d4024281d763c (patch)
treea20f719a7d4aef15a24f55f4c6e1aaaa90c8a8b7 /drivers/media/IR/Kconfig
parentV4L/DVB: Convert drivers/media/dvb/ttpci/budget-ci.c to use ir-core (diff)
downloadkernel-qcow2-linux-2f16f6315f583964732bc23c873d4024281d763c.tar.gz
kernel-qcow2-linux-2f16f6315f583964732bc23c873d4024281d763c.tar.xz
kernel-qcow2-linux-2f16f6315f583964732bc23c873d4024281d763c.zip
V4L/DVB: ir-nec-decoder: Reimplement the entire decoder
Thanks to Andy Walls <awalls@md.metrocast.net> for pointing me his code, that gave me some ideas to better implement it. After some work with saa7134 bits, I found a way to catch both IRQ edge pulses. By enabling it, the NEC decoder can now take both pulse and spaces into account, making it more precise. Instead of the old strategy of handling the events all at once, this code implements a state machine. Due to that, it handles individual pulse or space events, validating them against the protocol, producing a much more reliable decoding. With the new implementation, the protocol trailer bits are properly handled, making possible for the repeat key to work. Also, the code is now capable of handling both NEC and NEC extended IR devices. With NEC, it produces a 16 bits code, while with NEC extended, a 24 bits code is returned. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/IR/Kconfig')
0 files changed, 0 insertions, 0 deletions