aboutsummaryrefslogtreecommitdiff
path: root/tjunittest.c
diff options
context:
space:
mode:
authordcommander <dcommander@632fc199-4ca6-4c93-a231-07263d6284db>2014-03-10 09:34:04 +0000
committerdcommander <dcommander@632fc199-4ca6-4c93-a231-07263d6284db>2014-03-10 09:34:04 +0000
commite0d64ef9f4ec22364f73d242db86cb3667539db1 (patch)
tree0262aa455d011ad135001c56c1e54eb2d6a9d75a /tjunittest.c
parentabc1021f1f3e548f8d3602cbb64254ae7c729704 (diff)
When tjDecodeYUV() is used with a "fresh" decompressor instance (one that hasn't been previously used to decompress a JPEG image), then it needs comps_in_scan, data_precision, and the quantization tables to be defined. This patch also extends TJUnitTest to check for this error.
git-svn-id: svn://svn.code.sf.net/p/libjpeg-turbo/code/trunk@1143 632fc199-4ca6-4c93-a231-07263d6284db
Diffstat (limited to 'tjunittest.c')
-rw-r--r--tjunittest.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/tjunittest.c b/tjunittest.c
index 6920ea1..d2d3e98 100644
--- a/tjunittest.c
+++ b/tjunittest.c
@@ -414,14 +414,17 @@ void compTest(tjhandle handle, unsigned char **dstBuf,
{
unsigned long yuvSize=tjBufSizeYUV2(w, pad, h, subsamp);
tjscalingfactor sf={1, 1};
+ tjhandle handle2=tjInitCompress();
+ if(!handle2) _throwtj();
if((yuvBuf=(unsigned char *)malloc(yuvSize))==NULL)
_throw("Memory allocation failure");
memset(yuvBuf, 0, yuvSize);
printf("%s %s -> YUV %s ... ", pfStr, buStrLong, subNameLong[subsamp]);
- _tj(tjEncodeYUV3(handle, srcBuf, w, 0, h, pf, yuvBuf, pad, subsamp,
+ _tj(tjEncodeYUV3(handle2, srcBuf, w, 0, h, pf, yuvBuf, pad, subsamp,
flags));
+ tjDestroy(handle2);
snprintf(tempStr, 1024, "%s_enc_%s_%s_%s.yuv", basename, pfStr, buStr,
subName[subsamp]);
writeJPEG(yuvBuf, yuvSize, tempStr);
@@ -476,6 +479,8 @@ void _decompTest(tjhandle handle, unsigned char *jpegBuf,
{
unsigned long yuvSize=tjBufSizeYUV2(scaledWidth, pad, scaledHeight,
subsamp);
+ tjhandle handle2=tjInitDecompress();
+ if(!handle2) _throwtj();
if((yuvBuf=(unsigned char *)malloc(yuvSize))==NULL)
_throw("Memory allocation failure");
@@ -493,8 +498,9 @@ void _decompTest(tjhandle handle, unsigned char *jpegBuf,
printf("YUV %s -> %s %s ... ", subNameLong[subsamp], pixFormatStr[pf],
(flags&TJFLAG_BOTTOMUP)? "Bottom-Up":"Top-Down ");
- _tj(tjDecodeYUV(handle, yuvBuf, pad, subsamp, dstBuf, scaledWidth, 0,
+ _tj(tjDecodeYUV(handle2, yuvBuf, pad, subsamp, dstBuf, scaledWidth, 0,
scaledHeight, pf, flags));
+ tjDestroy(handle2);
}
else
{