[dvblast-devel] biTStream string decodings vs. ISO6934

Honza Petrouš jpetrous at gmail.com
Fri Oct 11 14:58:58 CEST 2013


hi Ondřej

2013/10/11 Ondřej Caletka <ondrej at caletka.cz>:
> Bump.
>
> Any explanation on this?
>

Because seems nobody cares, I have my 2 cents: Please make
patch and send it here for review.

BTW, I don't like those workarounds created because some broadcaster
engineer did his job not good. So let get dvblast "spec-compliant"
with only the possibility to enable workarounds there.

/Honza

> Thanks in advance,
> Ondřej Caletka
>
> Dne 30.8.2013 12:27, Ondřej Caletka napsal(a):
>> Hi,
>>
>> I'm just trying to write some piece of code using biTStream and found
>> some issues with functions for encoding and deconding DVB text strings.
>>
>> The ETSI EN 300 468 says: If the first byte of the text field has a
>> value in the range "0x20" to "0xFF" then this and all subsequent bytes
>> in the text item are coded using the default character coding table
>> (table 00 - Latin alphabet) of figure A.1.
>>
>> And a comment below figure A.1: This table is a superset of ISO/IEC 6937
>> with addition of the Euro symbol.
>>
>> However, when biTStream sees first byte in range 0x20-0xff it qualifies
>> the encoding as ISO 8859-1:
>>
>> file dvb/si/strings.h
>>   71     i_first = (*pp_string)[0];
>>   72
>>   73     if (!i_first) return NULL;
>>   74     if (i_first >= 0x20) return "ISO_8859-1";
>>
>> I know that there are some broadcasters, mostly in the Western Europe,
>> transmitting ISO 8859-1 texts without correct prefix 0x10 0x00 0x01 so
>> this quirk is necessary in that case. However, there should be a
>> possibility to turn that quirk off for countries where ISO 6937 is used.
>>
>> In reverse, when creating a new DVB string using dvb_string_set, it
>> looks like that it is encoding ISO 8859-9, which is output without any
>> prefix, instead of ISO 6937:
>>
>>  105     if (!strcmp(psz_encoding, "ISO_8859-9")) {
>>  106         *pi_out_length = i_length;
>>  107         return (uint8_t *)strdup((const char *)p_string);
>>  108     }
>>
>> This looks very odd to me. Why ISO 8859-9? I would expect 8859-1, as in
>> the decoding function.
>>
>> Thanks in advance for some explanation.
>>
>> All the Best,
>> Ondřej Caletka
>>
>
> _______________________________________________
> dvblast-devel mailing list
> dvblast-devel at videolan.org
> https://mailman.videolan.org/listinfo/dvblast-devel


More information about the dvblast-devel mailing list