Annotation of multiplexer/ts.h, revision 1.7

1.1       oskar       1: /*
                      2:  * ISO 13818 stream multiplexer
                      3:  * Copyright (C) 2001 Convergence Integrated Media GmbH Berlin
1.6       oskar       4:  * Author: Oskar Schirmer (oskar@scara.com)
1.7     ! oskar       5:  *
        !             6:  * This program is free software; you can redistribute it and/or modify
        !             7:  * it under the terms of the GNU General Public License as published by
        !             8:  * the Free Software Foundation; either version 2 of the License, or
        !             9:  * (at your option) any later version.
        !            10:  *
        !            11:  * This program is distributed in the hope that it will be useful,
        !            12:  * but WITHOUT ANY WARRANTY; without even the implied warranty of
        !            13:  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
        !            14:  * GNU General Public License for more details.
        !            15:  *
        !            16:  * You should have received a copy of the GNU General Public License
        !            17:  * along with this program; if not, write to the Free Software
        !            18:  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
1.1       oskar      19:  */
                     20: 
                     21: 
                     22: #define TS_PACKET_PID      1
                     23: #define TS_PACKET_CONTICNT (TS_PACKET_PID+2)
                     24: #define TS_PACKET_HEADSIZE (TS_PACKET_CONTICNT+1)
                     25: #define TS_PACKET_ADAPTLEN TS_PACKET_HEADSIZE
                     26: #define TS_PACKET_FLAGS1   (TS_PACKET_ADAPTLEN+1)
                     27: 
                     28: #define TS_SYNC_BYTE  0x47
                     29: #define TS_UNIT_START (1<<6)
                     30: #define TS_AFC_PAYLD  (1<<4)
                     31: #define TS_AFC_ADAPT  (1<<5)
                     32: #define TS_AFC_BOTH   (TS_AFC_PAYLD | TS_AFC_ADAPT)
                     33: 
                     34: #define TS_ADAPT_DISCONTI (1<<7)
                     35: #define TS_ADAPT_RANDOMAC (1<<6)
                     36: #define TS_ADAPT_PRIORITY (1<<5)
                     37: #define TS_ADAPT_PCRFLAG  (1<<4)
                     38: #define TS_ADAPT_OPCRFLAG (1<<3)
                     39: #define TS_ADAPT_SPLICING (1<<2)
                     40: #define TS_ADAPT_TPRIVATE (1<<1)
                     41: #define TS_ADAPT_EXTENSIO (1<<0)
                     42: 
1.3       oskar      43: #define TS_ADAPT2_LTWFLAG  (1<<7)
                     44: #define TS_ADAPT2_PIECEWRF (1<<6)
                     45: #define TS_ADAPT2_SEAMLESS (1<<5)
1.1       oskar      46: 
                     47: #define TS_PID_PAT      0x0000
                     48: #define TS_PID_CAT      0x0001
1.2       oskar      49: #define TS_PID_LOWEST   0x0010
1.1       oskar      50: #define TS_PID_HIGHEST  0x1FFE
                     51: #define TS_PID_NULL     0x1FFF
1.2       oskar      52: #define TS_PID_SPLICELO 0x0100 /* not 0x0010 because of ETSI EN 300 468 */
                     53: #define TS_PID_SPLICEHI 0x1FEF /* not 0x1FFE because of ATSC / ETSI ETR 211 */
1.4       oskar      54: #define TS_UNPARSED_SI  TS_PID_NULL
1.1       oskar      55: 
                     56: #define TS_TABLEID_PAT  0x00
                     57: #define TS_TABLEID_CAT  0x01
                     58: #define TS_TABLEID_PMT  0x02
1.5       oskar      59: #define TS_TABLEID_STUFFING 0xFF
1.1       oskar      60: 
                     61: #define TS_TABLE_ID     0
                     62: #define TS_SECTIONLEN   (TS_TABLE_ID+1)
                     63: #define TS_HEADSLEN     (TS_SECTIONLEN+2)
                     64: #define TS_TRANSPORTID  TS_HEADSLEN
                     65: #define TS_VERSIONNB    (TS_TRANSPORTID+2)
                     66: #define TS_SECTIONNB    (TS_VERSIONNB+1)
                     67: #define TS_LASTSECNB    (TS_SECTIONNB+1)
                     68: #define TS_SECTIONHEAD  (TS_LASTSECNB+1)
                     69: 
                     70: #define TS_PMT_PCRPID   TS_SECTIONHEAD
                     71: #define TS_PMT_PILEN    (TS_SECTIONHEAD+2)
                     72: #define TS_PMTSECTHEAD  (TS_PMT_PILEN+2)
                     73: 
                     74: #define TS_PATSECT_SIZE (TS_SECTIONHEAD+4)
                     75: #define TS_CATSECT_SIZE (TS_SECTIONHEAD+4)
                     76: #define TS_PMTSECT_SIZE (TS_PMTSECTHEAD+4)
                     77: 
                     78: #define TS_PATPROG_SIZE 4
                     79: #define TS_PMTELEM_SIZE 5
                     80: 
                     81: #define TS_MAX_SECTLEN  1021
                     82: 

LinuxTV legacy CVS <linuxtv.org/cvs>