I have been trying to switch my combo server from using eval codecs to production ones. Some of them work without a problem. I am recompiling from scratch since simply dropping the production codecs into my current build setup does not work as many of the codecs included in the production package are a newer version than the ones included in the eval package.
For the most part I have no problem compiling the individual codecs with xdc. I can then use xs to generate unit servers for each codec. After assigning the algorithms code/datasections to DDR memory, I can compile the unit servers with xdc. I can also combine them into a combo server. Right now I am just using mpeg4enc, mpeg4dec, and jpegenc. Once I get these working I will add some more. The problem right now is with the jpegenc. The mpeg4enc works fine. When I run applicaiton that uses the jpegenc, it never returns from this function call: ret = IMGENC_control(jpegencodeState.pJpegencHandle->encHandle,XDM_SETPARAMS,&dynamicEncParams,&encStatus); The dynamic params are setup as follows: XDAS_Int32 ret; IIMGENC_Status encStatus; IIMGENC_DynamicParams dynamicEncParams; dynamicEncParams.size = sizeof(IIMGENC_DynamicParams); dynamicEncParams.numAU = XDM_DECODE_AU ; dynamicEncParams.inputChromaFormat = XDM_YUV_422ILE; dynamicEncParams.inputWidth = pJpegencHandle->captureWidth; dynamicEncParams.inputHeight = pJpegencHandle->captureHeight; dynamicEncParams.captureWidth = pJpegencHandle->captureWidth; dynamicEncParams.generateHeader = XDM_ENCODE_AU; dynamicEncParams.qValue = 73; encStatus.size = sizeof(IIMGENC_Status); Prior to this function call, the app calls IMGENC_create and it creates the algorithm successfully. And then continues until it gets to the above control call which it chokes on without giving me any usuable trace information. The CE_DEBUG info just stops. If I use the evaluation version of the codec, everything runs fine. The trace from the working one looks quite similar to the non-working one, with the only difference being the exact value of the params argument handed to the control function. Looking through the codec directories, the link.xdt file is very different between the two version. It should be noted that the eval jpegenc codec is v1.10 and the production version is v1.13. Also the JPEGENC.xdc file is a little bit different. The eval codec might put the datasection in L1DSRAM. If I try to do that in the production version it does not compile. Anything other than DDR2 stops the production version from compiling. The application code is based on the sample application from the eval version of the codec. My best guess is that something has changed in the api between versions and the XDC_SETPARAMS control function requires something different in the new version. Does anyone have any idea what the differences are between the versions? I imagine switching from eval to prod should be something that other people have done. Do you have any suggestions? Thanks, -mat
_______________________________________________ Davinci-linux-open-source mailing list [email protected] http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
