Frank,

To eliminate param setting issue, I would suggest trying the following 
parameters while creating the JPEG encoder instance?
IMGENC1_Params.maxHeight = 480
IMGENC1_Params.maxWidth = 720
IMGENC1_Params.maxScans = 0
IMGENC1_Params.dataEndianness = 1
IMGENC1_Params.forceChromaFormat = 2

Also, for H.264 encoder, can you try setting the following parameters while 
creating the instance?
VIDENC1_Params.encodingPreset = 0
VIDENC1_Params.rateControlPreset = 1
VIDENC1_Params.maxHeight = 480
VIDENC1_Params.maxWidth = 720
VIDENC1_Params.maxFrameRate = 30000
VIDENC1_Params.maxBitRate = 2000000
VIDENC1_Params.dataEndianness = 1
VIDENC1_Params.maxInterFrameInterval = 0
VIDENC1_Params.inputChromaFormat = 1
VIDENC1_Params.inputContentType = 0
VIDENC1_Params.reconChromaFormat = 1

Regards,
Prem

________________________________
From: davinci-linux-open-source-bounces+premkumar.j=ti....@linux.davincidsp.com 
[mailto:davinci-linux-open-source-bounces+premkumar.j=ti....@linux.davincidsp.com]
 On Behalf Of Frank Bhattacharyya
Sent: Thursday, August 20, 2009 9:01 PM
To: Ring, Chris; davinci-linux-open-source@linux.davincidsp.com
Subject: AW: TI JPEGENC 2.00.00.2 unable to call IMGENC1_create

Hi Chris,

thank you for your quick reply.

Since we're quite desperate regarding this issue, we've tried a lot of 
different setups within the CE application and of course the one used within 
the JPEGENC DPS side example (that does work). But it's all the same. We didn't 
try to change the setup for the DSP only app, but thanks for the tip. We'll try 
that and look if the encoder "freaks out" at some point.

We've also tried to trace into the DSP side code using the CE application and 
the XDM560 JTAG debugger to look "behind the scenes" but we haven't been 
"enlighted".

Additionally we've also tried to integrate the h264 encoder (as VIDENC1 encoder 
of course) using the DVSDK2.00 (since the , H264ENC.version.2.00.004 can't be 
linked with the CGT 6.0.16 of SDK1.30) and that encoder ALSO fails during 
creation for the SAME reason.

Since both encoders fail at the same point I assume it's not the encoders but 
something else, may be something very simple we just forgot to set/change 
within the SDK build chain/tcf,cfg,... files.

Since we're using one DVEVM and several of our self designed PCB (DM6446 
based), that all act the same, I don't assume that it's hardware related.

We also did a clean setup of the DVSDK 2.0 and used the stock dsplink/cmem 
drivers using a stock kernel (defaultconfig) & filesystem but all the same.

BTW: We had some trouble to integrate the h264 encoder into the codec server 
and the TI coded ref ( http://wiki.davincidsp.com/index.php/FAQ )
indicates that
H264ENC.alg.dataSection = "DDR";
H264ENC.alg.udataSection = "DDR";
should be set in the server cfg file, but IMO it should be

H264ENC.alg.dataSection = "DDR";

H264ENC.alg.udataSection = "DDR";

H264ENC.alg.codeSection = "DDR";
and more than that: Shouldn't it be DDR2? I think my knowledge is far too 
little in that huge TI universe ;) .

To come back to the TI universe: Maybe there's a little sample application 
sitting in a space that I didn't find until now and you/someone else knows of?

Thank you very much for your help and best regards

Frank

Von: Ring, Chris [mailto:cr...@ti.com]
Gesendet: Mittwoch, 19. August 2009 18:48
An: Frank Bhattacharyya; davinci-linux-open-source@linux.davincidsp.com
Betreff: RE: TI JPEGENC 2.00.00.2 unable to call IMGENC1_create

FWIW, I dug into the trace logs a little from a framework POV and nothing 
jumped out at me.  The framework is providing the memory which the codec is 
asking for, but ultimately, as you point out in #3, the codec is just returning 
error when the framework says "hey, codec, time to create yourself... and 
here's the memory you asked for".  Typically this happens b/c the specific 
create params aren't supported(?).

Regarding #4, that's a great data point - does the codec example app use the 
same create params you're using?  If not, can you change the create params to 
what you want and successfully create the codec?

Chris


________________________________
From: davinci-linux-open-source-bounces+cring=ti....@linux.davincidsp.com 
[mailto:davinci-linux-open-source-bounces+cring=ti....@linux.davincidsp.com] On 
Behalf Of Frank Bhattacharyya
Sent: Wednesday, August 19, 2009 8:32 AM
To: davinci-linux-open-source@linux.davincidsp.com
Subject: TI JPEGENC 2.00.00.2 unable to call IMGENC1_create
Dear group,

I'm still searching why the TI JPEG encoder fails in IMGENC1_create. The 
general problem is:

Calling
      // setup
imgenc_params.size                       = sizeof(IIMGENC1_Params);
      imgenc_params.maxHeight                  = 480;
      imgenc_params.maxWidth                   = 720;
      imgenc_params.maxScans                   = 3;
      imgenc_params.dataEndianness             = XDM_BYTE;
      imgenc_params.forceChromaFormat          = XDM_YUV_422ILE;
      // call
iencHandle = IMGENC1_create(codecengine, encoderName, &imgenc_params );
always fails (returns NULL), if I use
iencHandle = IMGENC1_create(codecengine, encoderName, NULL );
a non null ptr is returned but I can't do any IMGENC1_control/process calls 
(all fail).
I have attached a trace log of a sample run (CE_DEBUG=2, DSKT2 trace enabled)).

So some basic questions/comments:


1.       Has anyone ever managed to successfully integrate the JPEGENC 
2.00.00.2 encoder on an DM6446 (DVEVM)board using DVSDK 1.30 into a CE 
application?

2.       I've also tried the DVSDK 2.00 but it still fails to create the 
encoder instance.

3.       Is there a way to get some more trace/debugging information out of the 
encoder (algorithm) instance? My current trace mask is:
export CE_TRACE="*=01234567"
export TRACEUTIL_DSP0TRACEMASK="*+01;*=01234567"
There is no output from the encoder itself. The last trace message is from 
DSKT2_createAlg3:
[DSP] @2,402,771tk: [+7 T:0x8fa0348c] ti.sdo.fc.dskt2 - DSKT2_createAlg3> 
algInit call failed -1

4.       I have compiled the JPEG encode example with CCS and tested it as a 
DSP only app. Everything works as expected. So the encoder library seems to be 
healthy

5.       I have double checked the dsplink memory segments with the TCF memory 
segments and they do match.

6.       If I use the (very simple) imgenc1_copy "encoder" (replace the 
algorithm in the server cfg file) everything is working.

7.       A self built video_copy server/app runs w/o problems, so the build 
environment seems to be healthy.
Any hint/comment is appreciated.

Regards

Frank

_______________________________________________
Davinci-linux-open-source mailing list
Davinci-linux-open-source@linux.davincidsp.com
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source

Reply via email to