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.

JPEG image resolution limitation on DM355

Hi

Is there a limit to the resolution of images that can be displayed on DM355. The encoder demo present does not accept images greater than 720x480. What are the ways in which I can display larger images without loss of quality

Thanks

Jatin Pasrija

  • The video display port certainly supports display of larger pictures.  The demo software limitation may be in place more because of the video compression / decompression capabilities of the DM355.  For example, under certain conditions the encoder demo may not ba able to capture and MPEG4 encode and display a 720p image.  The following wiki article provides performance limitations you may encounter on DM355 for larger resolutions: http://wiki.davincidsp.com/index.php/TMS320DM355_High-Definition_(HD)_Display 

  • Hi Sorry I think the 'encode' was a typo, I am trying to use the jpegdec demo in DM355. I understand that the demo is made for screen resolution of 720x480. I changed the parameters in the demo code to 1000x800 and converted the image to yuv format However while displaying it using framebuffer, it is giving the following error: CMEMK Error: Failed to find a pool which fits 4500000 CMEM Error: getPool: Failed to get a pool fitting a size 4500000 ERROR: could not allocate contiguous memory I understand that I need to change the loadmodules.sh script to include more memory pools. Can you guide me on how to proceed with this. Thanks.
  • By default our DVSDK software recommends Linux OS occupies the first 116MB of memory space, giving CMEM the remaining 12 MB.  The size and quantity of memory pools CMEM manages within these 12 MB is defined in the loadmodules.sh file typically located in the directory from where you run the demos on the EVM.  These memory pools are defined such that all codecs in the system (JPEG, MPEG2, MPEG4...) have enough memory pools to work with.  That said, when this system (demos) was designed, 720x480 was probrably the aim.  If you need to support higher resolutions then you have two options

    1) use existing 12MB of CMEM space and define fewer but larger memory pools (this may allow JPEG to work at the expense on not having enough pools required by other codecs)

    2) increase size of CMEM and allocate bigger pool buffers.  This can be done simply by specifying less space for Linux OS in u-boot bootargs (e.g. MEM=104M instead of MEM-116M) and editing loadmodules.sh to increase size of CMEM and size of buffers.  No need to recompile anything... just reconfigure, boot and run.

  • Hi

    I have tried several things to display higher resolution images.

    1. To convert images of resolution 1280x800 using the existing jpegdec example, I changed the parameters MAXWIDTH  (to 1280), MAXHEIGHT (to 1000), LINELENGTH (to 2560), DISPLAYWIDTH  (to 1280), DISPLAYHEIGHT (to 800) and INPUTSIZE (to 1000000). I then converted image of size 1280x800 to yuv. 

    2. I also had to changed the frame-buffer memory pool allocation and it stopped giving the 'running out of memory pools' error. However, the 1280x800 resolution yuv file was not displayed correctly on the screen. It seems that the lcd screen can only display when i give it the 720x480 resolution image. Is this limitation due to the fact that I have selected 'ntsc' mode ? 

    3. I then added the following bootargs :          video=davincifb:vid0=1280x800x16,9M@0,0:vid1=1280x800,9M@0,0:osd0=1280x800,4M@0,0:osd1=1280x800,4M@0,0,         taking help from "DaVinci Linux Frame Buffer Driver Migration"  pdf.  But even this is not solving the problem. All this achieved was that I could now convert 1280x800 resolution images using the original (720x480) jpegdec and display correctly the cropped image on the screen. When I use the modified (1280x800) jpegdec file, it doesnt display correctly the image. (By 'doesnt display correctly' I mean that the photo is all staggered, as if HSYNC is not correctly set somewhere)

    Kindly help with what steps I can take to display 1280x800 or higher resolution images without scaling the image to lower resolution 720x480.


    Thanks

     

  • what DVSDK version are you using; I will take a look at the software and see if I can point you in the right direction...

  • Juan Gonzales said:

    what DVSDK version are you using; I will take a look at the software and see if I can point you in the right direction...

    DVSDK v1.30 beta