diff -urN -x '*.orig' -x '*.rej' -x '*~' -x '.*' -x 'i386-*' linden.orig/indra/llimagej2coj/llimagej2coj.cpp linden.patched/indra/llimagej2coj/llimagej2coj.cpp
--- linden.orig/indra/llimagej2coj/llimagej2coj.cpp	2007-07-11 17:16:56.000000000 -0500
+++ linden.patched/indra/llimagej2coj/llimagej2coj.cpp	2007-07-16 01:27:32.000000000 -0500
@@ -36,6 +36,9 @@
 #include "lltimer.h"
 #include "llmemory.h"
 
+#include "llcontrol.h"
+extern LLControlGroup gSavedSettings;
+
 LLImageJ2CImpl* fallbackCreateLLImageJ2CImpl()
 {
 	return new LLImageJ2COJ();
@@ -211,10 +214,24 @@
 
 	/* set encoding parameters to default values */
 	opj_set_default_encoder_parameters(&parameters);
-	parameters.tcp_rates[0] = 0;
-	parameters.tcp_numlayers++;
-	parameters.cp_disto_alloc = 1;
 	parameters.cod_format = 0;
+	parameters.cp_disto_alloc = 1;
+	if(gSavedSettings.getBOOL("OpenJPEGEncodeLossless")){
+		parameters.tcp_numlayers = 1;
+		parameters.tcp_rates[0] = 0.0f;
+	}else{
+		parameters.tcp_numlayers = 6;
+		parameters.tcp_rates[0] = 1280.0f;
+		parameters.tcp_rates[1] = 640.0f;
+		parameters.tcp_rates[2] = 320.0f;
+		parameters.tcp_rates[3] = 160.0f;
+		parameters.tcp_rates[4] = 80.0f;
+		parameters.tcp_rates[5] = 40.0f;
+		parameters.irreversible = 1;
+		if(raw_image.getComponents() >= 3){
+			parameters.tcp_mct = 1;
+		}
+	}
 	if (!comment_text)
 	{
 		parameters.cp_comment = "";
diff -urN -x '*.orig' -x '*.rej' -x '*~' -x '.*' -x 'i386-*' linden.orig/indra/newview/llcontroldef.cpp linden.patched/indra/newview/llcontroldef.cpp
--- linden.orig/indra/newview/llcontroldef.cpp	2007-07-16 01:20:22.000000000 -0500
+++ linden.patched/indra/newview/llcontroldef.cpp	2007-07-16 01:20:55.000000000 -0500
@@ -1317,6 +1317,8 @@
 	gSavedSettings.declareBOOL("FlycamAbsolute", FALSE, "Treat Flycam values as absolute positions (not deltas).");
 	gSavedSettings.declareBOOL("FlycamZoomDirect", FALSE, "Map flycam zoom axis directly to camera zoom."); 
 
+	gSavedSettings.declareBOOL("OpenJPEGEncodeLossless", FALSE, "Encode textures losslessly.");
+
 	//
 	// crash_settings.xml
 	//
