ariblib 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,283 +1,283 @@
1
- #! ruby
2
- # -*- encoding: utf-8 -*-
3
-
4
- module Ariblib
5
- class FIFO
6
- attr_accessor :buf
7
- def initialize(buf)
8
- @buf=buf
9
- end
10
- def getbyte
11
- @buf.shift
12
- end
13
- def add(buf)
14
- @buf += buf
15
- end
16
- def << (buf)
17
- @buf << buf
18
- end
19
- def clear
20
- @buf.clear
21
- end
22
- def size
23
- @buf.size * 8
24
- end
25
- def eof?
26
- @buf.size == 0
27
- end
28
- end
29
-
30
- #TSパケット
31
- class TransportStreamPacket
32
- def initialize
33
- end
34
- def set(ts)
35
- end
36
- end
37
-
38
- #TSファイル
39
- class TransportStreamFile
40
- attr_reader :payload_ap
41
- attr_reader :pid
42
- attr_reader :adaptation_field_control
43
- attr_reader :packet_start_pos
44
-
45
-
46
- attr_reader :payload
47
- attr_reader :bs
48
- attr_reader :continuity_counter
49
- attr_reader :payload_unit_start_indicator
50
- attr_reader :payload_length
51
-
52
- Default_payload={
53
- #0x0000 => ProgramAssociationTable.new,
54
- #0x0001 => ConditionalAccessTable.new,
55
- 0x0012 => EventInformationTable.new,
56
- 0x0011 => ServiceDescriptionTable.new,
57
- 0x0010 => NetworkInformationTable.new,
58
- 0x0014 => TimeOffsetTable.new,
59
- 0x0029 => CommonDataTable.new,
60
- }
61
- ReadSize=188*20
62
- def initialize(filename,payload_list=Default_payload)
63
- @file=open(filename,'rb')
64
- @bs=BitStream.new(@file.read(ReadSize))
65
- @payload=payload_list
66
- @payload.default=TransportStreamPacket.new
67
- @payload.merge!(payload_list)
68
- @payload_ap=Hash.new(0)
69
- @packet_count=0
70
- end
71
-
72
- def eof?
73
- @file.eof? && (@bs.lest <= 0)
74
- end
75
-
76
- def close
77
- @file.close
78
- end
79
-
80
- def sync
81
- while(@bs.lest>0 and (c=@bs.read(8))!=0x47) do
82
- end
83
- return false if @bs.lest<=0
84
- @bs.pos-=8
85
- true
86
- end
87
-
88
- def transport_packet
89
- if @bs.lest <= 0
90
- tmp=@file.read(ReadSize)
91
- return nil unless tmp
92
- @bs=BitStream.new(tmp)
93
- end
94
- packet_start_pos = @bs.pos
95
- sync_byte = @bs.getc
96
- return :async unless sync_byte==0x47
97
- tmp = @bs.getc
98
- tmp=(tmp<<8)| @bs.getc
99
- #transport_error_indicator = @bs.read 1 #bslbf
100
- #@payload_unit_start_indicator = @bs.read 1 #bslbf
101
- #transport_priority = @bs.read 1 #bslbf
102
- #@pid = @bs.read 13 #uimsbf
103
- transport_error_indicator = tmp & 0x8000 #1 bslbf
104
- @payload_unit_start_indicator = tmp & 0x4000 #1 bslbf
105
- transport_priority = tmp & 0x2000 #1 bslbf
106
- @pid = tmp & 0x1fff #13 uimsbf
107
- tmp = @bs.getc
108
- #transport_scrambling_control = @bs.read 2 #bslbf
109
- #@adaptation_field_control = @bs.read 2 #bslbf
110
- #@continuity_counter = @bs.read 4 #uimsbf
111
- transport_scrambling_control = tmp & 0xc0 #2 bslbf
112
- adaptation_field_control1 = tmp & 0x20 #2 bslbf
113
- adaptation_field_control2 = tmp & 0x10 #2 bslbf
114
- @continuity_counter = tmp & 0x0f #4 uimsbf
115
- if(adaptation_field_control1 !=0 )
116
- #adaptation_field()
117
- @adaptation_field_length = @bs.getc
118
- @adaptation_field_length += 1 #uimsbf
119
- @adaptation_pos=@bs.pos
120
- @bs.pos+=@adaptation_field_length
121
- end
122
- count = packet_start_pos+188*8
123
- @payload_length=((count)-@bs.pos)/8
124
- if(adaptation_field_control2 !=0 )
125
- @payload[@pid].set(self)
126
- @payload_ap[@pid]+=1
127
- end
128
- @bs.pos=count
129
- true
130
- end
131
-
132
- end
133
- end
134
-
135
- __END__
136
- #Default_payload 一覧
137
- # PID table_id
138
- #PMT*1 PATによる間接指定 0x02 +必須 1@100ms
139
- #INT*1 PMTによる間接指定 0x4c 任意 1@30s
140
-
141
- #PID table_id
142
- #0x0000 0x00 PAT +必須 1@100ms
143
- #0x0001 0x01 CAT +必須 1@1s
144
- #0x0010 0x40 NIT *必須 1@10s(自ストリーム)
145
- #0x0010 0x41 NIT *任意 1@10s(他ストリーム)
146
- #0x0011 0x42 SDT *必須 1@10s(自ストリーム)
147
- #0x0011 0x46 SDT *任意 1@10s(他ストリーム)
148
- #0x0011 0x4a BAT 任意 1@10s(他ストリーム)
149
- #0x0012 0x4e EIT *必須 1@2s(EITpf自ストリーム)
150
- #0x0012 0x4f EIT 任意 1@10s(EITpf自ストリーム)
151
- #0x0012 0x5? EIT 任意 1@10s(自ストリーム8日以内)
152
- #0x0012 0x5? EIT 任意 1@30s(自ストリーム8日以降)
153
- #0x0012 0x6? EIT 任意 1@10s(他ストリーム8日以内)
154
- #0x0012 0x6? EIT 任意 1@30s(他ストリーム8日以降)
155
- #0x0012,0x0026,0x0027 EIT
156
- #0x0013 0x71 RST 任意 任意
157
- #0x0014 0x70 TDT *必須 1@30s
158
- #0x0014 0x73 TOT *必須 1@30s
159
- #0x0022 0xc2 PCAT 任意 任意
160
- #0x0024 0xc4 BIT 任意 1@20s
161
- #0x0025 0xc5 NBIT 任意 1@20s
162
- #0x0025 0xc6 NBIT 任意 1@10s
163
- #0x002E 0xfe AMT 任意 1@10s
164
- #?????? 0x72 ST 任意 任意 (0x0000, 0x0001, 0x0014を除く)
165
-
166
- #ECM*1 PMTによる間接指定
167
- #EMM*1 CATによる間接指定
168
- #DLT*3 DCTによる間接指定
169
- #LIT*5 PMTによる間接指定*6(Default:0x20)
170
- #ERT*5 PMTによる間接指定*6(Default:0x21)
171
- #ITT PMTによる間接指定
172
- #AIT*9 PMTによる間接指定
173
- #DCM*10 PMTによる間接指定
174
- #DSM-CCセクション*4 PMTによる間接指定
175
- #DMM*10 SDTTによる間接指定
176
-
177
- #0x0017 DCT*3
178
- #0x001E DIT*2
179
- #0x001F SIT*2
180
- #0x0020 LIT*5
181
- #0x0021 ERT*5
182
- #0x0023、0x0028 SDTT
183
- #0x0025 0xc7 LDT
184
- #0x0029 CDT
185
- #0x002D 分割TLVパケット*11
186
- #0x002F 多重フレームヘッダ情報*7
187
- #0x1FFF ???? ヌルパケット*1
188
-
189
- #記述子タグ()
190
- #CAT SDT NBIT
191
- # PMT EIT LDT
192
- # NIT TOT
193
- # BAT BIT
194
- #-o-------- j 0x04 階層符号化記述子*1, 8
195
- #-o-------- j 0x05 登録記述子*8
196
- #oo-------- * 0x09 限定受信方式記述子*1
197
- #-o-------- * 0x0D 著作権記述子*1
198
- # 0x13 カルーセル識別記述子*7
199
- # 0x14 アソシエーションタグ記述子*7
200
- # 0x15 拡張アソシエーションタグ記述子*7
201
- #-o-------- j 0x1C MPEG-4 オーディオ記述子*8
202
- #-o-------- r 0x28 AVC ビデオ記述子*8
203
- #-o-------- r 0x2A AVC タイミングHRD 記述子*8
204
- #-o-------- j 0x2E MPEG-4 オーディオ拡張記述子*8
205
- #-o-------- j 0x38 HEVC ビデオ記述子*8
206
- #--o------- n 0x40* ネットワーク名記述子*2
207
- #--oo---o-- n 0x41* サービスリスト記述子*1
208
- #--oooo--oo r 0x42 スタッフ記述子
209
- #--o------- n 0x43 衛星分配システム記述子*1
210
- # 0x44 有線分配システム記述子*4
211
- #---oo----- n 0x47 ブーケ名記述子
212
- #----o----- n 0x48 サービス記述子*2
213
- #-o-oo----- r 0x49 国別受信可否記述子
214
- #-ooooo---- r 0x4A リンク記述子
215
- #----o----- j 0x4B NVOD 基準サービス記述子
216
- #----o----- j 0x4C タイムシフトサービス記述子*2
217
- #-----o---o n 0x4D 短形式イベント記述子*2
218
- #-----o---o r 0x4E 拡張形式イベント記述子
219
- #-----o---- j 0x4F タイムシフトイベント記述子*2
220
- #-o---o---- r 0x50 コンポーネント記述子
221
- #-o--o----- r 0x51 モザイク記述子
222
- #-o-------- r 0x52 ストリーム識別記述子
223
- #---ooo---- r 0x53 CA 識別記述子
224
- #-----o---- r 0x54 コンテント記述子
225
- #-o---o---- r 0x55 パレンタルレート記述子
226
- #------o--- j 0x58 ローカル時間オフセット記述子
227
- # 0x63 パーシャルトランスポートストリーム記述子*3
228
- #-o-------- r 0x66 データブロードキャスト識別記述子
229
- # 0x67 素材情報記述子
230
- #-o-------- r 0x68 通信連携情報記述子
231
- # 0x80-
232
- # 0xBF 事業者定義記述子のタグ値として選択可能な範囲
233
- #-o-------- j 0xC0 階層伝送記述子
234
- #-o--oo---- r 0xC1 デジタルコピー制御記述子
235
- # 0xC2 ネットワーク識別記述子*3
236
- # 0xC3 パーシャルトランスポートストリームタイム記述子*3
237
- #-----o---- r 0xC4 音声コンポーネント記述子
238
- #-----o-o-- r 0xC5 ハイパーリンク記述子
239
- #-o-------- r 0xC6 対象地域記述子
240
- #-----o---- r 0xC7 データコンテンツ記述子
241
- #-o-------- r 0xC8 ビデオデコードコントロール記述子
242
- # 0xC9 ダウンロードコンテンツ記述子*3
243
- # 0xCA CA_EMM_TS 記述子*5
244
- # 0xCB CA 契約情報記述子*5
245
- # 0xCC CA サービス記述子*5
246
- #--o------- r 0xCD* TS 情報記述子
247
- #-------o-- r 0xCE 拡張ブロードキャスタ記述子
248
- #----o----- r 0xCF ロゴ伝送記述子
249
- # 0xD0 基本ローカルイベント記述子
250
- # 0xD1 リファレンス記述子
251
- # 0xD2 ノード関係記述子
252
- # 0xD3 短形式ノード情報記述子
253
- # 0xD4 STC 参照記述子
254
- #-----o---- r 0xD5 シリーズ記述子
255
- #-----o---- r 0xD6 イベントグループ記述子
256
- #-------o-- r 0xD7 SI 伝送パラメータ記述子
257
- #-------o-- r 0xD8 ブロードキャスタ名記述子
258
- #-----o---- r 0xD9 コンポーネントグループ記述子
259
- #-------o-- r 0xDA SI プライムTS 記述子
260
- #--------o- r 0xDB 掲示板情報記述子
261
- #-----o---- r 0xDC LDT リンク記述子
262
- #--o------- j 0xDD 連結送信記述子
263
- #-o--oo---- r 0xDE コンテント利用記述子
264
- # 0xDF タグ値拡張用(未規定)
265
- #--o------- r 0xE0 サービスグループ記述子
266
- #--o------- j 0xE1 エリア放送情報記述子
267
- # 0xE2 ネットワークダウンロードコンテンツ記述子*3
268
- # 0xE3 ダウンロード保護記述子*9
269
- # 0xE4 CA 起動記述子*9
270
- # 0xE5-
271
- # 0xF2 未規定
272
- # 0xF3 有線複数搬送波伝送分配システム記述子*10
273
- # 0xF4 高度有線分配システム記述子*10
274
- #oo-------- j 0xF5 スクランブル方式記述子*1
275
- #oo-------- j 0xF6 アクセス制御記述子*1
276
- #-o---o---- r 0xF7 カルーセル互換複合記述子*1
277
- #oo-------- j 0xF8 限定再生方式記述子*1, *5
278
- # 0xF9 有線TS 分割システム記述子*6
279
- #--o------- n 0xFA* 地上分配システム記述子*1
280
- #--o------- j 0xFB* 部分受信記述子*1
281
- #-oo------- j 0xFC 緊急情報記述子*1
282
- #-o-------- j 0xFD データ符号化方式記述子*1
283
- #-oo------- n 0xFE* システム管理記述子*1
1
+ #! ruby
2
+ # -*- encoding: utf-8 -*-
3
+
4
+ module Ariblib
5
+ class FIFO
6
+ attr_accessor :buf
7
+ def initialize(buf)
8
+ @buf=buf
9
+ end
10
+ def getbyte
11
+ @buf.shift
12
+ end
13
+ def add(buf)
14
+ @buf += buf
15
+ end
16
+ def << (buf)
17
+ @buf << buf
18
+ end
19
+ def clear
20
+ @buf.clear
21
+ end
22
+ def size
23
+ @buf.size * 8
24
+ end
25
+ def eof?
26
+ @buf.size == 0
27
+ end
28
+ end
29
+
30
+ #TSパケット
31
+ class TransportStreamPacket
32
+ def initialize
33
+ end
34
+ def set(ts)
35
+ end
36
+ end
37
+
38
+ #TSファイル
39
+ class TransportStreamFile
40
+ attr_reader :payload_ap
41
+ attr_reader :pid
42
+ attr_reader :adaptation_field_control
43
+ attr_reader :packet_start_pos
44
+
45
+
46
+ attr_reader :payload
47
+ attr_reader :bs
48
+ attr_reader :continuity_counter
49
+ attr_reader :payload_unit_start_indicator
50
+ attr_reader :payload_length
51
+
52
+ Default_payload={
53
+ #0x0000 => ProgramAssociationTable.new,
54
+ #0x0001 => ConditionalAccessTable.new,
55
+ 0x0012 => EventInformationTable.new,
56
+ 0x0011 => ServiceDescriptionTable.new,
57
+ 0x0010 => NetworkInformationTable.new,
58
+ 0x0014 => TimeOffsetTable.new,
59
+ 0x0029 => CommonDataTable.new,
60
+ }
61
+ ReadSize=188*20
62
+ def initialize(filename,payload_list=Default_payload)
63
+ @file=open(filename,'rb')
64
+ @bs=BitStream.new(@file.read(ReadSize))
65
+ @payload=payload_list
66
+ @payload.default=TransportStreamPacket.new
67
+ @payload.merge!(payload_list)
68
+ @payload_ap=Hash.new(0)
69
+ @packet_count=0
70
+ end
71
+
72
+ def eof?
73
+ @file.eof? && (@bs.lest <= 0)
74
+ end
75
+
76
+ def close
77
+ @file.close
78
+ end
79
+
80
+ def sync
81
+ while(@bs.lest>0 and (c=@bs.read(8))!=0x47) do
82
+ end
83
+ return false if @bs.lest<=0
84
+ @bs.pos-=8
85
+ true
86
+ end
87
+
88
+ def transport_packet
89
+ if @bs.lest <= 0
90
+ tmp=@file.read(ReadSize)
91
+ return nil unless tmp
92
+ @bs=BitStream.new(tmp)
93
+ end
94
+ packet_start_pos = @bs.pos
95
+ sync_byte = @bs.getc
96
+ return :async unless sync_byte==0x47
97
+ tmp = @bs.getc
98
+ tmp=(tmp<<8)| @bs.getc
99
+ #transport_error_indicator = @bs.read 1 #bslbf
100
+ #@payload_unit_start_indicator = @bs.read 1 #bslbf
101
+ #transport_priority = @bs.read 1 #bslbf
102
+ #@pid = @bs.read 13 #uimsbf
103
+ transport_error_indicator = tmp & 0x8000 #1 bslbf
104
+ @payload_unit_start_indicator = tmp & 0x4000 #1 bslbf
105
+ transport_priority = tmp & 0x2000 #1 bslbf
106
+ @pid = tmp & 0x1fff #13 uimsbf
107
+ tmp = @bs.getc
108
+ #transport_scrambling_control = @bs.read 2 #bslbf
109
+ #@adaptation_field_control = @bs.read 2 #bslbf
110
+ #@continuity_counter = @bs.read 4 #uimsbf
111
+ transport_scrambling_control = tmp & 0xc0 #2 bslbf
112
+ adaptation_field_control1 = tmp & 0x20 #2 bslbf
113
+ adaptation_field_control2 = tmp & 0x10 #2 bslbf
114
+ @continuity_counter = tmp & 0x0f #4 uimsbf
115
+ if(adaptation_field_control1 !=0 )
116
+ #adaptation_field()
117
+ @adaptation_field_length = @bs.getc
118
+ @adaptation_field_length += 1 #uimsbf
119
+ @adaptation_pos=@bs.pos
120
+ @bs.pos+=@adaptation_field_length
121
+ end
122
+ count = packet_start_pos+188*8
123
+ @payload_length=((count)-@bs.pos)/8
124
+ if(adaptation_field_control2 !=0 )
125
+ @payload[@pid].set(self)
126
+ @payload_ap[@pid]+=1
127
+ end
128
+ @bs.pos=count
129
+ true
130
+ end
131
+
132
+ end
133
+ end
134
+
135
+ __END__
136
+ #Default_payload 一覧
137
+ # PID table_id
138
+ #PMT*1 PATによる間接指定 0x02 +必須 1@100ms
139
+ #INT*1 PMTによる間接指定 0x4c 任意 1@30s
140
+
141
+ #PID table_id
142
+ #0x0000 0x00 PAT +必須 1@100ms
143
+ #0x0001 0x01 CAT +必須 1@1s
144
+ #0x0010 0x40 NIT *必須 1@10s(自ストリーム)
145
+ #0x0010 0x41 NIT *任意 1@10s(他ストリーム)
146
+ #0x0011 0x42 SDT *必須 1@10s(自ストリーム)
147
+ #0x0011 0x46 SDT *任意 1@10s(他ストリーム)
148
+ #0x0011 0x4a BAT 任意 1@10s(他ストリーム)
149
+ #0x0012 0x4e EIT *必須 1@2s(EITpf自ストリーム)
150
+ #0x0012 0x4f EIT 任意 1@10s(EITpf自ストリーム)
151
+ #0x0012 0x5? EIT 任意 1@10s(自ストリーム8日以内)
152
+ #0x0012 0x5? EIT 任意 1@30s(自ストリーム8日以降)
153
+ #0x0012 0x6? EIT 任意 1@10s(他ストリーム8日以内)
154
+ #0x0012 0x6? EIT 任意 1@30s(他ストリーム8日以降)
155
+ #0x0012,0x0026,0x0027 EIT
156
+ #0x0013 0x71 RST 任意 任意
157
+ #0x0014 0x70 TDT *必須 1@30s
158
+ #0x0014 0x73 TOT *必須 1@30s
159
+ #0x0022 0xc2 PCAT 任意 任意
160
+ #0x0024 0xc4 BIT 任意 1@20s
161
+ #0x0025 0xc5 NBIT 任意 1@20s
162
+ #0x0025 0xc6 NBIT 任意 1@10s
163
+ #0x002E 0xfe AMT 任意 1@10s
164
+ #?????? 0x72 ST 任意 任意 (0x0000, 0x0001, 0x0014を除く)
165
+
166
+ #ECM*1 PMTによる間接指定
167
+ #EMM*1 CATによる間接指定
168
+ #DLT*3 DCTによる間接指定
169
+ #LIT*5 PMTによる間接指定*6(Default:0x20)
170
+ #ERT*5 PMTによる間接指定*6(Default:0x21)
171
+ #ITT PMTによる間接指定
172
+ #AIT*9 PMTによる間接指定
173
+ #DCM*10 PMTによる間接指定
174
+ #DSM-CCセクション*4 PMTによる間接指定
175
+ #DMM*10 SDTTによる間接指定
176
+
177
+ #0x0017 DCT*3
178
+ #0x001E DIT*2
179
+ #0x001F SIT*2
180
+ #0x0020 LIT*5
181
+ #0x0021 ERT*5
182
+ #0x0023、0x0028 SDTT
183
+ #0x0025 0xc7 LDT
184
+ #0x0029 CDT
185
+ #0x002D 分割TLVパケット*11
186
+ #0x002F 多重フレームヘッダ情報*7
187
+ #0x1FFF ???? ヌルパケット*1
188
+
189
+ #記述子タグ()
190
+ #CAT SDT NBIT
191
+ # PMT EIT LDT
192
+ # NIT TOT
193
+ # BAT BIT
194
+ #-o-------- j 0x04 階層符号化記述子*1, 8
195
+ #-o-------- j 0x05 登録記述子*8
196
+ #oo-------- * 0x09 限定受信方式記述子*1
197
+ #-o-------- * 0x0D 著作権記述子*1
198
+ # 0x13 カルーセル識別記述子*7
199
+ # 0x14 アソシエーションタグ記述子*7
200
+ # 0x15 拡張アソシエーションタグ記述子*7
201
+ #-o-------- j 0x1C MPEG-4 オーディオ記述子*8
202
+ #-o-------- r 0x28 AVC ビデオ記述子*8
203
+ #-o-------- r 0x2A AVC タイミングHRD 記述子*8
204
+ #-o-------- j 0x2E MPEG-4 オーディオ拡張記述子*8
205
+ #-o-------- j 0x38 HEVC ビデオ記述子*8
206
+ #--o------- n 0x40* ネットワーク名記述子*2
207
+ #--oo---o-- n 0x41* サービスリスト記述子*1
208
+ #--oooo--oo r 0x42 スタッフ記述子
209
+ #--o------- n 0x43 衛星分配システム記述子*1
210
+ # 0x44 有線分配システム記述子*4
211
+ #---oo----- n 0x47 ブーケ名記述子
212
+ #----o----- n 0x48 サービス記述子*2
213
+ #-o-oo----- r 0x49 国別受信可否記述子
214
+ #-ooooo---- r 0x4A リンク記述子
215
+ #----o----- j 0x4B NVOD 基準サービス記述子
216
+ #----o----- j 0x4C タイムシフトサービス記述子*2
217
+ #-----o---o n 0x4D 短形式イベント記述子*2
218
+ #-----o---o r 0x4E 拡張形式イベント記述子
219
+ #-----o---- j 0x4F タイムシフトイベント記述子*2
220
+ #-o---o---- r 0x50 コンポーネント記述子
221
+ #-o--o----- r 0x51 モザイク記述子
222
+ #-o-------- r 0x52 ストリーム識別記述子
223
+ #---ooo---- r 0x53 CA 識別記述子
224
+ #-----o---- r 0x54 コンテント記述子
225
+ #-o---o---- r 0x55 パレンタルレート記述子
226
+ #------o--- j 0x58 ローカル時間オフセット記述子
227
+ # 0x63 パーシャルトランスポートストリーム記述子*3
228
+ #-o-------- r 0x66 データブロードキャスト識別記述子
229
+ # 0x67 素材情報記述子
230
+ #-o-------- r 0x68 通信連携情報記述子
231
+ # 0x80-
232
+ # 0xBF 事業者定義記述子のタグ値として選択可能な範囲
233
+ #-o-------- j 0xC0 階層伝送記述子
234
+ #-o--oo---- r 0xC1 デジタルコピー制御記述子
235
+ # 0xC2 ネットワーク識別記述子*3
236
+ # 0xC3 パーシャルトランスポートストリームタイム記述子*3
237
+ #-----o---- r 0xC4 音声コンポーネント記述子
238
+ #-----o-o-- r 0xC5 ハイパーリンク記述子
239
+ #-o-------- r 0xC6 対象地域記述子
240
+ #-----o---- r 0xC7 データコンテンツ記述子
241
+ #-o-------- r 0xC8 ビデオデコードコントロール記述子
242
+ # 0xC9 ダウンロードコンテンツ記述子*3
243
+ # 0xCA CA_EMM_TS 記述子*5
244
+ # 0xCB CA 契約情報記述子*5
245
+ # 0xCC CA サービス記述子*5
246
+ #--o------- r 0xCD* TS 情報記述子
247
+ #-------o-- r 0xCE 拡張ブロードキャスタ記述子
248
+ #----o----- r 0xCF ロゴ伝送記述子
249
+ # 0xD0 基本ローカルイベント記述子
250
+ # 0xD1 リファレンス記述子
251
+ # 0xD2 ノード関係記述子
252
+ # 0xD3 短形式ノード情報記述子
253
+ # 0xD4 STC 参照記述子
254
+ #-----o---- r 0xD5 シリーズ記述子
255
+ #-----o---- r 0xD6 イベントグループ記述子
256
+ #-------o-- r 0xD7 SI 伝送パラメータ記述子
257
+ #-------o-- r 0xD8 ブロードキャスタ名記述子
258
+ #-----o---- r 0xD9 コンポーネントグループ記述子
259
+ #-------o-- r 0xDA SI プライムTS 記述子
260
+ #--------o- r 0xDB 掲示板情報記述子
261
+ #-----o---- r 0xDC LDT リンク記述子
262
+ #--o------- j 0xDD 連結送信記述子
263
+ #-o--oo---- r 0xDE コンテント利用記述子
264
+ # 0xDF タグ値拡張用(未規定)
265
+ #--o------- r 0xE0 サービスグループ記述子
266
+ #--o------- j 0xE1 エリア放送情報記述子
267
+ # 0xE2 ネットワークダウンロードコンテンツ記述子*3
268
+ # 0xE3 ダウンロード保護記述子*9
269
+ # 0xE4 CA 起動記述子*9
270
+ # 0xE5-
271
+ # 0xF2 未規定
272
+ # 0xF3 有線複数搬送波伝送分配システム記述子*10
273
+ # 0xF4 高度有線分配システム記述子*10
274
+ #oo-------- j 0xF5 スクランブル方式記述子*1
275
+ #oo-------- j 0xF6 アクセス制御記述子*1
276
+ #-o---o---- r 0xF7 カルーセル互換複合記述子*1
277
+ #oo-------- j 0xF8 限定再生方式記述子*1, *5
278
+ # 0xF9 有線TS 分割システム記述子*6
279
+ #--o------- n 0xFA* 地上分配システム記述子*1
280
+ #--o------- j 0xFB* 部分受信記述子*1
281
+ #-oo------- j 0xFC 緊急情報記述子*1
282
+ #-o-------- j 0xFD データ符号化方式記述子*1
283
+ #-oo------- n 0xFE* システム管理記述子*1