This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Error with jpegdec

Other Parts Discussed in Thread: OMAP3530

Hi

I am trying to decode a 5MP (2560x1920) JPEG using the DSP on a OMAP3530 using the DVSDK 3_01_00_10

I have successfully installed the DVSDK and using the example applications I can encode a 5MP YUV to JPEG but when I try to decode using image_decode_io1_omap3530.x470MV I get "Failed to create image decoder: jpegdec"

It is interesting that if I change the params maxWidth to 1280 and maxHeight to 960 the decoder is happy to create the quarter size YUV from my full size JPEG but trying to decode to a full size 2560x1920 YUV only results in error.

This would lead me to believe that the codec can handle the full sized input but perhaps there is some restriction on the output.

Can someone tell me if there is a way to fix this?

Thanks

Shaun

  • Hi Shaun,

    From your description it seems that there is not enough memory to create the image decoder instance.

    The codec will use the maxWidth and maxHeight information to allocate internal buffers from the DDRALGHEAP DSP memory segment. You can find more information about the DDRALGHEAP here http://processors.wiki.ti.com/index.php/DDRALGHEAP

    In order to make sure that this is the problem, you can enable a trace that will enable you to see the memory allocation:

    1) Add the following to the "cs1omap3530_1_01_00/packages/ti/sdo/server/cs/server.cfg"

    xdc.useModule('ti.sdo.fc.global.Settings').profile = "trace";

    2) Rebuild the codec server

    3) Load the new codec server (cs.x64P) to your target

    4) Enable the trace with CE_DEBUG=2

    You should be able to see where the memory allocation fails.

    This can be fixed by increasing the DDRALGHEAP_SIZE. Please see the wiki article mentioned above for more information about how to do that

    Thanks

    cesar