@@ -143,9 +143,7 @@ var chm_ac_symbols = []byte{
143143
144144func MakeHeaders (p []byte , t byte , w , h uint16 , lqt , cqt []byte ) []byte {
145145 // Appendix A from https://www.rfc-editor.org/rfc/rfc2435
146- p = append (p , 0xFF ,
147- 0xD8 , // SOI
148- )
146+ p = append (p , 0xFF , markerSOI )
149147
150148 p = MakeQuantHeader (p , lqt , 0 )
151149 p = MakeQuantHeader (p , cqt , 1 )
@@ -156,8 +154,7 @@ func MakeHeaders(p []byte, t byte, w, h uint16, lqt, cqt []byte) []byte {
156154 t = 0x22 // hsamp = 2, vsamp = 2
157155 }
158156
159- p = append (p , 0xFF ,
160- 0xC0 , // SOF
157+ p = append (p , 0xFF , markerSOF ,
161158 0 , 17 , // size
162159 8 , // bits per component
163160 byte (h >> 8 ), byte (h & 0xFF ),
@@ -174,13 +171,9 @@ func MakeHeaders(p []byte, t byte, w, h uint16, lqt, cqt []byte) []byte {
174171 1 , // quant table 1
175172 )
176173
177- p = MakeHuffmanHeader (p , lum_dc_codelens , lum_dc_symbols , 0 , 0 )
178- p = MakeHuffmanHeader (p , lum_ac_codelens , lum_ac_symbols , 0 , 1 )
179- p = MakeHuffmanHeader (p , chm_dc_codelens , chm_dc_symbols , 1 , 0 )
180- p = MakeHuffmanHeader (p , chm_ac_codelens , chm_ac_symbols , 1 , 1 )
174+ p = MakeHuffmanHeaders (p )
181175
182- return append (p , 0xFF ,
183- 0xDA , // SOS
176+ return append (p , 0xFF , markerSOS ,
184177 0 , 12 , // size
185178 3 , // 3 components
186179 0 , // comp 0
@@ -196,16 +189,23 @@ func MakeHeaders(p []byte, t byte, w, h uint16, lqt, cqt []byte) []byte {
196189}
197190
198191func MakeQuantHeader (p []byte , qt []byte , tableNo byte ) []byte {
199- p = append (p , 0xFF , 0xDB , 0 , 67 , tableNo )
192+ p = append (p , 0xFF , markerDQT , 0 , 67 , tableNo )
200193 return append (p , qt ... )
201194}
202195
203196func MakeHuffmanHeader (p , codelens , symbols []byte , tableNo , tableClass byte ) []byte {
204- p = append (p ,
205- 0xFF , 0xC4 , 0 ,
206- byte (3 + len (codelens )+ len (symbols )),
197+ p = append (p , 0xFF , markerDHT ,
198+ 0 , byte (3 + len (codelens )+ len (symbols )), // size
207199 (tableClass << 4 )| tableNo ,
208200 )
209201 p = append (p , codelens ... )
210202 return append (p , symbols ... )
211203}
204+
205+ func MakeHuffmanHeaders (p []byte ) []byte {
206+ p = MakeHuffmanHeader (p , lum_dc_codelens , lum_dc_symbols , 0 , 0 )
207+ p = MakeHuffmanHeader (p , lum_ac_codelens , lum_ac_symbols , 0 , 1 )
208+ p = MakeHuffmanHeader (p , chm_dc_codelens , chm_dc_symbols , 1 , 0 )
209+ p = MakeHuffmanHeader (p , chm_ac_codelens , chm_ac_symbols , 1 , 1 )
210+ return p
211+ }
0 commit comments