diff options
author | dcommander <dcommander@632fc199-4ca6-4c93-a231-07263d6284db> | 2013-08-18 09:15:37 +0000 |
---|---|---|
committer | dcommander <dcommander@632fc199-4ca6-4c93-a231-07263d6284db> | 2013-08-18 09:15:37 +0000 |
commit | 2f614b52f875eb8c0128e1805dd517485bda1934 (patch) | |
tree | 6d128518f8b48fa47690f8c275e7d7375a892b34 | |
parent | f37fd40f9ce2f01c3decd0e9071791dd23c26390 (diff) |
Add note regarding the fact that 4:4:0 lacks full SIMD support; Add an option for benchmarking 4:4:0 subsampling in tjbench.
git-svn-id: svn://svn.code.sf.net/p/libjpeg-turbo/code/trunk@1009 632fc199-4ca6-4c93-a231-07263d6284db
-rw-r--r-- | doc/html/annotated.html | 2 | ||||
-rw-r--r-- | doc/html/classes.html | 2 | ||||
-rw-r--r-- | doc/html/functions.html | 2 | ||||
-rw-r--r-- | doc/html/functions_vars.html | 2 | ||||
-rw-r--r-- | doc/html/group___turbo_j_p_e_g.html | 4 | ||||
-rw-r--r-- | doc/html/index.html | 2 | ||||
-rw-r--r-- | doc/html/modules.html | 2 | ||||
-rw-r--r-- | doc/html/structtjregion.html | 2 | ||||
-rw-r--r-- | doc/html/structtjscalingfactor.html | 2 | ||||
-rw-r--r-- | doc/html/structtjtransform.html | 2 | ||||
-rw-r--r-- | tjbench.c | 8 | ||||
-rw-r--r-- | turbojpeg.h | 2 |
12 files changed, 18 insertions, 14 deletions
diff --git a/doc/html/annotated.html b/doc/html/annotated.html index 4c81fad..71f3746 100644 --- a/doc/html/annotated.html +++ b/doc/html/annotated.html @@ -95,7 +95,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); </div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> -Generated on Sun Aug 18 2013 03:40:14 for TurboJPEG by  <a href="http://www.doxygen.org/index.html"> +Generated on Sun Aug 18 2013 04:14:41 for TurboJPEG by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.3.1 </small></address> diff --git a/doc/html/classes.html b/doc/html/classes.html index 4494e96..4d0fc0b 100644 --- a/doc/html/classes.html +++ b/doc/html/classes.html @@ -97,7 +97,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); </div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> -Generated on Sun Aug 18 2013 03:40:14 for TurboJPEG by  <a href="http://www.doxygen.org/index.html"> +Generated on Sun Aug 18 2013 04:14:41 for TurboJPEG by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.3.1 </small></address> diff --git a/doc/html/functions.html b/doc/html/functions.html index 8b8af0a..015c728 100644 --- a/doc/html/functions.html +++ b/doc/html/functions.html @@ -125,7 +125,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); </div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> -Generated on Sun Aug 18 2013 03:40:14 for TurboJPEG by  <a href="http://www.doxygen.org/index.html"> +Generated on Sun Aug 18 2013 04:14:41 for TurboJPEG by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.3.1 </small></address> diff --git a/doc/html/functions_vars.html b/doc/html/functions_vars.html index b2a8b83..dd0ce39 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'); </div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> -Generated on Sun Aug 18 2013 03:40:14 for TurboJPEG by  <a href="http://www.doxygen.org/index.html"> +Generated on Sun Aug 18 2013 04:14:41 for TurboJPEG by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.3.1 </small></address> diff --git a/doc/html/group___turbo_j_p_e_g.html b/doc/html/group___turbo_j_p_e_g.html index 9c460bc..854f74d 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</h2></td></tr> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="gga1d047060ea80bb9820d540bb928e9074accf740e6f3aa6ba20ba922cad13cb974"></a>TJSAMP_440</em> </td><td class="fielddoc"> <p>4:4:0 chrominance subsampling. </p> -<p>The JPEG or YUV image will contain one chrominance component for every 1x2 block of pixels in the source image. </p> +<p>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. </p> </td></tr> </table> @@ -1694,7 +1694,7 @@ If you choose option 1, <code>dstSizes[i]</code> should be set to the size of yo </div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> -Generated on Sun Aug 18 2013 03:40:14 for TurboJPEG by  <a href="http://www.doxygen.org/index.html"> +Generated on Sun Aug 18 2013 04:14:41 for TurboJPEG by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.3.1 </small></address> diff --git a/doc/html/index.html b/doc/html/index.html index 4e1be5b..f208452 100644 --- a/doc/html/index.html +++ b/doc/html/index.html @@ -81,7 +81,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); </div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> -Generated on Sun Aug 18 2013 03:40:14 for TurboJPEG by  <a href="http://www.doxygen.org/index.html"> +Generated on Sun Aug 18 2013 04:14:41 for TurboJPEG by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.3.1 </small></address> diff --git a/doc/html/modules.html b/doc/html/modules.html index 0cdd27a..8cc38e5 100644 --- a/doc/html/modules.html +++ b/doc/html/modules.html @@ -86,7 +86,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); </div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> -Generated on Sun Aug 18 2013 03:40:14 for TurboJPEG by  <a href="http://www.doxygen.org/index.html"> +Generated on Sun Aug 18 2013 04:14:41 for TurboJPEG by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.3.1 </small></address> diff --git a/doc/html/structtjregion.html b/doc/html/structtjregion.html index dfb3e4a..6637fbb 100644 --- a/doc/html/structtjregion.html +++ b/doc/html/structtjregion.html @@ -177,7 +177,7 @@ Data Fields</h2></td></tr> </div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> -Generated on Sun Aug 18 2013 03:40:14 for TurboJPEG by  <a href="http://www.doxygen.org/index.html"> +Generated on Sun Aug 18 2013 04:14:41 for TurboJPEG by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.3.1 </small></address> diff --git a/doc/html/structtjscalingfactor.html b/doc/html/structtjscalingfactor.html index fba58ff..d44d336 100644 --- a/doc/html/structtjscalingfactor.html +++ b/doc/html/structtjscalingfactor.html @@ -139,7 +139,7 @@ Data Fields</h2></td></tr> </div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> -Generated on Sun Aug 18 2013 03:40:14 for TurboJPEG by  <a href="http://www.doxygen.org/index.html"> +Generated on Sun Aug 18 2013 04:14:41 for TurboJPEG by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.3.1 </small></address> diff --git a/doc/html/structtjtransform.html b/doc/html/structtjtransform.html index d28a1af..9cf6562 100644 --- a/doc/html/structtjtransform.html +++ b/doc/html/structtjtransform.html @@ -203,7 +203,7 @@ Data Fields</h2></td></tr> </div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> -Generated on Sun Aug 18 2013 03:40:14 for TurboJPEG by  <a href="http://www.doxygen.org/index.html"> +Generated on Sun Aug 18 2013 04:14:41 for TurboJPEG by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.3.1 </small></address> @@ -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 c7a29a0..3cd4a31 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 }; |