diff -urN -x '*.orig' -x '*.rej' -x '*~' -x '.*' -x '*.pyc' -x '*-bin' -x 'i386-*' -x 'x86_64-*' linden.orig/indra/llimagej2coj/llimagej2coj.cpp linden.patched/indra/llimagej2coj/llimagej2coj.cpp
--- linden.orig/indra/llimagej2coj/llimagej2coj.cpp	2007-11-07 20:18:06.000000000 -0600
+++ linden.patched/indra/llimagej2coj/llimagej2coj.cpp	2007-11-14 17:29:34.000000000 -0600
@@ -219,10 +219,30 @@
 
 	/* 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 (reversible)
+	{
+		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 = "";
