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 19: Line 21:
'''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)
'''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)


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
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 for RCO in PS3... the PS3 RCO's doesnt even knows what is a DSS ([[RCOXML Images | because there is not an ID for them]]), 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


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)
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)
Line 37: Line 39:
| 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 114:


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 124:


==GIM==
==GIM==
'''G'''raphic '''I'''mage '''M'''ap ?. See [[Graphic Image Map (GIM)]]
'''G'''raphic '''I'''mage '''M'''...?
 
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 (see [[RCOXML Images]]), [[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 167: Line 165:
| 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 175:
| 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 192:
| 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 204:
==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]


==JPG==
==JPG==
Line 228: Line 226:
==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==
==PVR==
PowerVR Texture Compression files: PVRTC and PVRTC2 are a family of lossy, fixed-rate texture compression formats.
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]
*[http://www.vitadevwiki.com/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://www.vitadevwiki.com/index.php?title=TGA TGA] (used on [[Qt_Resource_Container_(QRC)|Qt Resource Container (lines.qrc)]])


=Audio=
=Audio=
Line 269: Line 265:
| 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 287:
| 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 (AIFF/WAV) starts</span>
|-
|-
|}
|}
Line 334: Line 330:


==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 360: Line 356:
**https://games.slashdot.org/story/04/07/30/1837253/sony-endorsing-open-graphics-format-for-ps3
**https://games.slashdot.org/story/04/07/30/1837253/sony-endorsing-open-graphics-format-for-ps3


==FPO and VPO==
==FPO==
*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,
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 421:




{{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)