aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework
diff options
context:
space:
mode:
authorJohn Hurliman2009-09-30 12:18:22 -0700
committerMelanie2009-09-30 19:26:53 +0100
commitf56dc5fcda16d96a309120b2a75a623cf455a8e8 (patch)
treecd86ef9956054404ee784f119593dd9c569d9572 /OpenSim/Region/Framework
parentRevert "Attempting to improve the robustness of texture decoding by always ig... (diff)
downloadopensim-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.cs5
-rw-r--r--OpenSim/Region/Framework/Scenes/SceneManager.cs2
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
31namespace OpenSim.Region.Framework.Interfaces 31namespace 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);