diff --git a/doc/html/annotated.html b/doc/html/annotated.html index 4c81fad9..71f3746c 100644 --- a/doc/html/annotated.html +++ b/doc/html/annotated.html @@ -95,7 +95,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
1.8.3.1
diff --git a/doc/html/classes.html b/doc/html/classes.html
index 4494e967..4d0fc0b6 100644
--- a/doc/html/classes.html
+++ b/doc/html/classes.html
@@ -97,7 +97,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
1.8.3.1
diff --git a/doc/html/functions.html b/doc/html/functions.html
index 8b8af0a1..015c7283 100644
--- a/doc/html/functions.html
+++ b/doc/html/functions.html
@@ -125,7 +125,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
1.8.3.1
diff --git a/doc/html/functions_vars.html b/doc/html/functions_vars.html
index b2a8b83a..dd0ce39b 100644
--- a/doc/html/functions_vars.html
+++ b/doc/html/functions_vars.html
@@ -125,7 +125,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
1.8.3.1
diff --git a/doc/html/group___turbo_j_p_e_g.html b/doc/html/group___turbo_j_p_e_g.html
index 9c460bc0..854f74df 100644
--- a/doc/html/group___turbo_j_p_e_g.html
+++ b/doc/html/group___turbo_j_p_e_g.html
@@ -704,7 +704,7 @@ Variables
4:4:0 chrominance subsampling.
-The JPEG or YUV image will contain one chrominance component for every 1x2 block of pixels in the source image.
+The JPEG or YUV image will contain one chrominance component for every 1x2 block of pixels in the source image. Note that 4:4:0 subsampling is not fully accelerated in the libjpeg-turbo implementation of TurboJPEG.
dstSizes[i] should be set to the size of yo
1.8.3.1
diff --git a/doc/html/index.html b/doc/html/index.html
index 4e1be5b5..f2084522 100644
--- a/doc/html/index.html
+++ b/doc/html/index.html
@@ -81,7 +81,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
1.8.3.1
diff --git a/doc/html/modules.html b/doc/html/modules.html
index 0cdd27a4..8cc38e5b 100644
--- a/doc/html/modules.html
+++ b/doc/html/modules.html
@@ -86,7 +86,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
1.8.3.1
diff --git a/doc/html/structtjregion.html b/doc/html/structtjregion.html
index dfb3e4a7..6637fbb1 100644
--- a/doc/html/structtjregion.html
+++ b/doc/html/structtjregion.html
@@ -177,7 +177,7 @@ Data Fields
1.8.3.1
diff --git a/doc/html/structtjscalingfactor.html b/doc/html/structtjscalingfactor.html
index fba58ff6..d44d3364 100644
--- a/doc/html/structtjscalingfactor.html
+++ b/doc/html/structtjscalingfactor.html
@@ -139,7 +139,7 @@ Data Fields
1.8.3.1
diff --git a/doc/html/structtjtransform.html b/doc/html/structtjtransform.html
index d28a1af2..9cf65622 100644
--- a/doc/html/structtjtransform.html
+++ b/doc/html/structtjtransform.html
@@ -203,7 +203,7 @@ Data Fields
1.8.3.1
diff --git a/tjbench.c b/tjbench.c
index 87b462f4..105a4cce 100644
--- a/tjbench.c
+++ b/tjbench.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C)2009-2012 D. R. Commander. All Rights Reserved.
+ * Copyright (C)2009-2013 D. R. Commander. All Rights Reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
@@ -686,6 +686,7 @@ void usage(char *progname)
printf(" codec\n");
printf("-accuratedct = Use the most accurate DCT/IDCT algorithms available in the\n");
printf(" underlying codec\n");
+ printf("-440 = Test 4:4:0 chrominance subsampling instead of 4:2:2\n");
printf("-quiet = Output results in tabular rather than verbose format\n");
printf("-yuvencode = Encode RGB input as planar YUV rather than compressing as JPEG\n");
printf("-yuvdecode = Decode JPEG image to planar YUV rather than RGB\n");
@@ -719,7 +720,7 @@ int main(int argc, char *argv[])
{
unsigned char *srcbuf=NULL; int w, h, i, j;
int minqual=-1, maxqual=-1; char *temp;
- int minarg=2; int retval=0;
+ int minarg=2, retval=0, do440=0;
if((scalingfactors=tjGetScalingFactors(&nsf))==NULL || nsf==0)
_throwtj("executing tjGetScalingFactors()");
@@ -810,6 +811,7 @@ int main(int argc, char *argv[])
printf("Using most accurate DCT/IDCT algorithm\n\n");
flags|=TJFLAG_ACCURATEDCT;
}
+ if(!strcmp(argv[i], "-440")) do440=1;
if(!strcasecmp(argv[i], "-rgb")) pf=TJPF_RGB;
if(!strcasecmp(argv[i], "-rgbx")) pf=TJPF_RGBX;
if(!strcasecmp(argv[i], "-bgr")) pf=TJPF_BGR;
@@ -902,7 +904,7 @@ int main(int argc, char *argv[])
dotest(srcbuf, w, h, TJ_420, i, argv[1]);
printf("\n");
for(i=maxqual; i>=minqual; i--)
- dotest(srcbuf, w, h, TJ_422, i, argv[1]);
+ dotest(srcbuf, w, h, do440? TJSAMP_440:TJ_422, i, argv[1]);
printf("\n");
for(i=maxqual; i>=minqual; i--)
dotest(srcbuf, w, h, TJ_444, i, argv[1]);
diff --git a/turbojpeg.h b/turbojpeg.h
index c7a29a03..3cd4a31e 100644
--- a/turbojpeg.h
+++ b/turbojpeg.h
@@ -85,6 +85,8 @@ enum TJSAMP
/**
* 4:4:0 chrominance subsampling. The JPEG or YUV image will contain one
* chrominance component for every 1x2 block of pixels in the source image.
+ * Note that 4:4:0 subsampling is not fully accelerated in the libjpeg-turbo
+ * implementation of TurboJPEG.
*/
TJSAMP_440
};