Mercurial > libavformat.hg
annotate asf.h @ 6275:287072e5227b libavformat
Add MD5 protocol
This is a write-only protocol which computes the md5sum of data written,
and on close writes this to the designated output or stdout if none
is specified. It can be used to test muxers without writing an actual
file.
author | mru |
---|---|
date | Sun, 18 Jul 2010 20:19:08 +0000 |
parents | 2c0f0162a110 |
children | e4d729e25e97 |
rev | line source |
---|---|
0 | 1 /* |
4251
77e0c7511d41
cosmetics: Remove pointless period after copyright statement non-sentences.
diego
parents:
4121
diff
changeset
|
2 * Copyright (c) 2000, 2001 Fabrice Bellard |
0 | 3 * |
1358
0899bfe4105c
Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents:
1266
diff
changeset
|
4 * This file is part of FFmpeg. |
0899bfe4105c
Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents:
1266
diff
changeset
|
5 * |
0899bfe4105c
Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents:
1266
diff
changeset
|
6 * FFmpeg is free software; you can redistribute it and/or |
0 | 7 * modify it under the terms of the GNU Lesser General Public |
8 * License as published by the Free Software Foundation; either | |
1358
0899bfe4105c
Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents:
1266
diff
changeset
|
9 * version 2.1 of the License, or (at your option) any later version. |
0 | 10 * |
1358
0899bfe4105c
Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents:
1266
diff
changeset
|
11 * FFmpeg is distributed in the hope that it will be useful, |
0 | 12 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
14 * Lesser General Public License for more details. | |
15 * | |
16 * You should have received a copy of the GNU Lesser General Public | |
1358
0899bfe4105c
Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents:
1266
diff
changeset
|
17 * License along with FFmpeg; if not, write to the Free Software |
896
edbe5c3717f9
Update licensing information: The FSF changed postal address.
diego
parents:
887
diff
changeset
|
18 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA |
0 | 19 */ |
2171 | 20 |
3852 | 21 #ifndef AVFORMAT_ASF_H |
22 #define AVFORMAT_ASF_H | |
2172 | 23 |
2171 | 24 #include <stdint.h> |
25 #include "avformat.h" | |
4618
5b9eddbee9c4
Add some basic metadata conversion tables for matroska and asf.
aurel
parents:
4593
diff
changeset
|
26 #include "metadata.h" |
2171 | 27 |
0 | 28 #define PACKET_SIZE 3200 |
29 | |
30 typedef struct { | |
31 int num; | |
373
e47d9c8e2054
asf patch by (Konstantin Andreyev <kandreyev at bcsii dot com>)
michael
parents:
372
diff
changeset
|
32 unsigned char seq; |
0 | 33 /* use for reading */ |
34 AVPacket pkt; | |
35 int frag_offset; | |
36 int timestamp; | |
65 | 37 int64_t duration; |
0 | 38 |
887 | 39 int ds_span; /* descrambling */ |
0 | 40 int ds_packet_size; |
41 int ds_chunk_size; | |
885 | 42 |
1206
e60bf67d9bf8
The reader ignores the size of the ASF data object and keeps on
gpoirier
parents:
904
diff
changeset
|
43 int64_t packet_pos; |
0 | 44 |
4924 | 45 uint16_t stream_language_index; |
46 | |
0 | 47 } ASFStream; |
48 | |
4748
86dd0cab30d3
Rename GUID typedef to ff_asf_guid to fix MinGW compilation failure
reimar
parents:
4618
diff
changeset
|
49 typedef uint8_t ff_asf_guid[16]; |
0 | 50 |
188
6c9d6422a2f6
update duration and start_time - add av_new_stream() usage
bellard
parents:
136
diff
changeset
|
51 typedef struct { |
4748
86dd0cab30d3
Rename GUID typedef to ff_asf_guid to fix MinGW compilation failure
reimar
parents:
4618
diff
changeset
|
52 ff_asf_guid guid; ///< generated by client computer |
1705 | 53 uint64_t file_size; /**< in bytes |
54 * invalid if broadcasting */ | |
55 uint64_t create_time; /**< time of creation, in 100-nanosecond units since 1.1.1601 | |
56 * invalid if broadcasting */ | |
57 uint64_t play_time; /**< play time, in 100-nanosecond units | |
58 * invalid if broadcasting */ | |
59 uint64_t send_time; /**< time to send file, in 100-nanosecond units | |
60 * invalid if broadcasting (could be ignored) */ | |
61 uint32_t preroll; /**< timestamp of the first packet, in milliseconds | |
2789 | 62 * if nonzero - subtract from time */ |
1705 | 63 uint32_t ignore; ///< preroll is 64bit - but let's just ignore it |
64 uint32_t flags; /**< 0x01 - broadcast | |
65 * 0x02 - seekable | |
66 * rest is reserved should be 0 */ | |
67 uint32_t min_pktsize; /**< size of a data packet | |
68 * invalid if broadcasting */ | |
69 uint32_t max_pktsize; /**< shall be the same as for min_pktsize | |
70 * invalid if broadcasting */ | |
4927 | 71 uint32_t max_bitrate; /**< bandwidth of stream in bps |
1705 | 72 * should be the sum of bitrates of the |
73 * individual media streams */ | |
0 | 74 } ASFMainHeader; |
75 | |
76 | |
77 typedef struct { | |
716
55081ada3aad
31_ASF_compatibility_with_WMP_and_add_index.patch by (Calcium | calcium nurs or jp)
michael
parents:
373
diff
changeset
|
78 uint32_t packet_number; |
55081ada3aad
31_ASF_compatibility_with_WMP_and_add_index.patch by (Calcium | calcium nurs or jp)
michael
parents:
373
diff
changeset
|
79 uint16_t packet_count; |
55081ada3aad
31_ASF_compatibility_with_WMP_and_add_index.patch by (Calcium | calcium nurs or jp)
michael
parents:
373
diff
changeset
|
80 } ASFIndex; |
55081ada3aad
31_ASF_compatibility_with_WMP_and_add_index.patch by (Calcium | calcium nurs or jp)
michael
parents:
373
diff
changeset
|
81 |
55081ada3aad
31_ASF_compatibility_with_WMP_and_add_index.patch by (Calcium | calcium nurs or jp)
michael
parents:
373
diff
changeset
|
82 |
55081ada3aad
31_ASF_compatibility_with_WMP_and_add_index.patch by (Calcium | calcium nurs or jp)
michael
parents:
373
diff
changeset
|
83 typedef struct { |
373
e47d9c8e2054
asf patch by (Konstantin Andreyev <kandreyev at bcsii dot com>)
michael
parents:
372
diff
changeset
|
84 uint32_t seqno; |
0 | 85 int is_streamed; |
1705 | 86 int asfid2avid[128]; ///< conversion table from asf ID 2 AVStream ID |
87 ASFStream streams[128]; ///< it's max number and it's not that big | |
1806
bf6a0dd6d7be
Add the stream_bitrate GUID to the asf parsing code, and set stream bitrate
takis
parents:
1776
diff
changeset
|
88 uint32_t stream_bitrates[128]; ///< max number of streams, bitrate for each (for streaming) |
4924 | 89 char stream_languages[128][6]; ///< max number of streams, language for each (RFC1766, e.g. en-US) |
0 | 90 /* non streamed additonnal info */ |
1701 | 91 uint64_t nb_packets; ///< how many packets are there in the file, invalid if broadcasting |
1705 | 92 int64_t duration; ///< in 100ns units |
0 | 93 /* packet filling */ |
373
e47d9c8e2054
asf patch by (Konstantin Andreyev <kandreyev at bcsii dot com>)
michael
parents:
372
diff
changeset
|
94 unsigned char multi_payloads_present; |
0 | 95 int packet_size_left; |
96 int packet_timestamp_start; | |
97 int packet_timestamp_end; | |
373
e47d9c8e2054
asf patch by (Konstantin Andreyev <kandreyev at bcsii dot com>)
michael
parents:
372
diff
changeset
|
98 unsigned int packet_nb_payloads; |
0 | 99 int packet_nb_frames; |
65 | 100 uint8_t packet_buf[PACKET_SIZE]; |
0 | 101 ByteIOContext pb; |
102 /* only for reading */ | |
2856 | 103 uint64_t data_offset; ///< beginning of the first data packet |
1705 | 104 uint64_t data_object_offset; ///< data object offset (excl. GUID & size) |
105 uint64_t data_object_size; ///< size of the data object | |
1266 | 106 int index_read; |
0 | 107 |
108 ASFMainHeader hdr; | |
109 | |
110 int packet_flags; | |
111 int packet_property; | |
112 int packet_timestamp; | |
113 int packet_segsizetype; | |
114 int packet_segments; | |
115 int packet_seq; | |
116 int packet_replic_size; | |
117 int packet_key_frame; | |
118 int packet_padsize; | |
1709 | 119 unsigned int packet_frag_offset; |
120 unsigned int packet_frag_size; | |
1776 | 121 int64_t packet_frag_timestamp; |
0 | 122 int packet_multi_size; |
123 int packet_obj_size; | |
124 int packet_time_delta; | |
125 int packet_time_start; | |
1206
e60bf67d9bf8
The reader ignores the size of the ASF data object and keeps on
gpoirier
parents:
904
diff
changeset
|
126 int64_t packet_pos; |
0 | 127 |
128 int stream_index; | |
716
55081ada3aad
31_ASF_compatibility_with_WMP_and_add_index.patch by (Calcium | calcium nurs or jp)
michael
parents:
373
diff
changeset
|
129 |
55081ada3aad
31_ASF_compatibility_with_WMP_and_add_index.patch by (Calcium | calcium nurs or jp)
michael
parents:
373
diff
changeset
|
130 |
55081ada3aad
31_ASF_compatibility_with_WMP_and_add_index.patch by (Calcium | calcium nurs or jp)
michael
parents:
373
diff
changeset
|
131 int64_t last_indexed_pts; |
55081ada3aad
31_ASF_compatibility_with_WMP_and_add_index.patch by (Calcium | calcium nurs or jp)
michael
parents:
373
diff
changeset
|
132 ASFIndex* index_ptr; |
55081ada3aad
31_ASF_compatibility_with_WMP_and_add_index.patch by (Calcium | calcium nurs or jp)
michael
parents:
373
diff
changeset
|
133 uint32_t nb_index_count; |
55081ada3aad
31_ASF_compatibility_with_WMP_and_add_index.patch by (Calcium | calcium nurs or jp)
michael
parents:
373
diff
changeset
|
134 uint32_t nb_index_memory_alloc; |
55081ada3aad
31_ASF_compatibility_with_WMP_and_add_index.patch by (Calcium | calcium nurs or jp)
michael
parents:
373
diff
changeset
|
135 uint16_t maximum_packet; |
55081ada3aad
31_ASF_compatibility_with_WMP_and_add_index.patch by (Calcium | calcium nurs or jp)
michael
parents:
373
diff
changeset
|
136 |
1705 | 137 ASFStream* asf_st; ///< currently decoded stream |
0 | 138 } ASFContext; |
139 | |
4748
86dd0cab30d3
Rename GUID typedef to ff_asf_guid to fix MinGW compilation failure
reimar
parents:
4618
diff
changeset
|
140 extern const ff_asf_guid ff_asf_header; |
86dd0cab30d3
Rename GUID typedef to ff_asf_guid to fix MinGW compilation failure
reimar
parents:
4618
diff
changeset
|
141 extern const ff_asf_guid ff_asf_file_header; |
86dd0cab30d3
Rename GUID typedef to ff_asf_guid to fix MinGW compilation failure
reimar
parents:
4618
diff
changeset
|
142 extern const ff_asf_guid ff_asf_stream_header; |
86dd0cab30d3
Rename GUID typedef to ff_asf_guid to fix MinGW compilation failure
reimar
parents:
4618
diff
changeset
|
143 extern const ff_asf_guid ff_asf_ext_stream_header; |
86dd0cab30d3
Rename GUID typedef to ff_asf_guid to fix MinGW compilation failure
reimar
parents:
4618
diff
changeset
|
144 extern const ff_asf_guid ff_asf_audio_stream; |
86dd0cab30d3
Rename GUID typedef to ff_asf_guid to fix MinGW compilation failure
reimar
parents:
4618
diff
changeset
|
145 extern const ff_asf_guid ff_asf_audio_conceal_none; |
86dd0cab30d3
Rename GUID typedef to ff_asf_guid to fix MinGW compilation failure
reimar
parents:
4618
diff
changeset
|
146 extern const ff_asf_guid ff_asf_audio_conceal_spread; |
86dd0cab30d3
Rename GUID typedef to ff_asf_guid to fix MinGW compilation failure
reimar
parents:
4618
diff
changeset
|
147 extern const ff_asf_guid ff_asf_video_stream; |
86dd0cab30d3
Rename GUID typedef to ff_asf_guid to fix MinGW compilation failure
reimar
parents:
4618
diff
changeset
|
148 extern const ff_asf_guid ff_asf_video_conceal_none; |
86dd0cab30d3
Rename GUID typedef to ff_asf_guid to fix MinGW compilation failure
reimar
parents:
4618
diff
changeset
|
149 extern const ff_asf_guid ff_asf_command_stream; |
86dd0cab30d3
Rename GUID typedef to ff_asf_guid to fix MinGW compilation failure
reimar
parents:
4618
diff
changeset
|
150 extern const ff_asf_guid ff_asf_comment_header; |
86dd0cab30d3
Rename GUID typedef to ff_asf_guid to fix MinGW compilation failure
reimar
parents:
4618
diff
changeset
|
151 extern const ff_asf_guid ff_asf_codec_comment_header; |
86dd0cab30d3
Rename GUID typedef to ff_asf_guid to fix MinGW compilation failure
reimar
parents:
4618
diff
changeset
|
152 extern const ff_asf_guid ff_asf_codec_comment1_header; |
86dd0cab30d3
Rename GUID typedef to ff_asf_guid to fix MinGW compilation failure
reimar
parents:
4618
diff
changeset
|
153 extern const ff_asf_guid ff_asf_data_header; |
86dd0cab30d3
Rename GUID typedef to ff_asf_guid to fix MinGW compilation failure
reimar
parents:
4618
diff
changeset
|
154 extern const ff_asf_guid ff_asf_head1_guid; |
86dd0cab30d3
Rename GUID typedef to ff_asf_guid to fix MinGW compilation failure
reimar
parents:
4618
diff
changeset
|
155 extern const ff_asf_guid ff_asf_head2_guid; |
86dd0cab30d3
Rename GUID typedef to ff_asf_guid to fix MinGW compilation failure
reimar
parents:
4618
diff
changeset
|
156 extern const ff_asf_guid ff_asf_extended_content_header; |
86dd0cab30d3
Rename GUID typedef to ff_asf_guid to fix MinGW compilation failure
reimar
parents:
4618
diff
changeset
|
157 extern const ff_asf_guid ff_asf_simple_index_header; |
86dd0cab30d3
Rename GUID typedef to ff_asf_guid to fix MinGW compilation failure
reimar
parents:
4618
diff
changeset
|
158 extern const ff_asf_guid ff_asf_ext_stream_embed_stream_header; |
86dd0cab30d3
Rename GUID typedef to ff_asf_guid to fix MinGW compilation failure
reimar
parents:
4618
diff
changeset
|
159 extern const ff_asf_guid ff_asf_ext_stream_audio_stream; |
86dd0cab30d3
Rename GUID typedef to ff_asf_guid to fix MinGW compilation failure
reimar
parents:
4618
diff
changeset
|
160 extern const ff_asf_guid ff_asf_metadata_header; |
5778
e3ec6991698b
Use ASF supports "markers" which are a name and a time stamp to create
benoit
parents:
5273
diff
changeset
|
161 extern const ff_asf_guid ff_asf_marker_header; |
4748
86dd0cab30d3
Rename GUID typedef to ff_asf_guid to fix MinGW compilation failure
reimar
parents:
4618
diff
changeset
|
162 extern const ff_asf_guid ff_asf_my_guid; |
4924 | 163 extern const ff_asf_guid ff_asf_language_guid; |
5273
f292b3e34823
Detect Windows Media DRM protected files and display warning if no key
cehoyos
parents:
5067
diff
changeset
|
164 extern const ff_asf_guid ff_asf_content_encryption; |
f292b3e34823
Detect Windows Media DRM protected files and display warning if no key
cehoyos
parents:
5067
diff
changeset
|
165 extern const ff_asf_guid ff_asf_ext_content_encryption; |
f292b3e34823
Detect Windows Media DRM protected files and display warning if no key
cehoyos
parents:
5067
diff
changeset
|
166 extern const ff_asf_guid ff_asf_digital_signature; |
373
e47d9c8e2054
asf patch by (Konstantin Andreyev <kandreyev at bcsii dot com>)
michael
parents:
372
diff
changeset
|
167 |
4618
5b9eddbee9c4
Add some basic metadata conversion tables for matroska and asf.
aurel
parents:
4593
diff
changeset
|
168 extern const AVMetadataConv ff_asf_metadata_conv[]; |
5b9eddbee9c4
Add some basic metadata conversion tables for matroska and asf.
aurel
parents:
4593
diff
changeset
|
169 |
373
e47d9c8e2054
asf patch by (Konstantin Andreyev <kandreyev at bcsii dot com>)
michael
parents:
372
diff
changeset
|
170 #define ASF_PACKET_FLAG_ERROR_CORRECTION_PRESENT 0x80 //1000 0000 |
e47d9c8e2054
asf patch by (Konstantin Andreyev <kandreyev at bcsii dot com>)
michael
parents:
372
diff
changeset
|
171 |
e47d9c8e2054
asf patch by (Konstantin Andreyev <kandreyev at bcsii dot com>)
michael
parents:
372
diff
changeset
|
172 |
e47d9c8e2054
asf patch by (Konstantin Andreyev <kandreyev at bcsii dot com>)
michael
parents:
372
diff
changeset
|
173 // ASF data packet structure |
e47d9c8e2054
asf patch by (Konstantin Andreyev <kandreyev at bcsii dot com>)
michael
parents:
372
diff
changeset
|
174 // ========================= |
e47d9c8e2054
asf patch by (Konstantin Andreyev <kandreyev at bcsii dot com>)
michael
parents:
372
diff
changeset
|
175 // |
e47d9c8e2054
asf patch by (Konstantin Andreyev <kandreyev at bcsii dot com>)
michael
parents:
372
diff
changeset
|
176 // |
e47d9c8e2054
asf patch by (Konstantin Andreyev <kandreyev at bcsii dot com>)
michael
parents:
372
diff
changeset
|
177 // ----------------------------------- |
e47d9c8e2054
asf patch by (Konstantin Andreyev <kandreyev at bcsii dot com>)
michael
parents:
372
diff
changeset
|
178 // | Error Correction Data | Optional |
e47d9c8e2054
asf patch by (Konstantin Andreyev <kandreyev at bcsii dot com>)
michael
parents:
372
diff
changeset
|
179 // ----------------------------------- |
e47d9c8e2054
asf patch by (Konstantin Andreyev <kandreyev at bcsii dot com>)
michael
parents:
372
diff
changeset
|
180 // | Payload Parsing Information (PPI) | |
e47d9c8e2054
asf patch by (Konstantin Andreyev <kandreyev at bcsii dot com>)
michael
parents:
372
diff
changeset
|
181 // ----------------------------------- |
e47d9c8e2054
asf patch by (Konstantin Andreyev <kandreyev at bcsii dot com>)
michael
parents:
372
diff
changeset
|
182 // | Payload Data | |
e47d9c8e2054
asf patch by (Konstantin Andreyev <kandreyev at bcsii dot com>)
michael
parents:
372
diff
changeset
|
183 // ----------------------------------- |
e47d9c8e2054
asf patch by (Konstantin Andreyev <kandreyev at bcsii dot com>)
michael
parents:
372
diff
changeset
|
184 // | Padding Data | |
e47d9c8e2054
asf patch by (Konstantin Andreyev <kandreyev at bcsii dot com>)
michael
parents:
372
diff
changeset
|
185 // ----------------------------------- |
e47d9c8e2054
asf patch by (Konstantin Andreyev <kandreyev at bcsii dot com>)
michael
parents:
372
diff
changeset
|
186 |
e47d9c8e2054
asf patch by (Konstantin Andreyev <kandreyev at bcsii dot com>)
michael
parents:
372
diff
changeset
|
187 |
e47d9c8e2054
asf patch by (Konstantin Andreyev <kandreyev at bcsii dot com>)
michael
parents:
372
diff
changeset
|
188 // PPI_FLAG - Payload parsing information flags |
e47d9c8e2054
asf patch by (Konstantin Andreyev <kandreyev at bcsii dot com>)
michael
parents:
372
diff
changeset
|
189 #define ASF_PPI_FLAG_MULTIPLE_PAYLOADS_PRESENT 1 |
e47d9c8e2054
asf patch by (Konstantin Andreyev <kandreyev at bcsii dot com>)
michael
parents:
372
diff
changeset
|
190 |
e47d9c8e2054
asf patch by (Konstantin Andreyev <kandreyev at bcsii dot com>)
michael
parents:
372
diff
changeset
|
191 #define ASF_PPI_FLAG_SEQUENCE_FIELD_IS_BYTE 0x02 //0000 0010 |
e47d9c8e2054
asf patch by (Konstantin Andreyev <kandreyev at bcsii dot com>)
michael
parents:
372
diff
changeset
|
192 #define ASF_PPI_FLAG_SEQUENCE_FIELD_IS_WORD 0x04 //0000 0100 |
e47d9c8e2054
asf patch by (Konstantin Andreyev <kandreyev at bcsii dot com>)
michael
parents:
372
diff
changeset
|
193 #define ASF_PPI_FLAG_SEQUENCE_FIELD_IS_DWORD 0x06 //0000 0110 |
e47d9c8e2054
asf patch by (Konstantin Andreyev <kandreyev at bcsii dot com>)
michael
parents:
372
diff
changeset
|
194 #define ASF_PPI_MASK_SEQUENCE_FIELD_SIZE 0x06 //0000 0110 |
e47d9c8e2054
asf patch by (Konstantin Andreyev <kandreyev at bcsii dot com>)
michael
parents:
372
diff
changeset
|
195 |
e47d9c8e2054
asf patch by (Konstantin Andreyev <kandreyev at bcsii dot com>)
michael
parents:
372
diff
changeset
|
196 #define ASF_PPI_FLAG_PADDING_LENGTH_FIELD_IS_BYTE 0x08 //0000 1000 |
e47d9c8e2054
asf patch by (Konstantin Andreyev <kandreyev at bcsii dot com>)
michael
parents:
372
diff
changeset
|
197 #define ASF_PPI_FLAG_PADDING_LENGTH_FIELD_IS_WORD 0x10 //0001 0000 |
e47d9c8e2054
asf patch by (Konstantin Andreyev <kandreyev at bcsii dot com>)
michael
parents:
372
diff
changeset
|
198 #define ASF_PPI_FLAG_PADDING_LENGTH_FIELD_IS_DWORD 0x18 //0001 1000 |
e47d9c8e2054
asf patch by (Konstantin Andreyev <kandreyev at bcsii dot com>)
michael
parents:
372
diff
changeset
|
199 #define ASF_PPI_MASK_PADDING_LENGTH_FIELD_SIZE 0x18 //0001 1000 |
e47d9c8e2054
asf patch by (Konstantin Andreyev <kandreyev at bcsii dot com>)
michael
parents:
372
diff
changeset
|
200 |
e47d9c8e2054
asf patch by (Konstantin Andreyev <kandreyev at bcsii dot com>)
michael
parents:
372
diff
changeset
|
201 #define ASF_PPI_FLAG_PACKET_LENGTH_FIELD_IS_BYTE 0x20 //0010 0000 |
e47d9c8e2054
asf patch by (Konstantin Andreyev <kandreyev at bcsii dot com>)
michael
parents:
372
diff
changeset
|
202 #define ASF_PPI_FLAG_PACKET_LENGTH_FIELD_IS_WORD 0x40 //0100 0000 |
e47d9c8e2054
asf patch by (Konstantin Andreyev <kandreyev at bcsii dot com>)
michael
parents:
372
diff
changeset
|
203 #define ASF_PPI_FLAG_PACKET_LENGTH_FIELD_IS_DWORD 0x60 //0110 0000 |
e47d9c8e2054
asf patch by (Konstantin Andreyev <kandreyev at bcsii dot com>)
michael
parents:
372
diff
changeset
|
204 #define ASF_PPI_MASK_PACKET_LENGTH_FIELD_SIZE 0x60 //0110 0000 |
e47d9c8e2054
asf patch by (Konstantin Andreyev <kandreyev at bcsii dot com>)
michael
parents:
372
diff
changeset
|
205 |
e47d9c8e2054
asf patch by (Konstantin Andreyev <kandreyev at bcsii dot com>)
michael
parents:
372
diff
changeset
|
206 // PL_FLAG - Payload flags |
e47d9c8e2054
asf patch by (Konstantin Andreyev <kandreyev at bcsii dot com>)
michael
parents:
372
diff
changeset
|
207 #define ASF_PL_FLAG_REPLICATED_DATA_LENGTH_FIELD_IS_BYTE 0x01 //0000 0001 |
e47d9c8e2054
asf patch by (Konstantin Andreyev <kandreyev at bcsii dot com>)
michael
parents:
372
diff
changeset
|
208 #define ASF_PL_FLAG_REPLICATED_DATA_LENGTH_FIELD_IS_WORD 0x02 //0000 0010 |
e47d9c8e2054
asf patch by (Konstantin Andreyev <kandreyev at bcsii dot com>)
michael
parents:
372
diff
changeset
|
209 #define ASF_PL_FLAG_REPLICATED_DATA_LENGTH_FIELD_IS_DWORD 0x03 //0000 0011 |
e47d9c8e2054
asf patch by (Konstantin Andreyev <kandreyev at bcsii dot com>)
michael
parents:
372
diff
changeset
|
210 #define ASF_PL_MASK_REPLICATED_DATA_LENGTH_FIELD_SIZE 0x03 //0000 0011 |
e47d9c8e2054
asf patch by (Konstantin Andreyev <kandreyev at bcsii dot com>)
michael
parents:
372
diff
changeset
|
211 |
e47d9c8e2054
asf patch by (Konstantin Andreyev <kandreyev at bcsii dot com>)
michael
parents:
372
diff
changeset
|
212 #define ASF_PL_FLAG_OFFSET_INTO_MEDIA_OBJECT_LENGTH_FIELD_IS_BYTE 0x04 //0000 0100 |
e47d9c8e2054
asf patch by (Konstantin Andreyev <kandreyev at bcsii dot com>)
michael
parents:
372
diff
changeset
|
213 #define ASF_PL_FLAG_OFFSET_INTO_MEDIA_OBJECT_LENGTH_FIELD_IS_WORD 0x08 //0000 1000 |
e47d9c8e2054
asf patch by (Konstantin Andreyev <kandreyev at bcsii dot com>)
michael
parents:
372
diff
changeset
|
214 #define ASF_PL_FLAG_OFFSET_INTO_MEDIA_OBJECT_LENGTH_FIELD_IS_DWORD 0x0c //0000 1100 |
e47d9c8e2054
asf patch by (Konstantin Andreyev <kandreyev at bcsii dot com>)
michael
parents:
372
diff
changeset
|
215 #define ASF_PL_MASK_OFFSET_INTO_MEDIA_OBJECT_LENGTH_FIELD_SIZE 0x0c //0000 1100 |
e47d9c8e2054
asf patch by (Konstantin Andreyev <kandreyev at bcsii dot com>)
michael
parents:
372
diff
changeset
|
216 |
e47d9c8e2054
asf patch by (Konstantin Andreyev <kandreyev at bcsii dot com>)
michael
parents:
372
diff
changeset
|
217 #define ASF_PL_FLAG_MEDIA_OBJECT_NUMBER_LENGTH_FIELD_IS_BYTE 0x10 //0001 0000 |
e47d9c8e2054
asf patch by (Konstantin Andreyev <kandreyev at bcsii dot com>)
michael
parents:
372
diff
changeset
|
218 #define ASF_PL_FLAG_MEDIA_OBJECT_NUMBER_LENGTH_FIELD_IS_WORD 0x20 //0010 0000 |
e47d9c8e2054
asf patch by (Konstantin Andreyev <kandreyev at bcsii dot com>)
michael
parents:
372
diff
changeset
|
219 #define ASF_PL_FLAG_MEDIA_OBJECT_NUMBER_LENGTH_FIELD_IS_DWORD 0x30 //0011 0000 |
e47d9c8e2054
asf patch by (Konstantin Andreyev <kandreyev at bcsii dot com>)
michael
parents:
372
diff
changeset
|
220 #define ASF_PL_MASK_MEDIA_OBJECT_NUMBER_LENGTH_FIELD_SIZE 0x30 //0011 0000 |
e47d9c8e2054
asf patch by (Konstantin Andreyev <kandreyev at bcsii dot com>)
michael
parents:
372
diff
changeset
|
221 |
e47d9c8e2054
asf patch by (Konstantin Andreyev <kandreyev at bcsii dot com>)
michael
parents:
372
diff
changeset
|
222 #define ASF_PL_FLAG_STREAM_NUMBER_LENGTH_FIELD_IS_BYTE 0x40 //0100 0000 |
e47d9c8e2054
asf patch by (Konstantin Andreyev <kandreyev at bcsii dot com>)
michael
parents:
372
diff
changeset
|
223 #define ASF_PL_MASK_STREAM_NUMBER_LENGTH_FIELD_SIZE 0xc0 //1100 0000 |
e47d9c8e2054
asf patch by (Konstantin Andreyev <kandreyev at bcsii dot com>)
michael
parents:
372
diff
changeset
|
224 |
e47d9c8e2054
asf patch by (Konstantin Andreyev <kandreyev at bcsii dot com>)
michael
parents:
372
diff
changeset
|
225 #define ASF_PL_FLAG_PAYLOAD_LENGTH_FIELD_IS_BYTE 0x40 //0100 0000 |
e47d9c8e2054
asf patch by (Konstantin Andreyev <kandreyev at bcsii dot com>)
michael
parents:
372
diff
changeset
|
226 #define ASF_PL_FLAG_PAYLOAD_LENGTH_FIELD_IS_WORD 0x80 //1000 0000 |
e47d9c8e2054
asf patch by (Konstantin Andreyev <kandreyev at bcsii dot com>)
michael
parents:
372
diff
changeset
|
227 #define ASF_PL_MASK_PAYLOAD_LENGTH_FIELD_SIZE 0xc0 //1100 0000 |
e47d9c8e2054
asf patch by (Konstantin Andreyev <kandreyev at bcsii dot com>)
michael
parents:
372
diff
changeset
|
228 |
e47d9c8e2054
asf patch by (Konstantin Andreyev <kandreyev at bcsii dot com>)
michael
parents:
372
diff
changeset
|
229 #define ASF_PL_FLAG_KEY_FRAME 0x80 //1000 0000 |
2172 | 230 |
4121
55e94f2a8ac1
Make asf_get_packet() and asf_parse_packet() public for use in RTSP-MS and
rbultje
parents:
3852
diff
changeset
|
231 extern AVInputFormat asf_demuxer; |
5876
2c0f0162a110
Move put_le16_nolen() to asf.c and give it a ff_ prefix. This way, it is easier
rbultje
parents:
5778
diff
changeset
|
232 int ff_put_str16_nolen(ByteIOContext *s, const char *tag); |
4121
55e94f2a8ac1
Make asf_get_packet() and asf_parse_packet() public for use in RTSP-MS and
rbultje
parents:
3852
diff
changeset
|
233 |
3852 | 234 #endif /* AVFORMAT_ASF_H */ |