func div(a, b int32) int32 { … }
var bitCount …
type quantIndex …
const quantIndexLuminance …
const quantIndexChrominance …
const nQuantIndex …
var unscaledQuant …
type huffIndex …
const huffIndexLuminanceDC …
const huffIndexLuminanceAC …
const huffIndexChrominanceDC …
const huffIndexChrominanceAC …
const nHuffIndex …
type huffmanSpec …
var theHuffmanSpec …
type huffmanLUT …
func (h *huffmanLUT) init(s huffmanSpec) { … }
var theHuffmanLUT …
func init() { … }
type writer …
type encoder …
func (e *encoder) flush() { … }
func (e *encoder) write(p []byte) { … }
func (e *encoder) writeByte(b byte) { … }
func (e *encoder) emit(bits, nBits uint32) { … }
func (e *encoder) emitHuff(h huffIndex, value int32) { … }
func (e *encoder) emitHuffRLE(h huffIndex, runLength, value int32) { … }
func (e *encoder) writeMarkerHeader(marker uint8, markerlen int) { … }
func (e *encoder) writeDQT() { … }
func (e *encoder) writeSOF0(size image.Point, nComponent int) { … }
func (e *encoder) writeDHT(nComponent int) { … }
func (e *encoder) writeBlock(b *block, q quantIndex, prevDC int32) int32 { … }
func toYCbCr(m image.Image, p image.Point, yBlock, cbBlock, crBlock *block) { … }
func grayToY(m *image.Gray, p image.Point, yBlock *block) { … }
func rgbaToYCbCr(m *image.RGBA, p image.Point, yBlock, cbBlock, crBlock *block) { … }
func yCbCrToYCbCr(m *image.YCbCr, p image.Point, yBlock, cbBlock, crBlock *block) { … }
func scale(dst *block, src *[4]block) { … }
var sosHeaderY …
var sosHeaderYCbCr …
func (e *encoder) writeSOS(m image.Image) { … }
const DefaultQuality …
type Options …
func Encode(w io.Writer, m image.Image, o *Options) error { … }