{
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);
{
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");
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
{
if(subsamp==TJSAMP_GRAY)
{
- dinfo->num_components=1;
+ dinfo->num_components=dinfo->comps_in_scan=1;
dinfo->jpeg_color_space=JCS_GRAYSCALE;
}
else
{
- dinfo->num_components=3;
+ dinfo->num_components=dinfo->comps_in_scan=3;
dinfo->jpeg_color_space=JCS_YCbCr;
}
(i==0)? 0:1;
dinfo->cur_comp_info[i]=compptr;
}
+ dinfo->data_precision=8;
+ for(i=0; i<2; i++)
+ {
+ if(dinfo->quant_tbl_ptrs[i]==NULL)
+ dinfo->quant_tbl_ptrs[i]=jpeg_alloc_quant_table((j_common_ptr)dinfo);
+ }
return 0;
}