Editing Multimedia Formats and Tools

Jump to navigation Jump to search
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.

Latest revision Your text
Line 2: Line 2:


A lot more fileformats not added yet to the page are listed in: http://www.psdevwiki.com/ps3/XMB_database#Promoter
A lot more fileformats not added yet to the page are listed in: http://www.psdevwiki.com/ps3/XMB_database#Promoter
See also [[Game Modding]]


=Image=
=Image=
Line 9: Line 11:
*http://partners.adobe.com/public/developer/en/tiff/TIFF6.pdf
*http://partners.adobe.com/public/developer/en/tiff/TIFF6.pdf


*[http://www.psdevwiki.com/vita/index.php?title=Template:IFD_format IFD format]
*[http://www.vitadevwiki.com/index.php?title=Template:IFD_format IFD format]


*[http://www.psdevwiki.com/vita/index.php?title=Template:IFD_tag IFD tag]
*[http://www.vitadevwiki.com/index.php?title=Template:IFD_tag IFD tag]


==BMP==
==BMP==
Line 17: Line 19:


==DDS==
==DDS==
'''D'''irect '''D'''raw '''S'''urface are used on PS3 (e.g. the XMB monthly wallpapers inside [[Lines.qrc]] and the [[XMB Manuals]] specific for PS3 game/apps)
Direct Draw Surface (DDS) are used on PS3 (e.g. [[XMB_Manuals|XMB Manuals]]) and PS4
 
It seems at the release of PS3 firmware 1.00 the DDS support in XMB was not complete (or maybe not supported dds at all, this is hard to know), it was implemented gradually and only for a few specific display modes, the monthly background wallpapers inside lines.qrc was implemented in firmware 1.90/2.00 and PS3 manuals support around 4.00, this display modes are a bit special because uses full screen<!--and probably uses the background display buffer-->. But DDS was never implemented in PS3 RCO's... the PS3 RCO's doesnt even knows what is a DDS ([[RCOXML Images|because there is not an ID for DDS]]), so is not officially posible to store a DDS image inside a PS3 RCO, at the end of life of PS3 the RCO format was obsolete for several reasons and this was one of them. GIM format seems to superceed the features of DDS though
 
For PSVita the RCO format was highly modifyed, and at this point probably DDS support was added to RCO (this is speculative though). Later the RCO format from PSVita was inherited by PS4 and with it the DDS support, actually it looks like the whole interface of PS4 supports DDS (not only from inside RCO, but also for the ICON0.DDS of games/apps)


*http://en.wikipedia.org/wiki/DirectDraw_Surface
*http://en.wikipedia.org/wiki/DirectDraw_Surface
Line 37: Line 35:
| style="background-color:#444453; color:#FFFFFF;" |'''Notes'''
| style="background-color:#444453; color:#FFFFFF;" |'''Notes'''
|-
|-
|colspan="5" style="text-align:center; background-color:lightblue;" | <span style="color:black!important;">DDS header</span>
|colspan="5" style="text-align:center; background-color:lightblue;" | <span style="color:black;">DDS header</span>
|-
|-
| 0x00 || 0x04 || 44 44 53 20 || "DDS " || Magic
| 0x00 || 0x04 || 44 44 53 20 || "DDS " || Magic
Line 112: Line 110:


Sample: http://rghost.net/58928544 (.dxt files are original, .dxt.dds are edited for viewing)
Sample: http://rghost.net/58928544 (.dxt files are original, .dxt.dds are edited for viewing)
There is a QuickBMS scripts for converting DTX<>DDS
pastebin GKdqL7xG and pastebin 3H0MDmTG


e.g. (quick note, should be move to emulation/PS2 page once figure out)
e.g. (quick note, should be move to emulation/PS2 page once figure out)
Line 125: Line 120:


==GIM==
==GIM==
'''G'''raphic '''I'''mage '''M'''ap ?. See [[Graphic Image Map (GIM)]]
Graphics Image ?
 
The tool used to manage GIM image conversions is '''GimConv.exe'''. See [[GimConv]]


Used inside [[Resource Container (RCO)]] files (see [[RCOXML Images]]), [[PlayStation 3 Theme (P3T)]] files, etc...
Used inside [[Resource Container (RCO)]] files, [[PlayStation 3 Theme (P3T)]] files, etc...


The tool used to manage GIM image conversions is '''GimConv.exe''' see [[GimConv]] page


*'''Gim Viewer v0.8''' by HSreina: http://hsreina.shadosoft-tm.com/display/cat/103
*'''Gim Viewer v0.8''' by HSreina: http://hsreina.shadosoft-tm.com/display/cat/103
Line 150: Line 144:


==GMO==
==GMO==
'''G'''raphic '''M'''odel '''O'''bject
Graphics... ?


Used inside [[Resource_Container_(RCO)]] files (see [[RCOXML Models]])
Used inside [[Resource_Container_(RCO)]] files


==GTF==
==GTF==
Line 167: Line 161:
| style="background-color:#475446; color:#FFFFFF;" |'''Notes'''
| style="background-color:#475446; color:#FFFFFF;" |'''Notes'''
|-
|-
|colspan="5" style="text-align:center; background-color:lightblue;" | <span style="color:black!important;">GTF header</span>
|colspan="5" style="text-align:center; background-color:lightblue;" | <span style="color:black;">GTF header</span>
|-
|-
| 0x00 || 0x04 || 02 02 00 FF ||  || Version
| 0x00 || 0x04 || 02 02 00 FF ||  || Version
Line 177: Line 171:
| 0x0C || 0x04 || 00 00 00 00 ||  || Not used?
| 0x0C || 0x04 || 00 00 00 00 ||  || Not used?
|-
|-
|colspan="5" style="text-align:center; background-color:lightblue;" | <span style="color:black!important;">GTF specification</span>
|colspan="5" style="text-align:center; background-color:lightblue;" | <span style="color:black;">GTF specification</span>
|-
|-
| 0x10 || 0x04 || 00 00 00 80 ||  || Size Header
| 0x10 || 0x04 || 00 00 00 80 ||  || Size Header
Line 194: Line 188:
| 0x1C || 0x04 ||  ||  || Remaps:
| 0x1C || 0x04 ||  ||  || Remaps:
|-
|-
|colspan="5" style="text-align:center; background-color:lightblue;" | <span style="color:black!important;">DDS specification</span>
|colspan="5" style="text-align:center; background-color:lightblue;" | <span style="color:black;">DDS specification</span>
|-
|-
| 0x20 || 0x02  || 00 40 || 64 in decimal || Size image width
| 0x20 || 0x02  || 00 40 || 64 in decimal || Size image width
Line 206: Line 200:
==GXT==
==GXT==


Gxt is a container for storing one or multiple graphic textures for the PSVita and PSP. See [http://www.psdevwiki.com/vita/index.php?title=GXT GXT]
Gxt is a container for storing one or multiple graphic textures for the PSVita and PSP. [[See http://www.vitadevwiki.com/index.php?title=GXT|GXT file format]]


==JPG==
==JPG==
Line 228: Line 222:
==PNG==
==PNG==
PS3 supports PNG images in 24 bits (for RGB channels), and 32 bits with transparency (24 bits for RGB channels + 8 bits for an alpha layer). "PNG Interlaced" and "APNG (Animated Portable Network Graphics)" formats are not supported by the PS3.
PS3 supports PNG images in 24 bits (for RGB channels), and 32 bits with transparency (24 bits for RGB channels + 8 bits for an alpha layer). "PNG Interlaced" and "APNG (Animated Portable Network Graphics)" formats are not supported by the PS3.
*How to create [http://garethrees.org/2007/11/14/pngcrush/ smallest possible transparent PNG]
==PVR==
PowerVR Texture Compression files: PVRTC and PVRTC2 are a family of lossy, fixed-rate texture compression formats.
*[http://www.psdevwiki.com/vita/index.php?title=PVR PVR]


==TGA==
==TGA==
*[http://www.psdevwiki.com/vita/index.php?title=TGA TGA] (used on [[Qt_Resource_Container_(QRC)|Qt Resource Container (lines.qrc)]])
http://en.wikipedia.org/wiki/Truevision_TGA are used on [[Qt_Resource_Container_(QRC)|Qt Resource Container (lines.qrc)]]


=Audio=
=Audio=
Line 269: Line 256:
| style="background-color:#564147; color:#FFFFFF;" |'''Notes'''
| style="background-color:#564147; color:#FFFFFF;" |'''Notes'''
|-
|-
|colspan="5" style="text-align:center; background-color:lightblue;" | <span style="color:black!important;">VAG header</span>
|colspan="5" style="text-align:center; background-color:lightblue;" | <span style="color:black;">VAG header</span>
|-
|-
| 0x00 || 0x04 || 56 41 47 70 || "VAGp" || Magic
| 0x00 || 0x04 || 56 41 47 70 || "VAGp" || Magic
Line 291: Line 278:
| 0x20 || 0x10 || 53 45 30 34 5F 42 61 63 6B  || SE04_BACK || Name
| 0x20 || 0x10 || 53 45 30 34 5F 42 61 63 6B  || SE04_BACK || Name
|-
|-
|colspan="5" style="text-align:center; background-color:lightblue;" | <span style="color:black!important;">Waveform data (AIFF/WAV) starts</span>
|colspan="5" style="text-align:center; background-color:lightblue;" | <span style="color:black;">Waveform data starts</span>
|-
|-
|}
|}
Line 325: Line 312:


=Video=
=Video=
==BIK==
Bik is a video and audio container designed specifically for consoles. It can contain multiple video and audio tracks and assign an ID each of them, this way the system choose which one will be loaded. This allows to store multiple audio languages in separated tracks, and multiple audio modes with separated channels for stereo, 5.1, etc...
Bik files do not have any protection, PS3 games do not verify any kind of security over them. They can be fully edited and replaced, usually people replace the video track by a downsampled version of the same video to reduce the game size, it is also possible to remove the audio tracks from "foreign" languages.
* "RAD Video Tools" http://www.radgametools.com/bnkdown.htm


==PAM==
==PAM==
Pam files can contain audio or have the audio separated in a .AT3 track, used in [[Content Information Files]]
Pam files can contain audio or have the audio separwted in a .AT3 track, used in [[Content Information Files]]


=Interactive=
=Interactive=
Line 345: Line 325:


==DAE==
==DAE==
DAE ('''D'''igital '''A'''sset '''E'''xchange) is an XML file that contains COLLADA content. COLLADA is an open standard created by sony for interactive 3D applications. Is used to export and import files from 3-D authoring applications in .dae format, see: https://collada.org/ and https://www.khronos.org/collada/
DAE ('''D'''igital '''A'''sset '''E'''xchange) is an XML file that contains COLLADA content. COLLADA is an open standard created by sony for interactive 3D applications. Is used to export and import files from 3-D authoring applications in .dae format, see: https://collada.org/


Collada usually is implemented as a plugin, some 3-D authoring applications supporting collada are: [http://www.blender.org/ Blender], Google SketchUp, Maya, Rhino, 3D Max, SoftImage
Collada usually is implemented as a plugin, some 3-D authoring applications supporting collada are: [http://www.blender.org/ Blender], Google SketchUp, Maya, Rhino, 3D Max, SoftImage


*Collada plugins:
*Collada plugins for:
**Blender - http://colladablender.illusoft.com/ http://sourceforge.net/projects/colladablender/
**Blender http://colladablender.illusoft.com/ http://sourceforge.net/projects/colladablender/
 
*Other collada info
**https://www.khronos.org/assets/uploads/developers/library/2007_siggraph_bof_collada/SCIE.pdf
**http://lukasz.dk/mirror/research-scea/gdc2006/gdc06-for-khronos.pdf
**https://www.khronos.org/collada/wiki/Building_third_party_libraries_for_the_COLLADA_DOM
**https://sourceforge.net/projects/collada-dom/
**http://www.psu.com/forums/showthread.php/363-COLLADA-the-new-PS3-graphics-format?s=c6e507c63cc32a901bcf06a7f36538bd
**https://games.slashdot.org/story/04/07/30/1837253/sony-endorsing-open-graphics-format-for-ps3
 
==FPO and VPO==
*FPO ('''F'''ragment '''P'''rogram '''O'''bjects)
*VPO ('''V'''ertex '''P'''rogram '''O'''bjects)
*Used inside:
**[[Qt Resource Container (QRC)|QRC containers]]
**[[PS2 Emulation|ps2_netemu.self]]
 
This files are [https://en.wikipedia.org/wiki/Cg_(programming_language) Cg shaders] created by the Cg compiler ('''sce-cgc.exe'''), and are compatible with the Cg disassembler ('''sce-cgcdisasm.exe''') from [[SCEI PS3 SDK]]
 
See: [http://games.soc.napier.ac.uk/resources/ps3/ps3_tutorial_004.pdf Introduction to GCM and PS3 graphics] (pages 4 and 5), and [https://arxiv.org/ftp/cs/papers/0302/0302013.pdf Cg in Two Pages]
 
*The compiler acepts 2 arguments:
**'''-p''': For the PS3 RSX is needed to use the profiles: '''sce_fp_rsx''' (to compile a fragment shader and create a FPO file), or '''sce_vp_rsx''' (to compile a vertex shader and create a VPO file)
**'''-o''': the output filename
 
{{keyboard|content=<syntaxhighlight lang="bash">C:\usr\local\cell\host-win32\Cg\bin\sce-cgc.exe -p sce_fp_rsx -o OUTPUT.FPO input_fshader.cg</syntaxhighlight>}}
{{Boxcode|title=input_fshader.cg|float=left|width=auto|code=<syntaxhighlight lang="c">
void main
(
float4 color_in : COLOR,
out float4 color_out : COLOR
)
{
color_out = color_in;
}
</syntaxhighlight>}}
 
{{keyboard|content=<syntaxhighlight lang="bash">C:\usr\local\cell\host-win32\Cg\bin\sce-cgc.exe -p sce_vp_rsx -o OUTPUT.VPO input_vshader.cg</syntaxhighlight>}}
{{Boxcode|title=input_vshader.cg|float=left|width=auto|code=<syntaxhighlight lang="c">
void main
(
float4 position : POSITION,
float4 color : COLOR,
 
uniform float4x4 modelViewProj,


out float4 oPosition : POSITION,
==FPO==
out float4 oColor : COLOR
)
{
oPosition = position;
oColor = color;
}
</syntaxhighlight>}}
{{clear}}


*Notes/speculation
==VPO==
**The PS3 RSX Cg profiles ('''sce_fp_rsx''' & '''sce_vp_rsx''') probably are custom, but based in the [https://developer.nvidia.com/cg-profiles standard profiles]
**[http://www.psx-place.com/threads/my-vertex-shader-document.20794/ Open Source code related with PS3 Cg shaders]


==MNU==
==MNU==
Line 471: Line 397:




{{Development}}<noinclude>[[Category:Main]]</noinclude>
{{File Formats}}<noinclude>[[Category:Main]]</noinclude>
Please note that all contributions to PS3 Developer wiki are considered to be released under the GNU Free Documentation License 1.2 (see PS3 Developer wiki:Copyrights for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource. Do not submit copyrighted work without permission!

To protect the wiki against automated edit spam, we kindly ask you to solve the following hCaptcha:

Cancel Editing help (opens in new window)