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.

Need Help :Why Memory_getPhysicalAddress retuns "0" ?

I   introduced my own algo. based on Demo encodedecode.   But the appliction halt somewhere , the first ab-normal message is :

 

Encodedecode Debug: Display buffer 0 mapped to 0x4233c000 has physical address 0
Encodedecode Debug: Display buffer 1 mapped to 0x4246e000 has physical address 0
Encodedecode Debug: Display buffer 2 mapped to 0x425a0000 has physical address 0

 

The following is what the app.  prints out :

Encodedecode Debug: PAL selected
Encodedecode Debug: Codec Engine initialized
Encodedecode Debug: Logging initialized
Encodedecode Debug: Pause object opened
Encodedecode Debug: Init rendezvous opened for 4 threads
Encodedecode Debug: Cleanup rendezvous opened for 4 threads
Encodedecode Debug: Priming rendezvous opened for 2 threads
Encodedecode Debug: Display buffer 0 mapped to 0x4233c000 has physical address 0
Encodedecode Debug: Display buffer 1 mapped to 0x4246e000 has physical address 0
Encodedecode Debug: Display buffer 2 mapped to 0x425a0000 has physical address 0
Encodedecode Debug: Video display device initialized.
Encodedecode Debug: Module display is ready for Init...
Encodedecode Debug: captureWidth = 720, captureHeight = 576
Encodedecode Debug: Capture thread created
Encodedecode Debug: Set the capture input to id 0
Encodedecode Debug: Codec Engine opened in video thread

 The actual img. size 720 x 576
Encodedecode Debug: OSD successfully initialized
Encodedecode Debug: OSD transparency initialized
Encodedecode Debug: Checking video standard
Encodedecode Debug: PAL camera detected
Encodedecode Debug: Setting capture cropping (720x576)
Capturing 720x576 video (cropped to 720x576)
Encodedecode Debug: 3 capture buffers were successfully allocated.
Encodedecode Debug: Capture driver buffer 0 at physical address 1132883968 mapped to virtual address 0x80700000
Encodedecode Debug: Capture driver buffer 1 at physical address 1133768704 mapped to virtual address 0x86800000
Encodedecode Debug: Capture driver buffer 2 at physical address 1134653440 mapped to virtual address 0x86900000
Encodedecode Debug: Video capture initialized and started
Rszcopy Debug: Configuring resizer job to copy image of resolution 720x576

 

=====================================================

After that , it hangs...

 

Demo encodedecode works well at this hardware/software enviroment ( I re-compiled this demo  to make sure my software env. is O.K. )

Please give me some hints . Thankyou !

 

  • Hi Cheng Ji,

    You should provide more information about the hardware platform and the version of the software you are using (DVSDK version #, codec engine version #, DMAI version #). This would help others on the forum to assist you.

    Did you allocate the display buffers from CMEM using either the Buffer_create/BufTab_create API or the Memory_contigAlloc API? The "abnormal" messages may be pointing to the fact that the system was unable to figure out their physical address, and a possibility is that they were not contiguous memory allocated by CMEM.

    Also, you can obtain more debug information from DMAI and codec engine by setting the environment variables DMAI_DEBUG=2 and/or CE_DEBUG=2. Here some info on CE_DEBUG:

    http://processors.wiki.ti.com/index.php/CE_DEBUG

    Basically you run your application (e.g. encodedecode) by prefixing it with the environment variable setting. For example:

    CE_DEBUG=2 ./encodedecode


    CE_DEBUG gives you information on how you are exercising your XDM-compliant algorithm through the codec engine. If you are using DMAI, DMAI_DEBUG works similarly and gives you debug trace from the DMAI software layer as it performs memory allocation and interacts with the hardware drivers and the codec engine.

    Hopefully the trace would give you a better sense of what went wrong.

    Best regards,

    Vincent