Hi ,
I use the Camera Interface(I/F) to receive video data, like below:
Can the interface(by 16bit data/clk/vsync/hsync) accept the embeded or discrete sync BT.1120 data?
If yes, could give me any direction to do it. Thanks.
Best Regards,
Xue
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.
Hi ,
I use the Camera Interface(I/F) to receive video data, like below:
Can the interface(by 16bit data/clk/vsync/hsync) accept the embeded or discrete sync BT.1120 data?
If yes, could give me any direction to do it. Thanks.
Best Regards,
Xue
Xue,
The HW supports both embedded and discrete sync modes for BT.1120 capture.
1. Is this DM385 or DM8127?
2. Are you using any software release from TI for this work, if so please let me know the details? The exact interface spec is also published in ISS TRM which is currently available on request only. You need to work with the local TI support to get this document.
Regards
Rajat
Dear Rajat,
Thanks for your help.
I use the DM8127.
This hardware is base on Appro‘s IPNC design and the software is base the IPNC RDK 3.0.
We design our custom sensor module with FPGA, and it output BT.1120/1080P to the camear interface of DM8127.
Now the difficulty is on the SW.
On the Appro’s reference design, the camera drvier in ISS will read and write the register of sensor module, but the step is needless on our module.
How can I skip the act on the camera drvier?
Other, the frame rate and the resolution on our sensor module is different from the reference design.
which source file include the parameter?
Hope your help,and thanks again.
Best Regards,
Xue
1. You can definitely skip the sensor communications if not needed.
2. the frame rate doesn't have much impact. resolutions are easy to change too.
3. there are lot of macros for different sensors you need to figure out. issdrv_CaptureApi.c is an important file.
mostly you need to trace down the problem using lot of "grep keyword . -nr' in iss directory.
Dear Wang,
I guess the issdrv_CaptureApi.c is used for "Video Input(digital)" module, not the “Camera Interface(I/F)”.
In your system, which module you use?
Now I have removed the code sensor communications and can receive video data from my sensor.
But the color of the video is incorrect. I surmise the problem is at the 16bit video data format .
Do you know the output video data of Appro IPNC's sensor is YUV422 or RGB555 or another?
If it's possible, give me some detail about it. Thank you!
Best Regards,
Xue
Thanks.
Best Regards.
I have a YUV sensor connected to camera interface using 16bit VUVY format with discrete sync signals.
The DM8127IPNC uses 12bit bayer RGB interface, to make it work with your sensor, you need to change some ISS registers. IPIPE.SRC_FMT ISIF.MODE_SET, just to name a few.
Search for OV10630 in issdrv_CaptureApi.c, you can get an idea what need to be changed.
If you get live video, you can also play with those registers on the fly, this is much faster then recompiling the code.
Dear Wang,
Fllow your advice, we reconfigure the IPIPE.SRC_FMT ISIF and our system can accpet the 16bit YUV video data.
thanks for your help very much.
But there have a little matter.
Now the U and V is input video is reversal. We try to switch the "outStreamInfo[streamId].dataFormat" with SYSTEM_DF_YUV422I_VYUY and SYSTEM_DF_YUV422I_UYVY. But it is useless.
The worst way is swap the U/V on the DupLink, but it's waste for VPSS CPU capability.
Could you know how to swap U/V in ISS module ?
Best Regards,
Xue
Make sure you sync polarity is right. You can also move SPH by a couple of pixels to see if UV swapping is really your issue.
I don't see a register to swap u/v in iSS module. In the worst case, you have to modify the ISS driver to support u/v swap.
Dear Wang,
Thanks for your reply.
We swap UV on the video source device and then the image in 8127 is correct. So I belive the problem is on the UV swapping.
Now I am studying the ISS driver ...
Dear Xue,
Can you list out the places and parts you have already modified to make the YUV input work with IPNC camera interface in IPNC software. Please share me your experiences, I also need that for my academic project.
Thank you very much!
Dear Bioz,
First, replace the IMGS_MICRON_MT9J003 with the IMGS_OMNIVISION_OV10630 in rules.make. It's YUV 8bit YUV input.
Modify the rsz_reg,rszA_reg,rszB_reg,isif_reg,isife_reg in Iss_captCreate function in issdrv_captureApi.c. The SPRUH30 is talk about these registers.
I really thank for your quick response. I still wonder that our input is 16 bit YUV sensor but the OMNI is 8bit, so should I modify the mcfw application also for the correct resolution and data in format.
your information helped me a lot.
Dear Xue,
I have just tried my custom board and I got these below errors message:
[m3vpss ] 247394: CAMERA: Overflow detected on VP0, Total Resets = 2391
[m3vpss ] 247394: CAMERA: Overflow detected on VP1, Total Resets = 2391
Do you have any experiences about them?
Hi,
VIP is overflowing continuously. Could you check your input signals?
Thx,
Brijesh
hi,
I didn't understand what did you mean about input signal checking. Can you show me a bit more detail about this problem?
What is the reason of this error?
How to check input signals?
How to fix it?
Thank you very much.
dear,
I have read the ISS document and tried to make the setting for register as below:
// Bioz
//rsz_reg->SRC_VSZ = 715;
//rsz_reg->SRC_HSZ = 1277;
rsz_reg->SRC_VSZ = 1079;//1080 - 1 = height - 1;
rsz_reg->SRC_HSZ = 1919;//1920 - 1 = width - 1;
// ~Bioz
rszA_reg->RZA_V_DIF = 256;
rszA_reg->RZA_H_DIF = 256;
rszA_reg->RZA_DWN_EN = 0;
rszA_reg->RZA_DWN_AV = 0;
// Bioz
//rszB_reg->RZB_V_DIF = 380; //1280/720*256;
//rszB_reg->RZB_H_DIF = 450; //720/480*256;
rszB_reg->RZB_V_DIF = 576; //1080/480*256;
rszB_reg->RZB_H_DIF = 682; //1920/720*256;
// ~Bioz
// Bioz
//isif_reg->HDW = 1281;
//isif_reg->VDW = 721;
//isif_reg->LNV = 721;
//isif_reg->PPLN = 1281;
//isif_reg->LPFR = 1439;
//isif_reg->LNH = 2561;
isif_reg->HDW = 1921;
isif_reg->VDW = 1081;
isif_reg->LNV = 1081;
isif_reg->PPLN = 1921;
isif_reg->LPFR = 2159;
isif_reg->LNH = 3841;
// ~Bioz
isif_reg->CCOLP = 58596;
isif_reg->CGAMMAWD = 16;
isif_reg->SPH = 3;
rsz_reg->SRC_FMT0 = 1;
// Bioz
//isif_reg->MODESET = 0x200C; //for YUV 8bit
//isif_reg->CCDCFG = 0x8002;
isif_reg->MODESET = 0x100C; //for YUV 16bit
isif_reg->CCDCFG = 0x8000;
ipipe_reg->SRC_FMT = 0x3; // YUV 422 In
// ~Bioz
isif_reg->HSIZE = 80 ;
ipipeif_reg->CFG2 = 0xCE;
rsz_reg->SRC_HPS = 0x1;
isif_reg->CLDCOFST = 0;
ipipe_reg->SRC_COL = 27;
// Bioz
//ipipe_reg->SRC_VSZ = 721;
//ipipe_reg->SRC_HSZ = 1281;
ipipe_reg->SRC_VSZ = 1081;
ipipe_reg->SRC_HSZ = 1921;
// ~Bioz
gIss_captCommonObj.pModuleInstance->nLscTableIsValid = MSP_TRUE;
ipipe_reg->WB2_WGN_R = 600;
ipipe_reg->WB2_WGN_B = 750;
ipipe_reg->RGB1_MUL_RR = 256;
ipipe_reg->RGB1_MUL_GR = 0;
ipipe_reg->RGB1_MUL_BR = 0;
ipipe_reg->RGB1_MUL_RG = 0;
ipipe_reg->RGB1_MUL_GG = 256;
ipipe_reg->RGB1_MUL_BG = 0;
ipipe_reg->RGB1_MUL_RB = 0;
ipipe_reg->RGB1_MUL_GB = 0;
ipipe_reg->RGB1_MUL_BB = 256;
*(MSP_U32 *)(0x5505006C) &= 0xBFFFFF;
// Bioz
iss_regs->ISS_CTRL = iss_regs->ISS_CTRL | 0x0000000C;
// ~Bioz
The system start, and message look ok without any errors. But the HDMI output has just been Grey color.
Yesterday I used the original setting with only change in ModeSet and FMT to support 422 and YUV 16bit, I could see a bit color of camera view but I also got the Resize overload error.
isif_reg->MODESET = 0x100C; //for YUV 16bit
ipipe_reg->SRC_FMT = 0x3; // YUV 422 In
I used 1080P yuv input for camera interface. Please give me your hand or show me what is my mistake!
Thank you very much!