URL
https://opencores.org/ocsvn/djpeg/djpeg/trunk
Subversion Repositories djpeg
Compare Revisions
- This comparison shows the changes necessary to convert path
/djpeg/trunk/c_model
- from Rev 6 to Rev 9
- ↔ Reverse comparison
Rev 6 → Rev 9
/djpeg.c
78,7 → 78,7
|
////////////////////////////////////////////////////////////////////////////// |
void BmpSave(unsigned char *file,unsigned char *buff, |
unsigned int x,unsigned int y,unsigned int b){ |
unsigned int x,unsigned int y,unsigned int b){ |
BITMAPFILEHEADER lpBf; |
BITMAPINFOHEADER lpBi; |
unsigned char tbuff[4]; |
409,17 → 409,17
count ++; |
}else{ |
if(ZeroCount == 0x0 && DataCount == 0x0){ |
|
break; |
|
break; |
}else if(ZeroCount ==0xF && DataCount == 0x0){ |
|
count += 15; |
|
count += 15; |
}else{ |
count += ZeroCount; |
|
BlockData[zigzag_table[count]] = DataCode * TableDQT[tabledqt][count]; |
count ++; |
count += ZeroCount; |
|
BlockData[zigzag_table[count]] = DataCode * TableDQT[tabledqt][count]; |
} |
count ++; |
} |
} |
} |
661,8 → 661,8
rgb[i*3+2] = r; |
/* |
printf("[RGB]%3d: %3x,%3x,%3x = %2x,%2x,%2x\n",i, |
y[i]&0x1FF,cr[p]&0x1FF,cb[p]&0x1FF, |
rgb[i*3+2],rgb[i*3+1],rgb[i*3+0]); |
y[i]&0x1FF,cr[p]&0x1FF,cb[p]&0x1FF, |
rgb[i*3+2],rgb[i*3+1],rgb[i*3+0]); |
*/ |
} |
} |
680,16 → 680,16
|
|
for(i=0;i<256;i++){ |
if((x*16+(i%16)<BuffX) && (y*16+i/16<BuffY)){ |
p=y*16*BuffX*3+x*16*3+(int)(i/16)*BuffX*3+(i%16)*3; |
Buff[p+0] = rgb[i*3+0]; |
Buff[p+1] = rgb[i*3+1]; |
Buff[p+2] = rgb[i*3+2]; |
/* |
printf("RGB[%4d,%4d]: %2x,%2x,%2x\n",x*16+(i%16),y*16+i/16, |
rgb[i*3+2],rgb[i*3+1],rgb[i*3+0]); |
*/ |
} |
if((x*16+(i%16)<BuffX) && (y*16+i/16<BuffY)){ |
p=y*16*BuffX*3+x*16*3+(int)(i/16)*BuffX*3+(i%16)*3; |
Buff[p+0] = rgb[i*3+0]; |
Buff[p+1] = rgb[i*3+1]; |
Buff[p+2] = rgb[i*3+2]; |
/* |
printf("RGB[%4d,%4d]: %2x,%2x,%2x\n",x*16+(i%16),y*16+i/16, |
rgb[i*3+2],rgb[i*3+1],rgb[i*3+0]); |
*/ |
} |
} |
} |
} |
707,41 → 707,41
data = get_word(buff); |
switch(data){ |
case 0xFFD8: // SOI |
break; |
break; |
case 0xFFE0: // APP0 |
GetAPP0(buff); |
break; |
GetAPP0(buff); |
break; |
case 0xFFDB: // DQT |
GetDQT(buff); |
break; |
GetDQT(buff); |
break; |
case 0xFFC4: // DHT |
GetDHT(buff); |
break; |
GetDHT(buff); |
break; |
case 0xFFC0: // SOF |
GetSOF(buff); |
break; |
GetSOF(buff); |
break; |
case 0xFFDA: // SOS |
GetSOS(buff); |
Image = 1; |
|
PreData[0] = 0x00; |
PreData[1] = 0x00; |
PreData[2] = 0x00; |
LineData = get_data(buff); |
NextData = get_data(buff); |
BitCount =0; |
break; |
GetSOS(buff); |
Image = 1; |
|
PreData[0] = 0x00; |
PreData[1] = 0x00; |
PreData[2] = 0x00; |
LineData = get_data(buff); |
NextData = get_data(buff); |
BitCount =0; |
break; |
case 0xFFD9: // EOI |
break; |
break; |
default: |
|
if((data & 0xFF00) == 0xFF00 && !(data == 0xFF00)){ |
data = get_word(buff); |
for(i=0;i<data-2;i++){ |
get_byte(buff); |
} |
} |
break; |
|
if((data & 0xFF00) == 0xFF00 && !(data == 0xFF00)){ |
data = get_word(buff); |
for(i=0;i<data-2;i++){ |
get_byte(buff); |
} |
} |
break; |
} |
}else{ |
|