Lines Matching refs:state
211 while (iWrite<this->state.cxMax) /* max 1 time in reality */
213 while (iWrite<this->state.cxMax &&
214 this->state.iBulkReadPos<this->state.cchBulk)
215 this->state.ppchLines[0][iWrite++] += /* add! */
216 this->state.pchBuf[this->state.iBulkReadPos++]<<4;
217 if (iWrite<this->state.cxMax) /* we need an additional chunk */
219 if (this->state.bLastBulk)
221 this->state.cchBulk=BulkReadBuffer(this,this->state.pchBuf,
224 this->state.cchBulk, this->state.iLine);
226 fwrite(this->state.pchBuf,1,this->state.cchBulk,this->fhScan);
228 if (this->state.cchBulk!=USB_CHUNK_SIZE)
229 this->state.bLastBulk=true;
230 this->state.iBulkReadPos=0;
233 this->state.iLine++;
236 iRead<this->state.cxMax;
239 nInterpolator+=this->state.nFixAspect;
242 if (iWrite>=this->state.cchLineOut) continue;
245 this->state.pchLineOut[iWrite++]=
246 this->state.ppchLines[0][iRead]>>4;
251 chBit=(this->state.ppchLines[0][iRead]<LINE_THRESHOLD);
254 short nError=this->state.ppchLines[0][iRead];
270 this->state.ppchLines[0][iRead+1]+=(nError>>2); /* 8/16 */
271 this->state.ppchLines[1][iRead+1]+=(nError>>1);
272 this->state.ppchLines[1][iRead] +=(nError>>2); /* 8/16 */
274 this->state.ppchLines[0][iRead+1]+=(nError*5)>>4;
275 this->state.ppchLines[1][iRead+1]+=(nError*8)>>4;
276 this->state.ppchLines[1][iRead] +=(nError*3)>>4;
281 if (iDot==8 && iWrite<this->state.cchLineOut)
283 this->state.pchLineOut[iWrite++]=chBits;
288 if (iDot && iWrite<this->state.cchLineOut)
289 this->state.pchLineOut[iWrite++]=chBits;
292 short *p=this->state.ppchLines[0];
293 this->state.ppchLines[0]=this->state.ppchLines[1];
294 this->state.ppchLines[1]=p;
295 memset(this->state.ppchLines[1],0,(this->state.cxMax+1)*sizeof(short));
311 if (this->state.bScanning)
313 memset(&(this->state),0,sizeof(TScanState));
314 this->state.ReadProc =ReadNextGrayLine;
325 this->state.cyTotalPath = this->param.y/2;
326 DoJog(this,this->state.cyTotalPath);
328 this->state.cyTotalPath += this->param.cy/2; /* for jogging back */
338 RegWrite(this,R_SLEN, 2, this->state.cyWindow); INST_ASSERT();
339 RegWrite(this,R_SWID, 2, this->state.cxWindow); INST_ASSERT();
351 this->state.pchBuf=malloc(USB_CHUNK_SIZE);
352 this->state.cBacklog=2;
353 this->state.ppchLines=calloc(this->state.cBacklog,sizeof(short *));
354 if (!this->state.pchBuf || !this->state.ppchLines)
357 for (i=0; i<this->state.cBacklog; i++)
359 this->state.ppchLines[i]=calloc(this->state.cxMax+1,
361 if (!this->state.ppchLines[i])
368 this->state.cchLineOut=(this->mode==gray)
369 ? this->state.cxPixel
370 : (this->state.cxPixel+7)/8;
372 this->state.pchLineOut = malloc(this->state.cchLineOut);
373 if (!this->state.pchLineOut)
384 this->state.bScanning = true;