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.

Encoder doesn't generate MPEG4 VOL header

We are integrating TI C66x_mp4venc_02_04_01_02_ELF encoder into an application on C6678 based platform.

Occasionally I need to generate MPEG4 VOL header. I've followed the directions found in the following post:

http://e2e.ti.com/support/embedded/multimedia_software_codecs/f/356/t/8056.aspx

I set dynamicParams.generateHeader  = XDM_GENERATE_HEADER and call control function with XDM_SETPARAMS and then call process function.

However the process function doesn't generate anything and returns out_args.videncOutArgs.bytesGenerated equal to zero.

Can anyone advise what is wrong and how to generate MPEG4 VOL header in my case?

Thanks

  • Robert,

    The code base referred to in the e2e link you posted is different from the C6678 code base and hence, the suggested fix didn't work.

    What we do in MCSDK_Video application is - we cache the VOL (actually complete DCI) from the first I-frame generated by the codec, outside of the codec (in RFC3016) and every time prior to shipping out a frame, we check if it is an I-frame and if it is, then we prepend the VOL information. If codec ever generates a new DCI, the cached stuff is over-written. 

    You can refer to rfc3016sendIn function at ti\mas\rfcs\src\video\RFC3016 folder in the installation of MCSDK Video for reference (http://software-dl.ti.com/sdoemb/sdoemb_public_sw/mcsdk_video/latest/index_FDS.html)

    Please let us know if it works for you.

    Regards,

    Vivek