Annotation of multiplexer/pes.h, revision 1.7

1.1       oskar       1: /*
                      2:  * ISO 13818 stream multiplexer
                      3:  * Copyright (C) 2001 Convergence Integrated Media GmbH Berlin
1.7     ! oskar       4:  * Author: Oskar Schirmer (schirmer@scara.com)
1.6       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: #if PES_LOWEST_SID != 0xBC
                     23: #error "PES_LOWEST_SID must be 0xBC"
                     24: #endif
                     25: #define PES_CODE_STR_MAP  (0xBC)
                     26: #define PES_CODE_PRIVATE1 (0xBD)
                     27: #define PES_CODE_PADDING  (0xBE)
                     28: #define PES_CODE_PRIVATE2 (0xBF)
                     29: #define PES_CODE_AUDIO    (0xC0)
                     30: #define PES_NUMB_AUDIO    (0x20)
                     31: #define PES_CODE_VIDEO    (0xE0)
                     32: #define PES_NUMB_VIDEO    (0x10)
                     33: #define PES_CODE_ECM      (0xF0)
                     34: #define PES_CODE_EMM      (0xF1)
                     35: #define PES_CODE_DSMCC    (0xF2)
                     36: #define PES_CODE_ISO13522 (0xF3)
                     37: #define PES_CODE_ITU222A  (0xF4)
                     38: #define PES_CODE_ITU222B  (0xF5)
                     39: #define PES_CODE_ITU222C  (0xF6)
                     40: #define PES_CODE_ITU222D  (0xF7)
                     41: #define PES_CODE_ITU222E  (0xF8)
                     42: #define PES_CODE_ANCILARY (0xF9)
                     43: #define PES_CODE_STR_DIR  (0xFF)
                     44: 
                     45: #define PES_JOKER_AUDIO   (0xB8)
                     46: #define PES_JOKER_VIDEO   (0xB9)
                     47: 
                     48: #define PES_SYNC_SIZE     3
                     49: #define PES_STREAM_ID     (PES_SYNC_SIZE)
                     50: #define PES_HDCODE_SIZE   (PES_SYNC_SIZE+1)
                     51: #define PES_PACKET_LENGTH (PES_HDCODE_SIZE)
                     52: #define PES_HEADER_SIZE   (PES_HDCODE_SIZE+2)
                     53: 
                     54: #define ELEMD_MAIN        0
                     55: #define ELEMD_VIDEOSTR    2
                     56: #define ELEMD_AUDIOSTR    3
                     57: #define ELEMD_HIERARCHY   4
                     58: #define ELEMD_REGISTRAT   5
                     59: #define ELEMD_ALIGNMENT   6
                     60: #define ELEMD_TARGETBGG   7
                     61: #define ELEMD_VIDWINDOW   8
                     62: #define ELEMD_CA          9
                     63: #define ELEMD_ISO639LNG  10
                     64: #define ELEMD_SYSTEMCLK  11
                     65: #define ELEMD_MPLEXBUTL  12
                     66: #define ELEMD_COPYRIGHT  13
                     67: #define ELEMD_MAXBITRAT  14
                     68: #define ELEMD_PRIVATDAT  15
                     69: #define ELEMD_SMOOTHING  16
                     70: #define ELEMD_STD        17
                     71: #define ELEMD_IBP        18
                     72: 
                     73: #define PES_STRTYP_VIDEO11172   0x01
                     74: #define PES_STRTYP_VIDEO13818   0x02
                     75: #define PES_STRTYP_AUDIO11172   0x03
                     76: #define PES_STRTYP_AUDIO13818   0x04
                     77: #define PES_STRTYP_PRIVATESEC   0x05
                     78: #define PES_STRTYP_PRIVATDATA   0x06
                     79: #define PES_STRTYP_MHEG13522    0x07
                     80: #define PES_STRTYP_DSMCC        0x08
                     81: #define PES_STRTYP_ITUH222      0x09
                     82: #define PES_STRTYP_13818TYPA    0x0A
                     83: #define PES_STRTYP_13818TYPB    0x0B
                     84: #define PES_STRTYP_13818TYPC    0x0C
                     85: #define PES_STRTYP_13818TYPD    0x0D
                     86: #define PES_STRTYP_AUXILIARY    0X0E
                     87: 
1.3       oskar      88: #define streamtype_isvideo(typ) \
                     89:   ((typ == PES_STRTYP_VIDEO11172) || \
                     90:    (typ == PES_STRTYP_VIDEO13818))
                     91: 
                     92: #define streamtype_isaudio(typ) \
                     93:   ((typ == PES_STRTYP_AUDIO11172) || \
                     94:    (typ == PES_STRTYP_AUDIO13818))
                     95: 

LinuxTV legacy CVS <linuxtv.org/cvs>