aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNigel Tao <nigeltao@golang.org>2011-05-18 10:56:20 -0700
committerNigel Tao <nigeltao@golang.org>2011-05-18 10:56:20 -0700
commit8e26a644caa8644d3c1e3794cbd6b3971f505544 (patch)
tree32b0177a77785bda98b8a5fc490512af34ac6a2e
parent9cd674be93a41be5f813eeb280afd1886a0c1999 (diff)
downloadgo-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.go9
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][:])
}
}