THP: Difference between revisions

From Super Mario Galaxy wiki
Jump to navigation Jump to search
No edit summary
m (Added GM's port of THPConv for Linux as tool)
 
(3 intermediate revisions by 2 users not shown)
Line 133: Line 133:
* [https://github.com/soopercool101/BrawlCrate BrawlCrate] (Can only view the files)
* [https://github.com/soopercool101/BrawlCrate BrawlCrate] (Can only view the files)
* [https://www.ffmpeg.org/ ffmpeg] (Can convert THP videos to other video formats)
* [https://www.ffmpeg.org/ ffmpeg] (Can convert THP videos to other video formats)
* [https://sites.google.com/site/wiiflowiki4/trailers/thp-video-convertor Wiiflow THP Video Converter] (Creates thp videos. Only supports 30 fps)
* [https://www.videolan.org/vlc/ VLC media player] (Can reproduce THP video files)
* [https://sites.google.com/site/wiiflowiki4/trailers/thp-video-convertor Wiiflow THP Video Converter] (Creates THP videos. Only supports 30 fps)
* [https://github.com/Lord-Giganticus/THP-Conveter THP-Converter] (Can convert to and from THP files using other programs)
* [https://github.com/Lord-Giganticus/THP-Conveter THP-Converter] (Can convert to and from THP files using other programs)
* [THPConv THPConv.exe] (Nintendo's internal program to make thp videos, used by other programs)
* [[THPConv|THPConv.exe]] (Nintendo's internal program to make THP videos, used by other programs)
* [https://github.com/MasterofGalaxies/THPConv THPConv (for Linux)] (Port of Nintendo's THPConv tool to Linux)

Latest revision as of 01:30, 29 April 2023


This page contains content/info from the Revolution SDK. This is to be considered 100% true.

THP does not stand for anything unlike other file formats. It's mainly used for prerendered cutscenes and other prerendered videos. This format was also used on the Nintendo GameCube.

Format Specifications

Below you'll find helpful tables on how the file is structured

Header

Each THP starts with a header

Offset Type Description
0x00 String "THP0" in ASCII
0x04 UInt32 Version Number. SMG uses 0x1048832
0x08 UInt32 The Maximum Frame data size
0x0C UInt32 Max no. of Audio Samples. SMG uses 0x570556416
0x10 Float Frame Rate. Defaults to 29.97 in THPConv.exe. SMG uses 59.97 (the max value)
0x14 UInt32 Total number of frames
0x18 UInt32 The length of the first frame
0x1C UInt32 The length of ALL frames
0x20 UInt32 Offset to components
0x24 UInt32 Offset to FrameOffsetData
0x28 UInt32 First frame offset
0x2C UInt32 Last frame offset

Frame Comp Info

This section is for the Component structure

Offset Type Description
0x00 UInt32 Number of components in this frame. Max is 16
0x04 UInt8[16] Component types (0 = video, 1 = audio, -1 = none)

Video

This section contains the video data.

Offset Type Description
0x00 UInt32 Width. SMG uses 640
0x04 UInt32 Height. SMG uses 368
0x08 UInt32 Video format (Only used in certain versions)

Audio

This sections contains the audio data.

Offset Type Description
0x00 UInt32 Number of Audio Channels (Min is 0, Max is 2)
0x04 UInt32 Frequency
0x08 UInt32 Number of samples played
0x0C UInt32 Number of tracks (Only used in certain versions)

Frame

A frame starts with a frame header

Offset Type Description
0x00 UInt32 Total size of the next frame
0x04 UInt32 Total size of previous frame
0x08 UInt32 Total size of the current frame
0x0C UInt32 Audio size (Only if there is audio in the current frame)
0x0C or 0x10 Image Data

Video

Video data

Offset Type Description
0x00 Int8[I] Image Data
I End of Image Data

Audio

Offset Type Description
0x00 UInt32 Channel size
0x04 UInt32 Number of samples
0x08 Int16[16] Table 1
0x28 Int16[16] Table 2
0x48 Int16 Channel 1 previous 1
0x4A Int16 Channel 1 previous 2
0x4C Int16 Channel 2 previous 1
0x4E Int16 Channel 2 previous 2
0x50 Audio Data
Offset Type Description
0x00 Int8[M] Audio Data
M End of Audio Data

Tools

The following tools can handle THP files: