Hi,
I am using dvsdk_2_00_00_22 release and recently acquired the h.264 main profile decoder from TI (India).
After intergrating this codec into the "decode" server, i am able to decode h.264 main profile level 3.0 stream, but the decoding is horribly slow.
On contacting TI support, i am told that the sections IMX_IMGBUF and IMX_IMGBUF_1 need to be defined and initialized correct. So far i haven't been able to get this done correctly.
Can somebody please help me figure this you. It seems that there is some problem in my link.xdt configuration (currently its exactly the same as the one defined for the h264 baseline decoder).
--my link.xdt --
SECTIONS{
%if (this.H264MPDEC.codeSection) {
H264MPVDEC_TI_dSect1 > `this.H264MPDEC.codeSection` , align = 128
H264MPVDEC_TI_dSect2 > `this.H264MPDEC.codeSection` , align = 128
%}
%if (this.H264MPDEC.codeSection) {
H264MPVDEC_TI_cSect1 > `this.H264MPDEC.codeSection` , align = 0x10000
H264MPVDEC_TI_cSect2 > `this.H264MPDEC.codeSection` , align = 0x10000
H264MPVDEC_TI_cSect3 > `this.H264MPDEC.codeSection` , align = 0x10000
H264MPVDEC_TI_cSect4 > `this.H264MPDEC.codeSection` , align = 0x10000
H264MPVDEC_TI_cSect5 > `this.H264MPDEC.codeSection` , align = 0x10000
H264MPVDEC_TI_cSect6 > `this.H264MPDEC.codeSection` , align = 0x10000
H264MPVDEC_TI_cSect7 > `this.H264MPDEC.codeSection` , align = 0x10000
%}
}
This is the content of the cmd file present in h264mpdec/app/Client/Build/
--
-stack 0x6000
-heap 0x2000000
-l rts64plus.lib
MEMORY
{
UDRAM : o = 0x11f04000, l = 0x00010000 /* Uninitialized Data RAM */
IMX_IMGBUF : o = 0x11104000, l = 0x0000F400
IMX_IMGBUF_1 : o = 0x11114000, l = 0x00002000
ERAM : o = 0x80000000, l = 0x0A000000
}
/* Sections from MP H.264 decoder library */
SECTIONS
{
.const:H264MPVDEC_TI_dSect1 > ERAM, align=128
.far:H264MPVDEC_TI_uSect1 > ERAM, align=128
.text:H264MPVDEC_TI_cSect1 > ERAM, align=128
.text:H264MPVDEC_TI_cSectImx1 > IMX_IMGBUF
.text:H264MPVDEC_TI_cSectImx2 > IMX_IMGBUF_1
}
SECTIONS
{
.int_mem_dma > UDRAM
/* ------------------------------------------ */
/* putting Data section to internal memory */
/* and IMX memory (as L2 memory) */
/* ------------------------------------------ */
.intDataMem_1 > UDRAM
.const > ERAM
.switch > ERAM
.args > ERAM
.text > ERAM
.cinit > ERAM
.cio > ERAM
/************************/
/* RTS library sections */
/************************/
.rtsconst : { -lrts64plus.lib (.const) } > ERAM
rts_sect: {
-lrts64plus.lib (.text)
} > ERAM
.stack : fill=0xc0ffee > ERAM
.bss : align(0x100) > ERAM
.display_buffer: align(0x100) > ERAM
.sysmem : align(0x100) > ERAM
.far : align(0x100) > ERAM
INPUT_STRM : align(0x100) > ERAM
.bios > ERAM
}
--
I have been told that this configuration in some way has to be specified in the link.xdt.
Please Help
-------------------
Regards
~Sameer