4 #include <c++utilities/conversion/binaryconversion.h> 15 Ar = 0x213C617263683E0A,
16 Asf1 = 0x3026B2758E66CF11ul,
17 Asf2 = 0xA6D900AA0062CE6Cul,
18 Png = 0x89504E470D0A1A0Aul,
27 Rar = 0x526172211A0700ul,
38 Xz = 0xFD377A585A00ul,
107 if(bufferSize >= 8) {
108 sig = ConversionUtilities::BE::toUInt64(buffer);
109 }
else if(bufferSize >= 4) {
110 sig = ConversionUtilities::BE::toUInt32(buffer);
112 }
else if(bufferSize >= 2) {
113 sig = ConversionUtilities::BE::toUInt16(buffer);
116 return ContainerFormat::Unknown;
123 return ContainerFormat::Asf;
125 return ContainerFormat::Asf;
131 switch(sig & 0x00000000FFFFFFFF) {
173 if(bufferSize >= 16 && ConversionUtilities::BE::toUInt64(buffer + 8) ==
Sig64::RiffAvi) {
175 }
else if (bufferSize >= 12 && ConversionUtilities::BE::toUInt32(buffer + 8) ==
RiffWave) {
193 return ContainerFormat::Zip;
201 return ContainerFormat::FlashVideo;
205 return ContainerFormat::Id2v2Tag;
211 return ContainerFormat::Ac3Frames;
234 return ContainerFormat::Unknown;
245 switch(containerFormat) {
246 case ContainerFormat::Ac3Frames:
return "ac3";
248 case ContainerFormat::Asf:
return "asf";
252 case ContainerFormat::FlashVideo:
return "flv";
272 case static_cast<unsigned int>(GeneralMediaFormat::Opus):
282 case ContainerFormat::Matroska:
301 case ContainerFormat::Tar:
return "tar";
310 case ContainerFormat::Zip:
return "zip";
324 switch(containerFormat) {
325 case ContainerFormat::Ac3Frames:
326 return "raw Dolby Digital";
328 return "Audio Data Transport Stream";
330 return "Archive (GNU ar)";
331 case ContainerFormat::Asf:
332 return "Advanced Systems Format";
336 return "Executable and Linkable Format";
338 return "raw Free Lossless Audio Codec frames";
339 case ContainerFormat::FlashVideo:
340 return "Flash Video";
343 return "Graphics Interchange Format";
345 return "Java class file";
347 return "JPEG File Interchange Format";
349 return "LHA compressed file";
351 return "LZW compressed file";
353 return "MPEG-4 Part 14";
355 return "Ogg transport bitstream";
357 return "Photoshop document";
359 return "Portable Network Graphics";
361 return "Portable Executable";
363 return "RAR Archive";
366 case ContainerFormat::Matroska:
368 case ContainerFormat::Webm:
371 return "MPEG-1 Layer 1/2/3 frames";
373 return "Resource Interchange File Format";
377 return "RIFF/Audio Video Interleave";
378 case ContainerFormat::Tar:
379 return "TAR archive";
382 return "Tagged Image File Format";
384 return "UTF-16 text";
386 return "UTF-32 text";
390 return "Microsoft Windows Bitmap";
392 return "Microsoft Windows Icon";
394 return "bzip2 compressed file";
396 return "gzip compressed file";
398 return "lzip compressed file";
404 return "xz compressed file";
405 case ContainerFormat::Zip:
406 return "ZIP archive";
419 switch(containerFormat) {
427 return "little endian";
440 switch(containerFormat) {
441 case ContainerFormat::Ac3Frames:
443 case ContainerFormat::Asf:
444 return "video/x-ms-asf";
447 case ContainerFormat::FlashVideo:
448 return "video/x-flv";
472 case ContainerFormat::Matroska:
475 return "audio/x-matroska";
477 return "video/x-matroska";
480 return "application/x-bzip";
482 return "application/gzip";
484 return "application/x-lzh-compressed";
486 return "application/x-rar-compressed";
488 return "application/x-lzip";
490 return "video/quicktime";
491 case ContainerFormat::Zip:
492 return "application/zip";
494 return "application/x-7z-compressed";
496 return "application/x-xz";
500 return "image/vnd.microsoft.icon";
511 switch(containerFormat) {
512 case ContainerFormat::Matroska:
513 case ContainerFormat::Webm:
516 return TagTargetLevel::Unspecified;
525 switch(containerFormat) {
526 case ContainerFormat::Matroska:
527 case ContainerFormat::Webm: