21 #ifndef AVFORMAT_ASF_H
22 #define AVFORMAT_ASF_H
28 #define PACKET_SIZE 3200
115 #define ASF_PACKET_FLAG_ERROR_CORRECTION_PRESENT 0x80 //1000 0000
134 #define ASF_PPI_FLAG_MULTIPLE_PAYLOADS_PRESENT 1
136 #define ASF_PPI_FLAG_SEQUENCE_FIELD_IS_BYTE 0x02 //0000 0010
137 #define ASF_PPI_FLAG_SEQUENCE_FIELD_IS_WORD 0x04 //0000 0100
138 #define ASF_PPI_FLAG_SEQUENCE_FIELD_IS_DWORD 0x06 //0000 0110
139 #define ASF_PPI_MASK_SEQUENCE_FIELD_SIZE 0x06 //0000 0110
141 #define ASF_PPI_FLAG_PADDING_LENGTH_FIELD_IS_BYTE 0x08 //0000 1000
142 #define ASF_PPI_FLAG_PADDING_LENGTH_FIELD_IS_WORD 0x10 //0001 0000
143 #define ASF_PPI_FLAG_PADDING_LENGTH_FIELD_IS_DWORD 0x18 //0001 1000
144 #define ASF_PPI_MASK_PADDING_LENGTH_FIELD_SIZE 0x18 //0001 1000
146 #define ASF_PPI_FLAG_PACKET_LENGTH_FIELD_IS_BYTE 0x20 //0010 0000
147 #define ASF_PPI_FLAG_PACKET_LENGTH_FIELD_IS_WORD 0x40 //0100 0000
148 #define ASF_PPI_FLAG_PACKET_LENGTH_FIELD_IS_DWORD 0x60 //0110 0000
149 #define ASF_PPI_MASK_PACKET_LENGTH_FIELD_SIZE 0x60 //0110 0000
152 #define ASF_PL_FLAG_REPLICATED_DATA_LENGTH_FIELD_IS_BYTE 0x01 //0000 0001
153 #define ASF_PL_FLAG_REPLICATED_DATA_LENGTH_FIELD_IS_WORD 0x02 //0000 0010
154 #define ASF_PL_FLAG_REPLICATED_DATA_LENGTH_FIELD_IS_DWORD 0x03 //0000 0011
155 #define ASF_PL_MASK_REPLICATED_DATA_LENGTH_FIELD_SIZE 0x03 //0000 0011
157 #define ASF_PL_FLAG_OFFSET_INTO_MEDIA_OBJECT_LENGTH_FIELD_IS_BYTE 0x04 //0000 0100
158 #define ASF_PL_FLAG_OFFSET_INTO_MEDIA_OBJECT_LENGTH_FIELD_IS_WORD 0x08 //0000 1000
159 #define ASF_PL_FLAG_OFFSET_INTO_MEDIA_OBJECT_LENGTH_FIELD_IS_DWORD 0x0c //0000 1100
160 #define ASF_PL_MASK_OFFSET_INTO_MEDIA_OBJECT_LENGTH_FIELD_SIZE 0x0c //0000 1100
162 #define ASF_PL_FLAG_MEDIA_OBJECT_NUMBER_LENGTH_FIELD_IS_BYTE 0x10 //0001 0000
163 #define ASF_PL_FLAG_MEDIA_OBJECT_NUMBER_LENGTH_FIELD_IS_WORD 0x20 //0010 0000
164 #define ASF_PL_FLAG_MEDIA_OBJECT_NUMBER_LENGTH_FIELD_IS_DWORD 0x30 //0011 0000
165 #define ASF_PL_MASK_MEDIA_OBJECT_NUMBER_LENGTH_FIELD_SIZE 0x30 //0011 0000
167 #define ASF_PL_FLAG_STREAM_NUMBER_LENGTH_FIELD_IS_BYTE 0x40 //0100 0000
168 #define ASF_PL_MASK_STREAM_NUMBER_LENGTH_FIELD_SIZE 0xc0 //1100 0000
170 #define ASF_PL_FLAG_PAYLOAD_LENGTH_FIELD_IS_BYTE 0x40 //0100 0000
171 #define ASF_PL_FLAG_PAYLOAD_LENGTH_FIELD_IS_WORD 0x80 //1000 0000
172 #define ASF_PL_MASK_PAYLOAD_LENGTH_FIELD_SIZE 0xc0 //1100 0000
174 #define ASF_PL_FLAG_KEY_FRAME 0x80 //1000 0000
struct ASFMainHeader ASFMainHeader
const ff_asf_guid ff_asf_video_stream
const ff_asf_guid ff_asf_content_encryption
const ff_asf_guid ff_asf_digital_signature
const ff_asf_guid ff_asf_ext_stream_embed_stream_header
const ff_asf_guid ff_asf_head1_guid
const ff_asf_guid ff_asf_my_guid
const ff_asf_guid ff_asf_simple_index_header
const ff_asf_guid ff_asf_marker_header
uint32_t min_pktsize
size of a data packet invalid if broadcasting
const ff_asf_guid ff_asf_comment_header
const ff_asf_guid ff_asf_video_conceal_none
const ff_asf_guid ff_asf_language_guid
const ff_asf_guid ff_asf_jfif_media
uint32_t flags
0x01 - broadcast 0x02 - seekable rest is reserved should be 0
const ff_asf_guid ff_asf_audio_conceal_spread
const ff_asf_guid ff_asf_codec_comment1_header
const ff_asf_guid ff_asf_ext_stream_audio_stream
uint64_t send_time
time to send file, in 100-nanosecond units invalid if broadcasting (could be ignored) ...
uint64_t file_size
in bytes invalid if broadcasting
ff_asf_guid guid
generated by client computer
const ff_asf_guid ff_asf_data_header
struct ASFStream ASFStream
uint32_t max_pktsize
shall be the same as for min_pktsize invalid if broadcasting
const ff_asf_guid ff_asf_codec_comment_header
const ff_asf_guid ff_asf_stream_header
const AVMetadataConv ff_asf_metadata_conv[]
const ff_asf_guid ff_asf_audio_conceal_none
const ff_asf_guid ff_asf_header
uint32_t ignore
preroll is 64bit - but let's just ignore it
uint64_t create_time
time of creation, in 100-nanosecond units since 1.1.1601 invalid if broadcasting
uint64_t play_time
play time, in 100-nanosecond units invalid if broadcasting
uint16_t stream_language_index
AVInputFormat ff_asf_demuxer
const ff_asf_guid ff_asf_command_stream
const ff_asf_guid ff_asf_ext_stream_header
const ff_asf_guid ff_asf_extended_content_header
uint32_t preroll
timestamp of the first packet, in milliseconds if nonzero - subtract from time
const ff_asf_guid ff_asf_head2_guid
const ff_asf_guid ff_asf_ext_content_encryption
const ff_asf_guid ff_asf_metadata_header
const ff_asf_guid ff_asf_audio_stream
const ff_asf_guid ff_asf_file_header
void ff_get_guid(AVIOContext *s, ff_asf_guid *g)
This structure stores compressed data.
uint32_t max_bitrate
bandwidth of stream in bps should be the sum of bitrates of the individual media streams ...
static av_always_inline int ff_guidcmp(const void *g1, const void *g2)