Dear All:
BSP: L3.0.35_4.0.0
CVBS PAL/NTSC video is input to Video decoder ADV7180, and ADV7180 connect to I.MX6Q CSI BT656.
The de-interlace is set, but the quality is not good. Please check the picture below.
I have patch the file into kernel follow the instruction
https://community.freescale.com/docs/DOC-93633
but when I run the mxc_v4l2_tvin, I got the error as bellow:
It seem that some thread has occupancy the ipu task 1.
This patch I have used in imx53 platform before, It can run normally.
root@freescale ~$ ./mxc_v4l2_tvin -ow 720 -oh 480
FIXME-------ioctl_g_fmt_cap
NOW IS PALTV decoder chip is adv7180_decodeFIXME-------ioctl_g_fmt_cap
r
NOW IS PALNOW IS PAL
In mxc_v4l2_s_std ff
rawdata0: 0x00, rawdata1: 0x00
FIXME-------ioctl_g_fmt_cap
NOW IS PALVIDIOC_G_FMT failed
driver=mxc_vout, card=DISP3 FG, bus=, version=0x00000000, capabilities=0x04000002
fmt RGB565: fourcc = 0x50424752
fmt BGR24: fourcc = 0x33524742
fmt RGB24: fourcc = 0x33424752
fmt RGB32: fourcc = 0x34424752
fmt BGR32: fourcc = 0x34524742
fmt NV12: fourcc = 0x3231564e
fmt UYVY: fourcc = 0x59565955
fmt YUYV: fourcc = 0x56595559
fmt YUV422 planar: fourcc = 0x50323234
fmt YUV444: fourcc = 0x34343459
fmt YUV420: fourcc = 0x32315559
fmt YVU420: fourcc = 0x32315659
fmt TILED NV12P: fourcc = 0x50564e54
fmt TILED NV12F: fourcc = 0x46564e54
fmt YUV444 planar: fourcc = 0x50343434
UYVY
imx-ipuv3 imx-ipuv3.0: IPU Warning - IPU_INT_STAT_10 = 0x00000001
imx-ipuv3 imx-ipuv3.0: IDMAC21's EBA0 is not 8-byte aligned
imx-ipuv3 imx-ipuv3.0: IDMAC21's EBA1 is not 8-byte aligned
start time = 473 s, 145035 usFIXME-------ioctl_g_fmt_cap
NOW IS PALNOW IS PAL
imx-ipuv3 imx-ipuv3.0: IPU Warning - IPU_INT_STAT_10 = 0x00000001
FIXME-------ioctl_g_fmt_cap
NOW IS PALNOW IS PAL
mc_pfuze 1-0008: recv failed!:-5,bf
COULD NOT SET GP VOLTAGE!!!!
FIXME-------ioctl_g_fmt_cap
imx-ipuv3 imx-ipuv3.0: ERR[0xbfcd7200-no:0x220]ipu task_id:1 busy!
imx-ipuv3 imx-ipuv3.0: ERR:[0xbfcd7200] no-0x220 state: ipu busy
imx-ipuv3 imx-ipuv3.0: ERR: [0xbfcd7200] no-0x220,state 8: ipu busy
NOW IS PALNOW IS PAL
imx-ipuv3 imx-ipuv3.0: ERR: no-0x220,ipu_queue_task err:-125
mxc_v4l2_output mxc_v4l2_output.0: display work fail ret = -125
FIXME-------ioctl_g_fmt_cap
imx-ipuv3 imx-ipuv3.0: ERR[0xbfcd7400-no:0x230]ipu task_id:1 busy!
imx-ipuv3 imx-ipuv3.0: ERR:[0xbfcd7400] no-0x230 state: ipu busy
imx-ipuv3 imx-ipuv3.0: ERR: [0xbfcd7400] no-0x230,state 8: ipu busy
NOW IS PALNOW IS PAL
imx-ipuv3 imx-ipuv3.0: ERR: no-0x230,ipu_queue_task err:-125
mxc_v4l2_output mxc_v4l2_output.0: display work fail ret = -125
FIXME-------ioctl_g_fmt_cap
imx-ipuv3 imx-ipuv3.0: ERR[0xba25e600-no:0x240]ipu task_id:1 busy!
imx-ipuv3 imx-ipuv3.0: ERR:[0xba25e600] no-0x240 state: ipu busy
imx-ipuv3 imx-ipuv3.0: ERR: [0xba25e600] no-0x240,state 8: ipu busy
NOW IS PALNOW IS PAL
imx-ipuv3 imx-ipuv3.0: ERR: no-0x240,ipu_queue_task err:-125
mxc_v4l2_output mxc_v4l2_output.0: display work fail ret = -125
VIDIOC_QBUF failed
imx-ipuv3 imx-ipuv3.0: handler already installed on irq 0
imx-ipuv3 imx-ipuv3.0: CSI irq 0 in use
It seems nobody could fix this issue?
This is a photo you got from adv7180? It seems it works fine.
Hi Terry,
L3.0.35_4.0.0 should support HW accelerated de-interlacing in the V4L2 capture stream.
And the patch you apply is almost the same work in current BSP(ipu_csi_enc.c), so the IPU will busy in this case.
Basically, if you want to use that patch, I think you should disable the vdi related config in 4.0.0 mxc_v4l_capture driver.
BTW, you should check below error.
VIDIOC_G_FMT faild.
BRs,
Fuzhen
Hello Lin,
First of all, I found that the VDI channel is initialized in source code file driver/mxc/ipu3/ipu_device.c
After tracing the source code, I found below: how to determine to the usage of VDI function.
If (t->input.deinterlace.enable) {
t->set.mode &= ~IC_MODE;
t->set.mode |= VDI_MODE;
}
However, I can’t find the assignment of the var “input.deinterlace.enable”,
So, I consider the kernel has implement the VDI function, but there is no driver use this function.
Hello!
Have you solved this problem? I am struggling with the same issue.
It's true, that ipu_vdi_enc.c (from add-csi-deinterlace-capture patch) is similar to ipu_csi_enc.c, but these two modules are never used at the same time (in one mxc_v4l2_tvin test). So i have no idea what causes the problem.
Regards!