{
JQUANT_TBL *qtbl;
jpeg_component_info *compptr;
- int i,j;
+ int i,j, cadd, toregister;
int qtbl_no[3];
if((cinfo->in_yccrgbs = fopen("in_yccrgbs.txt", "w"))==NULL){
fprintf(stderr,"in_qtbl.txt File open error!\n");
exit(1);
}
+ if((cinfo->out_huff = fopen("out_huff.txt", "w"))==NULL){
+ fprintf(stderr,"out_huff.txt File open error!\n");
+ exit(1);
+ }
+ if((cinfo->in_dccache = fopen("in_dccache.txt", "w"))==NULL){
+ fprintf(stderr,"in_dccache.txt File open error!\n");
+ exit(1);
+ }
+ if((cinfo->in_accache = fopen("in_accache.txt", "w"))==NULL){
+ fprintf(stderr,"in_accache.txt File open error!\n");
+ exit(1);
+ }
+ if((cinfo->in_maxcode = fopen("in_maxcode.txt", "w"))==NULL){
+ fprintf(stderr,"in_maxcode.txt File open error!\n");
+ exit(1);
+ }
+ if((cinfo->in_valoffs = fopen("in_valoffs.txt", "w"))==NULL){
+ fprintf(stderr,"in_valoffs.txt File open error!\n");
+ exit(1);
+ }
+ if((cinfo->in_huffval = fopen("in_huffval.txt", "w"))==NULL){
+ fprintf(stderr,"in_huffval.txt File open error!\n");
+ exit(1);
+ }
compptr = cinfo->comp_info;
for(j=0;j<3;j++,compptr++){
fprintf(cinfo->in_qtbl,"%02x\n",(int)qtbl->quantval[i]);
}
}
-
-
-
+ /* output test pattern for huffman decoder */
+
+ printf("HardWare 8bit cache\n");
+ for(j=0;j<2;j++){
+ printf("DCcache id = %d\n", j);
+ for(i=0;i<512;i++){
+ // printf("address=%x, nbits=%d, sym=%x\n", i, cinfo->harddc8nbits[j][i], cinfo->harddc8sym[j][i]);
+ toregister = ((cinfo->harddc8nbits[j][i] & 0x0000000f)<<4) | (cinfo->harddc8sym[j][i] & 0x0000000f);
+ cadd = (j << 9) | i;
+ fprintf(cinfo->in_dccache,"%08X %08X\n",cadd,toregister);
+ }
+ }
+ for(j=0;j<2;j++){
+ printf("ACcache id = %d\n", j);
+ for(i=0;i<512;i++){
+ // printf("address=%x, nbits=%d, sym=%x\n", i, cinfo->hardac8nbits[j][i], cinfo->hardac8sym[j][i]);
+ toregister = ((cinfo->hardac8nbits[j][i] & 0x0000000f)<<8) | (cinfo->hardac8sym[j][i] & 0x000000ff);
+ cadd = (j<<9)| i;
+ fprintf(cinfo->in_accache,"%08X %08X\n",cadd,toregister);
+ }
+ }
+ printf("maxcodemem\n");
+ for(i=0;i<4;i++){
+ for(j=0;j<18;j++){
+ fprintf(cinfo->in_maxcode,"%08X %08X\n", j+i*32, cinfo->maxcodemem[i][j]);
+ }
+ }
+ printf("valoffset\n");
+ for(i=0;i<4;i++){
+ for(j=0;j<18;j++){
+ // printf("%x %x(%d)\n", j+i*32, cinfo->offsetmem[i][j], cinfo->offsetmem[i][j]);
+ fprintf(cinfo->in_valoffs,"%08X %08X\n", j+i*32, cinfo->offsetmem[i][j]);
+ }
+ }
+ printf("huffvalmem\n");
+ for(i=0;i<4;i++){
+ // printf("i=%d\n",i);
+ for(j=0;j<256;j++){
+ // printf("%x %x(%d)\n",j+i*256, cinfo->huffvalmem[i][j], cinfo->huffvalmem[i][j]);
+ fprintf(cinfo->in_huffval,"%08X %08X\n",j+i*256, cinfo->huffvalmem[i][j]);
+ }
+ }
}