Annotation of multiplexer/pes.h, revision 1.6
1.1 oskar 1: /*
2: * ISO 13818 stream multiplexer
3: * Copyright (C) 2001 Convergence Integrated Media GmbH Berlin
1.5 oskar 4: * Author: Oskar Schirmer (oskar@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>