TJ: Reorder functions to improve readability

Put all general functions at the top of the list, and ensure that all
functions are defined before they are mentioned.  Also consistify the
function ordering between turbojpeg.h and turbojpeg.c
This commit is contained in:
DRC
2024-09-03 08:59:37 -04:00
parent 843d04d9d4
commit f5f8f5aadc
3 changed files with 1067 additions and 1067 deletions

View File

@@ -271,27 +271,27 @@ Functions</h2></td></tr>
<tr class="memitem:ga69c09d39f97ec30250ad3605ace7e5df" id="r_ga69c09d39f97ec30250ad3605ace7e5df"><td class="memItemLeft" align="right" valign="top">DLLEXPORT <a class="el" href="group___turbo_j_p_e_g.html#ga758d2634ecb4949de7815cba621f5763">tjhandle</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___turbo_j_p_e_g.html#ga69c09d39f97ec30250ad3605ace7e5df">tj3Init</a> (int initType)</td></tr>
<tr class="memdesc:ga69c09d39f97ec30250ad3605ace7e5df"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a new TurboJPEG instance. <br /></td></tr>
<tr class="separator:ga69c09d39f97ec30250ad3605ace7e5df"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga53fbadf4560e95a65b8f5ab81703fe82" id="r_ga53fbadf4560e95a65b8f5ab81703fe82"><td class="memItemLeft" align="right" valign="top">DLLEXPORT void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___turbo_j_p_e_g.html#ga53fbadf4560e95a65b8f5ab81703fe82">tj3Destroy</a> (<a class="el" href="group___turbo_j_p_e_g.html#ga758d2634ecb4949de7815cba621f5763">tjhandle</a> handle)</td></tr>
<tr class="memdesc:ga53fbadf4560e95a65b8f5ab81703fe82"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destroy a TurboJPEG instance. <br /></td></tr>
<tr class="separator:ga53fbadf4560e95a65b8f5ab81703fe82"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5a23ad0776c5333cda0d7c6d826e9d29" id="r_ga5a23ad0776c5333cda0d7c6d826e9d29"><td class="memItemLeft" align="right" valign="top">DLLEXPORT char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___turbo_j_p_e_g.html#ga5a23ad0776c5333cda0d7c6d826e9d29">tj3GetErrorStr</a> (<a class="el" href="group___turbo_j_p_e_g.html#ga758d2634ecb4949de7815cba621f5763">tjhandle</a> handle)</td></tr>
<tr class="memdesc:ga5a23ad0776c5333cda0d7c6d826e9d29"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a descriptive error message explaining why the last command failed. <br /></td></tr>
<tr class="separator:ga5a23ad0776c5333cda0d7c6d826e9d29"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab8c8279f1415fe425ff30dbbc56013bd" id="r_gab8c8279f1415fe425ff30dbbc56013bd"><td class="memItemLeft" align="right" valign="top">DLLEXPORT int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___turbo_j_p_e_g.html#gab8c8279f1415fe425ff30dbbc56013bd">tj3GetErrorCode</a> (<a class="el" href="group___turbo_j_p_e_g.html#ga758d2634ecb4949de7815cba621f5763">tjhandle</a> handle)</td></tr>
<tr class="memdesc:gab8c8279f1415fe425ff30dbbc56013bd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a code indicating the severity of the last error. <br /></td></tr>
<tr class="separator:gab8c8279f1415fe425ff30dbbc56013bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaddf92640bfee3e8622218c713e77e7db" id="r_gaddf92640bfee3e8622218c713e77e7db"><td class="memItemLeft" align="right" valign="top">DLLEXPORT int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___turbo_j_p_e_g.html#gaddf92640bfee3e8622218c713e77e7db">tj3Set</a> (<a class="el" href="group___turbo_j_p_e_g.html#ga758d2634ecb4949de7815cba621f5763">tjhandle</a> handle, int param, int value)</td></tr>
<tr class="memdesc:gaddf92640bfee3e8622218c713e77e7db"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the value of a parameter. <br /></td></tr>
<tr class="separator:gaddf92640bfee3e8622218c713e77e7db"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga34af9ba3183bdf0ec7c8f47bb9a4c84f" id="r_ga34af9ba3183bdf0ec7c8f47bb9a4c84f"><td class="memItemLeft" align="right" valign="top">DLLEXPORT int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___turbo_j_p_e_g.html#ga34af9ba3183bdf0ec7c8f47bb9a4c84f">tj3Get</a> (<a class="el" href="group___turbo_j_p_e_g.html#ga758d2634ecb4949de7815cba621f5763">tjhandle</a> handle, int param)</td></tr>
<tr class="memdesc:ga34af9ba3183bdf0ec7c8f47bb9a4c84f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the value of a parameter. <br /></td></tr>
<tr class="separator:ga34af9ba3183bdf0ec7c8f47bb9a4c84f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2cc418a2dab709ad7f30f5b25905f138" id="r_ga2cc418a2dab709ad7f30f5b25905f138"><td class="memItemLeft" align="right" valign="top">DLLEXPORT int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___turbo_j_p_e_g.html#ga2cc418a2dab709ad7f30f5b25905f138">tj3Compress8</a> (<a class="el" href="group___turbo_j_p_e_g.html#ga758d2634ecb4949de7815cba621f5763">tjhandle</a> handle, const unsigned char *srcBuf, int width, int pitch, int height, int pixelFormat, unsigned char **jpegBuf, size_t *jpegSize)</td></tr>
<tr class="memdesc:ga2cc418a2dab709ad7f30f5b25905f138"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compress an 8-bit-per-sample packed-pixel RGB, grayscale, or CMYK image into an 8-bit-per-sample JPEG image. <br /></td></tr>
<tr class="separator:ga2cc418a2dab709ad7f30f5b25905f138"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9a1968c384ec7abb6122830253ebf570" id="r_ga9a1968c384ec7abb6122830253ebf570"><td class="memItemLeft" align="right" valign="top">DLLEXPORT int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___turbo_j_p_e_g.html#ga9a1968c384ec7abb6122830253ebf570">tj3Compress12</a> (<a class="el" href="group___turbo_j_p_e_g.html#ga758d2634ecb4949de7815cba621f5763">tjhandle</a> handle, const short *srcBuf, int width, int pitch, int height, int pixelFormat, unsigned char **jpegBuf, size_t *jpegSize)</td></tr>
<tr class="memdesc:ga9a1968c384ec7abb6122830253ebf570"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compress a 12-bit-per-sample packed-pixel RGB, grayscale, or CMYK image into a 12-bit-per-sample JPEG image. <br /></td></tr>
<tr class="separator:ga9a1968c384ec7abb6122830253ebf570"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga77901b71d0471784f318ada31ff4e7bd" id="r_ga77901b71d0471784f318ada31ff4e7bd"><td class="memItemLeft" align="right" valign="top">DLLEXPORT int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___turbo_j_p_e_g.html#ga77901b71d0471784f318ada31ff4e7bd">tj3Compress16</a> (<a class="el" href="group___turbo_j_p_e_g.html#ga758d2634ecb4949de7815cba621f5763">tjhandle</a> handle, const unsigned short *srcBuf, int width, int pitch, int height, int pixelFormat, unsigned char **jpegBuf, size_t *jpegSize)</td></tr>
<tr class="memdesc:ga77901b71d0471784f318ada31ff4e7bd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compress a 16-bit-per-sample packed-pixel RGB, grayscale, or CMYK image into a 16-bit-per-sample lossless JPEG image. <br /></td></tr>
<tr class="separator:ga77901b71d0471784f318ada31ff4e7bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga041c870d9c669eb3f385c78f4346c43f" id="r_ga041c870d9c669eb3f385c78f4346c43f"><td class="memItemLeft" align="right" valign="top">DLLEXPORT int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___turbo_j_p_e_g.html#ga041c870d9c669eb3f385c78f4346c43f">tj3CompressFromYUV8</a> (<a class="el" href="group___turbo_j_p_e_g.html#ga758d2634ecb4949de7815cba621f5763">tjhandle</a> handle, const unsigned char *srcBuf, int width, int align, int height, unsigned char **jpegBuf, size_t *jpegSize)</td></tr>
<tr class="memdesc:ga041c870d9c669eb3f385c78f4346c43f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compress an 8-bit-per-sample unified planar YUV image into an 8-bit-per-sample JPEG image. <br /></td></tr>
<tr class="separator:ga041c870d9c669eb3f385c78f4346c43f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac9f5ace3e73805b476c95dda9f8d0cd0" id="r_gac9f5ace3e73805b476c95dda9f8d0cd0"><td class="memItemLeft" align="right" valign="top">DLLEXPORT int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___turbo_j_p_e_g.html#gac9f5ace3e73805b476c95dda9f8d0cd0">tj3CompressFromYUVPlanes8</a> (<a class="el" href="group___turbo_j_p_e_g.html#ga758d2634ecb4949de7815cba621f5763">tjhandle</a> handle, const unsigned char *const *srcPlanes, int width, const int *strides, int height, unsigned char **jpegBuf, size_t *jpegSize)</td></tr>
<tr class="memdesc:gac9f5ace3e73805b476c95dda9f8d0cd0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compress a set of 8-bit-per-sample Y, U (Cb), and V (Cr) image planes into an 8-bit-per-sample JPEG image. <br /></td></tr>
<tr class="separator:gac9f5ace3e73805b476c95dda9f8d0cd0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1a2c96d8b47530b6e6050ba6f10b7c57" id="r_ga1a2c96d8b47530b6e6050ba6f10b7c57"><td class="memItemLeft" align="right" valign="top">DLLEXPORT void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___turbo_j_p_e_g.html#ga1a2c96d8b47530b6e6050ba6f10b7c57">tj3Alloc</a> (size_t bytes)</td></tr>
<tr class="memdesc:ga1a2c96d8b47530b6e6050ba6f10b7c57"><td class="mdescLeft">&#160;</td><td class="mdescRight">Allocate a byte buffer for use with TurboJPEG. <br /></td></tr>
<tr class="separator:ga1a2c96d8b47530b6e6050ba6f10b7c57"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaddb84fb6c81769e9faa0f5a63b296606" id="r_gaddb84fb6c81769e9faa0f5a63b296606"><td class="memItemLeft" align="right" valign="top">DLLEXPORT void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___turbo_j_p_e_g.html#gaddb84fb6c81769e9faa0f5a63b296606">tj3Free</a> (void *buffer)</td></tr>
<tr class="memdesc:gaddb84fb6c81769e9faa0f5a63b296606"><td class="mdescLeft">&#160;</td><td class="mdescRight">Free a byte buffer previously allocated by TurboJPEG. <br /></td></tr>
<tr class="separator:gaddb84fb6c81769e9faa0f5a63b296606"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac6285e58e35a35d871d7162ec5a929c4" id="r_gac6285e58e35a35d871d7162ec5a929c4"><td class="memItemLeft" align="right" valign="top">DLLEXPORT size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___turbo_j_p_e_g.html#gac6285e58e35a35d871d7162ec5a929c4">tj3JPEGBufSize</a> (int width, int height, int jpegSubsamp)</td></tr>
<tr class="memdesc:gac6285e58e35a35d871d7162ec5a929c4"><td class="mdescLeft">&#160;</td><td class="mdescRight">The maximum size of the buffer (in bytes) required to hold a JPEG image with the given parameters. <br /></td></tr>
<tr class="separator:gac6285e58e35a35d871d7162ec5a929c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -307,12 +307,27 @@ Functions</h2></td></tr>
<tr class="memitem:ga969767ec8180cc3edd99cf507f87299b" id="r_ga969767ec8180cc3edd99cf507f87299b"><td class="memItemLeft" align="right" valign="top">DLLEXPORT int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___turbo_j_p_e_g.html#ga969767ec8180cc3edd99cf507f87299b">tj3YUVPlaneHeight</a> (int componentID, int height, int subsamp)</td></tr>
<tr class="memdesc:ga969767ec8180cc3edd99cf507f87299b"><td class="mdescLeft">&#160;</td><td class="mdescRight">The plane height of a YUV image plane with the given parameters. <br /></td></tr>
<tr class="separator:ga969767ec8180cc3edd99cf507f87299b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2a8d50f130bde10f0a04030f8cc59936" id="r_ga2a8d50f130bde10f0a04030f8cc59936"><td class="memItemLeft" align="right" valign="top">DLLEXPORT int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___turbo_j_p_e_g.html#ga2a8d50f130bde10f0a04030f8cc59936">tj3EncodeYUV8</a> (<a class="el" href="group___turbo_j_p_e_g.html#ga758d2634ecb4949de7815cba621f5763">tjhandle</a> handle, const unsigned char *srcBuf, int width, int pitch, int height, int pixelFormat, unsigned char *dstBuf, int align)</td></tr>
<tr class="memdesc:ga2a8d50f130bde10f0a04030f8cc59936"><td class="mdescLeft">&#160;</td><td class="mdescRight">Encode an 8-bit-per-sample packed-pixel RGB or grayscale image into an 8-bit-per-sample unified planar YUV image. <br /></td></tr>
<tr class="separator:ga2a8d50f130bde10f0a04030f8cc59936"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2cc418a2dab709ad7f30f5b25905f138" id="r_ga2cc418a2dab709ad7f30f5b25905f138"><td class="memItemLeft" align="right" valign="top">DLLEXPORT int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___turbo_j_p_e_g.html#ga2cc418a2dab709ad7f30f5b25905f138">tj3Compress8</a> (<a class="el" href="group___turbo_j_p_e_g.html#ga758d2634ecb4949de7815cba621f5763">tjhandle</a> handle, const unsigned char *srcBuf, int width, int pitch, int height, int pixelFormat, unsigned char **jpegBuf, size_t *jpegSize)</td></tr>
<tr class="memdesc:ga2cc418a2dab709ad7f30f5b25905f138"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compress an 8-bit-per-sample packed-pixel RGB, grayscale, or CMYK image into an 8-bit-per-sample JPEG image. <br /></td></tr>
<tr class="separator:ga2cc418a2dab709ad7f30f5b25905f138"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9a1968c384ec7abb6122830253ebf570" id="r_ga9a1968c384ec7abb6122830253ebf570"><td class="memItemLeft" align="right" valign="top">DLLEXPORT int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___turbo_j_p_e_g.html#ga9a1968c384ec7abb6122830253ebf570">tj3Compress12</a> (<a class="el" href="group___turbo_j_p_e_g.html#ga758d2634ecb4949de7815cba621f5763">tjhandle</a> handle, const short *srcBuf, int width, int pitch, int height, int pixelFormat, unsigned char **jpegBuf, size_t *jpegSize)</td></tr>
<tr class="memdesc:ga9a1968c384ec7abb6122830253ebf570"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compress a 12-bit-per-sample packed-pixel RGB, grayscale, or CMYK image into a 12-bit-per-sample JPEG image. <br /></td></tr>
<tr class="separator:ga9a1968c384ec7abb6122830253ebf570"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga77901b71d0471784f318ada31ff4e7bd" id="r_ga77901b71d0471784f318ada31ff4e7bd"><td class="memItemLeft" align="right" valign="top">DLLEXPORT int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___turbo_j_p_e_g.html#ga77901b71d0471784f318ada31ff4e7bd">tj3Compress16</a> (<a class="el" href="group___turbo_j_p_e_g.html#ga758d2634ecb4949de7815cba621f5763">tjhandle</a> handle, const unsigned short *srcBuf, int width, int pitch, int height, int pixelFormat, unsigned char **jpegBuf, size_t *jpegSize)</td></tr>
<tr class="memdesc:ga77901b71d0471784f318ada31ff4e7bd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compress a 16-bit-per-sample packed-pixel RGB, grayscale, or CMYK image into a 16-bit-per-sample lossless JPEG image. <br /></td></tr>
<tr class="separator:ga77901b71d0471784f318ada31ff4e7bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac9f5ace3e73805b476c95dda9f8d0cd0" id="r_gac9f5ace3e73805b476c95dda9f8d0cd0"><td class="memItemLeft" align="right" valign="top">DLLEXPORT int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___turbo_j_p_e_g.html#gac9f5ace3e73805b476c95dda9f8d0cd0">tj3CompressFromYUVPlanes8</a> (<a class="el" href="group___turbo_j_p_e_g.html#ga758d2634ecb4949de7815cba621f5763">tjhandle</a> handle, const unsigned char *const *srcPlanes, int width, const int *strides, int height, unsigned char **jpegBuf, size_t *jpegSize)</td></tr>
<tr class="memdesc:gac9f5ace3e73805b476c95dda9f8d0cd0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compress a set of 8-bit-per-sample Y, U (Cb), and V (Cr) image planes into an 8-bit-per-sample JPEG image. <br /></td></tr>
<tr class="separator:gac9f5ace3e73805b476c95dda9f8d0cd0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga041c870d9c669eb3f385c78f4346c43f" id="r_ga041c870d9c669eb3f385c78f4346c43f"><td class="memItemLeft" align="right" valign="top">DLLEXPORT int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___turbo_j_p_e_g.html#ga041c870d9c669eb3f385c78f4346c43f">tj3CompressFromYUV8</a> (<a class="el" href="group___turbo_j_p_e_g.html#ga758d2634ecb4949de7815cba621f5763">tjhandle</a> handle, const unsigned char *srcBuf, int width, int align, int height, unsigned char **jpegBuf, size_t *jpegSize)</td></tr>
<tr class="memdesc:ga041c870d9c669eb3f385c78f4346c43f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compress an 8-bit-per-sample unified planar YUV image into an 8-bit-per-sample JPEG image. <br /></td></tr>
<tr class="separator:ga041c870d9c669eb3f385c78f4346c43f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae2e9df38790e9bddc249d04cb158a4cf" id="r_gae2e9df38790e9bddc249d04cb158a4cf"><td class="memItemLeft" align="right" valign="top">DLLEXPORT int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___turbo_j_p_e_g.html#gae2e9df38790e9bddc249d04cb158a4cf">tj3EncodeYUVPlanes8</a> (<a class="el" href="group___turbo_j_p_e_g.html#ga758d2634ecb4949de7815cba621f5763">tjhandle</a> handle, const unsigned char *srcBuf, int width, int pitch, int height, int pixelFormat, unsigned char **dstPlanes, int *strides)</td></tr>
<tr class="memdesc:gae2e9df38790e9bddc249d04cb158a4cf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Encode an 8-bit-per-sample packed-pixel RGB or grayscale image into separate 8-bit-per-sample Y, U (Cb), and V (Cr) image planes. <br /></td></tr>
<tr class="separator:gae2e9df38790e9bddc249d04cb158a4cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2a8d50f130bde10f0a04030f8cc59936" id="r_ga2a8d50f130bde10f0a04030f8cc59936"><td class="memItemLeft" align="right" valign="top">DLLEXPORT int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___turbo_j_p_e_g.html#ga2a8d50f130bde10f0a04030f8cc59936">tj3EncodeYUV8</a> (<a class="el" href="group___turbo_j_p_e_g.html#ga758d2634ecb4949de7815cba621f5763">tjhandle</a> handle, const unsigned char *srcBuf, int width, int pitch, int height, int pixelFormat, unsigned char *dstBuf, int align)</td></tr>
<tr class="memdesc:ga2a8d50f130bde10f0a04030f8cc59936"><td class="mdescLeft">&#160;</td><td class="mdescRight">Encode an 8-bit-per-sample packed-pixel RGB or grayscale image into an 8-bit-per-sample unified planar YUV image. <br /></td></tr>
<tr class="separator:ga2a8d50f130bde10f0a04030f8cc59936"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga96d2c4b3432f9d88ad14758ae240b8d1" id="r_ga96d2c4b3432f9d88ad14758ae240b8d1"><td class="memItemLeft" align="right" valign="top">DLLEXPORT int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___turbo_j_p_e_g.html#ga96d2c4b3432f9d88ad14758ae240b8d1">tj3DecompressHeader</a> (<a class="el" href="group___turbo_j_p_e_g.html#ga758d2634ecb4949de7815cba621f5763">tjhandle</a> handle, const unsigned char *jpegBuf, size_t jpegSize)</td></tr>
<tr class="memdesc:ga96d2c4b3432f9d88ad14758ae240b8d1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieve information about a JPEG image without decompressing it, or prime the decompressor with quantization and Huffman tables. <br /></td></tr>
<tr class="separator:ga96d2c4b3432f9d88ad14758ae240b8d1"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -334,27 +349,21 @@ Functions</h2></td></tr>
<tr class="memitem:gaa074e63f9beb0b3ff42b833a4049df6e" id="r_gaa074e63f9beb0b3ff42b833a4049df6e"><td class="memItemLeft" align="right" valign="top">DLLEXPORT int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___turbo_j_p_e_g.html#gaa074e63f9beb0b3ff42b833a4049df6e">tj3Decompress16</a> (<a class="el" href="group___turbo_j_p_e_g.html#ga758d2634ecb4949de7815cba621f5763">tjhandle</a> handle, const unsigned char *jpegBuf, size_t jpegSize, unsigned short *dstBuf, int pitch, int pixelFormat)</td></tr>
<tr class="memdesc:gaa074e63f9beb0b3ff42b833a4049df6e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Decompress a 16-bit-per-sample lossless JPEG image into a 16-bit-per-sample packed-pixel RGB, grayscale, or CMYK image. <br /></td></tr>
<tr class="separator:gaa074e63f9beb0b3ff42b833a4049df6e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1e6bf6a19fec3f9fa7534348879d8320" id="r_ga1e6bf6a19fec3f9fa7534348879d8320"><td class="memItemLeft" align="right" valign="top">DLLEXPORT int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___turbo_j_p_e_g.html#ga1e6bf6a19fec3f9fa7534348879d8320">tj3DecompressToYUV8</a> (<a class="el" href="group___turbo_j_p_e_g.html#ga758d2634ecb4949de7815cba621f5763">tjhandle</a> handle, const unsigned char *jpegBuf, size_t jpegSize, unsigned char *dstBuf, int align)</td></tr>
<tr class="memdesc:ga1e6bf6a19fec3f9fa7534348879d8320"><td class="mdescLeft">&#160;</td><td class="mdescRight">Decompress an 8-bit-per-sample JPEG image into an 8-bit-per-sample unified planar YUV image. <br /></td></tr>
<tr class="separator:ga1e6bf6a19fec3f9fa7534348879d8320"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga934373482dbbf257f2280505b6ff4fb5" id="r_ga934373482dbbf257f2280505b6ff4fb5"><td class="memItemLeft" align="right" valign="top">DLLEXPORT int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___turbo_j_p_e_g.html#ga934373482dbbf257f2280505b6ff4fb5">tj3DecompressToYUVPlanes8</a> (<a class="el" href="group___turbo_j_p_e_g.html#ga758d2634ecb4949de7815cba621f5763">tjhandle</a> handle, const unsigned char *jpegBuf, size_t jpegSize, unsigned char **dstPlanes, int *strides)</td></tr>
<tr class="memdesc:ga934373482dbbf257f2280505b6ff4fb5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Decompress an 8-bit-per-sample JPEG image into separate 8-bit-per-sample Y, U (Cb), and V (Cr) image planes. <br /></td></tr>
<tr class="separator:ga934373482dbbf257f2280505b6ff4fb5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa1eb574f38b1c1de43a6c7aafcf68d8c" id="r_gaa1eb574f38b1c1de43a6c7aafcf68d8c"><td class="memItemLeft" align="right" valign="top">DLLEXPORT int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___turbo_j_p_e_g.html#gaa1eb574f38b1c1de43a6c7aafcf68d8c">tj3DecodeYUV8</a> (<a class="el" href="group___turbo_j_p_e_g.html#ga758d2634ecb4949de7815cba621f5763">tjhandle</a> handle, const unsigned char *srcBuf, int align, unsigned char *dstBuf, int width, int pitch, int height, int pixelFormat)</td></tr>
<tr class="memdesc:gaa1eb574f38b1c1de43a6c7aafcf68d8c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Decode an 8-bit-per-sample unified planar YUV image into an 8-bit-per-sample packed-pixel RGB or grayscale image. <br /></td></tr>
<tr class="separator:gaa1eb574f38b1c1de43a6c7aafcf68d8c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1e6bf6a19fec3f9fa7534348879d8320" id="r_ga1e6bf6a19fec3f9fa7534348879d8320"><td class="memItemLeft" align="right" valign="top">DLLEXPORT int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___turbo_j_p_e_g.html#ga1e6bf6a19fec3f9fa7534348879d8320">tj3DecompressToYUV8</a> (<a class="el" href="group___turbo_j_p_e_g.html#ga758d2634ecb4949de7815cba621f5763">tjhandle</a> handle, const unsigned char *jpegBuf, size_t jpegSize, unsigned char *dstBuf, int align)</td></tr>
<tr class="memdesc:ga1e6bf6a19fec3f9fa7534348879d8320"><td class="mdescLeft">&#160;</td><td class="mdescRight">Decompress an 8-bit-per-sample JPEG image into an 8-bit-per-sample unified planar YUV image. <br /></td></tr>
<tr class="separator:ga1e6bf6a19fec3f9fa7534348879d8320"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad366f1915f82c1ad4e7e37ebe073ca89" id="r_gad366f1915f82c1ad4e7e37ebe073ca89"><td class="memItemLeft" align="right" valign="top">DLLEXPORT int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___turbo_j_p_e_g.html#gad366f1915f82c1ad4e7e37ebe073ca89">tj3DecodeYUVPlanes8</a> (<a class="el" href="group___turbo_j_p_e_g.html#ga758d2634ecb4949de7815cba621f5763">tjhandle</a> handle, const unsigned char *const *srcPlanes, const int *strides, unsigned char *dstBuf, int width, int pitch, int height, int pixelFormat)</td></tr>
<tr class="memdesc:gad366f1915f82c1ad4e7e37ebe073ca89"><td class="mdescLeft">&#160;</td><td class="mdescRight">Decode a set of 8-bit-per-sample Y, U (Cb), and V (Cr) image planes into an 8-bit-per-sample packed-pixel RGB or grayscale image. <br /></td></tr>
<tr class="separator:gad366f1915f82c1ad4e7e37ebe073ca89"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa1eb574f38b1c1de43a6c7aafcf68d8c" id="r_gaa1eb574f38b1c1de43a6c7aafcf68d8c"><td class="memItemLeft" align="right" valign="top">DLLEXPORT int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___turbo_j_p_e_g.html#gaa1eb574f38b1c1de43a6c7aafcf68d8c">tj3DecodeYUV8</a> (<a class="el" href="group___turbo_j_p_e_g.html#ga758d2634ecb4949de7815cba621f5763">tjhandle</a> handle, const unsigned char *srcBuf, int align, unsigned char *dstBuf, int width, int pitch, int height, int pixelFormat)</td></tr>
<tr class="memdesc:gaa1eb574f38b1c1de43a6c7aafcf68d8c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Decode an 8-bit-per-sample unified planar YUV image into an 8-bit-per-sample packed-pixel RGB or grayscale image. <br /></td></tr>
<tr class="separator:gaa1eb574f38b1c1de43a6c7aafcf68d8c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaff23ba1dcabed456794b844791613920" id="r_gaff23ba1dcabed456794b844791613920"><td class="memItemLeft" align="right" valign="top">DLLEXPORT int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___turbo_j_p_e_g.html#gaff23ba1dcabed456794b844791613920">tj3Transform</a> (<a class="el" href="group___turbo_j_p_e_g.html#ga758d2634ecb4949de7815cba621f5763">tjhandle</a> handle, const unsigned char *jpegBuf, size_t jpegSize, int n, unsigned char **dstBufs, size_t *dstSizes, const <a class="el" href="structtjtransform.html">tjtransform</a> *transforms)</td></tr>
<tr class="memdesc:gaff23ba1dcabed456794b844791613920"><td class="mdescLeft">&#160;</td><td class="mdescRight">Losslessly transform a JPEG image into another JPEG image. <br /></td></tr>
<tr class="separator:gaff23ba1dcabed456794b844791613920"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga53fbadf4560e95a65b8f5ab81703fe82" id="r_ga53fbadf4560e95a65b8f5ab81703fe82"><td class="memItemLeft" align="right" valign="top">DLLEXPORT void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___turbo_j_p_e_g.html#ga53fbadf4560e95a65b8f5ab81703fe82">tj3Destroy</a> (<a class="el" href="group___turbo_j_p_e_g.html#ga758d2634ecb4949de7815cba621f5763">tjhandle</a> handle)</td></tr>
<tr class="memdesc:ga53fbadf4560e95a65b8f5ab81703fe82"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destroy a TurboJPEG instance. <br /></td></tr>
<tr class="separator:ga53fbadf4560e95a65b8f5ab81703fe82"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1a2c96d8b47530b6e6050ba6f10b7c57" id="r_ga1a2c96d8b47530b6e6050ba6f10b7c57"><td class="memItemLeft" align="right" valign="top">DLLEXPORT void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___turbo_j_p_e_g.html#ga1a2c96d8b47530b6e6050ba6f10b7c57">tj3Alloc</a> (size_t bytes)</td></tr>
<tr class="memdesc:ga1a2c96d8b47530b6e6050ba6f10b7c57"><td class="mdescLeft">&#160;</td><td class="mdescRight">Allocate a byte buffer for use with TurboJPEG. <br /></td></tr>
<tr class="separator:ga1a2c96d8b47530b6e6050ba6f10b7c57"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga884023536e70985616126a073f662001" id="r_ga884023536e70985616126a073f662001"><td class="memItemLeft" align="right" valign="top">DLLEXPORT unsigned char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___turbo_j_p_e_g.html#ga884023536e70985616126a073f662001">tj3LoadImage8</a> (<a class="el" href="group___turbo_j_p_e_g.html#ga758d2634ecb4949de7815cba621f5763">tjhandle</a> handle, const char *filename, int *width, int align, int *height, int *pixelFormat)</td></tr>
<tr class="memdesc:ga884023536e70985616126a073f662001"><td class="mdescLeft">&#160;</td><td class="mdescRight">Load an 8-bit-per-sample packed-pixel image from disk into memory. <br /></td></tr>
<tr class="separator:ga884023536e70985616126a073f662001"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -373,15 +382,6 @@ Functions</h2></td></tr>
<tr class="memitem:ga0fd87851f4266aca24bf4594dd0c0e71" id="r_ga0fd87851f4266aca24bf4594dd0c0e71"><td class="memItemLeft" align="right" valign="top">DLLEXPORT int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___turbo_j_p_e_g.html#ga0fd87851f4266aca24bf4594dd0c0e71">tj3SaveImage16</a> (<a class="el" href="group___turbo_j_p_e_g.html#ga758d2634ecb4949de7815cba621f5763">tjhandle</a> handle, const char *filename, const unsigned short *buffer, int width, int pitch, int height, int pixelFormat)</td></tr>
<tr class="memdesc:ga0fd87851f4266aca24bf4594dd0c0e71"><td class="mdescLeft">&#160;</td><td class="mdescRight">Save a 16-bit-per-sample packed-pixel image from memory to disk. <br /></td></tr>
<tr class="separator:ga0fd87851f4266aca24bf4594dd0c0e71"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaddb84fb6c81769e9faa0f5a63b296606" id="r_gaddb84fb6c81769e9faa0f5a63b296606"><td class="memItemLeft" align="right" valign="top">DLLEXPORT void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___turbo_j_p_e_g.html#gaddb84fb6c81769e9faa0f5a63b296606">tj3Free</a> (void *buffer)</td></tr>
<tr class="memdesc:gaddb84fb6c81769e9faa0f5a63b296606"><td class="mdescLeft">&#160;</td><td class="mdescRight">Free a byte buffer previously allocated by TurboJPEG. <br /></td></tr>
<tr class="separator:gaddb84fb6c81769e9faa0f5a63b296606"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5a23ad0776c5333cda0d7c6d826e9d29" id="r_ga5a23ad0776c5333cda0d7c6d826e9d29"><td class="memItemLeft" align="right" valign="top">DLLEXPORT char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___turbo_j_p_e_g.html#ga5a23ad0776c5333cda0d7c6d826e9d29">tj3GetErrorStr</a> (<a class="el" href="group___turbo_j_p_e_g.html#ga758d2634ecb4949de7815cba621f5763">tjhandle</a> handle)</td></tr>
<tr class="memdesc:ga5a23ad0776c5333cda0d7c6d826e9d29"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a descriptive error message explaining why the last command failed. <br /></td></tr>
<tr class="separator:ga5a23ad0776c5333cda0d7c6d826e9d29"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab8c8279f1415fe425ff30dbbc56013bd" id="r_gab8c8279f1415fe425ff30dbbc56013bd"><td class="memItemLeft" align="right" valign="top">DLLEXPORT int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___turbo_j_p_e_g.html#gab8c8279f1415fe425ff30dbbc56013bd">tj3GetErrorCode</a> (<a class="el" href="group___turbo_j_p_e_g.html#ga758d2634ecb4949de7815cba621f5763">tjhandle</a> handle)</td></tr>
<tr class="memdesc:gab8c8279f1415fe425ff30dbbc56013bd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a code indicating the severity of the last error. <br /></td></tr>
<tr class="separator:gab8c8279f1415fe425ff30dbbc56013bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="var-members" name="var-members"></a>
Variables</h2></td></tr>