Jump to content

Search the Community

Showing results for tags 'pvrz'.

More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


  • General Discussion
    • G3 News and Announcements
    • Infinity Engine Modding News
    • General Mod Discussion
    • Fan Fiction
    • Noobermeet
  • Tools & Resources
    • DLTCEP
    • GemRB
    • The Gibberlings Three Debugging Suite for BG2
    • IESDP Updates and Info
    • Modding How-Tos and Tutorials
    • Modding Q&A
    • Multi-Install Tool
    • Widescreen Mod
  • Released Projects
    • Miscellaneous Released Mods
    • Ajantis
    • Alternatives
    • Amber
    • Angelo
    • Ascension
    • Auren Aseph
    • BG1 NPC Project
    • Baldur's Gate Mini Quests and Encounters
    • The Beaurin Legacy
    • BG2 Fixpack - General Discussion
    • Calin
    • The Calling
    • Cirerrek's AI Scripts
    • Coran's Friendship Mod
    • Crossmod Banter Pack
    • Crossmod Banter Pack (IWD)
    • Divine Remix
    • Enhanced Edition Trilogy
    • Evandra
    • Full Plate & Packing Steel
    • Garrick's Infatuation
    • Gavin
    • The Gibberlings Three Anniversary Mod
    • Grey the Dog
    • Glam's NPC Pack
    • Icewind Dale Mod Roundup
    • Icewind Dale in Baldur's Gate II
    • Imoen 4 Ever
    • Item Randomiser
    • Item Revisions
    • IWD2 NPC Project
    • IWDification
    • Keeping Yoshimo
    • Kivan and Deheriana Companions for BG2
    • Level One NPCs
    • Mur'Neth
    • NPC Kitpack
    • NPC Strongholds
    • NPC Tweak for BG2
    • Oversight
    • Romantic Encounters (BG)
    • Romantic Encounters (BG2)
    • Sarah
    • SoD to BG2EE Item Upgrade
    • Song and Silence
    • Spell Revisions
    • Sword and Fist
    • Sword Coast Stratagems
    • Tweaks Anthology Forum
    • Tyris Flare
    • Wheels of Prophecy
    • Yoshimo's Remorse
  • Unreleased Projects
    • Aklon
    • Balduran's Seatower
    • Baldur's Gate: Shadow Hand TC
    • Aran Whitehand
    • Delainy
    • IWD Tutu
    • Kit Revisions
    • Inactive Projects
  • NWN2 Modding
  • Mod Workrooms


  • NPCs
  • Quests and Others
  • Tweaks & Fixes
  • Items/Kits/Spells
  • Portrait Packs
  • Mini Mods
  • Tools
  • In Progress


  • Fixes
  • Items
  • Kits
  • NPCs
  • Quests
  • Spells
  • Tweaks
  • Other
  • Tools

Product Groups

There are no results to display.

Find results in...

Find results that contain...

Date Created

  • Start


Last Updated

  • Start


Filter by number of...


  • Start




Website URL









Mods Worked On

