dr_45.h | dr_45.h | |||
---|---|---|---|---|
skipping to change at line 26 | skipping to change at line 26 | |||
* Lesser General Public License for more details. | * Lesser General Public License for more details. | |||
* | * | |||
* You should have received a copy of the GNU Lesser General Public | * You should have received a copy of the GNU Lesser General Public | |||
* License along with this library; if not, write to the Free Software | * License along with this library; if not, write to the Free Software | |||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-130 1 USA | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-130 1 USA | |||
* | * | |||
************************************************************************** ***/ | ************************************************************************** ***/ | |||
/*! | /*! | |||
* \file <dr_45.h> | * \file <dr_45.h> | |||
* \author Jean-Paul Saman <jpsaman at videolan dot org> | * \author Jean-Paul Saman <jpsaman@videolan.org> | |||
* \brief VBI data descriptor parsing. | * \brief VBI data descriptor parsing. | |||
* | * | |||
* DVB VBI data descriptor parsing, according to ETSI EN 300 468 | * DVB VBI data descriptor parsing, according to ETSI EN 300 468 | |||
* version 1.7.1 section 6.2.46 | * version 1.7.1 section 6.2.46 | |||
* | * | |||
* NOTE: this descriptor is known by tag value 0x45 | * NOTE: this descriptor is known by tag value 0x45 | |||
*/ | */ | |||
#ifndef _DVBPSI_DR_45_H_ | #ifndef _DVBPSI_DR_45_H_ | |||
#define _DVBPSI_DR_45_H_ | #define _DVBPSI_DR_45_H_ | |||
#ifdef __cplusplus | #ifdef __cplusplus | |||
extern "C" { | extern "C" { | |||
#endif | #endif | |||
/************************************************************************** *** | /************************************************************************** *** | |||
* dvbpsi_vbidata_line_t | * dvbpsi_vbidata_line_t | |||
************************************************************************** ***/ | ************************************************************************** ***/ | |||
/*! | /*! | |||
* \struct dvbpsi_vbidata_line_t | * \struct dvbpsi_vbidata_line_s | |||
* \brief one VBI Data line structure. | * \brief one VBI Data line structure. | |||
* | * | |||
* This structure is used since vbidata_t structure will contain several | * This structure is used since vbidata_t structure will contain several | |||
* of these structures | * of these structures | |||
*/ | */ | |||
/*! | /*! | |||
* \typedef struct dvbpsi_vbidata_line_s dvbpsi_vbidata_line_t | * \typedef struct dvbpsi_vbidata_line_s dvbpsi_vbidata_line_t | |||
* \brief dvbpsi_vbidata_line_t type definition. | * \brief dvbpsi_vbidata_line_t type definition. | |||
*/ | */ | |||
typedef struct dvbpsi_vbidata_line_s | typedef struct dvbpsi_vbidata_line_s | |||
{ | { | |||
uint8_t i_parity; /* 1 bits */ | uint8_t i_parity; /*!< parity bit (1 bits) */ | |||
uint8_t i_line_offset; /* 5 bits */ | uint8_t i_line_offset; /*!< line offset (5 bits) */ | |||
} dvbpsi_vbidata_line_t; | } dvbpsi_vbidata_line_t; | |||
/************************************************************************** *** | /************************************************************************** *** | |||
* dvbpsi_vbidata_t | * dvbpsi_vbidata_t | |||
************************************************************************** ***/ | ************************************************************************** ***/ | |||
/*! | /*! | |||
* \struct dvbpsi_vbidata_t | * \struct dvbpsi_vbidata_s | |||
* \brief one VBI data structure. | * \brief one VBI data structure. | |||
* | * | |||
* This structure is used since vbi_descriptor will contain several | * This structure is used since vbi_descriptor will contain several | |||
* of these structures | * of these structures | |||
*/ | */ | |||
/*! | /*! | |||
* \typedef struct dvbpsi_vbidata_s dvbpsi_vbidata_t | * \typedef struct dvbpsi_vbidata_s dvbpsi_vbidata_t | |||
* \brief dvbpsi_vbidata_t type definition. | * \brief dvbpsi_vbidata_t type definition. | |||
*/ | */ | |||
typedef struct dvbpsi_vbidata_s | typedef struct dvbpsi_vbidata_s | |||
{ | { | |||
uint8_t i_data_service_id; /* 8 bits */ | uint8_t i_data_service_id; /*!< data service id (8 bits) * | |||
uint8_t i_lines; | / | |||
dvbpsi_vbidata_line_t p_lines[255]; | uint8_t i_lines; /*!< number of lines */ | |||
dvbpsi_vbidata_line_t p_lines[255]; /*!< VBI lines data */ | ||||
} dvbpsi_vbidata_t; | } dvbpsi_vbidata_t; | |||
/************************************************************************** *** | /************************************************************************** *** | |||
* dvbpsi_vbi_dr_t | * dvbpsi_vbi_dr_t | |||
************************************************************************** ***/ | ************************************************************************** ***/ | |||
/*! | /*! | |||
* \struct dvbpsi_vbi_dr_s | * \struct dvbpsi_vbi_dr_s | |||
* \brief "teletext" descriptor structure. | * \brief "teletext" descriptor structure. | |||
* | * | |||
* This structure is used to store a decoded "VBI data" | * This structure is used to store a decoded "VBI data" | |||
* descriptor. (ETSI EN 300 468 version 1.7.1 section 6.2.46). | * descriptor. (ETSI EN 300 468 version 1.7.1 section 6.2.46). | |||
*/ | */ | |||
/*! | /*! | |||
* \typedef struct dvbpsi_vbi_dr_s dvbpsi_vbi_dr_t | * \typedef struct dvbpsi_vbi_dr_s dvbpsi_vbi_dr_t | |||
* \brief dvbpsi_vbi_dr_t type definition. | * \brief dvbpsi_vbi_dr_t type definition. | |||
*/ | */ | |||
typedef struct dvbpsi_vbi_dr_s | typedef struct dvbpsi_vbi_dr_s | |||
{ | { | |||
uint8_t i_services_number; | uint8_t i_services_number; /*!< service number */ | |||
dvbpsi_vbidata_t p_services[85]; | dvbpsi_vbidata_t p_services[85]; /*!< services table */ | |||
} dvbpsi_vbi_dr_t; | } dvbpsi_vbi_dr_t; | |||
/************************************************************************** *** | /************************************************************************** *** | |||
* dvbpsi_DecodeVBIDataDr | * dvbpsi_DecodeVBIDataDr | |||
************************************************************************** ***/ | ************************************************************************** ***/ | |||
/*! | /*! | |||
* \fn dvbpsi_vbi_dr_t * dvbpsi_DecodeVBIDataDr( | * \fn dvbpsi_vbi_dr_t * dvbpsi_DecodeVBIDataDr( | |||
dvbpsi_descriptor_t * p_descriptor) | dvbpsi_descriptor_t * p_descriptor) | |||
* \brief "VBI data" descriptor decoder. | * \brief "VBI data" descriptor decoder. | |||
skipping to change at line 125 | skipping to change at line 125 | |||
* which contains the decoded data. | * which contains the decoded data. | |||
*/ | */ | |||
dvbpsi_vbi_dr_t* dvbpsi_DecodeVBIDataDr( | dvbpsi_vbi_dr_t* dvbpsi_DecodeVBIDataDr( | |||
dvbpsi_descriptor_t * p_descriptor) ; | dvbpsi_descriptor_t * p_descriptor) ; | |||
/************************************************************************** *** | /************************************************************************** *** | |||
* dvbpsi_GenVBIDataDr | * dvbpsi_GenVBIDataDr | |||
************************************************************************** ***/ | ************************************************************************** ***/ | |||
/*! | /*! | |||
* \fn dvbpsi_descriptor_t * dvbpsi_GenVBIDataDr( | * \fn dvbpsi_descriptor_t * dvbpsi_GenVBIDataDr( | |||
dvbpsi_vbi_dr_t * p_decoded, int b_duplicate) | dvbpsi_vbi_dr_t * p_decoded, bool b_duplicate) | |||
* \brief "VBI data" descriptor generator. | * \brief "VBI data" descriptor generator. | |||
* \param p_decoded pointer to a decoded "VBI data" descriptor | * \param p_decoded pointer to a decoded "VBI data" descriptor | |||
* structure | * structure | |||
* \param b_duplicate if non zero then duplicate the p_decoded structure in to | * \param b_duplicate if true then duplicate the p_decoded structure into | |||
* the descriptor | * the descriptor | |||
* \return a pointer to a new descriptor structure which contains encoded d ata. | * \return a pointer to a new descriptor structure which contains encoded d ata. | |||
*/ | */ | |||
dvbpsi_descriptor_t * dvbpsi_GenVBIDataDr( | dvbpsi_descriptor_t * dvbpsi_GenVBIDataDr( | |||
dvbpsi_vbi_dr_t * p_decoded, | dvbpsi_vbi_dr_t * p_decoded, | |||
int b_duplicate); | bool b_duplicate); | |||
#ifdef __cplusplus | #ifdef __cplusplus | |||
}; | }; | |||
#endif | #endif | |||
#else | #else | |||
#error "Multiple inclusions of dr_45.h" | #error "Multiple inclusions of dr_45.h" | |||
#endif | #endif | |||
End of changes. 9 change blocks. | ||||
13 lines changed or deleted | 14 lines changed or added | |||
This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |