Mahendra Kumar, very thanks. I will try it ASAP. And look, it happened again. Some people said that it´s impossible. Others said that yes, it can be done.
The doubt is spread over all forums and sites about it. 2009/2/23 Mahendra Kumar Angamuthu Ganesan <[email protected]> > Hi Marcelo Guedes, > > Change the source code of "capture.c" as shown below to make encoder of > DM6467 demo working for 1080I as shown below and compile it. > > /* Calculate the dimensions of a video standard given a color space */ > #if RES_720 > if (BufferGfx_calcDimensions(VideoStd_720P_60,ColorSpace_YUV422PSEMI, > &gfxAttrs.dim) < 0) { > #else > if (BufferGfx_calcDimensions(VideoStd_1080I_30, ColorSpace_YUV422PSEMI, > &gfxAttrs.dim) < 0) { > #endif > ERR("Failed to calculate Buffer dimensions\n"); > cleanup(THREAD_FAILURE); > } > > /* Calculate buffer size needed of a video standard given a color space > */ > #if RES_720 > bufSize = BufferGfx_calcSize(VideoStd_720P_60, ColorSpace_YUV422PSEMI); > #else > bufSize = BufferGfx_calcSize(VideoStd_1080I_30, > ColorSpace_YUV422PSEMI); > #endif > > if (bufSize < 0) { > ERR("Failed to calculate size for capture driver buffers\n"); > cleanup(THREAD_FAILURE); > } > > /* Create a table of buffers to use with the device drivers */ > gfxAttrs.colorSpace = ColorSpace_YUV422PSEMI; > hBufTab = BufTab_create(NUM_DRIVER_BUFS, bufSize, > BufferGfx_getBufferAttrs(&gfxAttrs)); > > if (hBufTab == NULL) { > ERR("Failed to allocate contiguous buffers\n"); > cleanup(THREAD_FAILURE); > } > > /* Create capture device driver instance */ > cAttrs.numBufs = NUM_CAPTURE_BUFS; > hCapture = Capture_create(hBufTab, &cAttrs); > > if (hCapture == NULL) { > ERR("Failed to create capture device, " > "720P component input connected?\n"); > cleanup(THREAD_FAILURE); > } > > videoStd = Capture_getVideoStd(hCapture); > > /* We only support 720P capture */ > #if RES_720 > if (videoStd != VideoStd_720P_50 && videoStd != VideoStd_720P_60) { > #else > if (videoStd != VideoStd_1080I_30 && videoStd != VideoStd_1080P_30) { > #endif > ERR("Need 720P composite input to this demo\n"); > cleanup(THREAD_FAILURE); > } > > > > Then you should change the memory configuration of the encoder to work for > 1080I. So please change the loadmodules.sh script as shown below before > running the encode demo. > > # insert cmemk, tell it to occupy physical 120MB-200MB and create enough > # contiguous buffers for the worst case requirements of the demos. > rmmod cmemk.ko > # one times 4MB, 10 times 3.5 MB,10 times 1.5MB etc > #insmod cmemk.ko phys_start=0x87800000 phys_end=0x8ba00000 > pools=1x4147200,10x3458400,10x1434240,11x663552,4x60000 > > # 10 times 4MB, 1 times 3.5 MB,10 times 1.5MB etc > insmod cmemk.ko phys_start=0x87800000 phys_end=0x8ba00000 > pools=10x4147200,1x3458400,10x1434240,11x663552,4x60000 > > # insert dsplinkk, tell it that DSP's DDR is at physical 250MB-254MB > rmmod dsplinkk.ko > insmod dsplinkk.ko > > # alter dma queue mapping for better visual performance > if [ -f mapdmaq-hd ] > then > ./mapdmaq-hd > fi > > # make /dev/dsplink > rm -f /dev/dsplink > mknod /dev/dsplink c `awk "\\$2==\"dsplink\" {print \\$1}" /proc/devices` 0 > > > This should make it working for 1080. > > > Currently the encoder will not encode at 30 frames persecond. I do not > remember exactly how many frames per second it can encode. > > > > > Regards, > Mahendra kumar > > > > > > > _______________________________________________ > Davinci-linux-open-source mailing list > [email protected] > http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source > >
_______________________________________________ Davinci-linux-open-source mailing list [email protected] http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
