--- jpc_qmfb.c	2004-02-09 02:34:40.000000000 +0100
+++ jpc_qmfb.c.snow	2005-11-27 14:01:48.000000000 +0100
@@ -750,6 +751,28 @@
 		if (!(lf = jas_seq_create(-3, 4))) {
 			goto error;
 		}
+#define SNOW 1
+#ifdef SNOW
+		jas_seq_set(lf, -3, jpc_dbltofix(-0.075000*1.25));
+		jas_seq_set(lf, -2, jpc_dbltofix(-0.050000*1.25));
+		jas_seq_set(lf, -1, jpc_dbltofix( 0.475000*1.25));
+		jas_seq_set(lf, 0, jpc_dbltofix(  0.900000*1.25));
+		jas_seq_set(lf, 1, jpc_dbltofix(  0.475000*1.25));
+		jas_seq_set(lf, 2, jpc_dbltofix( -0.050000*1.25));
+		jas_seq_set(lf, 3, jpc_dbltofix( -0.075000*1.25));
+		if (!(hf = jas_seq_create(-3, 6))) {
+			goto error;
+		}
+		jas_seq_set(hf, -3, jpc_dbltofix(-0.035156*1.6));
+		jas_seq_set(hf, -2, jpc_dbltofix(-0.023438*1.6));
+		jas_seq_set(hf, -1, jpc_dbltofix( 0.093750*1.6));
+		jas_seq_set(hf, 0, jpc_dbltofix(  0.335938*1.6));
+		jas_seq_set(hf, 1, jpc_dbltofix( -0.742188*1.6));
+		jas_seq_set(hf, 2, jpc_dbltofix(  0.335938*1.6));
+		jas_seq_set(hf, 3, jpc_dbltofix(  0.093750*1.6));
+		jas_seq_set(hf, 4, jpc_dbltofix( -0.023438*1.6));
+		jas_seq_set(hf, 5, jpc_dbltofix( -0.035156*1.6));
+#else
 		jas_seq_set(lf, -3, jpc_dbltofix(-0.09127176311424948));
 		jas_seq_set(lf, -2, jpc_dbltofix(-0.05754352622849957));
 		jas_seq_set(lf, -1, jpc_dbltofix(0.5912717631142470));
@@ -769,6 +792,7 @@
 		jas_seq_set(hf, 3, jpc_dbltofix(0.07822326652898785 * 2.0));
 		jas_seq_set(hf, 4, jpc_dbltofix(-0.01686411844287495 * 2.0));
 		jas_seq_set(hf, 5, jpc_dbltofix(-0.02674875741080976 * 2.0));
+#endif
 	} else if (len == 1) {
 		if (!(lf = jas_seq_create(0, 1))) {
 			goto error;
@@ -899,6 +923,24 @@
 				jpc_qmfb1d_split(startptr, startind, endind,
 				  intrastep, lstartptr, lstartind, lendind,
 				  hstartptr, hstartind, hendind);
+#ifdef SNOW
+				NNS_LIFT0(lstartptr, lstartind, lendind,
+				  hstartptr, hstartind, hendind, intrastep,
+				  jpc_dbltofix(-1.5));
+				NNS_LIFT1(lstartptr, lstartind, lendind,
+				  hstartptr, hstartind, hendind, intrastep,
+				  jpc_dbltofix(-0.0625));
+				NNS_LIFT0(lstartptr, lstartind, lendind,
+				  hstartptr, hstartind, hendind, intrastep,
+				  jpc_dbltofix(0.8));
+				NNS_LIFT1(lstartptr, lstartind, lendind,
+				  hstartptr, hstartind, hendind, intrastep,
+				  jpc_dbltofix(0.46875));
+				NNS_SCALE(lstartptr, lstartind, lendind,
+				  intrastep, jpc_dbltofix(1.0/1.25));
+				NNS_SCALE(hstartptr, hstartind, hendind,
+				  intrastep, jpc_dbltofix(1.0/1.6));
+#else
 				NNS_LIFT0(lstartptr, lstartind, lendind,
 				  hstartptr, hstartind, hendind, intrastep,
 				  jpc_dbltofix(-1.586134342));
@@ -915,6 +957,7 @@
 				  intrastep, jpc_dbltofix(1.0/1.23017410558578));
 				NNS_SCALE(hstartptr, hstartind, hendind,
 				  intrastep, jpc_dbltofix(1.0/1.62578613134411));
+#endif
 			} else {
 #if 0
 				if (lstartind == lendind) {
@@ -972,6 +1015,24 @@
 			  &lstartptr, &lstartind, &lendind, &hstartptr,
 			  &hstartind, &hendind);
 			if (endind - startind > 1) {
+#ifdef SNOW
+				NNS_SCALE(lstartptr, lstartind, lendind,
+				  intrastep, jpc_dbltofix(1.25));
+				NNS_SCALE(hstartptr, hstartind, hendind,
+				  intrastep, jpc_dbltofix(1.6));
+				NNS_LIFT1(lstartptr, lstartind, lendind,
+				  hstartptr, hstartind, hendind, intrastep,
+				  jpc_dbltofix(-0.46875));
+				NNS_LIFT0(lstartptr, lstartind, lendind,
+				  hstartptr, hstartind, hendind, intrastep,
+				  jpc_dbltofix(-0.8));
+				NNS_LIFT1(lstartptr, lstartind, lendind,
+				  hstartptr, hstartind, hendind, intrastep,
+				  jpc_dbltofix(0.0625));
+				NNS_LIFT0(lstartptr, lstartind, lendind,
+				  hstartptr, hstartind, hendind, intrastep,
+				  jpc_dbltofix(1.5));
+#else
 				NNS_SCALE(lstartptr, lstartind, lendind,
 				  intrastep, jpc_dbltofix(1.23017410558578));
 				NNS_SCALE(hstartptr, hstartind, hendind,
@@ -988,6 +1049,7 @@
 				NNS_LIFT0(lstartptr, lstartind, lendind,
 				  hstartptr, hstartind, hendind, intrastep,
 				  jpc_dbltofix(1.586134342));
+#endif
 				jpc_qmfb1d_join(startptr, startind, endind,
 				  intrastep, lstartptr, lstartind, lendind,
 				  hstartptr, hstartind, hendind);
