21 #ifndef AVFORMAT_ASF_H 
   22 #define AVFORMAT_ASF_H 
   29 #define PACKET_SIZE 3200 
  107 #define ASF_PACKET_FLAG_ERROR_CORRECTION_PRESENT 0x80 //1000 0000 
  126 #define ASF_PPI_FLAG_MULTIPLE_PAYLOADS_PRESENT 1 
  128 #define ASF_PPI_FLAG_SEQUENCE_FIELD_IS_BYTE  0x02 //0000 0010 
  129 #define ASF_PPI_FLAG_SEQUENCE_FIELD_IS_WORD  0x04 //0000 0100 
  130 #define ASF_PPI_FLAG_SEQUENCE_FIELD_IS_DWORD 0x06 //0000 0110 
  131 #define ASF_PPI_MASK_SEQUENCE_FIELD_SIZE     0x06 //0000 0110 
  133 #define ASF_PPI_FLAG_PADDING_LENGTH_FIELD_IS_BYTE  0x08 //0000 1000 
  134 #define ASF_PPI_FLAG_PADDING_LENGTH_FIELD_IS_WORD  0x10 //0001 0000 
  135 #define ASF_PPI_FLAG_PADDING_LENGTH_FIELD_IS_DWORD 0x18 //0001 1000 
  136 #define ASF_PPI_MASK_PADDING_LENGTH_FIELD_SIZE     0x18 //0001 1000 
  138 #define ASF_PPI_FLAG_PACKET_LENGTH_FIELD_IS_BYTE  0x20 //0010 0000 
  139 #define ASF_PPI_FLAG_PACKET_LENGTH_FIELD_IS_WORD  0x40 //0100 0000 
  140 #define ASF_PPI_FLAG_PACKET_LENGTH_FIELD_IS_DWORD 0x60 //0110 0000 
  141 #define ASF_PPI_MASK_PACKET_LENGTH_FIELD_SIZE     0x60 //0110 0000 
  144 #define ASF_PL_FLAG_REPLICATED_DATA_LENGTH_FIELD_IS_BYTE   0x01 //0000 0001 
  145 #define ASF_PL_FLAG_REPLICATED_DATA_LENGTH_FIELD_IS_WORD   0x02 //0000 0010 
  146 #define ASF_PL_FLAG_REPLICATED_DATA_LENGTH_FIELD_IS_DWORD  0x03 //0000 0011 
  147 #define ASF_PL_MASK_REPLICATED_DATA_LENGTH_FIELD_SIZE      0x03 //0000 0011 
  149 #define ASF_PL_FLAG_OFFSET_INTO_MEDIA_OBJECT_LENGTH_FIELD_IS_BYTE  0x04 //0000 0100 
  150 #define ASF_PL_FLAG_OFFSET_INTO_MEDIA_OBJECT_LENGTH_FIELD_IS_WORD  0x08 //0000 1000 
  151 #define ASF_PL_FLAG_OFFSET_INTO_MEDIA_OBJECT_LENGTH_FIELD_IS_DWORD 0x0c //0000 1100 
  152 #define ASF_PL_MASK_OFFSET_INTO_MEDIA_OBJECT_LENGTH_FIELD_SIZE     0x0c //0000 1100 
  154 #define ASF_PL_FLAG_MEDIA_OBJECT_NUMBER_LENGTH_FIELD_IS_BYTE  0x10 //0001 0000 
  155 #define ASF_PL_FLAG_MEDIA_OBJECT_NUMBER_LENGTH_FIELD_IS_WORD  0x20 //0010 0000 
  156 #define ASF_PL_FLAG_MEDIA_OBJECT_NUMBER_LENGTH_FIELD_IS_DWORD 0x30 //0011 0000 
  157 #define ASF_PL_MASK_MEDIA_OBJECT_NUMBER_LENGTH_FIELD_SIZE     0x30 //0011 0000 
  159 #define ASF_PL_FLAG_STREAM_NUMBER_LENGTH_FIELD_IS_BYTE  0x40 //0100 0000 
  160 #define ASF_PL_MASK_STREAM_NUMBER_LENGTH_FIELD_SIZE     0xc0 //1100 0000 
  162 #define ASF_PL_FLAG_PAYLOAD_LENGTH_FIELD_IS_BYTE  0x40 //0100 0000 
  163 #define ASF_PL_FLAG_PAYLOAD_LENGTH_FIELD_IS_WORD  0x80 //1000 0000 
  164 #define ASF_PL_MASK_PAYLOAD_LENGTH_FIELD_SIZE     0xc0 //1100 0000 
  166 #define ASF_PL_FLAG_KEY_FRAME 0x80 //1000 0000 
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
 
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[]
 
internal header for RIFF based (de)muxers do NOT include this in end user applications ...
 
const ff_asf_guid ff_asf_metadata_library_header
 
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 
 
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
 
uint32_t max_bitrate
bandwidth of stream in bps should be the sum of bitrates of the individual media streams ...
 
const ff_asf_guid ff_asf_reserved_4