linux-media.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* EIT off-air tables for HD in UK
@ 2016-06-14 18:31 Nick Whitehead
  2016-06-15  8:10 ` Jemma Denson
  0 siblings, 1 reply; 2+ messages in thread
From: Nick Whitehead @ 2016-06-14 18:31 UTC (permalink / raw)
  To: linux-media

I've just started to use this to recover EIT information from the 
transmitted stream (UK, freeview).

I've managed to get the tables OK, but the EIT name / description for 
all HD channels is scrambled. Some research indicates these are huffman 
encoded for an unclear reason.

Given the right tables, it should be possible therefore to decode them 
when they appear in the linked list of descriptors in each event. 
However, it appears that dvb_parse_string() called all the way down from 
dvb_read_sections() converts the character sets name / description 
strings so that they can no longer be decoded. If huffman encoded, I 
think the first character of each is a 0x1f, followed by a 0x01 or 0x02 
which probably indicates the table to use.

It seems to me therefore that the 0x1f needs to be picked up in the 
switch (*src) {} at line 395 in parse_string.c, and huffman decode done 
there. After the return from dvb_parse_string(), and certainly when they 
appear in the EIT table, it's too late.

I am not sure if I'm right about all this as I know very little about 
DVB. However it looks like that to me. Have I got this right or is 
already successfully handled somewhere I haven't realised?


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: EIT off-air tables for HD in UK
  2016-06-14 18:31 EIT off-air tables for HD in UK Nick Whitehead
@ 2016-06-15  8:10 ` Jemma Denson
  0 siblings, 0 replies; 2+ messages in thread
From: Jemma Denson @ 2016-06-15  8:10 UTC (permalink / raw)
  To: Nick Whitehead, linux-media

On 14/06/16 19:31, Nick Whitehead wrote:
> I've just started to use this to recover EIT information from the 
> transmitted stream (UK, freeview).
>
> I've managed to get the tables OK, but the EIT name / description for 
> all HD channels is scrambled. Some research indicates these are 
> huffman encoded for an unclear reason.
>
> Given the right tables, it should be possible therefore to decode them 
> when they appear in the linked list of descriptors in each event. 
> However, it appears that dvb_parse_string() called all the way down 
> from dvb_read_sections() converts the character sets name / 
> description strings so that they can no longer be decoded. If huffman 
> encoded, I think the first character of each is a 0x1f, followed by a 
> 0x01 or 0x02 which probably indicates the table to use.
>
> It seems to me therefore that the 0x1f needs to be picked up in the 
> switch (*src) {} at line 395 in parse_string.c, and huffman decode 
> done there. After the return from dvb_parse_string(), and certainly 
> when they appear in the EIT table, it's too late.
>
> I am not sure if I'm right about all this as I know very little about 
> DVB. However it looks like that to me. Have I got this right or is 
> already successfully handled somewhere I haven't realised?
>
>

FYI mythtv decodes the EIT successfully so is probably a good place to 
start looking. The original patch to add it in is here: 
https://svn.mythtv.org/trac/attachment/ticket/5365/freesat_epg.diff
AFAIK Freeview HD is done the same way as Freesat.

Jemma.



^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2016-06-15  8:10 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-06-14 18:31 EIT off-air tables for HD in UK Nick Whitehead
2016-06-15  8:10 ` Jemma Denson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).