diff options
author | John Hurliman | 2009-09-30 12:18:22 -0700 |
---|---|---|
committer | Melanie | 2009-09-30 19:26:53 +0100 |
commit | f56dc5fcda16d96a309120b2a75a623cf455a8e8 (patch) | |
tree | cd86ef9956054404ee784f119593dd9c569d9572 /OpenSim/Region/Framework | |
parent | Revert "Attempting to improve the robustness of texture decoding by always ig... (diff) | |
download | opensim-SC_OLD-f56dc5fcda16d96a309120b2a75a623cf455a8e8.zip opensim-SC_OLD-f56dc5fcda16d96a309120b2a75a623cf455a8e8.tar.gz opensim-SC_OLD-f56dc5fcda16d96a309120b2a75a623cf455a8e8.tar.bz2 opensim-SC_OLD-f56dc5fcda16d96a309120b2a75a623cf455a8e8.tar.xz |
Attempting to improve the robustness of texture decoding by always ignoring LayerInfo.End values and creating guessed default layer boundaries on failed decodes Changed a noisy J2K decode log message from Info to Debug Replacing openjpeg-dotnet decoding with managed CSJ2K decoding. Should be much more reliable, faster, and use less memory
* Re-added openjpeg-dotnet files since they are used elsewhere in OpenSim * Updated prebuild.xml with a reference to CSJ2K
* Renamed IJ2KDecoder and J2KDecoder member names to follow standard naming conventions * Removed j2kDecodeCache cruft and replaced it with the OpenSim cache system * Rewrote the default layer boundary algorithm to use percentages instead of an exponent * Switched from an infinite in-memory cache to an expiring cache (10 minute timeout) * Slightly quieted logging errors for failed texture decodes
Diffstat (limited to 'OpenSim/Region/Framework')
-rw-r--r-- | OpenSim/Region/Framework/Interfaces/IJ2KDecoder.cs | 5 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Scenes/SceneManager.cs | 2 |
2 files changed, 3 insertions, 4 deletions
diff --git a/OpenSim/Region/Framework/Interfaces/IJ2KDecoder.cs b/OpenSim/Region/Framework/Interfaces/IJ2KDecoder.cs index b153997..856eb11 100644 --- a/OpenSim/Region/Framework/Interfaces/IJ2KDecoder.cs +++ b/OpenSim/Region/Framework/Interfaces/IJ2KDecoder.cs | |||
@@ -30,12 +30,11 @@ using OpenMetaverse.Imaging; | |||
30 | 30 | ||
31 | namespace OpenSim.Region.Framework.Interfaces | 31 | namespace OpenSim.Region.Framework.Interfaces |
32 | { | 32 | { |
33 | |||
34 | public delegate void DecodedCallback(UUID AssetId, OpenJPEG.J2KLayerInfo[] layers); | 33 | public delegate void DecodedCallback(UUID AssetId, OpenJPEG.J2KLayerInfo[] layers); |
35 | 34 | ||
36 | public interface IJ2KDecoder | 35 | public interface IJ2KDecoder |
37 | { | 36 | { |
38 | void decode(UUID AssetId, byte[] assetData, DecodedCallback decodedReturn); | 37 | void BeginDecode(UUID assetID, byte[] j2kData, DecodedCallback callback); |
39 | void syncdecode(UUID AssetId, byte[] j2kdata); | 38 | void Decode(UUID assetID, byte[] j2kData); |
40 | } | 39 | } |
41 | } | 40 | } |
diff --git a/OpenSim/Region/Framework/Scenes/SceneManager.cs b/OpenSim/Region/Framework/Scenes/SceneManager.cs index 0019b23..091a2d5 100644 --- a/OpenSim/Region/Framework/Scenes/SceneManager.cs +++ b/OpenSim/Region/Framework/Scenes/SceneManager.cs | |||
@@ -652,7 +652,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
652 | AssetBase ab = sn.AssetService.Get(arrassets[i].ToString()); | 652 | AssetBase ab = sn.AssetService.Get(arrassets[i].ToString()); |
653 | if (ab != null && ab.Data != null) | 653 | if (ab != null && ab.Data != null) |
654 | { | 654 | { |
655 | j2kdecode.syncdecode(arrassets[i], ab.Data); | 655 | j2kdecode.Decode(arrassets[i], ab.Data); |
656 | } | 656 | } |
657 | } | 657 | } |
658 | ThreadTracker.Remove(thisthread); | 658 | ThreadTracker.Remove(thisthread); |