hi:
I have downloaded a c64x+ jpeg encode from
and i want to integrate this codec to code server on dm6467-t evm. but when the application in arm called the api of encode codec, it always failed. I am using dvsdk_3_10_00_11, codec_engine_2_25_01_06, cs2dm6467_1_00_00_03,xdais_6_25_01_08,framework_components_2_25_01_05,bios_5_41_00_06.
here is the application code:
Engine_Handle ce = NULL; IMGENC1_Handle enc = NULL; IMGENC1_Params params; IMGENC1_Status encStatus; IMGENC1_DynamicParams encDynParams; ce = Engine_open(engineName, NULL, NULL); params.size = sizeof(IMGENC1_Params); params.dataEndianness = XDM_BYTE; params.maxHeight = 720; //720 params.maxWidth = 480; //480 params.maxScans = 0; params.forceChromaFormat = 2; enc = IMGENC1_create(ce, encoderName, ¶ms); encDynParams.inputWidth = 720; encDynParams.inputHeight = 480; encDynParams.inputChromaFormat = 2; encDynParams.qValue = 86; encDynParams.numAU = 0; encDynParams.size = sizeof(IMGENC1_DynamicParams); encDynParams.numAU = 0; encDynParams.generateHeader = XDM_ENCODE_AU; encStatus.size = sizeof(IMGENC1_Status); //encStatus.data.buf = NULL; //encStatus.data.bufSize = 0; retval = IMGENC1_control(enc, XDM_SETPARAMS, &encDynParams, &encStatus);
when it run to
"retval = IMGENC1_control(enc, XDM_SETPARAMS, &encDynParams, &encStatus);" it always failed.it returned that:
CMEMK Error: get_phys: Unable to find phys addr for 0x46139f3a
CMEMK Error: get_phys: get_user_pages() failed: -14
CMEMK Error: GETPHYS: Failed to convert virtual 0x46139f3a to physical.
CMEM Error: getPhys: Failed to get physical address of 0x46139f3a
here is the cmem configuration in loadmodules.sh
CMEM_MODPARAMS="phys_start=0x87800000 phys_end=0x88000000 pools=20x4096,10x131072,2x1048576"
by pass
how did i caculate the number and size of buffer in the pool of cmem? i can not get more information from the c64x+ jpeg encode codes itself.