4 #include <c++utilities/conversion/binaryconversion.h> 15 Ar = 0x213C617263683E0A,
16 Asf1 = 0x3026B2758E66CF11ul,
17 Asf2 = 0xA6D900AA0062CE6Cul,
18 Png = 0x89504E470D0A1A0Aul,
28 Rar = 0x526172211A0700ul,
39 Xz = 0xFD377A585A00ul,
110 if(bufferSize >= 8) {
111 sig = ConversionUtilities::BE::toUInt64(buffer);
112 }
else if(bufferSize >= 4) {
113 sig = ConversionUtilities::BE::toUInt32(buffer);
115 }
else if(bufferSize >= 2) {
116 sig = ConversionUtilities::BE::toUInt16(buffer);
119 return ContainerFormat::Unknown;
126 return ContainerFormat::Asf;
128 return ContainerFormat::Asf;
132 if(bufferSize >= 10 && buffer[8] == 0x32 && buffer[9] == 0x20) {
139 switch(sig & 0x00000000FFFFFFFF) {
183 if(bufferSize >= 16 && ConversionUtilities::BE::toUInt64(buffer + 8) ==
Sig64::RiffAvi) {
185 }
else if (bufferSize >= 12 && ConversionUtilities::BE::toUInt32(buffer + 8) ==
RiffWave) {
205 return ContainerFormat::Zip;
213 return ContainerFormat::FlashVideo;
217 return ContainerFormat::Id2v2Tag;
223 return ContainerFormat::Ac3Frames;
246 return ContainerFormat::Unknown;
257 switch(containerFormat) {
258 case ContainerFormat::Ac3Frames:
return "ac3";
260 case ContainerFormat::Asf:
return "asf";
264 case ContainerFormat::FlashVideo:
return "flv";
284 case static_cast<unsigned int>(GeneralMediaFormat::Opus):
286 case static_cast<unsigned int>(GeneralMediaFormat::Speex):
296 case ContainerFormat::Matroska:
315 case ContainerFormat::Tar:
return "tar";
324 case ContainerFormat::Zip:
return "zip";
341 switch(containerFormat) {
342 case ContainerFormat::Ac3Frames:
343 return "raw Dolby Digital";
345 return "Audio Data Transport Stream";
347 return "Archive (GNU ar)";
348 case ContainerFormat::Asf:
349 return "Advanced Systems Format";
353 return "Executable and Linkable Format";
355 return "raw Free Lossless Audio Codec frames";
356 case ContainerFormat::FlashVideo:
357 return "Flash Video";
360 return "Graphics Interchange Format";
362 return "Java class file";
364 return "JPEG File Interchange Format";
366 return "LHA compressed file";
368 return "LZW compressed file";
370 return "MPEG-4 Part 14";
372 return "Ogg transport bitstream";
374 return "Photoshop document";
376 return "Portable Network Graphics";
378 return "Portable Executable";
380 return "RAR Archive";
383 case ContainerFormat::Matroska:
385 case ContainerFormat::Webm:
388 return "MPEG-1 Layer 1/2/3 frames";
390 return "Resource Interchange File Format";
394 return "RIFF/Audio Video Interleave";
395 case ContainerFormat::Tar:
396 return "TAR archive";
399 return "Tagged Image File Format";
401 return "UTF-16 text";
403 return "UTF-32 text";
409 return "Microsoft Windows Bitmap";
411 return "Microsoft Windows Icon";
413 return "bzip2 compressed file";
415 return "gzip compressed file";
417 return "lzip compressed file";
423 return "xz compressed file";
426 case ContainerFormat::Zip:
427 return "ZIP archive";
429 return "Monkey's Audio";
442 switch(containerFormat) {
450 return "little endian";
463 switch(containerFormat) {
464 case ContainerFormat::Ac3Frames:
466 case ContainerFormat::Asf:
467 return "video/x-ms-asf";
470 case ContainerFormat::FlashVideo:
471 return "video/x-flv";
495 case ContainerFormat::Matroska:
498 return "audio/x-matroska";
500 return "video/x-matroska";
503 return "application/x-bzip";
505 return "application/gzip";
507 return "application/x-lzh-compressed";
509 return "application/x-rar-compressed";
511 return "application/x-lzip";
513 return "video/quicktime";
514 case ContainerFormat::Zip:
515 return "application/zip";
517 return "application/x-7z-compressed";
519 return "application/x-xz";
523 return "image/vnd.microsoft.icon";
534 switch(containerFormat) {
535 case ContainerFormat::Matroska:
536 case ContainerFormat::Webm:
539 return TagTargetLevel::Unspecified;
548 switch(containerFormat) {
549 case ContainerFormat::Matroska:
550 case ContainerFormat::Webm: