Helper functions to decode sliced VBI data.
More...
Functions |
void | vbi_par (uint8_t *p, unsigned int n) |
int | vbi_unpar (uint8_t *p, unsigned int n) |
void | vbi_ham24p (uint8_t *p, unsigned int c) |
int | vbi_unham24p (const uint8_t *p) |
_vbi_inline unsigned int | vbi_rev8 (unsigned int c) |
_vbi_inline unsigned int | vbi_rev16 (unsigned int c) |
_vbi_inline unsigned int | vbi_rev16p (const uint8_t *p) |
_vbi_inline unsigned int | vbi_par8 (unsigned int c) |
_vbi_inline int | vbi_unpar8 (unsigned int c) |
_vbi_inline unsigned int | vbi_ham8 (unsigned int c) |
_vbi_inline int | vbi_unham8 (unsigned int c) |
_vbi_inline int | vbi_unham16p (const uint8_t *p) |
Detailed Description
Helper functions to decode sliced VBI data.
Function Documentation
void vbi_par |
( |
uint8_t * |
p, |
|
|
unsigned int |
n |
|
) |
| |
- Parameters:
-
p | Array of unsigned bytes. |
n | Size of array. |
Of each byte of the array, changes the most significant bit to make the number of set bits odd.
- Since:
- 0.2.12
int vbi_unpar |
( |
uint8_t * |
p, |
|
|
unsigned int |
n |
|
) |
| |
- Parameters:
-
p | Array of unsigned bytes. |
n | Size of array. |
Tests the parity and clears the most significant bit of each byte of the array.
- Returns:
- A negative value if any byte of the array had even parity (sum of bits modulo 2 is 0).
- Since:
- 0.2.12
void vbi_ham24p |
( |
uint8_t * |
p, |
|
|
unsigned int |
c |
|
) |
| |
- Parameters:
-
p | A Hamming 24/18 protected 24 bit word will be stored here, last significant byte first, lsb first transmitted. |
c | Integer between 0 ... 1 << 18 - 1. |
Encodes an 18 bit word with Hamming 24/18 protection as specified in ETS 300 706, Section 8.3.
- Since:
- 0.2.27
int vbi_unham24p |
( |
const uint8_t * |
p | ) |
|
- Parameters:
-
p | Pointer to a Hamming 24/18 protected 24 bit word, last significant byte first, lsb first transmitted. |
Decodes a Hamming 24/18 protected byte triplet as specified in ETS 300 706, Section 8.3.
- Returns:
- Triplet data bits D18 [msb] ... D1 [lsb] or a negative value if the triplet contained incorrectable errors.
- Since:
- 0.2.12
_vbi_inline unsigned int vbi_rev8 |
( |
unsigned int |
c | ) |
|
- Parameters:
-
Reverses the bits of the argument.
- Returns:
- Data bits 0 [msb] ... 7 [lsb].
- Since:
- 0.2.12
_vbi_inline unsigned int vbi_rev16 |
( |
unsigned int |
c | ) |
|
- Parameters:
-
Reverses (or "reflects") the bits of the argument.
- Returns:
- Data bits 0 [msb] ... 15 [lsb].
- Since:
- 0.2.12
_vbi_inline unsigned int vbi_rev16p |
( |
const uint8_t * |
p | ) |
|
- Parameters:
-
p | Pointer to a 16 bit word, last significant byte first. |
Reverses (or "reflects") the bits of the argument.
- Returns:
- Data bits 0 [msb] ... 15 [lsb].
- Since:
- 0.2.12
_vbi_inline unsigned int vbi_par8 |
( |
unsigned int |
c | ) |
|
- Parameters:
-
- Returns:
- Changes the most significant bit of the byte to make the number of set bits odd.
- Since:
- 0.2.12
_vbi_inline int vbi_unpar8 |
( |
unsigned int |
c | ) |
|
- Parameters:
-
- Returns:
- If the byte has odd parity (sum of bits modulo 2 is 1) the byte AND 127, otherwise a negative value.
- Since:
- 0.2.12
_vbi_inline unsigned int vbi_ham8 |
( |
unsigned int |
c | ) |
|
- Parameters:
-
c | Integer between 0 ... 15. |
Encodes a nibble with Hamming 8/4 protection as specified in EN 300 706, Section 8.2.
- Returns:
- Hamming encoded unsigned byte, lsb first transmitted.
- Since:
- 0.2.12
_vbi_inline int vbi_unham8 |
( |
unsigned int |
c | ) |
|
- Parameters:
-
c | Hamming 8/4 protected byte, lsb first transmitted. |
Decodes a Hamming 8/4 protected byte as specified in EN 300 706, Section 8.2.
- Returns:
- Data bits (D4 [msb] ... D1 [lsb]) or a negative value if the byte contained incorrectable errors.
- Since:
- 0.2.12
_vbi_inline int vbi_unham16p |
( |
const uint8_t * |
p | ) |
|
- Parameters:
-
p | Pointer to a Hamming 8/4 protected 16 bit word, last significant byte first, lsb first transmitted. |
Decodes a Hamming 8/4 protected byte pair as specified in EN 300 706, Section 8.2.
- Returns:
- Data bits D4 [msb] ... D1 of first byte and D4 ... D1 [lsb] of second byte, or a negative value if any of the bytes contained incorrectable errors.
- Since:
- 0.2.12