我正在尝试从头开始制作JPEG解码器,首先关注基于顺序DCT的Huffman解码(我希望这是正确的术语)。 JPEG文件是8位灰度文件。直流系数与表K.3中标准规定的系数相同,交流系数与表K.5中规定的系数相同。在可变长度解码期间,解码AC值时遇到麻烦。比特流(从扫描开始开始)如下:
1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 0 1 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 1 0 0 0 1 0 1 0
我能够对数据进行解码,直到在DECODE过程中达到粗体的两位为止。在此过程中(使用标准术语,图F.16),我得到Code = 0, VALPTR[2] = 0, MINCODE[2] = 0
,尝试进行以下操作:VALUE = HUFFVAL[0]
,超出HUFFVAL的范围。作为参考,我计算出的VALPTR为
[-1,0,2,3,6,9,11,15,15,23,28,32,-1,-1,36,37]
我计算出的MINCODE是
[-1,0,4,10,26,58,120,248,502,1014,2038,4084,-1,-1,8176,16354]。
我的解码值一直到黑体字如下:
-64,0,-1,-1,-2,-1
有人知道我要去哪里吗?