	subroutine spedit(in,sp,st15)
c *** 11-Nov-87 *** with byte swap *** 22-Jan-01 ***
	integer in(1620),sp(2882),and,rshift,lshift
	logical st15
	la(k)=and(lshift(in(k),2),1020)+and(rshift(in(k),14),3)
	lb(k)=and(rshift(in(k),3),992)+and(rshift(in(k),19),31)
	lc(k)=and(rshift(in(k),8),768)+and(rshift(in(k),24),255)
	interp(k)=((sp(k-1)+sp(k+1))*4-sp(k-2)-sp(k+2)+3)/6
c
	j=3
	do 19 i=4,1620,18
	sp(j+1)=la(i)
	sp(j+2)=lb(i)
	sp(j+3)=lc(i)
	sp(j+4)=lb(i+1)
	sp(j+5)=la(i+2)
	sp(j+6)=lc(i+2)
	sp(j+7)=la(i+3)
	sp(j+8)=lb(i+3)
	sp(j+9)=lc(i+3)
	sp(j+10)=la(i+4)
	sp(j+11)=lb(i+4)
	sp(j+12)=la(i+5)
	sp(j+13)=lc(i+5)
	sp(j+14)=lb(i+6)
	sp(j+15)=lc(i+6)
	sp(j+16)=lb(i+7)
	sp(j+17)=la(i+8)
	sp(j+18)=lc(i+8)
	sp(j+19)=la(i+9)
	sp(j+20)=lc(i+9)
	sp(j+21)=lb(i+10)
	sp(j+23)=lb(i+11)
	sp(j+24)=lc(i+11)
	sp(j+25)=la(i+12)
	sp(j+26)=lb(i+12)
	sp(j+28)=la(i+13)
	sp(j+29)=lc(i+13)
	sp(j+30)=lb(i+14)
	sp(j+31)=lc(i+14)
	sp(j)=interp(j)
	if (st15) sp(j+11)=interp(j+11)
	sp(j+22)=interp(j+22)
	sp(j+27)=interp(j+27)
19	j=j+32
	sp(1)=sp(2881)
	sp(2)=sp(2882)
	return
	end

