libdvbpsi 0.2.0
|
00001 /***************************************************************************** 00002 * dr_45.h 00003 * Copyright (C) 2004-2010 VideoLAN 00004 * $Id$ 00005 * 00006 * Authors: Jean-Paul Saman <jpsaman@videolan.org> 00007 * 00008 * This library is free software; you can redistribute it and/or 00009 * modify it under the terms of the GNU Lesser General Public 00010 * License as published by the Free Software Foundation; either 00011 * version 2.1 of the License, or (at your option) any later version. 00012 * 00013 * This library is distributed in the hope that it will be useful, 00014 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00015 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00016 * Lesser General Public License for more details. 00017 * 00018 * You should have received a copy of the GNU Lesser General Public 00019 * License along with this library; if not, write to the Free Software 00020 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 00021 * 00022 *****************************************************************************/ 00023 00035 #ifndef _DVBPSI_DR_45_H_ 00036 #define _DVBPSI_DR_45_H_ 00037 00038 #ifdef __cplusplus 00039 extern "C" { 00040 #endif 00041 00042 /***************************************************************************** 00043 * dvbpsi_vbidata_line_t 00044 *****************************************************************************/ 00056 typedef struct dvbpsi_vbidata_line_s 00057 { 00058 uint8_t i_parity; /* 1 bits */ 00059 uint8_t i_line_offset; /* 5 bits */ 00060 00061 } dvbpsi_vbidata_line_t; 00062 00063 /***************************************************************************** 00064 * dvbpsi_vbidata_t 00065 *****************************************************************************/ 00077 typedef struct dvbpsi_vbidata_s 00078 { 00079 uint8_t i_data_service_id; /* 8 bits */ 00080 uint8_t i_lines; 00081 dvbpsi_vbidata_line_t p_lines[255]; 00082 00083 } dvbpsi_vbidata_t; 00084 00085 /***************************************************************************** 00086 * dvbpsi_vbi_dr_t 00087 *****************************************************************************/ 00099 typedef struct dvbpsi_vbi_dr_s 00100 { 00101 uint8_t i_services_number; 00102 dvbpsi_vbidata_t p_services[85]; 00103 00104 } dvbpsi_vbi_dr_t; 00105 00106 00107 /***************************************************************************** 00108 * dvbpsi_DecodeVBIDataDr 00109 *****************************************************************************/ 00118 dvbpsi_vbi_dr_t* dvbpsi_DecodeVBIDataDr( 00119 dvbpsi_descriptor_t * p_descriptor); 00120 00121 00122 /***************************************************************************** 00123 * dvbpsi_GenVBIDataDr 00124 *****************************************************************************/ 00135 dvbpsi_descriptor_t * dvbpsi_GenVBIDataDr( 00136 dvbpsi_vbi_dr_t * p_decoded, 00137 int b_duplicate); 00138 00139 #ifdef __cplusplus 00140 }; 00141 #endif 00142 00143 #else 00144 #error "Multiple inclusions of dr_45.h" 00145 #endif