public Motion(Parameters p, Buffer[] bufs, Block[][] frames) { par = p; refs = frames; vecs = new Vector[par.x_num_blocks * par.y_num_blocks]; tmp_ref = new Block[refs.Length]; ar = new Arithmetic[9]; for(int i = 0; i < 9; i++) if(bufs[i] != null) ar[i] = new Arithmetic(bufs[i]); }
/** Picture: * @param b payload buffer * @param d decoder of the picture * * The b buffer should only point to the payload data section of * the picture (not the header). The only methods that would ever need * to be called are parse(), decode(), and getImage(). However, * one should check wether the error variable is set before and after * calling a method. One should not call them in any other order than that * just specified. Each can be called without arguments and should not be * called twice. */ public Picture(Buffer b, Decoder d) { num = b.GetInt(13); code = b.GetByte(4); buf = b; dec = d; par = new Parameters(code); coeffs = new SubBand[3][]; coeffs[0] = new SubBand[19]; coeffs[1] = new SubBand[19]; coeffs[2] = new SubBand[19]; motion_buffers = new Buffer[9]; status = Decoder.Status.NULL; }
public SubBand(Buffer b, int q, Parameters p) { par = p; qi = q; buf = b; }