USM Video: Difference between revisions

From XentaxWiki
Jump to navigation Jump to search
imported>Ikskoks
imported>Ikskoks
Line 9: Line 9:
=== Format Specifications ===  
=== Format Specifications ===  


<div class="toccolours mw-collapsible" id="mw-customcollapsible-myDivision" style="width:800px; overflow:auto;">
<div class="toccolours mw-collapsible" id="mw-customcollapsible-myDivision" style="width:1000px; overflow:auto;">
<pre>
<pre>
// USM video file format
// USM video file format
Line 15: Line 15:
// big endian
// big endian


num_of_chunks *
{
  4 bytes (char) - chunk signature  // "CRID" or "@SFV" or "@SFA"
  4 bytes (uint32) - chunk size


4 bytes (char) - chunk signature  // "CRID" or "@SFV" or "@SFA"
  chunk_data
4 bytes (uint32) - chunk size
  {
 
      1 byte - unknown  // always 0x00?
crid_chunk_data
      1 byte (uint8) - payload offset
{
      2 bytes (uint16) - padding size
  1 byte - unknown  // always 0x00?
      1 byte (uint8) - channel number
  1 byte (uint8) - payload offset
      2 bytes - unknown
  2 bytes (uint16) - padding size
      1 byte (uint8) - payload type  // 0 - stream (audio/video binary data)
  1 byte (uint8) - channel number
                                    // 1 - header (media metadata about a video or audio track)
  2 bytes - unknown
                                    // 2 - section end (info about end of the chunk data)
  1 byte (uint8) - payload type  // 0 - stream (audio/video binary data)
                                    // 3 - seek (data about the seek positions of a video track)
                                  // 1 - header (media metadata about a video or audio track)
    4 bytes (uint32) - frame time // used for "stream" chunks, 0 for other chunks
                                  // 2 - section end (info about end of the chunk data)
    4 bytes (uint32) - frame rate // for audio chunk always 2997
                                  // 3 - seek (data about the seek positions of a video track)
                                  // for stream chunk 100*stream_rate
  4 bytes (uint32) - frame time // used for "stream" chunks, 0 for other chunks
                                  // for other chunks always 30
  4 bytes (uint32) - frame rate // for audio chunk always 2997
    8 bytes - unknown
                                // for stream chunk 100*stream_rate
    x bytes - payload
                                // for other chunks always 30
    x bytes - padding
  8 bytes - unknown
  }
  x bytes - payload
}
  x bytes - padding
}  
</pre>
</pre>
</div>
</div>

Revision as of 22:22, 1 October 2021

Back to index | Edit this page

USM

  • Format Type : Video
  • Endian Order : Big Endian
  • Signature : CRID


Format Specifications

// USM video file format

// big endian

num_of_chunks *
{
   4 bytes (char) - chunk signature  // "CRID" or "@SFV" or "@SFA"
   4 bytes (uint32) - chunk size

   chunk_data
   {
      1 byte - unknown  // always 0x00?
      1 byte (uint8) - payload offset
      2 bytes (uint16) - padding size
      1 byte (uint8) - channel number
      2 bytes - unknown
      1 byte (uint8) - payload type  // 0 - stream (audio/video binary data)
                                     // 1 - header (media metadata about a video or audio track)
                                     // 2 - section end (info about end of the chunk data)
                                     // 3 - seek (data about the seek positions of a video track)
     4 bytes (uint32) - frame time // used for "stream" chunks, 0 for other chunks
     4 bytes (uint32) - frame rate // for audio chunk always 2997
                                   // for stream chunk 100*stream_rate
                                   // for other chunks always 30
     8 bytes - unknown
     x bytes - payload
     x bytes - padding
   } 
}

MultiEx BMS Script

Not written yet.

Notes and Comments

  • Some *.USM files are encrypted using a 64 byte key (like HCA)

Games

List of games using this file format:

  • Genshin Impact (*.USM) (encrypted?)
  • NEO: The World Ends with You (*.USM) (encrypted?)
  • Persona 5 Royal (*.USM) (encrypted, more info here)
  • The Witcher 2 (PC) (*.USM)
  • The Witcher 3: Wild Hunt (PC) (*.USM)

Compatible Programs

See Also