Found 1 result

  1. In older threads, (here, here) it was mentioned that pvr is not yet documented for IESDP. Since Avenger pointed out a document that, when downloaded, required no NDA to be agreed to, I think I'll post the info here, but in a new thread in case someone wants to close this thread if necessary. It's worth mentioning that this information is readily available (I think) if you register on imgtec's website and download their SDK. Power VR header: In a PVR file, the header is 52 bytes long, or 0x34h long. Offset Size Name Description 0x0000 4 [DWORD] Version Either 0x03525650 is source and destination systems match endianness or 0x50565203 if they do match 0x0004 4 [DWORD] Flags 0x0000 if no flags set 0x0002 if colors within the texture 0x0008 8 [union] Pixel Format This field is somewhat awkward. It can either be one of several predetermined enumerated values (a DWORD) OR a 4-character array and a 4-byte array(8 bytes). If the most significant 4 bytes of the 64-bit (8-byte) value are all 0, then it indicates that it is the enumeration; otherwise it is the character array. Enumerated values are as follows: Value Pixel Type 0 PVRTC 2bpp RGB 1 PVRTC 2bpp RGBA 2 PVRTC 4bpp RGB 3 PVRTC 4bpp RGBA 4 PVRTC-II 2bpp 5 PVRTC-II 4bpp 6 ETC1 7 DXT1 / BC1 8 DXT2 9 DXT3 / BC2 10 DXT4 11 DXT5 / BC3 12 BC4 13 BC5 14 BC6 15 BC7 16 UYVY 17 YUY2 18 BW1bpp 19 R9G9B9E5 Shared Exponent 20 RGBG8888 21 GRGB8888 22 ETC2 RGB 23 ETC2 RGBA 24 ETC2 RGB A1 25 EAC R11 Unsigned 26 EAC R11 Signed 27 EAC RG11 Unsigned 28 EAC RG11 Signed Note that of the above, BG:EE and BG2:EE only appear to use DXT1 and DXT5. OTHERWISE, the 8-byte character array indicates the pixel format as follows: The least significant 4 bytes indicate channel order, such as in this example: { 'b', 'g', 'r', 'a' } or { 'b', 'g', 'r', '\0' } The most significant 4 bytes then indicate the width of each channel in bits, as follows: { 4, 4, 4, 4 } or { 2, 2, 2, 2 }, or {5, 5, 5, 0 } (the most likely values being 8s for full bytes) Quoth Avenger: "pvr files could have a hell of a number of pixel formats" 0x0010 4 [DWORD] Color Space This is an enumerated field, currently two values: Value Color Space 0 Linear RGB 1 Standard RGB 0x0014 4 [DWORD] Channel Type This is another enumerated field: Value Data Type 0 Unsigned Byte Normalized 1 Signed Byte Normalized 2 Unsigned Byte 3 Signed Byte 4 Unsigned Short Normalized 5 Signed Short Normalized 6 Unsigned Short 7 Signed Short 8 Unsigned Integer Normalized 9 Signed Integer Normalized 10 Unsigned Integer 11 Signed Integer 12 Float (no size specified) To be honest, I'm not sure what kind of normalization these values might indicate. I have observed normalized indicators, but data seemed identical to non-normalized data. 0x0018 4 [DWORD] Height Height of the image 0x001C 4 [DWORD] Width Width of the image 0x0020 4 [DWORD] Depth Depth of the image, in pixels Since this format targets 3D as well as 2D, I admit my ignorance of how this would be used. 0x0024 4 [DWORD] Surface Count The number of surfaces to this texture, used for texture arrays 0x0028 4 [DWORD] Face Count The number of faces to this texture, used for cube maps 0x002C 4 [DWORD] MIP-Map Count The number of MIP-Map levels, including a top level (again, I'm ignorant of what this means) 0x0030 4 [DWORD] Metadata Size The size, in bytes, of meta data that immediately follows this header Power VR meta data blocks: Offset Size Name Description 0x0000 4 [DWORD] FourCC Four-character identifier of the type of meta data. The following 255 arrays are reserved of PowerVR use: { 'P', 'V', 'R', 0x00 } { 'P', 'V', 'R', 0x01 } { 'P', 'V', 'R', 0x02 } ... { 'P', 'V', 'R', 0xFF } 0x0004 4 [DWORD] Key A secondary identifier indicating how the data should be interpreted 0x0008 4 [DWORD] Size The length of the meta data's data 0x000C 4 [DWORD] Data The binary data of the meta data These immediately follow the header. The meta data is read in a loop until you hit the meta data size specified in the header. I don't believe that meta data is extensively used for BGs:EE. Power VR data: This is the raw data for the pixels, interpreted dependent on the pixel type, color space, and other options indicated in the header. Pseudo-code for interpreting data is as follows: for (int mip = 0; mip < header.MIP-Map Count; ++mip) { for (int surface = 0; surface < header.Surface Count; ++surface) { for (int face = 0; face < header.Face Count; ++face) { for (int slice = 0; slice < header.Depth; ++slice) { for (int row = 0; row < header.Height; ++row) { for (int pixel = 0; pixel < header.Width; ++pixel) { //read X bytes, dependent on the header's Pixel Format } } } } } }
  • Create New...