00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #include "asf.h"
00022
00023
00024 const ff_asf_guid ff_asf_header = {
00025 0x30, 0x26, 0xB2, 0x75, 0x8E, 0x66, 0xCF, 0x11, 0xA6, 0xD9, 0x00, 0xAA, 0x00, 0x62, 0xCE, 0x6C
00026 };
00027
00028 const ff_asf_guid ff_asf_file_header = {
00029 0xA1, 0xDC, 0xAB, 0x8C, 0x47, 0xA9, 0xCF, 0x11, 0x8E, 0xE4, 0x00, 0xC0, 0x0C, 0x20, 0x53, 0x65
00030 };
00031
00032 const ff_asf_guid ff_asf_stream_header = {
00033 0x91, 0x07, 0xDC, 0xB7, 0xB7, 0xA9, 0xCF, 0x11, 0x8E, 0xE6, 0x00, 0xC0, 0x0C, 0x20, 0x53, 0x65
00034 };
00035
00036 const ff_asf_guid ff_asf_ext_stream_header = {
00037 0xCB, 0xA5, 0xE6, 0x14, 0x72, 0xC6, 0x32, 0x43, 0x83, 0x99, 0xA9, 0x69, 0x52, 0x06, 0x5B, 0x5A
00038 };
00039
00040 const ff_asf_guid ff_asf_audio_stream = {
00041 0x40, 0x9E, 0x69, 0xF8, 0x4D, 0x5B, 0xCF, 0x11, 0xA8, 0xFD, 0x00, 0x80, 0x5F, 0x5C, 0x44, 0x2B
00042 };
00043
00044 const ff_asf_guid ff_asf_audio_conceal_none = {
00045
00046
00047 0x00, 0x57, 0xfb, 0x20, 0x55, 0x5B, 0xCF, 0x11, 0xa8, 0xfd, 0x00, 0x80, 0x5f, 0x5c, 0x44, 0x2b
00048 };
00049
00050 const ff_asf_guid ff_asf_audio_conceal_spread = {
00051 0x50, 0xCD, 0xC3, 0xBF, 0x8F, 0x61, 0xCF, 0x11, 0x8B, 0xB2, 0x00, 0xAA, 0x00, 0xB4, 0xE2, 0x20
00052 };
00053
00054 const ff_asf_guid ff_asf_video_stream = {
00055 0xC0, 0xEF, 0x19, 0xBC, 0x4D, 0x5B, 0xCF, 0x11, 0xA8, 0xFD, 0x00, 0x80, 0x5F, 0x5C, 0x44, 0x2B
00056 };
00057
00058 const ff_asf_guid ff_asf_video_conceal_none = {
00059 0x00, 0x57, 0xFB, 0x20, 0x55, 0x5B, 0xCF, 0x11, 0xA8, 0xFD, 0x00, 0x80, 0x5F, 0x5C, 0x44, 0x2B
00060 };
00061
00062 const ff_asf_guid ff_asf_command_stream = {
00063 0xC0, 0xCF, 0xDA, 0x59, 0xE6, 0x59, 0xD0, 0x11, 0xA3, 0xAC, 0x00, 0xA0, 0xC9, 0x03, 0x48, 0xF6
00064 };
00065
00066 const ff_asf_guid ff_asf_comment_header = {
00067 0x33, 0x26, 0xb2, 0x75, 0x8E, 0x66, 0xCF, 0x11, 0xa6, 0xd9, 0x00, 0xaa, 0x00, 0x62, 0xce, 0x6c
00068 };
00069
00070 const ff_asf_guid ff_asf_codec_comment_header = {
00071 0x40, 0x52, 0xD1, 0x86, 0x1D, 0x31, 0xD0, 0x11, 0xA3, 0xA4, 0x00, 0xA0, 0xC9, 0x03, 0x48, 0xF6
00072 };
00073 const ff_asf_guid ff_asf_codec_comment1_header = {
00074 0x41, 0x52, 0xd1, 0x86, 0x1D, 0x31, 0xD0, 0x11, 0xa3, 0xa4, 0x00, 0xa0, 0xc9, 0x03, 0x48, 0xf6
00075 };
00076
00077 const ff_asf_guid ff_asf_data_header = {
00078 0x36, 0x26, 0xb2, 0x75, 0x8E, 0x66, 0xCF, 0x11, 0xa6, 0xd9, 0x00, 0xaa, 0x00, 0x62, 0xce, 0x6c
00079 };
00080
00081 const ff_asf_guid ff_asf_head1_guid = {
00082 0xb5, 0x03, 0xbf, 0x5f, 0x2E, 0xA9, 0xCF, 0x11, 0x8e, 0xe3, 0x00, 0xc0, 0x0c, 0x20, 0x53, 0x65
00083 };
00084
00085 const ff_asf_guid ff_asf_head2_guid = {
00086 0x11, 0xd2, 0xd3, 0xab, 0xBA, 0xA9, 0xCF, 0x11, 0x8e, 0xe6, 0x00, 0xc0, 0x0c, 0x20, 0x53, 0x65
00087 };
00088
00089 const ff_asf_guid ff_asf_extended_content_header = {
00090 0x40, 0xA4, 0xD0, 0xD2, 0x07, 0xE3, 0xD2, 0x11, 0x97, 0xF0, 0x00, 0xA0, 0xC9, 0x5E, 0xA8, 0x50
00091 };
00092
00093 const ff_asf_guid ff_asf_simple_index_header = {
00094 0x90, 0x08, 0x00, 0x33, 0xB1, 0xE5, 0xCF, 0x11, 0x89, 0xF4, 0x00, 0xA0, 0xC9, 0x03, 0x49, 0xCB
00095 };
00096
00097 const ff_asf_guid ff_asf_ext_stream_embed_stream_header = {
00098 0xe2, 0x65, 0xfb, 0x3a, 0xEF, 0x47, 0xF2, 0x40, 0xac, 0x2c, 0x70, 0xa9, 0x0d, 0x71, 0xd3, 0x43
00099 };
00100
00101 const ff_asf_guid ff_asf_ext_stream_audio_stream = {
00102 0x9d, 0x8c, 0x17, 0x31, 0xE1, 0x03, 0x28, 0x45, 0xb5, 0x82, 0x3d, 0xf9, 0xdb, 0x22, 0xf5, 0x03
00103 };
00104
00105 const ff_asf_guid ff_asf_metadata_header = {
00106 0xea, 0xcb, 0xf8, 0xc5, 0xaf, 0x5b, 0x77, 0x48, 0x84, 0x67, 0xaa, 0x8c, 0x44, 0xfa, 0x4c, 0xca
00107 };
00108
00109 const ff_asf_guid ff_asf_marker_header = {
00110 0x01, 0xCD, 0x87, 0xF4, 0x51, 0xA9, 0xCF, 0x11, 0x8E, 0xE6, 0x00, 0xC0, 0x0C, 0x20, 0x53, 0x65
00111 };
00112
00113
00114
00115 const ff_asf_guid ff_asf_my_guid = {
00116 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
00117 };
00118
00119 const ff_asf_guid ff_asf_language_guid = {
00120 0xa9, 0x46, 0x43, 0x7c, 0xe0, 0xef, 0xfc, 0x4b, 0xb2, 0x29, 0x39, 0x3e, 0xde, 0x41, 0x5c, 0x85
00121 };
00122
00123 const ff_asf_guid ff_asf_content_encryption = {
00124 0xfb, 0xb3, 0x11, 0x22, 0x23, 0xbd, 0xd2, 0x11, 0xb4, 0xb7, 0x00, 0xa0, 0xc9, 0x55, 0xfc, 0x6e
00125 };
00126
00127 const ff_asf_guid ff_asf_ext_content_encryption = {
00128 0x14, 0xe6, 0x8a, 0x29, 0x22, 0x26, 0x17, 0x4c, 0xb9, 0x35, 0xda, 0xe0, 0x7e, 0xe9, 0x28, 0x9c
00129 };
00130
00131 const ff_asf_guid ff_asf_digital_signature = {
00132 0xfc, 0xb3, 0x11, 0x22, 0x23, 0xbd, 0xd2, 0x11, 0xb4, 0xb7, 0x00, 0xa0, 0xc9, 0x55, 0xfc, 0x6e
00133 };
00134
00135
00136 const AVMetadataConv ff_asf_metadata_conv[] = {
00137 { "WM/AlbumArtist" , "album_artist"},
00138 { "WM/AlbumTitle" , "album" },
00139 { "Author" , "artist" },
00140 { "Description" , "comment" },
00141 { "WM/Composer" , "composer" },
00142 { "WM/EncodedBy" , "encoded_by" },
00143 { "WM/EncodingSettings", "encoder" },
00144 { "WM/Genre" , "genre" },
00145 { "WM/Language" , "language" },
00146 { "WM/OriginalFilename", "filename" },
00147 { "WM/PartOfSet" , "disc" },
00148 { "WM/Publisher" , "publisher" },
00149 { "WM/Tool" , "encoder" },
00150 { "WM/TrackNumber" , "track" },
00151 { "WM/Track" , "track" },
00152
00153 { 0 }
00154 };
00155
00156 int ff_put_str16_nolen(ByteIOContext *s, const char *tag)
00157 {
00158 const uint8_t *q = tag;
00159 int ret = 0;
00160
00161 while (*q) {
00162 uint32_t ch;
00163 uint16_t tmp;
00164
00165 GET_UTF8(ch, *q++, break;)
00166 PUT_UTF16(ch, tmp, put_le16(s, tmp);ret += 2;)
00167 }
00168 put_le16(s, 0);
00169 ret += 2;
00170 return ret;
00171 }