diff options
author | Nigel Tao <nigeltao@golang.org> | 2011-05-18 10:56:20 -0700 |
---|---|---|
committer | Nigel Tao <nigeltao@golang.org> | 2011-05-18 10:56:20 -0700 |
commit | 8e26a644caa8644d3c1e3794cbd6b3971f505544 (patch) | |
tree | 32b0177a77785bda98b8a5fc490512af34ac6a2e | |
parent | 9cd674be93a41be5f813eeb280afd1886a0c1999 (diff) | |
download | go-8e26a644caa8644d3c1e3794cbd6b3971f505544.tar.gz go-8e26a644caa8644d3c1e3794cbd6b3971f505544.zip |
image/jpeg: make writeDQT do fewer array copies.
R=rsc, r
CC=golang-dev
https://golang.org/cl/4536069
-rw-r--r-- | src/pkg/image/jpeg/writer.go | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/src/pkg/image/jpeg/writer.go b/src/pkg/image/jpeg/writer.go index 4a861b3951..c23372f0ec 100644 --- a/src/pkg/image/jpeg/writer.go +++ b/src/pkg/image/jpeg/writer.go @@ -302,14 +302,11 @@ func (e *encoder) writeMarkerHeader(marker uint8, markerlen int) { // writeDQT writes the Define Quantization Table marker. func (e *encoder) writeDQT() { - markerlen := 2 - for _, q := range e.quant { - markerlen += 1 + len(q) - } + markerlen := 2 + int(nQuantIndex)*(1+blockSize) e.writeMarkerHeader(dqtMarker, markerlen) - for i, q := range e.quant { + for i := range e.quant { e.writeByte(uint8(i)) - e.write(q[:]) + e.write(e.quant[i][:]) } } |