[Pkg-javascript-commits] [pdf.js] 18/207: Optimized loops in JPG conversion.

David Prévot taffit at moszumanska.debian.org
Mon Jul 28 15:36:24 UTC 2014


This is an automated email from the git hooks/post-receive script.

taffit pushed a commit to branch master
in repository pdf.js.

commit dcde59fa76d010cf1d59091304ef8f07c7bd3c3e
Author: Fabian Lange <lange.fabian at gmail.com>
Date:   Wed Jun 4 10:02:47 2014 +0200

    Optimized loops in JPG conversion.
    
    This change makes the 4 conversion loops look the same.
    It optimizes access of the array length and access of the property
    numComponents, which is known to be constant.
---
 src/core/jpg.js | 17 ++++++++---------
 1 file changed, 8 insertions(+), 9 deletions(-)

diff --git a/src/core/jpg.js b/src/core/jpg.js
index cb61a23..364037e 100644
--- a/src/core/jpg.js
+++ b/src/core/jpg.js
@@ -861,7 +861,7 @@ var JpegImage = (function jpegImage() {
 
     _convertYccToRgb: function convertYccToRgb(data) {
       var Y, Cb, Cr;
-      for (var i = 0; i < data.length; i += this.numComponents) {
+      for (var i = 0, length = data.length; i < length; i += 3) {
         Y  = data[i    ];
         Cb = data[i + 1];
         Cr = data[i + 2];
@@ -875,7 +875,7 @@ var JpegImage = (function jpegImage() {
     _convertYcckToRgb: function convertYcckToRgb(data) {
       var Y, Cb, Cr, k, CbCb, CbCr, CbY, Cbk, CrCr, Crk, CrY, YY, Yk, kk;
       var offset = 0;
-      for (var i = 0; i < data.length; i += this.numComponents) {
+      for (var i = 0, length = data.length; i < length; i += 4) {
         Y  = data[i];
         Cb = data[i + 1];
         Cr = data[i + 2];
@@ -928,7 +928,7 @@ var JpegImage = (function jpegImage() {
 
     _convertYcckToCmyk: function convertYcckToCmyk(data) {
       var Y, Cb, Cr;
-      for (var i = 0; i < data.length; i += this.numComponents) {
+      for (var i = 0, length = data.length; i < length; i += 4) {
         Y  = data[i];
         Cb = data[i + 1];
         Cr = data[i + 2];
@@ -943,14 +943,13 @@ var JpegImage = (function jpegImage() {
     _convertCmykToRgb: function convertCmykToRgb(data) {
       var c, m, y, k;
       var offset = 0;
-      var length = data.length;
       var min = -255 * 255 * 255;
       var scale = 1 / 255 / 255;
-      for (var i = 0; i < length;) {
-        c = data[i++];
-        m = data[i++];
-        y = data[i++];
-        k = data[i++];
+      for (var i = 0, length = data.length; i < length; i += 4) {
+        c = data[i];
+        m = data[i + 1];
+        y = data[i + 2];
+        k = data[i + 3];
 
         var r =
           c * (-4.387332384609988 * c + 54.48615194189176 * m +

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-javascript/pdf.js.git



More information about the Pkg-javascript-commits mailing list